aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/cross-base.scm
Commit message (Collapse)AuthorAge
* gnu: cross-base: Update %xgcc to gcc-14, to support the 64bit Hurd.Janneke Nieuwenhuizen2024-12-03
| | | | | | | | Gcc-14 adds support for the 64bit Hurd. * gnu/packages/cross-base.scm (%xgcc): Bump to gcc-14. Change-Id: Idf7696c50532aa4def2b2d37cdb5c70715125123
* gnu: cross-libc: Support cross-building for the 64bit Hurd.Janneke Nieuwenhuizen2024-12-03
| | | | | | | | | * gnu/packages/base.scm (glibc)[arguments]: When building for the Hurd, in phase "create-machine-symlink", do not assume CPU is i386, also cater for x86_64. * gnu/packages/cross-base.scm (cross-libc*)[arguments]: Likewise. Change-Id: Ib009b7bd301b543b8629382330cca9d963b7a812
* gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.Janneke Nieuwenhuizen2024-12-03
| | | | | | | | | | | | | | | | | | | * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Update comment on where to find shared linker name. (make-raw-bag): Also use raw-build-guile3 when building for the 64bit Hurd. * gnu/packages/cross-base.scm (cross-kernel-headers*): Use target-hurd? instead of custom "i586..." matching to also use xhurd-core-headers for target-hurd64. * gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc) [native-inputs]: Move final-inputs before cross-packages. (%binutils-static)[arguments]: When building for the 64bit Hurd, add "lt_cv_prog_compiler_static_works=yes", "lt_cv_prog_compiler_static_works_CXX=yes" to #:make-flags to convince to actually link the binaries statically. (make-guile-static)[arguments]: When building for the 64bit Hurd, add "lt_cv_prog_compiler_static_works=yes" to #:configure-flags to convince libtool to actually link guile statically. * guix/platforms/x86.scm (x86_64-gnu): New exported variable. * guix/utils.scm (target-hurd64? system-hurd64?): New procedures.
* gnu: cross-libc: Resurrect cross-building for the Hurd.Janneke Nieuwenhuizen2024-11-17
| | | | | | | | * gnu/packages/base.scm (glibc)[arguments]: When building for the Hurd, in phase "create-machine-symlink", only create symlink if it is missing. * gnu/packages/cross-base.scm (cross-libc*)[arguments]: Likewise. Change-Id: Ib009b7bd301b543b8629382330cca9d963b7a812
* gnu: cross-base: Adjust ‘cross-libc’ for use as non-native input.Ludovic Courtès2024-08-31
| | | | | | | | | | | | When ‘cross-libc’ is used in a context where it’s not a native input, as is the case with ‘package-with-relocatable-glibc’ when cross-compiling, the target objdump is to be found in the native inputs. * gnu/packages/cross-base.scm (cross-libc*): In ‘add-cross-binutils-to-PATH’ phase, look for TARGET’s objdump in NATIVE-INPUTS in addition to INPUTS. Change-Id: Ic0e9ee720cf4211edc95be59903b4bd1d94b1e3f
* gnu: Remove leftover references to ‘%glibc/hurd-configure-flags’.Ludovic Courtès2024-08-31
| | | | | | | | | | This is a followup to 901b3c2a9db1935149d6ee366bf6f2a325391740. * gnu/packages/base.scm (glibc/hurd-headers): Remove reference to ‘%glibc/hurd-configure-flags’. * gnu/packages/cross-base.scm (cross-libc*): Likewise. Change-Id: Iac43d84e3407c16a0f3f926d795b55c7b7ac73fd
* Revert "gnu: hurd: Add gnumach-headers as native input."Janneke Nieuwenhuizen2024-08-31
| | | | | | | gnumach-headers[-cross] are contained in the toolchain; it was only the `include/mach/machine' symlink that was missing. This reverts commit 2dd16f46766997c0b3e4ee973ce6e792a4d84fcb.
* gnu: glibc/hurd: Install include/mach/machine symlink.Janneke Nieuwenhuizen2024-08-31
| | | | | | | | * gnu/packages/base.scm (glibc): When building for the Hurd, add phase `create-machine-symlink'. * gnu/packages/cross-base.scm (cross-libc*): Likewise. Change-Id: I61fa081ce081f05bed918a438fd9d4eec94ef4bf
* gnu: hurd: Add gnumach-headers as native input.Janneke Nieuwenhuizen2024-08-31
| | | | | | | | | | This provides the include/mach/machine/mach_i386.h. * gnu/packages/hurd.scm (hurd)[native-inputs]: Add gnumach-headers, or gnumach-headers-cross when cross-building. [arguments]: Remove #t from phases. Change-Id: Id57e0cf184c7793be52192bdc5587c6e6ef2a312
* gnu: cross-base: Build cross-compilers with ‘--enable-languages=c,c++’.Ludovic Courtès2024-08-31
| | | | | | | | | | | | | | This fixes a regression introduced in d21d596f72ad491937123980e65d3efedc903bd6 where the cross-compiler would fail to build with: checking dynamic linker characteristics... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES. make[1]: *** [Makefile:13129: configure-target-libobjc] Error 1 * gnu/packages/cross-base.scm (cross-gcc-arguments): Clear ‘--enable-languages’ flag unconditionally. Change-Id: I2bb38bac42e0791cad617893343c0d3dfc963450
* gnu: binutils: Use gexps.Ludovic Courtès2024-08-31
| | | | | | | | | | | | | | | This is the result of applying ‘guix style -S arguments’ and making small adjustments. * gnu/packages/base.scm (binutils)[arguments]: Use gexps. (binutils-2.33, binutils-gold): Likewise. * gnu/packages/commencement.scm (binutils-mesboot0, binutils-mesboot1) (binutils-boot0, binutils-final): Likewise. * gnu/packages/cross-base.scm (cross-binutils*): Adjust accordingly. * gnu/packages/embedded.scm (make-propeller-binutils): Use gexps. * gnu/packages/make-bootstrap.scm (%binutils-static): Use gexps. Change-Id: I59cbe29760784b09e6d4e80beca9153cb9b495a7
* gnu: cross-base: ‘cross’ helper uses gexps.Ludovic Courtès2024-08-31
| | | | | | | | This is required in cases where P uses gexps. * gnu/packages/cross-base.scm (cross): Use gexps. Change-Id: Ie038cbec67a53700f31791ee2d171918788111d2
* gnu: cross-base: Remove ‘install-utf8-c-locale’.Ludovic Courtès2024-08-31
| | | | | | | * gnu/packages/cross-base.scm (cross-libc*): Remove ‘install-utf8-c-locale’ phase. Change-Id: I47cf555548335491f06443dd921a457f458801f4
* gnu: cross-base: Let glibc use the right Binutils programs.Ludovic Courtès2024-08-31
| | | | | | | | | | | | | | This replaces ‘glibc-cross-objdump.patch’ and ‘glibc-cross-objcopy.patch’ (not applied to glibc@2.38): these patches were committed upstream and later reverted on the grounds that ‘gcc -print-prog-name=objdump’ should find the cross ‘objdump’: https://inbox.sourceware.org/libc-alpha/d72f5f6f-cc3a-bd89-0800-ffb068928e0f@linaro.org/t/ * gnu/packages/cross-base.scm (cross-libc*): Add ‘add-cross-binutils-to-PATH’ phase. Change-Id: I38dc7a6134177ec73313c0a9c8b0a12c85c60e26
* build-systems: gnu: Export %default-gnu-imported-modules and ↵Maxim Cournoyer2024-08-31
| | | | | | | | | | | | | | | | | | | | | %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
* gnu: cross-binutils: Use binutils-2.33 for ath9k.Jean-Pierre De Jesus DIAZ2024-04-17
| | | | | | | | | | | * gnu/packages/cross-base.scm (cross-binutils-package): New procedure. * gnu/packages/cross-base.scm (cross-binutils): Select binutils default value with cross-binutils-package. * gnu/packages/firmware.scm (ath9k-htc-firmware) <native-inputs>: Do not explicitly set the #:xbinutils keyword argument. Change-Id: I0eb25eb2b494241c205286837bfa79a61de8e0b7 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: ath9k-htc-firmware: Use xtensa-ath9k-elf.Jean-Pierre De Jesus DIAZ2024-04-17
| | | | | | | | * gnu/packages/firmware.scm (ath9k-htc-firmware): Use the xtensa-ath9k-elf target for the cross toolchain. Change-Id: Ic1a7c4088312290a86a508f371f4f0e784e301a5 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: cross-gcc: Add patch for GCC 13.Jean-Pierre De Jesus DIAZ2024-04-15
| | | | | | | | | | * gnu/local.mk (dist_patch_DATA): Add gcc-13-cross-system-header-dir.patch. * gnu/packages/cross-base.scm (cross-gcc) <source>: Add patch for GCC 13. * gnu/packages/patches/gcc-13-cross-system-header-dir.patch: New patch. Change-Id: Ib4771ff78222fb7b7df58891d25938d338bd5df8 Signed-off-by: Christopher Baines <mail@cbaines.net>
* gnu: cross-gcc-patches: Avoid patch for GCC 13+.Jean-Pierre De Jesus DIAZ2024-04-15
| | | | | | | | | * gnu/packages/cross-base.scm (cross-gcc-patches): Avoid gcc-4.9.3-mingw-gthr-default.patch patch for GCC 13+ versions since it does not apply. Change-Id: I4bb14d687c53733d77099a761844815900b1266a Signed-off-by: Christopher Baines <mail@cbaines.net>
* gnu: cross-gcc-toolchain: Use fixed name.Jean-Pierre De Jesus DIAZ2024-01-22
| | | | | | | * gnu/packages/cross-base.scm (cross-gcc-toolchain) <name>: Always use gcc-cross- prefix regardless of TARGET having a C standard library or not. Change-Id: I5cbe89c61e5bd324a385db17c27131ea5ef75669
* gnu: Add cross-gcc-toolchain procedure.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | * gnu/packages/cross-base.scm (cross-gcc-toolchain/implementation, cross-gcc-toolchain): New procedures. Change-Id: I994067eac094d0a50a7399e61bda944eded9187f Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: cross-gcc: Only C and C++ for AVR.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | * gnu/packages/cross-base.scm (cross-gcc-arguments) <configure-flags> [target-avr?]: Add --enable-languages=c,c++. Change-Id: I1d63bb1b0a3074b9ff8650c5afb93777183c0ea4 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: cross-gcc: Find AVR Libc files.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | | * gnu/packages/cross-base.scm (cross-gcc-arguments) <configure-flags>: Add --with-native-system-header-dir for AVR. <make-flags>: Add target prefix to /lib to find AVR library. Change-Id: Ie9cae338da241fe987f53463aa3774a890e2af9a Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: cross-gcc: Handle AVR inputs.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | * gnu/packages/cross-base.scm (cross-gcc)[native-inputs]: Add case to handle AVR. Change-Id: I1ac38b721ed807302747cecb5fb1f6075694a01a Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: cross-libc: Add AVR Libc support.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | | | | * gnu/packages/avr.scm (make-avr-libc/implementation)[arguments]: Add avr target parameter and disable implicit cross inputs. [native-inputs]: Rename avr-gcc and avr-binutils to cross-gcc and cross-binutils to keep consistency with gnu-build-system. * gnu/packages/cross-base.scm (cross-libc): Add case for avr. Change-Id: I6b087946d1287a82fac61c48c513e7f2d2184794 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: cross-gcc: Handle target include paths.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | | * gnu/packages/cross-base.scm (cross-gcc-search-paths): New procedure. (cross-gcc)[search-paths]: Convert to and use cross-gcc-search-paths procedure. Change-Id: Id306782eaf928d05cd005b9539087ed631506b5b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: cross-gcc: Enable multilib for AVR.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | | | | * gnu/build/cross-toolchain.scm (patch-multilib-shebang): New procedure. * gnu/packages/avr.scm (make-avr-gcc): Remove uneeded phases and flags for multilib. * gnu/packages/cross-base (cross-gcc-arguments) <#:configure-flags> [target-avr?]: Remove --disable-multilib and add --enable-multilib. Change-Id: Id68d803057ac898f0a670f10487b08bf0891ab0b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: cross-libc: Return #f if no libc available.Jean-Pierre De Jesus DIAZ2023-12-11
| | | | | | | | * gnu/packages/cross-base.scm (cross-libc): Return #f if no libc is available for the given TARGET. Change-Id: I17d19716373dd5704bb70d805437738fd29bd96b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: hurd-minimal: Include libshouldbeinlibc and libstore.Janneke Nieuwenhuizen2023-07-13
| | | | | | | | | | * gnu/packages/hurd.scm (hurd-minimal)[inputs]: Add gnumach-headers. [arguments]: Rewrite to include libshouldbeinlibc and libstore. * gnu/packages/cross-base.scm (cross-kernel-headers*): Update xhurd-minimal accordingly: Add xgnumach-headers, add them to cpath, use gexps for modify-phases, add delete-shared-target phase. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* gnu: Add libc-for-target and glibc/hurd.Josselin Poiret2023-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch * gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch * gnu/packages/patches/glibc-2.37-versioned-locpath.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables. (glibc/hurd-headers): Use glibc/hurd. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[outputs, source, arguments] (glibc-final)[source]: Use libc-for-target instead of glibc. * gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use libc-for-target. This part fixes https://issues.guix.gnu.org/63641#25 * gnu/packages/commencement.scm (%final-inputs): Change to memoized lambda taking "system". * gnu/packages/commencement.scm (canonical-package): Likewise, and update user, passing (%current-system). (make-gcc-toolchain): Update user, passing (%current-system). * gnu/packages/base.scm (%final-inputs): Likewise. * guix/scripts/refresh.scm (options->update-specs): Likewise. * guix/build-system/gnu.scm (standard-packages): Add optional "system" parameter. (lower): Update caller. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org>
* gnu: gnumach-headers: Cross-build without relying on x86.Josselin Poiret2023-07-13
| | | | | | | | * gnu/packages/hurd.scm (gnumach-headers): Remove configure flags where we say the builder is running x86. * gnu/packages/cross-base.scm (cross-gnumach-headers): Work around limitation of build system, by manually changing the target host_cpu without relying on --host, because we don't have a working cross-compiler yet.
* gnu: glibc/hurd-headers: Properly cross-build.Josselin Poiret2023-07-13
| | | | | | | * gnu/packages/base.scm (glibc/hurd-headers): Rely on cross-mig, and remove hardcoded configure flag `--host=i586-pc-gnu`. * gnu/packages/cross-base.scm (cross-kernel-headers*): Add `--host` and `--build` configure flags.
* gnu: cross-base: Removed useless inputs to xhurd-core-headers.Josselin Poiret2023-03-30
| | | | | | * gnu/packages/cross-base.scm (cross-kernel-headers*): Remove them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: cross-base: Add cross arguments to hurd derivatives.Josselin Poiret2023-03-30
| | | | | | | * gnu/packages/cross-base.scm (cross-kernel-headers*): Add --build and --host to xhurd-headers and xhurd-minimal. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: cross-base: Factor out cross-mig.Josselin Poiret2023-03-30
| | | | | | | | | * gnu/packages/cross-base.scm (cross-mig): New exported procedure. (cross-gnumach-headers): New procedure. (cross-kernel-headers*): Factor them out. (cross-libc*): Use them there. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: cross-base: Use gexps for 'cross-gcc-arguments'.Ludovic Courtès2023-03-30
| | | | * gnu/packages/cross-base.scm (cross-gcc-arguments): Switch to gexps.
* gnu: glibc: Work around broken GNU Mach header detection.Ludovic Courtès2023-03-30
| | | | | | | | | * gnu/packages/base.scm (%glibc/hurd-configure-flags): New variable. (glibc)[arguments]: Use it. (glibc/hurd-headers)[arguments]: likewise. * gnu/packages/cross-base.scm (cross-libc*): Likewise. Co-authored-by: Josselin Poiret <dev@jpoiret.xyz>
* gnu: cross-base: Inherit arguments from 'mig'.Ludovic Courtès2023-03-04
| | | | | | | | | That way, 'xmig' inherits the 'avoid-perl-dependency' build phase. * gnu/packages/hurd.scm (mig)[arguments]: In 'avoid-perl-dependency', use 'find-files' to locate the "mig" executable(s). * gnu/packages/cross-base.scm (cross-kernel-headers*)[xmig]: Use 'substitute-keyword-arguments'.
* gnu: cross-base: Remove input labels for GNU Mach and MiG.Ludovic Courtès2023-03-04
| | | | | | * gnu/packages/cross-base.scm (cross-kernel-headers*)[xgnumach-headers] [xmig]: Remove input labels; use gexps and 'modify-inputs'. [xgnumach-headers-name]: New variable.
* gnu: Remove unneeded module imports.Efraim Flashner2023-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/abiword.scm, * gnu/packages/ada.scm, * gnu/packages/agda.scm, * gnu/packages/backup.scm, * gnu/packages/barrier.scm, * gnu/packages/bioinformatics.scm, * gnu/packages/bootstrap.scm, * gnu/packages/bqn.scm, * gnu/packages/c.scm, * gnu/packages/chemistry.scm, * gnu/packages/coq.scm, * gnu/packages/cross-base.scm, * gnu/packages/databases.scm, * gnu/packages/emacs-xyz.scm, * gnu/packages/enlightenment.scm, * gnu/packages/games.scm, * gnu/packages/geo.scm, * gnu/packages/ghostscript.scm, * gnu/packages/gl.scm, * gnu/packages/golang.scm, * gnu/packages/jami.scm, * gnu/packages/java-maths.scm, * gnu/packages/kde-frameworks.scm, * gnu/packages/kde-plasma.scm, * gnu/packages/language.scm, * gnu/packages/libreoffice.scm, * gnu/packages/linphone.scm, * gnu/packages/lisp.scm, * gnu/packages/llvm.scm, * gnu/packages/machine-learning.scm, * gnu/packages/minetest.scm, * gnu/packages/monitoring.scm, * gnu/packages/nfs.scm, * gnu/packages/ocr.scm, * gnu/packages/opencl.scm, * gnu/packages/pdf.scm, * gnu/packages/python-xyz.scm, * gnu/packages/racket.scm, * gnu/packages/rust.scm, * gnu/packages/syncthing.scm, * gnu/packages/syndication.scm, * gnu/packages/telegram.scm, * gnu/packages/vulkan.scm, * gnu/packages/web-browsers.scm, * gnu/packages/web.scm, * gnu/packages/webkit.scm: Remove some unecessary module imports.
* gnu: cross-base: Standardize API to use keyword arguments.Maxim Cournoyer2023-01-03
| | | | | | | | | | | This makes it possible to invoke the procedures with a single or fewer optional arguments. * gnu/packages/cross-base.scm (contains-keyword?): New procedure. (cross-binutils): Dispatch to either... (cross-binutils/deprecated): ... this renamed procedure or ... (cross-binutils*): ... this new procedure. (cross-kernel-headers, cross-libc/deprecated): Likewise.
* gnu: cross-base: Fix some indentation problems.Maxim Cournoyer2022-12-07
| | | | | | | * gnu/packages/cross-base.scm (cross-binutils): Fix indentation. (cross-kernel-headers): Align 'inherit' fields of nested package variables. (cross-gcc): Fix indentation.
* gnu: cross: Add default configure-flags.Efraim Flashner2022-09-20
| | | | | | | Reported by Arun Isaac <arunisaac@systemreboot.net>. * gnu/packages/cross-base.scm (cross)[arguments]: Add a default for configure-flags so '--target=' is always added.
* gnu: GCC: Add cross environment variables patch to GCC 12.Morgan Smith2022-05-30
| | | | | | | | | * gnu/packages/patches/gcc-12-cross-environment-variables.patch : New file. * gnu/local.mk (dist_patch_DATA): Add gcc-12-cross-environment-variables.patch. * gnu/packages/cross-base.scm (cross-gcc)[source](patches): Apply the patch. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Move (gnu platform) and (gnu platforms ...) to guix/.Josselin Poiret2022-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* linux: Remove system->linux-architecture procedure.Mathieu Othacehe2022-05-22
| | | | | | | | | | * gnu/packages/linux.scm (system->linux-architecture): Remove it. (make-linux-libre-headers*, make-linux-libre*): Adapt them. * guix/build-system/linux-module.scm (system->arch): Adapt it. * gnu/packages/instrumentation.scm (uftrace): Ditto. * gnu/packages/cross-base.scm (cross-kernel-headers): Ditto. * gnu/packages/bioinformatics.scm (ncbi-vdb): Ditto. * doc/guix.texi (Porting to a new platform): Update it.
* gnu: cross-base: Don't specify mingw --with-newlibCarl Dong2022-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous to this commit, we added a --with-newlib configure flag to cross-gcc when cross-newlib?, but cross-newlib? is true only when target-mingw?. It turns out that specifying --with-newlib disables the GLIBCXX_CROSSCONFIG check, which is used to detect _GLIBCXX_HAVE__WFOPEN, which is required in C++17 std::filesystem for mingw-w64 systems. Additional context: In gnu/packages/embedded.scm, --with-newlib is specified explicitly when we're actually using newlib, which seems like the correct way of handling it. Situation in other distros: - Debian's gcc-mingw-w64 doesn't specify --with-newlib - Fedora's mingw64-gcc-c++ explicitly specifies --without-newlib Chesterton's fence: Chatting with janneke, who originally added this mechanism, reveals that this flag is not only no longer required, but also that removing it doesn't break his guile-mingw builds. See IRC logs of #guix for 2022-02-15. * gnu/packages/cross-base.scm (cross-gcc-arguments): Don't check for and specify --with-newlib. (cross-libc): Check for mingw and use mingw-w64 directly. (cross-newlib?): Remove, unexport. (native-libc): Remove.
* gnu: Disable compressed debug sections for mingw-w64Carl Dong2022-02-07
| | | | | | | | | | | | | | | | | | | | | | | The newly introduced --enable-compressed-debug-section=all configure flag in the base binutils package makes the mingw-w64 build system unusable. For example: $ guix build --target=x86_64-w64-mingw32 hello and $ guix build mingw-w64-x86_64-winpthreads Will fail to build with an error: "x86_64-w64-mingw32-ld: final link failed: bad value" Turning off this flag seems to fix the problem, but perhaps it'd also be worthwhile to investigate the root cause. * gnu/packages/cross-base.scm (cross-binutils): When building for mingw targets, append "--enable-compressed-debug-section=no" to configure flags.
* utils: Define 'target-hurd?' predicate.Maxime Devos2021-07-14
| | | | | | | | | | | | | | | | | | | | | | | It behaves similarily to the other target-...? procedures. The usage of hurd-triplet? / target-hurd? in libgc appears incorrect to me, as (%current-system) is normally never false. * gnu/packages/hurd.scm (hurd-triplet?): Move to ... * guix/util.scm (target-hurd?): ... here, let its argument default to (%current-target-system) or (%current-system), and write a docstring. * gnu/packages/hurd.scm (hurd-target?, hurd-system?): Use target-hurd? instead of hurd-triplet?. * gnu/packages/bdw-gc.scm (libgc): Likewise. * gnu/packages/cross-base.scm (cross-libc)[arguments]<#:configure-flags>: Likewise. (cross-libc)[arguments]<#:phases>: Likewise. (cross-libc)[arguments]<#:native-inputs>: Likewise. * gnu/packages/make-boostrap.scm (%glibc-stripped)[inputs]: Likewise. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu: Simplify the use of --with-long-double-128.Chris Marusich2021-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/48825>. In short, this change adds the hard-coded "--with-long-double-128" configure option in one place and removes it from two other places. This changes and simplifies the use of this option for various architectures that start with the string "powerpc". * gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add a clause for targets starting with "powerpc64le-" or "powerpc-" which adds the "--with-long-double-128" option. This causes any package using this procedure to be built using this new option on these architectures. In particular, this affects the gcc package and the gcc-final package, in addition to all the other versions of GCC defined in (gnu packages gcc). * gnu/packages/commencement.scm (gcc-boot0)[#:configure-flags]: Remove the code that adds the "--with-long-double-128" configure option for all architectures starting with "powerpc", since it is now redundant on the architectures where it is needed. The gcc-boot0 package uses (and adds to) the gcc package's configure options. This means that the above change in gcc.scm is sufficient to ensure that the gcc-boot0 package's configure options will include "--with-long-double-128" on powerpc64le and powerpc architectures. Additionally, since the option is apparently not required on the big-endian powerpc64 architecture, this change also has the nice effect of omitting the option in that case. * gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Remove the code that adds the "--with-long-double-128" configure option for powerpc64le, since it is now redundant. The cross-gcc-arguments procedure uses (and adds to) the configure options of its xgcc argument (a package). This means that regardless of which gcc from gcc.scm is used as the xgcc, the above change in gcc.scm is sufficient to ensure that the cross-gcc-arguments procedure's configure options will include "--with-long-double-128" on the powerpc64le and powerpc architectures.