summaryrefslogtreecommitdiff
path: root/gnu/packages/cross-base.scm
AgeCommit message (Expand)Author
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-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
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
2018-11-18gnu: hurd: Build against glibc 2.28....Version 2.28 of glibc is the first in a long time that fully supports GNU/Hurd. This change updates the Hurd and Mach to provide the features glibc 2.28 expects and adjusts the cross-compilation tool chain for "i586-pc-gnu". * gnu/packages/base.scm (glibc/linux): Rename to... (glibc): ... this. [propagated-inputs]: Add 'hurd-target?' case. [arguments]: Use '--disable-werror' when 'hurd-target?'. Add 'augment-libc.so' phase when 'hurd-target?'. [native-inputs]: Add MIG and PERL when 'hurd-target?'. (glibc/hurd, glibc-for-target): Remove (glibc/hurd-headers): Inherit from GLIBC, not GLIBC/HURD. [arguments]: Remove "--enable-obsolete-rpc" configure flag and 'patch-configure-script' phase. * gnu/packages/cross-base.scm (cross-kernel-headers)[xglibc/hurd-headers]: Move 'set-cross-headers-path' after 'unpack'. * gnu/packages/cross-base.scm (cross-libc)[cross-libc-for-target]: Remove. Pass "--disable-werror" when TARGET matches 'hurd-triplet?'. * gnu/packages/hurd.scm (hurd-target?, patch-url): New procedures. (gnumach-headers)[source](patches, modules, snippet): New fields. (hurd-headers): Use Git commit 98b3390. [native-inputs]: Add AUTOCONF and AUTOMAKE. [arguments]: Add "ac_cv_func_*" configure flags. (hurd-minimal)[native-inputs]: Remove. [arguments]: In 'build' phase, build "include/assert-backtrace.h" first. Ludovic Courtès
2018-03-16gnu: All snippets report errors using exceptions, else return #t....* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm, gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/fpga.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm, gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm, gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm, gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm, gnu/packages/pretty-print.scm, gnu/packages/profiling.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm, gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm, gnu/packages/scribus.scm, gnu/packages/sdl.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm, gnu/packages/terminals.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/tls.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: In all snippets, report errors using exceptions, or else return #t. Mark H Weaver
2018-03-16gnu: cross-base: Return #t from all phases....* gnu/packages/cross-base.scm (cross-kernel-headers)[xlinux-headers]: Use invoke. Mark H Weaver
2018-02-20gnu: cross-base: Update phase style....* gnu/packages/cross-base.scm (cross-kernel-headers, cross-libc): Use MODIFY-PHASES syntax and end phases with #t. Tobias Geerinckx-Rice
2018-01-23Merge branch 'master' into core-updatesMark H Weaver
2018-01-20gnu: cross-base: Apply gcc 6 patch to gcc >= 6....* gnu/packages/cross-base.scm (cross-gcc): Apply gcc 6 patch to gcc >= 6. Danny Milosavljevic
2017-09-05gnu: glibc: Add "static" output....This shrinks glibc:out from 37 MiB to 29 MiB. * gnu/packages/base.scm (glibc/linux)[outputs]: Add "static". [arguments]: Add #:modules. Add 'move-static-libs' phase. * gnu/packages/commencement.scm (static-bash-for-glibc): Augment #:configure-flags to pass "-L LIBC:STATIC". Add the "static" output of GLIBC-FINAL to 'inputs'. (%boot2-inputs, %final-inputs): Likewise. (canonical-package): Adjust to deal with multiple-output packages. * gnu/packages/cross-base.scm (cross-gcc): Add the "static" output of LIBC to 'native-inputs'. Ludovic Courtès
2017-05-29gnu: cross-base: Turn '%xgcc' into a macro....Previously: ./pre-inst-env guile -c '(use-modules (gnu packages gcc))' would fail due to circular dependencies. * gnu/packages/cross-base.scm (%xgcc): Turn into a macro. Ludovic Courtès
2017-05-26gnu: Fix another call to cross-gcc....This is a followup to commit 7b3318e34f4e2743254a88b908859901db960e9a. * gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc) [native-inputs]: Fix 'cross-gcc' call. * gnu/packages/cross-base.scm: Fix example 'cross-gcc' call in a comment. Mark H Weaver
2017-05-24gnu: Allow overriding of xgcc package in cross-gcc....* gnu/packages/cross-base.scm (cross-gcc-arguments): Take extra "xgcc" argument. (cross-gcc): Use keyword arguments; take optional "xgcc" argument. * gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9, propeller-gcc, gcc-vc4): Use keyword arguments. * gnu/packages/avr.scm (avr-gcc-4.9): Likewise. Ricardo Wurmus
2017-01-06Merge branch 'master' into core-updatesLeo Famulari
2017-01-04gnu: linux-libre: Adjust for PowerPC....* gnu/packages/linux.scm (system->defconfig): New procedure. (linux-libre-headers)[arguments]: Use it in 'build' phase to determine the target name. * gnu/packages/cross-base.scm (cross-kernel-headers)[xlinux-headers] (arguments): Likewise. Carlos Sánchez de La Lama
2017-01-03gnu: Use hurd-triplet? to check if GNU/Hurd....* gnu/packages/make-bootstrap.scm (hurd-triplet?): Move it from here.. * gnu/packages/hurd.scm: ..to here. New exported procedure. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash) [arguments]: Replace string-match. [inputs]: Same. * gnu/packages/cross-base.scm (cross-libc)[native-inputs]: Same. Manolis Ragkousis
2016-12-07gnu: cross-base: Move phases to (gnu build cross-toolchain)....* gnu/packages/cross-base.scm (cross-gcc-arguments) <#:phases>: Use 'cross-gcc-build-phases', and move body cross-toolchain.scm. (cross-gcc): Add #:imported-modules. Add (gnu build cross-toolchain) to #:modules. * gnu/build/cross-toolchain.scm: New file, with code from 'cross-gcc-arguments'. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Ludovic Courtès
2016-12-07gnu: cross-base: Factorize list of cross environment variables....* gnu/packages/cross-base.scm (cross-libc): Replace literal list of environment variable names with %GCC-CROSS-INCLUDE-PATHS. (cross-kernel-headers): Likewise. Ludovic Courtès
2016-12-07gnu: cross-kernel-headers: Remove propagated-inputs from xhurd-headers....* gnu/packages/cross-base.scm (xhurd-headers)[propagated-inputs]: Remove them. Manolis Ragkousis
2016-12-07gnu: cross-base: Add i686-w64-mingw32 target....* guix/utils.scm (mingw-target?): New function. * gnu/packages/cross-base.scm (cross-gcc-snippet): New procedure (cross-gcc): Use it. (cross-gcc-arguments, cross-gcc-patches, cross-gcc): Support MinGW. (native-libc, cross-newlib?): New functions. (cross-libc): Use cross-newlib? to support MinGW. (%gcc-include-paths, %gcc-cross-include-paths): New variables. Jan Nieuwenhuizen
2016-11-06Merge branch 'master' into core-updatesMark H Weaver
2016-11-04gnu: cross-base: Remove exports of cross compilers....They were never really needed and caused troubles in the presence of circular module dependencies as reported by Danny Milosavljevic <dannym@scratchpost.org> at <https://lists.gnu.org/archive/html/guix-devel/2016-11/msg00144.html>. * gnu/packages/cross-base.scm (xgcc-mips64el, xgcc-xtensa, xgcc-armhf): Remove. * gnu/packages/firmware.scm (ath9k-htc-firmware)[native-inputs]: Use 'cross-gcc' instead of XGCC-XTENSA. Ludovic Courtès
2016-11-04gnu: Remove '%final-inputs' references at the top level....Due to circular dependencies, referring to bindings exported by other modules from the top level is frowned upon. This patch addresses one of the remaining cases. * gnu/packages/base.scm (%final-inputs): New procedure. * gnu/packages/cross-base.scm: Remove (gnu packages commencement) import. (cross-gcc): Use the new '%final-inputs'. * gnu/packages/make-bootstrap.scm: Remove (gnu packages commencement) import. (package-with-relocatable-glibc): Use the new '%final-inputs'. Ludovic Courtès
2016-10-31gnu: cross-libc: Use the correct libc....* gnu/packages/cross-base.scm (cross-libc): Use cross-libc-for-target to determine the correct libc to use. Manolis Ragkousis
2016-10-31gnu: ld-wrapper-boot0: Work around strict evaluation of (%current-system)....Reported by Mark H Weaver <mhw@netris.org> Partly fixes <http://bugs.gnu.org/24832>. 'ld-wrapper-boot0' was evaluating strictly instead of lazily, leading to invalid system types. * gnu/packages/base.scm (make-ld-wrapper): Turn #:target into a one-argument procedure. Honor it. * gnu/packages/commencement.scm (ld-wrapper-boot0): Fix 'name' argument to 'make-ld-wrapper'. Make #:target argument a procedure. * gnu/packages/cross-base.scm (cross-gcc): Adjust #:target argument. Ludovic Courtès
2016-08-10gnu: cross-libc: Cross build the correct libc for GNU/Hurd systems....* gnu/packages/cross-base.scm (cross-kernel-headers): Add new variable. Add xgnumach-headers, xmig, xhurd-headers, xglibc/hurd-headers, xhurd-minimal, xhurd-core-headers. (cross-libc): Add cross-libc-for-target. [arguments]: Set "CROSS_LIBRARY_PATH". [propagated-inputs]: Use "cross-kernel-headers" to determine the correct headers. [native-inputs]: Use "cross-mig" when target is GNU/Hurd. Manolis Ragkousis
2016-07-05gnu: cross-gcc-arguments: Disable libitm, libvtv and libsanitizer....* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Add "--disable-libitm", "--disable-libvtv" and "--disable-libsanitizer" when libc is not present. Manolis Ragkousis
2016-06-15gnu: cross-gcc: Allow Hurd libraries to be found....* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Add 'KERNEL/lib' to 'CROSS_LIBRARY_PATH'. Manolis Ragkousis
2016-06-07Merge branch 'master' into core-updatesLudovic Courtès
2016-05-30gnu: Remove xgcc-avr....We now have a dedicated package module for the AVR toolchain with important modifications on top of what cross-gcc produces. * gnu/packages/cross-base.scm (xgcc-avr): Delete. David Thompson