1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-15 03:20:43 +02:00
Commit graph

393 commits

Author SHA1 Message Date
Zheng Junjie
455805beda
gnu: Add gcc-15.
* gnu/packages/gcc.scm (gcc-15, gccgo-15, libgccjit-15): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-15): New variable.

Change-Id: I55e49e61626e8419ac936d1c5d241a586eaca47f
Signed-off-by: Zheng Junjie <z572@z572.online>
2025-05-04 01:18:06 +08:00
Zheng Junjie
4664e4207a
gnu: isl: Fix build to loongarch64.
* gnu/packages/gcc.scm (isl)[arguments]: When target is loongarch64, Add
update-config-scripts phase.
[native-inputs]: When target is loongarch64, Add config.

Change-Id: If60b28f64dd3285f5b89000c42e714be07876400
2025-01-25 01:05:27 +08:00
Janneke Nieuwenhuizen
a82e75d807
gnu: Use gcc-14, gcc-toolchain-14 on the 64bit Hurd.
This enables building packages in a 64bit childhurd.  It will not enable
offloading to a childhurd.

* guix/utils.scm (host-hurd?, host-x86-64, host-hurd64?): New procedures.
* gnu/packages/commencement.scm (gcc-toolchain): Use them to determine if the
host is a 64bit Hurd, and use gcc-toolchain-14.
* gnu/packages/gcc.scm (gcc): Likewise, to use gcc-14.

Change-Id: I55e43fdc61e3ea5fc13065fc7ca854b951c94930
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
4d077bba89
gnu: gcc-14: Force libdir /lib instead of /lib64 for the 64bit Hurd.
* gnu/packages/gcc.scm (gcc-14)[arguments]: In stage "pre-x86-configure", also
patch "gcc/config/i386/t-gnu64".

Change-Id: Ib2607c5f315c49696596fdcbcbbcc2895b6a9775
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
cb765c4218
gnu: libstdc++: Support the 64bit Hurd.
* gnu/packages/gcc.scm (make-libstdc++)[arguments]: When building for the
64bit Hurd, add stage patch-hurd64.

Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
2024-12-03 08:33:12 +01:00
Rutherther
ae626fc102
gnu: gcc@9: Add libsanitizer fsconfig command patch.
Since newer glibc version there is a conflict in names between kernel
module and glibc module.  This uses a patch that was used upstream in
llvm to bypass it.  Without this, the build fails with a redefinition
error.

* gnu/packages/gcc.scm (gcc-9)[source]: Add
‘gcc-7-libsanitizer-fsconfig-command.patch’.

Change-Id: Ibb8446b7bba52f72d82fcf69804cae09215daeed
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-10-15 18:40:09 +02:00
Efraim Flashner
1d4a44a29b
gnu: gcc-14: Add tuning target.
* gnu/packages/gcc.scm (%gcc-14-x86_64-micro-architectures): New
variable.
(gcc-14)[properties]: Use it.

Change-Id: I00f9e2a4c9d590f97977275b157002ac330b895b
2024-09-30 13:38:15 +03:00
Nguyễn Gia Phong
fee669e2c2
gnu: make-libiberty: Build with -fPIC.
Since iberty is a static library, linking a PIC-enabled target to it
requires it to also have been built with PIC.  (The target is Dyninst
in this case.)

This `-fPIC' flag is appended to the default CFLAGS of `-O2 -g'.

* gnu/packages/gcc.scm (make-libiberty)[arguments]:
  Adjust make-flags to add -fPIC to CFLAGS.

Change-Id: I155045d05f4434cb68be933a95b7bc9fdec98818
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-19 14:32:44 +02:00
Nguyễn Gia Phong
ad6deff8bb
gnu: make-libiberty: Install the header demangle.h.
This header is wanted by Dyninst.

* gnu/packages/gcc.scm (make-libiberty):
  Add include/demangle.h to install phase.

Change-Id: I01235071b75b412f55785d240cda248315b7a93e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-19 14:32:40 +02:00
Ludovic Courtès
5ce53449b5
gnu: gcc@8: Add missing patch.
This fixes compilation with glibc 2.39.

* gnu/packages/gcc.scm (gcc-8)[source]: Add “gcc-7-libsanitizer-fsconfig-command.patch”.

Change-Id: If8f99972278b90f37e104da3b3ca414be6f34140
2024-09-17 17:34:58 +02:00
Ludovic Courtès
552a18c24a
gnu: libgccjit: Remove duplicate libgccjit@11 package.
Fixes a regression introduced in
bfeccd3db9 and caught by
‘tests/packages.scm’, whereby two equivalent but not ‘eq?’ libgccjit@11
packages would be exported.

* gnu/packages/gcc.scm (libgccjit): Make an alias for ‘libgccjit-11’.

Change-Id: I9aeacb7588af5f78af0941e80715665572567958
2024-09-17 17:34:58 +02:00
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