summaryrefslogtreecommitdiff
path: root/gnu/packages/cross-base.scm
AgeCommit message (Expand)Author
2022-05-30gnu: GCC: Add cross environment variables patch to GCC 12....* 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> Morgan Smith
2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/....* 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> Josselin Poiret
2022-05-22linux: Remove system->linux-architecture procedure....* 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. Mathieu Othacehe
2022-03-16gnu: cross-base: Don't specify mingw --with-newlib...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. Carl Dong
2022-02-07gnu: Disable compressed debug sections for mingw-w64...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. Carl Dong
2021-07-14utils: Define 'target-hurd?' predicate....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> Maxime Devos
2021-06-24gnu: Simplify the use of --with-long-double-128....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. Chris Marusich
2021-06-13gnu: GCC: Switch to GCC 10....* gnu/packages/patches/gcc-cross-gxx-include-dir.patch: New file. * gnu/packages/patches/gcc-10-cross-environment-variables.patch: New file. * gnu/packages/gcc.scm (gcc): Point to GCC-10. (gcc-objc): Point to GCC-OBJC-10. (gcc-objc++): Point to GCC-OBJC++-10. * gnu/packages/cross-base.scm (cross-gcc)[source](patches): Apply the new patches. Marius Bakke
2021-05-09gnu: cross-kernel-headers: Fix build....This fixes a regression introduced in 0e2251fcf8189a4f642074d3aa898221b29c3a55, as "make headers_check" does not actually build the headers in newer versions, instead "make headers_install" built them as a side effect. * gnu/packages/cross-base.scm (cross-kernel-headers)[arguments]: Adjust build phase to call the correct Make target. While at it, migrate to MODIFY-PHASES. Marius Bakke
2021-04-16Merge remote-tracking branch 'origin/master' into core-updates... Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm Efraim Flashner
2021-03-28gnu: cross-base: Relax check for powerpc64le....* gnu/packages/cross-base.scm (cross-gcc-arguments): When conditionally adding "--with-long-double-128", check for "powerpc64le-" prefix instead of matching full target. Signed-off-by: Chris Marusich <cmmarusich@gmail.com> Carl Dong
2020-12-17gnu: cross-base: Re-add cross-MIG as an input for GNU/Hurd....* gnu/packages/cross-base.scm (cross-libc)[native-inputs]: Re-add "cross-mig", erroneously removed in 6690b6d1e7333137e4731ec5e4bb30d6637c3237. Ludovic Courtès
2020-12-17gnu: cross-base: Remove unused Hurd patches from 'inputs'....* gnu/packages/cross-base.scm (cross-libc)[inputs]: Remove. They have been unused since 6690b6d1e7333137e4731ec5e4bb30d6637c3237. Ludovic Courtès
2020-11-29Merge remote-tracking branch 'origin/master' into core-updatesChristopher Baines
2020-11-26gnu: gcc-boot0, cross-base: Enable 128-bit long double for POWER9....* gnu/packages/cross-base.scm (cross-gcc-arguments): Add "--with-long-double-128" when TARGET is "powerpc64le-linux-gnu". * gnu/packages/commencement.scm (gcc-boot0): Likewise for (boot-triplet). Signed-off-by: Ludovic Courtès <ludo@gnu.org> dftxbs3e
2020-11-08gnu: cross-base: Move glibc Hurd patches to 'inputs'....Fixes "guix build --target=i586-pc-gnu bootstrap-tarballs". * gnu/packages/cross-base.scm (cross-libc): Move Hurd patches from 'native-inputs' to 'inputs'. Ludovic Courtès
2020-10-26gnu: glibc: Move patches for the Hurd from cross-libc....* gnu/packages/cross-base.scm (cross-libc)[arguments]: Remove "patch-libc/hurd" stage. [native-inputs]: Move hurd patches to... * gnu/packages/base.scm (glibc)[source]: ...here. Jan (janneke) Nieuwenhuizen
2020-06-26gnu: mig: Do not assume "perl" to be available....* gnu/packages/hurd.scm (mig)[inputs]: Include perl. [arguments]: Substitute "perl" with full store file name in bin/mig. * gnu/packages/cross-base.scm (cross-kernel-headers): Adjust mig-cross accordingly. Jan (janneke) Nieuwenhuizen
2020-04-11gnu: cross-libc: Add patch to allow 'gettyent' reading store file names....* gnu/packages/patches/glibc-hurd-gettyent.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-libc): Add it in 'patch-libc/hurd' phase when 'hurd-target?' is true. Jan (janneke) Nieuwenhuizen
2020-04-11gnu: cross-libc: Add patch to add 'mach_print' symbol on GNU/Hurd....* gnu/packages/patches/glibc-hurd-mach-print.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-libc): Add 'patch-libc/hurd' phase when 'hurd-target?' is true. Ludovic Courtès
2020-04-11Merge branch 'master' into core-updatesMarius Bakke
2020-04-10gnu: binutils: Shorten file names of MinGW patches....This ensures we stay below the POSIX tar file name length limit. * gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch: Rename to... * gnu/packages/patches/binutils-mingw-w64-deterministic.patch: ... this. * gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch: Rename to... * gnu/packages/patches/binutils-mingw-w64-timestamp.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/cross-base.scm (cross-binutils): Likewise. Ludovic Courtès
2020-04-08Merge branch 'master' into core-updates... Conflicts: etc/news.scm gnu/local.mk gnu/packages/check.scm gnu/packages/cross-base.scm gnu/packages/gimp.scm gnu/packages/java.scm gnu/packages/mail.scm gnu/packages/sdl.scm gnu/packages/texinfo.scm gnu/packages/tls.scm gnu/packages/version-control.scm Marius Bakke
2020-04-08gnu: cross-base: Remove unneeded 'let'....This is a followup to 102d307520dee27a40feb1ca5a699763a2f3aefe. * gnu/packages/cross-base.scm (cross-libc): Remove (let ((libc libc)) …). (cherry picked from commit 524a4e357cd71566841aaf405e8548fa3600b11b) Ludovic Courtès
2020-04-06gnu: Move PACKAGES-WITH-*PATCHES to (guix packages)...* gnu/packages/cross-base.scm (package-with-extra-patches, package-with-patches): Move procedures from here... * guix/packages.scm (package-with-extra-patches, package-with-patches): ...to here, and export. Carl Dong
2020-04-05gnu: cross-base: Remove unneeded 'let'....This is a followup to 102d307520dee27a40feb1ca5a699763a2f3aefe. * gnu/packages/cross-base.scm (cross-libc): Remove (let ((libc libc)) …). Ludovic Courtès
2020-04-03gnu: cross-base: Add 'package-with-patches'....This is a followup to c1c50cb5b099897a18e4cd8c27970cb45a7c3a94. * gnu/packages/cross-base.scm (package-with-patch): Rename to... (package-with-patches): ... this, and take a list of patches. (package-with-extra-patches): Use it. (cross-binutils): Use 'search-patches' instead of 'search-patch'. Ludovic Courtès
2020-04-03gnu: cross-base: Fix PACKAGE-WITH-EXTRA-PATCHES...This also removes the execute bit from the patches added. Not sure how or why those were set in the first place. * gnu/packages/cross-base.scm (package-with-extra-patches): Imitate PACKAGE-WITH-PATCH instead of using it. * gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch: Remove execute bit. * gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch: Remove execute bit. Carl Dong
2020-04-02gnu: cross-base: Hotfix for paren...* gnu/packages/cross-base.scm (package-with-extra-patches): Add trailing paren. Carl Dong
2020-04-02gnu: cross-base: Add mingw-w64 specific binutils patches....These patches were originally found at the debian mingw-w64 team's binutils repo, and should improve the reproducibility of our mingw-w64 toolchain. * gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch: New file. * gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/cross-base.scm (cross-binutils): Apply relevant patches if target is mingw-w64. (package-with-extra-patches): New procedure. Carl Dong
2020-04-01gnu: cross-libc: Build fix for the Hurd....This fixes cross building of coreutils, e.g. ./pre-inst-env guix build --target=i586-pc-gnu coreutils * gnu/packages/cross-base.scm (cross-libc): Add -lhurduser, -lmachuser for the Hurd. Jan Nieuwenhuizen
2020-03-24gnu: cross-libc: Build fix for the Hurd....This fixes cross building of coreutils, e.g. ./pre-inst-env guix build --target=i586-pc-gnu coreutils * gnu/packages/cross-base.scm (cross-libc): Add -lhurduser, -lmachuser for the Hurd. Jan Nieuwenhuizen
2020-03-24gnu: cross-gcc: Add a "lib" output....Add a "lib" output to cross-gcc. This requires an upstream GCC patch adding support for --with-toolexeclibdir configure option. This option allows to install cross-built GCC libraries in a specific location. This also fixes the computation of TOOLDIR_BASE_PREFIX, that fails when /gnu/store/... directories are involved. * gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-gcc)[source]: Apply it, [outputs]: add a "lib" output, (cross-gcc-snippet): fix TOOLDIR_BASE_PREFIX. Mathieu Othacehe
2020-02-15gnu: ath9k-htc-firmware: Build with binutils@2.33.1....* gnu/packages/base.scm (binutils-2.33): New public variable. * gnu/packages/cross-base.scm (cross-binutils): Add optional BINUTILS argument. * gnu/packages/firmware.scm (ath9k-htc-firmware)[native-inputs]: Build the xtensa-elf toolchain with BINUTILS-2.33. Marius Bakke
2020-02-12gnu: cross-base: Switch back to 'CROSS_C_INCLUDE_PATH' & co....This is a followup to 2073b55e6b964cb8ca15e8c74cb32dac00f05f0d. * gnu/build/cross-toolchain.scm (%gcc-include-paths): Switch back to 'C_INCLUDE_PATH' & co. * gnu/packages/cross-base.scm (%gcc-include-paths): Likewise. (cross-gcc-arguments): Remove 'treat-glibc-as-system-header' phase. (cross-gcc)[native-inputs]: Reorder so that libc comes last. [search-paths]: Add "include/c++" for 'CROSS_CPLUS_INCLUDE_PATH'. * guix/build-system/gnu.scm (standard-cross-packages): Have "cross-gcc" appear both for 'host and 'target. Ludovic Courtès
2019-10-21gnu: mingw-w64: Add -winpthreads variants....This recursive package definition really demonstrates how magical Guix can be :-) Try invoking: ./pre-inst-env guix build mingw-w64-{x86_64,i686}{,-winpthreads} * gnu/packages/mingw.scm (make-mingw-w64): Add XGCC, XBINUTILS optional arguments to specify using a non-default cross-compiler/binutils. Add WITH-WINPTHREADS? optional argument to allow building with winpthreads support. Adjust accordingly for the new arguments. (mingw-w64-i686-winpthreads, mingw-w64-x86_64-winpthreads): Add variables. * gnu/packages/cross-base.scm (native-libc): Add XGCC, XBINUTILS key arugments and pass to MAKE-MINGW-W64. (cross-libc): Pass XGCC and XBINUTILS to NATIVE-LIBC. Carl Dong
2019-09-29gnu: gcc: Fix i686-linux cross compiler....This resurrects ./pre-inst-env guix build --target=i686-unknown-linux-gnu hello * gnu/packages/cross-base.scm (cross-gcc-arguments): Do not build libmpx; does not cross-configure. Jan Nieuwenhuizen
2019-09-27gnu: gcc: Fix mingw cross compiler....* gnu/packages/patches/gcc-7-cross-mingw.patch: New file. * gnu/packages/cross-base.scm (cross-gcc-patches): Add XGCC parameter; update caller. Use it for target mingw and gcc >= 7. * gnu/local.mk (dist_patch_DATA): Add it. Jan Nieuwenhuizen
2019-08-22Merge branch 'master' into core-updatesMark H Weaver
2019-08-14gnu: mingw: Add x86_64 support....This patch parameterizes previously hard-coded instances of i686-w64-mingw32, adding support for x86_64-w64-mingw32. * gnu/packages/mingw.scm (make-mingw-w64): New procedure. (mingw-w64-i686, mingw-w64-x86_64): New variables. (%mingw-triplet): Remove. (mingw-w64): Update to point to 'mingw-w64-i686'. * gnu/packages/cross-base.scm (cross-gcc): Use 'libc' keyword argument if specified, instead of treating it as a boolean. (native-libc): Return the correct mingw-w64 depending on machine specified in target. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "x86_64-mingw". * gnu/build/cross-toolchain.scm (set-cross-path/mingw): Replace hardcoded 'i686-w64-mingw32' instances with 'target' keyword argument. (cross-gcc-build-phases): Update accordingly; use 'target-mingw?' implementation of target checking and add commentary. * gnu/ci.scm (%cross-targets): Add "x86_64-w64-mingw32". Carl Dong
2019-06-16gnu: cross-base: Fix C++ cross-compilation problems with GCC 7....* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Add "--with-sysroot=/". Marius Bakke
2019-06-13Merge branch 'master' into core-updatesLudovic Courtès
2019-05-29gnu: cross-base: Allow non-default linux-headers....* gnu/packages/cross-base.scm (cross-kernel-headers): Add LINUX-HEADERS optional argument. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Carl Dong
2019-05-25Merge branch 'staging' into core-updatesMarius Bakke
2019-05-13gnu: cross-base: Allow using non-default glibc....* gnu/packages/cross-base.scm (cross-libc, native-libc, cross-newlib?): Add 'libc' optional argument to specify using a non-default glibc package. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Carl Dong
2019-05-06gnu: cross-base: Apply gcc 8 patch to gcc >= 8....* gnu/packages/cross-base.scm (cross-gcc): Apply gcc 8 patch to gcc >= 8. * gnu/packages/patches/gcc-8-cross-environment-variables.patch: New file. * gnu/local.mk (dist_patch_DATA): Add the patch. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Carl Dong
2019-02-28gnu: GCC: Move cross-toolchain build fix to (gnu packages cross-base)....This makes sure it is inherited by packages using (cross-gcc ...). This commit is a followup to 01e8263febb9634564b4b73af49b81a36567a11b. * gnu/build/cross-toolchain.scm (cross-gcc-build-phases): Move 'treat-glibc-as-system-header' phase ... * gnu/packages/cross-base.scm (cross-gcc-arguments): ... here. Marius Bakke
2019-02-09gnu: Use GCC 7 as the default compiler....* gnu/packages/cross-base.scm (%gcc-cross-include-paths): Remove CROSS_C_INCLUDE_PATH & co in favor of CROSS_CPATH. * gnu/build/cross-toolchain.scm (%gcc-cross-include-paths): Likewise. (cross-gcc-build-phases): Set CROSS_C_INCLUDE_PATH and CROSS_CPLUS_INCLUDE_PATH when building the cross GCC. * gnu/packages/commencement.scm (libstdc++): Add "--disable-libstdcxx-dual-abi" to #:configure-flags. (gcc-boot0)[arguments]: Add "--disable-libmpx" to #:configure-flags. (gcc-final): Add phase to set C_INCLUDE_PATH and CPLUS_INCLUDE_PATH before building GCC. (gcc-toolchain-5): Use MAKE-GCC-TOOLCHAIN. (gcc-toolchain-7): Change to GCC-TOOLCHAIN. * gnu/packages/gcc.scm (gcc): Change from GCC-5 to GCC-7. (gfortran): Change to GFORTRAN-7. (gcc-objc): Change to GCC-OBJC-7. (gcc-objc++): Change to GCC-OBJC++-7. * gnu/packages/rust.scm (rust-1.19.0)[native-search-paths]: Change from C_INCLUDE_PATH & co to CPATH. Marius Bakke
2018-12-20gnu: glibc: Inline Hurd "pid/…" magic lookup patch....* gnu/packages/base.scm (glibc)[source](patches): Add "glibc-hurd-magic-pid.patch". [arguments]: Remove 'apply-hurd-patch' phase. [native-inputs]: Remove "hurd-magic-pid-patch". * gnu/packages/cross-base.scm (cross-libc)[arguments]: Remove 'apply-hurd-patch' phase. [native-inputs]: Remove "hurd-magic-pid-patch". Ludovic Courtès
2018-12-16gnu: glibc: Add patch implementing "pid/…" magic lookup on the Hurd....This patch is missing from glibc 2.28 and is needed to support /proc/self lookup when using the Hurd's procfs, which in turn is needed for our 'guile-relocatable.patch'. See <https://lists.gnu.org/archive/html/bug-hurd/2018-12/msg00024.html>. * gnu/packages/patches/glibc-hurd-magic-pid.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc)[arguments]: Add 'apply-hurd-patch' phase. [native-inputs]: Add "hurd-magic-pid-patch" input. * gnu/packages/cross-base.scm (cross-libc)[arguments]: Duplicate 'apply-hurd-patch' phase. Ludovic Courtès