summaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
AgeCommit message (Collapse)Author
2026-03-20gnu: Reference the inherited inputs values.Ludovic Courtès
This commit was made by running this command: sed -e's/modify-inputs (package-\([a-z-]*\)inputs [a-zA-Z0-9-]\+)/modify-inputs \1inputs/g' -i gnu/packages/*.scm … and then reverting individual hunks where the change would trigger unbound variable warnings or other issues (such as ‘native-inputs’ is bound in the body of the ‘inputs’ field, but it refers to the ‘native-inputs’ thunk defined just above). Change-Id: I6d94819f2809313fa1fbefc61897502ee7d66fab
2026-03-20gnu: gcc: Remove unused ‘parent’ variable.Ludovic Courtès
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Remove now unused ‘parent’ variable. (gcc-4.8)[arguments]: Likewise. (gcc-4.9)[arguments]: Likewise. (gcc-5)[arguments]: Likewise. Change-Id: Idd3b13f6057d0233ef0641b27d14b08d6c601331
2026-03-20gnu: Reference the inherited ‘arguments’ value.Ludovic Courtès
This commit was made by running this command: sed -e's/substitute-keyword-arguments (package-arguments [a-zA-Z0-9-]\+)/substitute-keyword-arguments arguments/g' -i gnu/packages/*.scm … and then: 1. reverting changes from ‘gnu/packages/rust.scm’ and ‘gnu/packages/java.scm’ since they would incur derivation changes and/or breakage; 2. reverting the change for ‘gcc-final’ in ‘gnu/packages/commencement.scm’; 3. reverting the change for ‘onnx-optimizer’, ‘openquest’, and ‘certbot’, which use ‘substitute-keyword-arguments’ for arguments that are not inherited (and thus ‘arguments’ would be unbound); 4. reverting the change for ‘insight-toolkit-legacy’ and ‘wine64-staging’ which make bogus assumptions about inherited arguments. Change-Id: I122a7cf517b6b63cae38944b5d33ade4b1f5a89c
2026-03-12gnu: gdmd: Update to 0.26.0.Jonas Meeuws
Change-Id: I3435e05606629e908a0ceba9c11a1438e4a2e9b9 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: gdmd: Alias to gdmd-14.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd): Redefine as an alias to gdmd-14. Avoids ambiguous package specification warnings and executing make-gdmd twice. Change-Id: I45455d4b3f547d8d77bc46a553102eebf727b45e Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdmd-15.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd-15): New variable. Change-Id: Ie0ca533fc682e8b253d6ec1704d983defd9af210 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdmd-14.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd-14): New variable. Change-Id: Ia48a712e6a467ba19b6e076a4e4e02c348562264 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdmd-13.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd-13): New variable. Change-Id: Icfb019980c92044bd2ed4a2e1457702a67db206c Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdmd-12.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd-12): New variable. Change-Id: I5e67d746d44200ba3eb98a4329be0cac3f996ac1 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdmd-11.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd-11): New variable. Change-Id: Ic42eead141efc199c867ac80d44b1e083cc76bd3 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdmd-10.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd-10): New variable. Change-Id: I2473a0078934dcde937395c5dba0fb62c703725d Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdmd-9.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd-9): New variable. Change-Id: I9e10f6ff88122761baa3c751e8cfbe6c7708c168 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: gdmd: Base version on the wrapped gdc version.Jonas Meeuws
* gnu/packages/gcc.scm (make-gdmd): New private procedure. (gdmd): Implement in terms of make-gdmd. Change-Id: I3fc2ce8af7ca3489a8f3bf4d607b530083a900b1 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: gdmd: Reformat.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd): Reformat. Change-Id: I107ae3bf5ab982dccdaf5450bd7ed3937da3b192 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: gdmd: Update to 0.25.0.Jonas Meeuws
* gnu/packages/gcc.scm (gdmd): Update to 0.25.0. [source]: Prefix git tag with “script-”. Change-Id: Icab7bb068d87e3813b15d1c360fb593ee5eac716 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: gdmd: Move to gcc.Jonas Meeuws
* gnu/packages/dlang.scm (gdmd): Move from here ... * gnu/packages/gcc.scm: ... to here. Change-Id: I43fa2f66f812edc6c74442c7d911fe902265f5e0 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdc-15.Jonas Meeuws
* gnu/packages/gcc.scm (gdc-15): New public variable. Change-Id: Ib8e2d6ca8bab3c0412b7d59b7acd40e075f61d74 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdc-13.Jonas Meeuws
* gnu/packages/gcc.scm (gdc-13): New public variable. Change-Id: If7ac081ece1185da1004adf90027e412ae471ae8 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdc-12.Jonas Meeuws
* gnu/packages/gcc.scm (gdc-12): New public variable. Change-Id: Ic5711bc318aeb766763e3dfc6f1da81a340b8c7b Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdc-10.Jonas Meeuws
* gnu/packages/gcc.scm (gdc-10): New public variable. Change-Id: I74e8ed8c635e2f80af5b5504e4d2de97aed188a5 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: Add gdc-9.Jonas Meeuws
* gnu/packages/gcc.scm (gdc-9): New public variable. Change-Id: I059397ce7ee398c1ed8b6cfcc1d294916c64203a Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: gdc: Add intermediary gdc-14 variable.Jonas Meeuws
* gnu/packages/gcc.scm (gdc-14): New variable, renamed from gdc. (gdc): Redefine as an alias for gdc-14. Change-Id: Ic2f4252fb75da703c9048b74c66026eda249023b Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12gnu: gdc: Support GCC 9 through 15 with cleaner packaging.Jonas Meeuws
* gnu/packages/gcc.scm (make-gdc): New variable. This procedure returns a package based on the previous gdc-11 and gdc definitions. [#:modules]: Add (ice-9 ftw). [#:configure-flags]: Add “--disable-c++tools” and “--disable-plugin”. Add “--disable-libcc1”, “--disable-libatomic” (since version 11), “--disable-libcc1”, “--disable-libgomp”, “--disable-libitm”, “--disable-libquadmath”, “--disable-libsanitizer”, “--disable-libssp”, and “--disable-libstdcxx” (until version 15). [#:phases]: Add ‘gdc-cleanup-install’. [inputs]: Add gcc:lib. [synopsis]: Override the one inherited from gcc. [description]: Override the one inherited from gcc. Append a frontend version note if such version was provided as argument. [home-page]: Override the one inherited from gcc. (gdc-11): Implement in terms of make-gdc. Make public. (gdc): Implement in terms of make-gdc, with gdc-11 as bootstrap-gdc argument. Make public. Change-Id: I44d351f8c97427a6bbd1821f9547ae680a154b06 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-02-15gnu: gccgo-15: Fix build on Hurd.Yelninei
* gnu/packages/patches/gcc-hurd-split-stack.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register patch. * gnu/packages/gcc.scm (gcc-15): Add patch. Change-Id: If5f3b22ffaca3bbf1343e4986cd573213a8b0d12 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18Update Nguyễn Gia Phong's new email address.Nguyễn Gia Phong
* .mailmap: New entry. Change-Id: I839ba6c7be463c5b59c7e68247ae5e46d2ceeeaf Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-10-21gnu: Remove gccgo-11.Efraim Flashner
* gnu/packages/gcc.scm (gccgo-11): Delete variable. Change-Id: Idc2313a383ac5a02d3eebbe11f471a0fb862d927 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-10-21gnu: Remove gccgo-10.Efraim Flashner
* gnu/packages/gcc.scm (gccgo-10): Delete variable. Change-Id: Ic8fb9eaaaddad88378c537815caf8468f5de5be4 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-10-21gnu: Remove gccgo-4.9.Efraim Flashner
* gnu/packages/gcc.scm (gccgo-4.9): Delete variable. Change-Id: Ia18259e52a40009e1e88ff7f4c62d3be15f10f33 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-18Reapply "Update Maxim's email address."Maxim Cournoyer
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with the more careful command, to avoid a world rebuild: grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \ --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18Revert "Update Maxim's email address."Maxim Cournoyer
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This caused a world rebuild. Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18Update Maxim's email address.Maxim Cournoyer
The change was automated via: git grep -l maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' * .mailmap: New entry. Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-09-08gnu: gcc-4.8: Fix supported systems list.Efraim Flashner
* gnu/packages/gcc.scm (gcc-4.8)[supported-systems]: Re-add powerpc64le-linux. Change-Id: Icf5d8ceb63f49d2429cd3c10f8eb929c68c39aff
2025-09-08gnu: gcc-4.8: Fix supported systems list.Efraim Flashner
* gnu/packages/gcc.scm (gcc-4.8)[supported-systems]: Re-add powerpc64le-linux. Change-Id: I7cb69a6320fb19b2cbc07c1099f6937f351948ff
2025-09-08gnu: gcc-5: Fix supported systems list.Efraim Flashner
This is a follow-up to 926225ec3eb990988f3b7eeeefc78c6c971d5b11. * gnu/packages/gcc.scm (gcc-5)[supported-systems]: Re-add powerpc64le-linux. Change-Id: I90ad75944605b457935f3d831181b3c96469ac54
2025-09-08gnu: gcc-4.8: Unbreak embedded builds.Efraim Flashner
* gnu/packages/gcc.scm (gcc-4.8)[arguments]: When cross-compiling don't adjust the inherited modules. Change-Id: Idbe1b6c4a3c2e9d1fe0ca5b1e9fa922080e9de86
2025-09-08gnu: gcc-4.9: Unbreak embedded builds.Efraim Flashner
Reported by Ludovic Courtès <ludo@gnu.org>. * gnu/packages/gcc.scm (gcc-4.9)[arguments]: When cross-compiling don't adjust the inherited modules. Change-Id: I763746c25a8f24f89db8c6b100a6395b816cbcaf
2025-09-08gnu: gcc-4.8: Use less inheritance.Efraim Flashner
* gnu/packages/gcc.scm (gcc-4.8)[arguments]: Take the version specific configure-flag from gcc-base. [supported-systems]: Update supported systems. (gcc-base)[arguments]: Remove version specific configure-flag logic. Change-Id: I9104cdc81d5caae4c3310e1c8d3821e0509f928e Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-08gnu: gcc-4.9: Inherit from gcc-base.Efraim Flashner
* gnu/packages/gcc.scm (gcc-4.9): Inherit from gcc-base. [arguments]: Add inherited phases. Take the version specific configure-flag from gcc-base. [inputs]: List specifically. [supported-systems]: New field. Change-Id: Iff481ef403faff7047bcb7a27cc13833d98e5de7 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-08gnu: gcc-5: Inherit from gcc-base.Efraim Flashner
* gnu/packages/gcc.scm (gcc-5): Inherit from gcc-base. [arguments]: Add inherited phases. Take the version specific configure-flag from gcc-base. [native-inputs]: List specifically. [supported-systems]: New field. Change-Id: I8fd89cda090a69f4a60891e8c387beb416d250ad Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-08gnu: gcc-6: Inherit from gcc-base.Efraim Flashner
* gnu/packages/gcc.scm (gcc-6): Inherit from gcc-base. [native-inputs]: List specifically. Change-Id: Id8606c49b4f19f46a84a6c105e4f90a506b198bf Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-08gnu: gcc-7: Inherit from gcc-base.Efraim Flashner
* gnu/packages/gcc.scm (gcc-7): Inherit from gcc-base. [native-inputs]: Add explicitly. [inputs]: Add explicitly. Change-Id: Id982ecb81ec774121858251723341f89507f0332 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-08gnu: gcc-4.7: Break out into its own package.Efraim Flashner
* gnu/packages/gcc.scm (gcc-4.7): Rename to gcc-base. (gcc-4.7): New package, inherit from gcc-base. [source]: Add snippet to fix building with newer glibc. [arguments]: Add phase to adjust the C++ include path when not cross-building. [supported-systems]: Update supported systems. (gcc-4.8, gcc-4.9, gcc-6): Inherit from gcc-base. (base-gcc)[supported-systems]: Remove field. * gnu/packages/embedded.scm (make-propeller-gcc-4): Inherit from gcc-base. Change-Id: I843049420e2afcf1ea342e87eaa9ac46576e4307 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-01gnu: gcc@12: Update to 12.5.0.fanquake
* gnu/packages/gcc.scm (gcc-12): Update to 12.5.0. Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-08-26gnu: gdc: Fix build.Maxim Cournoyer
* gnu/packages/gcc.scm (gdc): Add gdc-11 (and gcc) to native inputs. Fixes: #1460 Co-authored-by: Dariqq <dariqq@posteo.net> Change-Id: I1d25704829d48a9819cc493e227b050083b18ea4
2025-08-26gnu: Remove gdc-toolchain-10.Maxim Cournoyer
* gnu/packages/commencement.scm (gdc-toolchain-10): Delete variable. Change-Id: I0862bd93ae6fea8a50889990db454485b6f22513
2025-08-15gnu: gcc-15: Update to 15.2.0.Zheng Junjie
* gnu/packages/gcc.scm (gcc-15): Update to 15.2.0. Change-Id: Idfb116056b57406ddb746c0e0583adad284296ae Signed-off-by: Greg Hogan <code@greghogan.com>
2025-08-06gnu: gcc: Update recognized micro-architectures.Efraim Flashner
* gnu/packages/gcc.scm (%gcc-13-x86_64-micro-architectures): Add lujiazui. (%gcc-14-x86_64-micro-architectures): Add yongfeng. (%gcc-14-aarch64-micro-architectures, %gcc-14-ppc64le-micro-architectures, %gcc-15-aarch64-micro-architectures, %gcc-15-x86_64-micro-architectures): New variables. (gcc-14)[properties]: Update compiler-cpu-architectures. (gcc-15)[properties]: Same. Change-Id: Iac85a691c577aadd24e073d70621d0dea69e43f2
2025-07-18gnu: libstdc++: Fix build for gcc-13.Zheng Junjie
* gnu/packages/gcc.scm (make-libstdc++)[arguments]: use patch-tzdb.cc phase for gcc >= 13. Change-Id: I6e8ae4b973e80c11d67b7333ec2dfa732d1d016a
2025-07-18gnu: gcc: Fix compilation of libstdc++ for GCC 7 to 13.Ludovic Courtès
With the introduction of GCC 14 as the default compiler, compilation of libstdc++ of all previous versions would fail due to a different signature for ‘__cxa_call_terminate’ (a builtin in GCC 14). This fixes it. * gnu/packages/patches/gcc-libstdc++-newer-gcc.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gcc.scm (gcc-7, gcc-8, gcc-9, gcc-10) (gcc-11, gcc-12, gcc-13): Use it. Change-Id: I84dc26e46d56259d7d610f19b0521fa9c5499d5e
2025-07-18gnu: gcc-6: Use libstdc++ headers appropriate for each GCC.Leo Nikkilä
After the "hack" introduced for <https://issues.guix.gnu.org/42392>, all GCCs are built with the current GCC's libstdc++ headers. This results in subtly broken C++ headers in older versions, which aren't necessarily compatible with libstdc++s from other versions. For example, this test case works with GCC 11: $ guix shell --container --emulate-fhs --pure -e '(@ (gnu packages gcc) gcc)' binutils -- sh -c 'echo -e "#include <cmath>\nint main() { return std::isnan(0); }" | g++ -x c++ -; echo $?' 0 but fails with GCC 9: $ guix shell --container --emulate-fhs --pure -e '(@ (gnu packages gcc) gcc-9)' binutils -- sh -c 'echo -e "#include <cmath>\nint main() { return std::isnan(0); }" | g++ -x c++ -; echo $?' In file included from /gnu/store/gkh2rljdrnj24q1q7baa6bhb119251w4-profile/include/c++/cmath:45, from <stdin>:1: <stdin>: In function 'int main()': <stdin>:2:26: error: '__builtin_isnan' is not a member of 'std'; did you mean '__builtin_isnan'? <built-in>: note: '__builtin_isnan' declared here 1 This specific error can be traced back to the GCC build, where GCC 10 and 11 are configured with: checking for ISO C99 support in <math.h> for C++11... yes but GCC 9 is configured with: checking for ISO C99 support in <math.h> for C++11... no The configure check fails due to errors like these due to the mismatched libstdc++: configure:17817: checking for ISO C99 support in <math.h> for C++11 […] In file included from /gnu/store/y3kk0ybf7hqwndl8xpm61r4a5b3lhwix-libstdc++-11.4.0/include/cmath:41, from /gnu/store/y3kk0ybf7hqwndl8xpm61r4a5b3lhwix-libstdc++-11.4.0/include/math.h:36, from conftest.cpp:41: /gnu/store/y3kk0ybf7hqwndl8xpm61r4a5b3lhwix-libstdc++-11.4.0/include/bits/c++config.h:491:18: error: missing binary operator before token "(" 491 | #if __has_builtin(__builtin_is_constant_evaluated) | ^ Updating libstdc++ to reference each GCC works around this. * gnu/packages/gcc.scm (libstdc++, libstdc++-headers): Remove variables. (make-libstdc++-headers): New procedure. (gcc-6)[native-inputs]: Use it with `this-package'. Change-Id: Ie05878c83860c4ccc29d66b916d11613e367e142 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Modified-by: Ludovic Courtès <ludo@gnu.org>