Commit graph

382 commits

Author SHA1 Message Date
Josselin Poiret
7e30cd7a74
gnu: gcc-6: Fix libsanitizer build.
* gnu/packages/gcc.scm (gcc-6, gcc-5): Also apply gcc-7's libsanitizer patch.

Change-Id: I2f5699480574721dc32389b7c2c3c45043d28b51
2024-08-31 10:44:55 +02:00
Josselin Poiret
bc78aebc63
gnu: gcc: Patch crypt out of bundled libsanitizer.
* gnu/packages/patches/gcc-10-libsanitizer-no-crypt.patch:
* gnu/packages/patches/gcc-12-libsanitizer-no-crypt.patch:
* gnu/packages/patches/gcc-13-libsanitizer-no-crypt.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/gcc.scm (gcc-10, gcc-11, gcc-12, gcc-13): Use them.

Change-Id: Idc450c5a468e07c4ea78c8ca7bb1c5ee379231bb
2024-08-31 10:44:51 +02:00
Josselin Poiret
3908672261
gnu: gcc: Simplify application of Hurd-specific pthread patch.
* gnu/packages/gcc.scm (gcc-11): Apply gcc-11-libstdc++-hurd-libpthread.patch
unconditionally.
(gcc-12): Also apply gcc-11-libstdc++-hurd-libpthread.patch.

Change-Id: I80e2b2adb5636e1bff4536c5a0a348955454e81d
2024-08-31 10:44:51 +02:00
Ludovic Courtès
745177cea5
gnu: gcc@7: Allow compilation with glibc 2.38.
* gnu/packages/patches/gcc-7-libsanitizer-fsconfig-command.patch: New
file.
* gnu/packages/gcc.scm (gcc-7)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: Ifa273b92573281c34d83e5fb8cd68734ef02c7fd
2024-08-31 10:44:22 +02:00
Efraim Flashner
0c9811497e
gnu: gcc: Support objc, objc++ by default.
* gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Adjust the
enable-languages flag to also enable objc, obj-c++.
(gcc-objc-4.8, gcc-objc-4.9, gcc-objc-5, gcc-objc-6, gcc-objc-7,
gcc-objc-8, gcc-objc-9, gcc-objc-10, gcc-objc-11, gcc-objc-12, gcc-objc,
gcc-objc++-4.8, gcc-objc++-4.9, gcc-objc++-5, gcc-objc++-6,
gcc-objc++-7, gcc-objc++-8, gcc-objc++-9, gcc-objc++-10, gcc-objc++-11,
gcc-objc++-12, gcc-objc++, %objc-search-paths, %objc++-search-paths):
Remove variables.
* guix/search-paths.scm ($OBJC_INCLUDE_PATH, $OBJCPLUS_INCLUDE_PATH):
New variables.
(%gcc-search-paths): Include $OBJC_INCLUDE_PATH, $OBJCPLUS_INCLUDE_PATH.

Change-Id: Ib4cd176eb88c733a82f2d31e8cc45b9c61720f8f
2024-08-31 10:42:48 +02:00
Greg Hogan
1487b3f53c
gnu: gcc@11: Update to 11.4.0.
* gnu/packages/gcc.scm (gcc-11): Update to 11.4.0.
Remove ‘gcc-10-tree-sra-union-handling.patch’.

Change-Id: Iff8c9151326c87cb13db9c5b1a00c44b8eef95e3
Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-31 10:42:46 +02:00
Maxim Cournoyer
44407d60eb
gnu: custom-gcc: Import the correct set of modules.
* gnu/packages/gcc.scm (custom-gcc) [arguments]
<modules>: Replace %default-gnu-imported-modules with %default-gnu-modules.

Change-Id: I133daad4e05d5daa98fadd5acf2d0f4606b6e056
2024-08-31 10:42:18 +02:00
Maxim Cournoyer
a1df0993e7
gnu: make-libstdc++: Import the correct set of modules.
* gnu/packages/gcc.scm (make-libstdc++) [arguments]
<modules>: Replace %default-gnu-imported-modules with %default-gnu-modules.

Change-Id: I3fe29766f767765e966c189395f618b7779f1e0d
2024-08-31 10:42:18 +02:00
Maxim Cournoyer
cce76558a3
gnu: gcc-4.8: Import the correct set of modules.
* gnu/packages/gcc.scm (gcc-4.8) [arguments]
<modules>: Replace %default-gnu-imported-modules with %default-gnu-modules.

Change-Id: I8482661bd49a94adefc772fda0449023bdd5927e
2024-08-31 10:42:18 +02:00
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