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
* gnu/packages/gcc.scm (make-libstdc++)[arguments]: When building for the
64bit Hurd, add stage patch-hurd64.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
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>
* gnu/packages/gcc.scm (%gcc-14-x86_64-micro-architectures): New
variable.
(gcc-14)[properties]: Use it.
Change-Id: I00f9e2a4c9d590f97977275b157002ac330b895b
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>
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>
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
* 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
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
* 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
* 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
* 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
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
* 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
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
* 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
* 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>
* gnu/packages/gcc.scm (make-gccgo)[arguments]: When building gccgo-12
or higher add a phase to build libbacktrace before libgo.
Change-Id: I9bb225b58ffa439f9461e4126f51ab453683efbe
* gnu/packages/gcc.scm (gccgo-10, gccgo-11, gccgo-12): Add notes about
what version of is provided by these packages.
Change-Id: Id483319e606fdebe1820abeb7e129c580bf2c165