summaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
AgeCommit message (Collapse)Author
2 daysgnu: gcc-6: Fix libsanitizer build.Josselin Poiret
* gnu/packages/gcc.scm (gcc-6, gcc-5): Also apply gcc-7's libsanitizer patch. Change-Id: I2f5699480574721dc32389b7c2c3c45043d28b51
2 daysgnu: gcc: Patch crypt out of bundled libsanitizer.Josselin Poiret
* 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
2 daysgnu: gcc: Simplify application of Hurd-specific pthread patch.Josselin Poiret
* 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
2 daysgnu: gcc@7: Allow compilation with glibc 2.38.Ludovic Courtès
* 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
2 daysgnu: gcc: Support objc, objc++ by default.Efraim Flashner
* 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
2 daysgnu: gcc@11: Update to 11.4.0.Greg Hogan
* 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>
2 daysgnu: custom-gcc: Import the correct set of modules.Maxim Cournoyer
* gnu/packages/gcc.scm (custom-gcc) [arguments] <modules>: Replace %default-gnu-imported-modules with %default-gnu-modules. Change-Id: I133daad4e05d5daa98fadd5acf2d0f4606b6e056
2 daysgnu: make-libstdc++: Import the correct set of modules.Maxim Cournoyer
* gnu/packages/gcc.scm (make-libstdc++) [arguments] <modules>: Replace %default-gnu-imported-modules with %default-gnu-modules. Change-Id: I3fe29766f767765e966c189395f618b7779f1e0d
2 daysgnu: gcc-4.8: Import the correct set of modules.Maxim Cournoyer
* gnu/packages/gcc.scm (gcc-4.8) [arguments] <modules>: Replace %default-gnu-imported-modules with %default-gnu-modules. Change-Id: I8482661bd49a94adefc772fda0449023bdd5927e
2 daysbuild-systems: gnu: Export %default-gnu-imported-modules and ↵Maxim Cournoyer
%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
2 daysgnu: make-libstdc++: Adjust order of phases.Efraim Flashner
* gnu/packages/gcc.scm (make-libstdc++)[arguments]: Move custom 'fix-rs6000-libdir phase to after the 'unpack phase.
2 daysgnu: libstdc++-doc: Build libstdc++ info documentation.Bruno Victal
* 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
2 daysgnu: libstdc++-doc: Rewrite with G-Expressions.Bruno Victal
* gnu/packages/gcc.scm (make-libstdc++-doc): Rewrite arguments with G-Expressions. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: Idc8da964b7d777e0459c731625296ccd96546fa7
2 daysgnu: %objc++-search-paths: Express using $LIBRARY_PATH.Maxim Cournoyer
* gnu/packages/gcc.scm (%objc++-search-paths): Express using $LIBRARY_PATH.
2 daysgnu: gccgo-4.9: Express search paths via (guix search-paths) variables.Maxim Cournoyer
* gnu/packages/gcc.scm (gccgo-4.9) [native-search-paths]: Express search paths via (guix search-paths) variables.
2 daysgnu: gcc-2.95: Express search paths via (guix search-paths) variables.Maxim Cournoyer
* gnu/packages/gcc.scm (gcc-2.95) [native-search-paths]: Express search paths via (guix search-paths) variables.
2 daysgnu: gcc-4.7: Use %gcc-search-paths for native-search-paths.Maxim Cournoyer
* gnu/packages/gcc.scm (gcc-4.7) [native-search-paths]: Use %gcc-search-paths. Change-Id: Ia9acc98c2f7c7bc101ac43a4288ee4368c2b3dfa
2 daysgnu: libgccjit: Track the default GCC version.Efraim Flashner
* gnu/packages/gcc.scm (libgccjit): Rewrite to use the default gcc version.
2024-06-11gnu: gcc: Add tuning targets for powerpc64le-linux.Efraim Flashner
* 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-05-30gnu: gcc-13: Remove unneeded patch for i586-gnu.Efraim Flashner
* 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-30gnu: gccgo-12: Fix building on riscv64-linux.Efraim Flashner
* 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-22gnu: gcc-13: Update to 13.3.0.Michael Ford
* gnu/packages/gcc.scm (gcc-13): Update to 13.3.0. Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn> Change-Id: Ia2dc3185acbb6671b2719e2d88d55b7d2b8fb92e
2024-04-04gnu: libstdc++: Support cross-compilation to powerpc64le-linux-gnu.Ludovic Courtès
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-03-07cpu: Enable tuning for i686-linux.Efraim Flashner
* 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-07cpu: Rename x86-64-v1 to x86-64.Efraim Flashner
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-05gnu: gcc@11: fix 'compiler-cpu-architectures' property.Zheng Junjie
* 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-02-13gnu: gcc-4.8: Fix building.Efraim Flashner
* 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-01-26gnu: Add gdc alias.Maxim Cournoyer
* gnu/packages/gcc.scm (gdc): New variable. Change-Id: I38447e46ffba44d3a9d3757d34fe9ff081803457 Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2024-01-18gnu: Add gfortran-9.Ricardo Wurmus
* gnu/packages/gcc.scm (gfortran-9): New variable. Change-Id: Icac0eeef445dcac72b8709ed81367a718116fd87
2024-01-04gnu: Add support for x86_64-linux-gnux32.Efraim Flashner
* 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-01gnu: gccgo-12: Fix building with 1 core.Efraim Flashner
* gnu/packages/gcc.scm (make-gccgo)[arguments]: When building gccgo-12 or higher add a phase to build libbacktrace before libgo. Change-Id: I9bb225b58ffa439f9461e4126f51ab453683efbe
2023-10-28gnu: custom-gcc: Set upstream name.Efraim Flashner
* gnu/packages/gcc.scm (custom-gcc)[properties]: Add upstream name. Change-Id: I30326dc7952b11451a86f7f026aa1a97364a89e4
2023-10-28gnu: Add gccgo-13.Efraim Flashner
* gnu/packages/crates-io.scm (gccgo-13): New variable. Change-Id: I4b1ed0657518b9113a5ce89221189b9dd60f4347
2023-10-28gnu: gccgo: Add note about provided go version.Efraim Flashner
* 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-24gnu: gcc@10: Update to 10.5.0.fanquake
* 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-09-28gnu: Add gcc-13.Hilton Chain
* gnu/packages/gcc.scm (gcc-13): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-09-20gnu: %gcc-11-x86_64-micro-architectures: Correct some values.Efraim Flashner
* gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): Correct the values for the psABI micro-architectures.
2023-07-12gnu: %gcc-11-x86_64-micro-architectures: Add psabi entries.Efraim Flashner
* gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): Add entries for x86_64-v{1,2,3,4}.
2023-05-14gnu: gcc: Change make-gccgo to use gexp's.Christopher Baines
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-14gnu: gcc: Change custom-gcc to use gexp's.Christopher Baines
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-09gnu: gcc: Update cpu tuning architectures.Efraim Flashner
* 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-09gnu: gcc-12: Update to 12.3.0.Efraim Flashner
* gnu/packages/gcc.scm (gcc-12): Update to 12.3.0.
2023-05-07Revert "gnu: gcc-11: Adapt patching for hurd to not use gexp's."Christopher Baines
This reverts commit 08acdd0765b5f4fbfafa699a823ea7985d4d35a7. This change is now unnecessary now that gcc-boot0 uses gexps (a795a02a9d988be5a762886620f7bb6a95e7ffdb). * 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-07gnu: Use gexps for gcc-boot0 and related packages.Christopher Baines
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-05gnu: gcc-11: Fix patch-hurd-libpthread phase.Christopher Baines
It didn't work when it was introduced in 08acdd0765b5f4fbfafa699a823ea7985d4d35a7. * 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-04gnu: gcc-11: Adapt patching for hurd to not use gexp's.Christopher Baines
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-04-25gnu: gcc: Do not build gcov on MinGW.Vivien Kraus
* 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-18gnu: gcc-7, gcc-10, gcc-11: Hide packages.Simon Tournier
* 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-14gnu: gcc-11: Fix build on powerpc64le.Andreas Enge
* 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-14Revert "gnu: gcc-11: Fix build on powerpc64le."Andreas Enge
This reverts commit 9900f9e9b86550e7d336b04ad46fba088e28cbd6.