Commit graph

373 commits

Author SHA1 Message Date
Maxim Cournoyer
f59df1aa3c
build-systems: gnu: Export %default-gnu-imported-modules and %default-gnu-modules.
Until now users would have to cargo cult or inspect the private
%default-modules variable of (guix build-systems gnu) to discover which
modules to include when extending the used modules via the #:modules argument.

The renaming was automated via the command:

  $ git grep -l %gnu-build-system-modules
    | xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i

* guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to...
(%default-gnu-imported-modules): ... this.
(%default-modules): Rename to...
(%default-gnu-modules): ... this.  Export.
(dist-package, gnu-build, gnu-cross-build): Adjust accordingly.

Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee
2024-08-31 10:42:16 +02:00
Efraim Flashner
0e881505f1
gnu: make-libstdc++: Adjust order of phases.
* gnu/packages/gcc.scm (make-libstdc++)[arguments]: Move custom
'fix-rs6000-libdir phase to after the 'unpack phase.
2024-08-31 10:42:15 +02:00
Bruno Victal
bb29bb20ac
gnu: libstdc++-doc: Build libstdc++ info documentation.
* gnu/packages/patches/gcc-13.2.0-libstdc++-docbook-xsl-uri.patch: New file.
* gnu/packages/patches/gcc-13.2.0-libstdc++-info-install-fix.patch: Ditto.
* gnu/packages/patches/gcc-5.5.0-libstdc++-xmlcatalog.patch: Ditto.
* gnu/local.mk: Register them.
* gnu/packages/gcc.scm
(gcc-5)[source]: Use gcc-5.5.0-libstdc++-xmlcatalog.patch,
gcc-13.2.0-libstdc++-docbook-xsl-uri.patch and
gcc-13.2.0-libstdc++-info-install-fix.patch.
(gcc-9)[source]: Use gcc-13.2.0-libstdc++-docbook-xsl-uri.patch and
gcc-13.2.0-libstdc++-info-install-fix.patch.
(make-libstdc++-doc)[arguments]<#:phases>: Remove 'set-xsl-directory.
Adjust 'build and 'install for info documentation and to respect make-flags.
[native-inputs]: Add docbook2x.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Ie3b9de0328a10efadb28d211c3fe03f9b7aaf87f
2024-08-31 10:42:14 +02:00
Bruno Victal
f99112099d
gnu: libstdc++-doc: Rewrite with G-Expressions.
* gnu/packages/gcc.scm (make-libstdc++-doc): Rewrite arguments with
G-Expressions.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Idc8da964b7d777e0459c731625296ccd96546fa7
2024-08-31 10:42:14 +02:00
Maxim Cournoyer
7ee764bbe5
gnu: %objc++-search-paths: Express using $LIBRARY_PATH.
* gnu/packages/gcc.scm (%objc++-search-paths): Express using $LIBRARY_PATH.
2024-08-31 10:42:06 +02:00
Maxim Cournoyer
18631c4d5c
gnu: gccgo-4.9: Express search paths via (guix search-paths) variables.
* gnu/packages/gcc.scm (gccgo-4.9)
[native-search-paths]: Express search paths via (guix search-paths) variables.
2024-08-31 10:42:05 +02:00
Maxim Cournoyer
a9cb2e5714
gnu: gcc-2.95: Express search paths via (guix search-paths) variables.
* gnu/packages/gcc.scm (gcc-2.95)
[native-search-paths]: Express search paths via (guix search-paths) variables.
2024-08-31 10:42:05 +02:00
Maxim Cournoyer
fed026d1de
gnu: gcc-4.7: Use %gcc-search-paths for native-search-paths.
* gnu/packages/gcc.scm (gcc-4.7)
[native-search-paths]: Use %gcc-search-paths.

Change-Id: Ia9acc98c2f7c7bc101ac43a4288ee4368c2b3dfa
2024-08-31 10:42:05 +02:00
Efraim Flashner
bfeccd3db9
gnu: libgccjit: Track the default GCC version.
* gnu/packages/gcc.scm (libgccjit): Rewrite to use the default gcc
version.
2024-08-31 10:42:05 +02:00
Romain GARBAGE
18431cb5ba
gnu: Add gfortran 13.
* gnu/packages/gcc.scm (gfortran-13): New variable.

Change-Id: Idf9a35548a9a80251cc70154c7d70f5b3a316db9
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-08-28 12:22:40 +08:00
fanquake
9aa38f98cb
gnu: gcc@12: Update to 12.4.0.
* gnu/packages/gcc.scm (gcc-12): Update to 12.4.0.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Ibdd003d5b61eb4b9e6a1b56428d01d51cca97b44
2024-08-19 16:15:01 +02:00
Michael Ford
8564929627
gnu: gcc-14: Update to 14.2.0.
* gnu/packages/gcc.scm (gcc-14): Update to 14.2.0.

Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Change-Id: I250bf04c04233aa449f70701a238bfb4d4d07933
2024-08-05 23:00:37 +08:00
Zheng Junjie
4b3a553ca5
gnu: Add libgccjit-14.
* gnu/packages/gcc.scm (libgccjit-14): New variable.

Change-Id: I9c5be52e4e07ca48ae7191b6ff0c163541544700
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-07-02 13:19:40 +03:00
Zheng Junjie
6b7db5627d
gnu: Add gccgo-14.
* gnu/packages/gcc.scm (gccgo-14): New variable.

Change-Id: I065373047eb186ac410813b7eea0af3b44d8aaa7
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-07-02 13:19:40 +03:00
Zheng Junjie
b1c917779a
gnu: Add gcc-14.
* gnu/packages/gcc.scm (gcc-14): New variable.

Change-Id: I7eca4e35e010a69c13489c10c72c29d6e628bb72
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-07-02 13:19:37 +03:00
Efraim Flashner
9087ee2f6e
gnu: gcc: Add tuning targets for powerpc64le-linux.
* gnu/packages/gcc.scm (%gcc-10-ppc64le-micro-architectures): New
variable.
(gcc-10, gcc-11, gcc-12, gcc-13)[properties]: Add entry in
compiler-cpu-architectures for powerpc64le.

Change-Id: I3f5d0f5949eea7ac1b1914ac1db2867f5d14aee6
2024-06-11 12:39:41 +03:00
Efraim Flashner
ee8ff44519
gnu: gcc-13: Remove unneeded patch for i586-gnu.
* gnu/packages/gcc.scm (gcc-13)[arguments]: When building for i586-gnu
delete the inherited phase 'patch-hurd-libpthread as it exists upstream.

Change-Id: I0837dcff325b15b6975b34dbd7268faaa223ecdd
2024-05-30 13:58:37 +03:00
Efraim Flashner
86cab5c4bc
gnu: gccgo-12: Fix building on riscv64-linux.
* gnu/packages/gcc.scm (make-gccgo)[arguments]: When building gccgo-12
for riscv64-linux don't add a phase to adjust the order of libgo
dependencies.

Change-Id: I600c744ce33ad802a5c466c19df41dcbb29a2be0
2024-05-30 13:58:37 +03:00
Michael Ford
750148ce1e
gnu: gcc-13: Update to 13.3.0.
* gnu/packages/gcc.scm (gcc-13): Update to 13.3.0.

Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Change-Id: Ia2dc3185acbb6671b2719e2d88d55b7d2b8fb92e
2024-05-22 15:46:26 +08:00
Ludovic Courtès
b3d24c1d4f
gnu: libstdc++: Support cross-compilation to powerpc64le-linux-gnu.
Previously the phase would fail when cross-compiling because the patch
could not be found in ‘inputs’.

* gnu/packages/gcc.scm (make-libstdc++): Add alternative ‘patch-powerpc’
phase for when (%current-target-system) is true.

Change-Id: Ia503d761d34596d95cc9d33edd911cebcc2e0d9e
2024-04-04 16:15:08 +02:00
Efraim Flashner
cae9e9db32
cpu: Enable tuning for i686-linux.
* gnu/packages/gcc.scm (gcc-7, gcc-10, gcc-11, gcc-12, gcc-13)
[properties]: In compiler-cpu-architectures use the
x86_64-micro-architectures list for i686.
* guix/cpu.scm (cpu->gcc-architecture): Expand the x86_64 case to also
support i686.

Change-Id: I0b820ceb715960db5e702814fa278dc8c619a836
2024-03-07 13:04:27 +02:00
Efraim Flashner
7700dc2cf5
cpu: Rename x86-64-v1 to x86-64.
This is the actual micro-architecture designation used by compilers.

* gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): Rename
x86-64-v1 to x86-64.
* gnu/packages/golang.scm (%go-1.18-x86_64-micro-architectures): Same.
* guix/cpu.scm (cpu->micro-architecture-level): Same.
(gcc-architecture->micro-architecture-level): Same.

Change-Id: I19ed556a7e8deb4a77f4c63fca3b794f25092788
2024-03-07 13:04:27 +02:00
Zheng Junjie
85d564b0fc
gnu: gcc@11: fix 'compiler-cpu-architectures' property.
* gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): fix
typo `alterlake' to `alderlake'.

Change-Id: Ia1a7af3f25040101f6995b6a4df5f298bfbbeb44
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-03-05 08:54:13 +02:00
Efraim Flashner
50d068591c
gnu: gcc-4.8: Fix building.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Adjust configure-flags to
build gcc-4.8 using the C++03 standard.
(gcc-4.8)[arguments]: Add a phase to remove the current gcc's C++
headers from the CPLUS_INCLUDE_PATH.
(gcc-4.9)[arguments]: Inherit from gcc-4.8.
(gcc-6)[arguments]: Inherit from gcc-4.7.

Change-Id: Ibec0683e8385ae011e6a809c664cb679f1a35b80
2024-02-13 20:54:57 +02:00
Maxim Cournoyer
c6bec1ca42
gnu: Add gdc alias.
* gnu/packages/gcc.scm (gdc): New variable.

Change-Id: I38447e46ffba44d3a9d3757d34fe9ff081803457
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2024-01-26 15:38:34 -05:00
Ricardo Wurmus
7f7f2844ad
gnu: Add gfortran-9.
* gnu/packages/gcc.scm (gfortran-9): New variable.

Change-Id: Icac0eeef445dcac72b8709ed81367a718116fd87
2024-01-18 23:10:39 +01:00
Efraim Flashner
c69230c81f
gnu: Add support for x86_64-linux-gnux32.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add entry for
x86_64-linux-gnux32.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add
configure-flag for x86_64-linux-gnux32.
* guix/platforms/x86.scm (x86_64-linux-gnux32): New variable.
* guix/utils.scm (gnu-triplet->nix-system): Force x86_64-linux-gnux32 to
output a different nix-system than x86_64-linux-gnu.

Change-Id: I519fea2f8357e4b9895ede05fe8a5e373e9b034a
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-01-04 21:48:13 +02:00
Efraim Flashner
b20b624b02
gnu: gccgo-12: Fix building with 1 core.
* gnu/packages/gcc.scm (make-gccgo)[arguments]: When building gccgo-12
or higher add a phase to build libbacktrace before libgo.

Change-Id: I9bb225b58ffa439f9461e4126f51ab453683efbe
2024-01-01 08:35:53 +02:00
Efraim Flashner
4dfbc53668
gnu: custom-gcc: Set upstream name.
* gnu/packages/gcc.scm (custom-gcc)[properties]: Add upstream name.

Change-Id: I30326dc7952b11451a86f7f026aa1a97364a89e4
2023-10-28 22:03:35 +03:00
Efraim Flashner
f093eecbbc
gnu: Add gccgo-13.
* gnu/packages/crates-io.scm (gccgo-13): New variable.

Change-Id: I4b1ed0657518b9113a5ce89221189b9dd60f4347
2023-10-28 22:02:32 +03:00
Efraim Flashner
beb8365e37
gnu: gccgo: Add note about provided go version.
* gnu/packages/gcc.scm (gccgo-10, gccgo-11, gccgo-12): Add notes about
what version of is provided by these packages.

Change-Id: Id483319e606fdebe1820abeb7e129c580bf2c165
2023-10-28 22:02:32 +03:00
fanquake
2fbb5398a3
gnu: gcc@10: Update to 10.5.0.
* gnu/packages/gcc.scm (gcc-10): Update to 10.5.0.
Remove ‘gcc-10-tree-sra-union-handling.patch’.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Id1121cde63c8f5572fbe6a2b0d18b2df5a1eaa68
2023-10-24 00:02:13 +02:00
Hilton Chain
54da3d2c2e
gnu: Add gcc-13.
* gnu/packages/gcc.scm (gcc-13): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-09-28 19:39:55 +03:00
Efraim Flashner
00a1ee15cd
gnu: %gcc-11-x86_64-micro-architectures: Correct some values.
* gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): Correct the
values for the psABI micro-architectures.
2023-09-20 09:53:55 +03:00
Efraim Flashner
db6503a6ff
gnu: %gcc-11-x86_64-micro-architectures: Add psabi entries.
* gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): Add entries
for x86_64-v{1,2,3,4}.
2023-07-12 16:48:24 +03:00
Christopher Baines
70986f052a
gnu: gcc: Change make-gccgo to use gexp's.
As otherwise this seems to generate broken derivations for i586-gnu.

* gnu/packages/gcc.scm (make-gccgo): Use gexp's for the package arguments.
2023-05-14 13:43:06 +01:00
Christopher Baines
ded8cdbe89
gnu: gcc: Change custom-gcc to use gexp's.
As this seems to be generating broken derivations for i586-gnu otherwise.

* gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
arguments.
2023-05-14 13:43:06 +01:00
Efraim Flashner
1bb29cd49c
gnu: gcc: Update cpu tuning architectures.
* gnu/packages/gcc.scm (%gcc-7.5-armhf-micro-architectures): Add missing
micro-architecture.
(%gcc-10-armhf-micro-architectures): Adjust accordingly.
(%gcc-11-aarch64-micro-architectures): Add missing micro-architecture.
(%gcc-12-aarch64-micro-architectures, %gcc-12-armhf-micro-architectures,
%gcc-12-x86_64-micro-architectures, %gcc-13-aarch64-micro-architectures,
%gcc-13-armhf-micro-architectures, %gcc-13-x86_64-micro-architectures):
New variables.
(gcc-12)[properties]: Use new compiler-cpu-architectures.
* guix/cpu.scm (cpu->gcc-architecture): Update entries for Intel, AMD,
x86_64 fallback and aarch64.
2023-05-09 09:52:24 +03:00
Efraim Flashner
23d4ebdaac
gnu: gcc-12: Update to 12.3.0.
* gnu/packages/gcc.scm (gcc-12): Update to 12.3.0.
2023-05-09 08:39:19 +03:00
Christopher Baines
aad47b1b92
Revert "gnu: gcc-11: Adapt patching for hurd to not use gexp's."
This reverts commit 08acdd0765.

This change is now unnecessary now that gcc-boot0 uses
gexps (a795a02a9d).

* gnu/packages/gcc.scm (gcc-11)[arguments]: Use gexp for modify-phases.
[native-inputs]: Remove.
* gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Remove.
2023-05-07 12:16:51 +01:00
Christopher Baines
a795a02a9d
gnu: Use gexps for gcc-boot0 and related packages.
There are currently problems with native or cross building for i586-gnu, and
one factor mixed up with this is that some of the gcc packages use sexp's for
the phases, and thus introducing gexp's has caused problems.

As part of the going in circles with this, this commit switches gcc-boot0 to
use gexp's in it's arguments, and then also modifies libstdc++-boot0,
libstdc++-boot0-gcc7, cross-gcc-wrapper, gcc-final and make-libstdc++ to
handle this change.

If done correctly, this change shouldn't affect any derivations.

* gnu/packages/commencement.scm (libstdc++-boot0, libstdc++-boot0-gcc7,
gcc-boot0, gcc-final)[arguments]: Use gexps.
(cross-gcc-wrapper): Use gexps in the generated package.
* gnu/packages/gcc.scm (make-libstdc++): Use gexps in the generated package.
2023-05-07 09:15:16 +01:00
Christopher Baines
6922069bcb
gnu: gcc-11: Fix patch-hurd-libpthread phase.
It didn't work when it was introduced in
08acdd0765.

* gnu/packages/gcc.scm (gcc-11)[arguments]: Remove the procedure arguments,
and use %build-inputs rather than inputs.
* gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Add hurd-patch, as
this package inherits from gcc-11.
2023-05-05 14:57:29 +01:00
Christopher Baines
08acdd0765
gnu: gcc-11: Adapt patching for hurd to not use gexp's.
As this causes issues with gcc-cross-boot0, since it doesn't use gexp's and
that means the builder script ends up broken.

I'm not testing this properly, I've only confirmed that with this change, you
can generate a derivation for hello for i586-gnu where that derivation and all
inputs don't have broken builder scripts. Plus the output for hello on
x86_64-linux is unchanged.

* gnu/packages/gcc.scm (gcc-11)[arguments]: Rewrite to not use gexps.
[native-inputs]: Add a patch for the hurd if that's the target.
2023-05-04 14:43:53 +01:00
Vivien Kraus
74038cf66e
gnu: gcc: Do not build gcov on MinGW.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Disable gcov when
targetting mingw.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-25 17:20:19 +02:00
Simon Tournier
e1bf3c6b5a
gnu: gcc-7, gcc-10, gcc-11: Hide packages.
* gnu/packages/gcc.scm (gcc-7, gcc-10, gcc-11): Also inherit 'hidden?'
properties.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-18 15:52:01 +02:00
Andreas Enge
31dd526e1c
gnu: gcc-11: Fix build on powerpc64le.
* gnu/packages/patches/gcc-11-libstdc++-powerpc.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/gcc.scm (make-libstdc++): Apply patch for gcc versions >= 11
and < 12 on ppc64le.

Co-authored-by: Christopher Baines <mail@cbaines.net>
Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-04-14 11:14:47 +01:00
Andreas Enge
66b5d33c4f
Revert "gnu: gcc-11: Fix build on powerpc64le."
This reverts commit 9900f9e9b8.
2023-04-14 11:43:38 +02:00
Andreas Enge
9900f9e9b8
gnu: gcc-11: Fix build on powerpc64le.
* gnu/packages/patches/gcc-11-libstdc++-powerpc.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/gcc.scm (make-libstdc++): Apply patch for gcc versions >= 11
and < 12 on ppc64le.

Co-authored-by: Christopher Baines <mail@cbaines.net>
2023-04-13 18:53:42 +02:00
Josselin Poiret
6cdd444a56
gnu: gcc@11: Patch libpthread on GNU/Hurd.
* gnu/packages/gcc.scm (gcc-11)[arguments]: Add 'patch-hurd-libpthread'
phase.
* gnu/packages/patches/gcc-11-libstdc++-hurd-libpthread.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-03-30 12:44:18 +02:00
Ludovic Courtès
0ad86e94f5
gnu: libstdc++: Fix cross-compilation.
* gnu/packages/gcc.scm (make-libstdc++): Adjust 'hide-gcc-headers' for
cross-compiled libstdc++.
2023-03-09 13:08:53 +01:00