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
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
* 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>
* 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>
* 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>
* 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>
* gnu/packages/gcc.scm (gdc-15): New public variable.
Change-Id: Ib8e2d6ca8bab3c0412b7d59b7acd40e075f61d74
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* gnu/packages/gcc.scm (gdc-13): New public variable.
Change-Id: If7ac081ece1185da1004adf90027e412ae471ae8
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* gnu/packages/gcc.scm (gdc-12): New public variable.
Change-Id: Ic5711bc318aeb766763e3dfc6f1da81a340b8c7b
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* gnu/packages/gcc.scm (gdc-10): New public variable.
Change-Id: I74e8ed8c635e2f80af5b5504e4d2de97aed188a5
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* gnu/packages/gcc.scm (gdc-9): New public variable.
Change-Id: I059397ce7ee398c1ed8b6cfcc1d294916c64203a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* 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>
* 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>
This reverts commit a7db92d9b3, 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
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
This is a follow-up to 926225ec3e.
* gnu/packages/gcc.scm (gcc-5)[supported-systems]: Re-add
powerpc64le-linux.
Change-Id: I90ad75944605b457935f3d831181b3c96469ac54
* 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>
* 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>
* 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>
* 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>
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
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>