summaryrefslogtreecommitdiff
path: root/gnu/packages/cross-base.scm
AgeCommit message (Collapse)Author
2020-04-06gnu: Move PACKAGES-WITH-*PATCHES to (guix packages)Carl Dong
* 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.
2020-04-05gnu: cross-base: Remove unneeded 'let'.Ludovic Courtès
This is a followup to 102d307520dee27a40feb1ca5a699763a2f3aefe. * gnu/packages/cross-base.scm (cross-libc): Remove (let ((libc libc)) …).
2020-04-03gnu: cross-base: Add 'package-with-patches'.Ludovic Courtès
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'.
2020-04-03gnu: cross-base: Fix PACKAGE-WITH-EXTRA-PATCHESCarl Dong
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.
2020-04-02gnu: cross-base: Hotfix for parenCarl Dong
* gnu/packages/cross-base.scm (package-with-extra-patches): Add trailing paren.
2020-04-02gnu: cross-base: Add mingw-w64 specific binutils patches.Carl Dong
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.
2020-04-01gnu: cross-libc: Build fix for the Hurd.Jan Nieuwenhuizen
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.
2019-10-21gnu: mingw-w64: Add -winpthreads variants.Carl Dong
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.
2019-09-29gnu: gcc: Fix i686-linux cross compiler.Jan Nieuwenhuizen
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.
2019-09-27gnu: gcc: Fix mingw cross compiler.Jan Nieuwenhuizen
* 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.
2019-08-22Merge branch 'master' into core-updatesMark H Weaver
2019-08-14gnu: mingw: Add x86_64 support.Carl Dong
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".
2019-06-16gnu: cross-base: Fix C++ cross-compilation problems with GCC 7.Marius Bakke
* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Add "--with-sysroot=/".
2019-06-13Merge branch 'master' into core-updatesLudovic Courtès
2019-05-29gnu: cross-base: Allow non-default linux-headers.Carl Dong
* gnu/packages/cross-base.scm (cross-kernel-headers): Add LINUX-HEADERS optional argument. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-25Merge branch 'staging' into core-updatesMarius Bakke
2019-05-13gnu: cross-base: Allow using non-default glibc.Carl Dong
* 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>
2019-05-06gnu: cross-base: Apply gcc 8 patch to gcc >= 8.Carl Dong
* 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>
2019-02-28gnu: GCC: Move cross-toolchain build fix to (gnu packages cross-base).Marius Bakke
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.
2019-02-09gnu: Use GCC 7 as the default compiler.Marius Bakke
* 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.
2018-12-20gnu: glibc: Inline Hurd "pid/…" magic lookup patch.Ludovic Courtès
* 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".
2018-12-16gnu: glibc: Add patch implementing "pid/…" magic lookup on the Hurd.Ludovic Courtès
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.
2018-11-18gnu: hurd: Build against glibc 2.28.Ludovic Courtès
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.
2018-03-16gnu: All snippets report errors using exceptions, else return #t.Mark H Weaver
* 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.
2018-03-16gnu: cross-base: Return #t from all phases.Mark H Weaver
* gnu/packages/cross-base.scm (cross-kernel-headers)[xlinux-headers]: Use invoke.
2018-02-20gnu: cross-base: Update phase style.Tobias Geerinckx-Rice
* gnu/packages/cross-base.scm (cross-kernel-headers, cross-libc): Use MODIFY-PHASES syntax and end phases with #t.
2018-01-23Merge branch 'master' into core-updatesMark H Weaver
2018-01-20gnu: cross-base: Apply gcc 6 patch to gcc >= 6.Danny Milosavljevic
* gnu/packages/cross-base.scm (cross-gcc): Apply gcc 6 patch to gcc >= 6.
2017-09-05gnu: glibc: Add "static" output.Ludovic Courtès
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'.
2017-05-29gnu: cross-base: Turn '%xgcc' into a macro.Ludovic Courtès
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.
2017-05-26gnu: Fix another call to cross-gcc.Mark H Weaver
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.
2017-05-24gnu: Allow overriding of xgcc package in cross-gcc.Ricardo Wurmus
* 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.
2017-01-06Merge branch 'master' into core-updatesLeo Famulari
2017-01-04gnu: linux-libre: Adjust for PowerPC.Carlos Sánchez de La Lama
* 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.
2017-01-03gnu: Use hurd-triplet? to check if GNU/Hurd.Manolis Ragkousis
* 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.
2016-12-07gnu: cross-base: Move phases to (gnu build cross-toolchain).Ludovic Courtès
* 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.
2016-12-07gnu: cross-base: Factorize list of cross environment variables.Ludovic Courtès
* gnu/packages/cross-base.scm (cross-libc): Replace literal list of environment variable names with %GCC-CROSS-INCLUDE-PATHS. (cross-kernel-headers): Likewise.
2016-12-07gnu: cross-kernel-headers: Remove propagated-inputs from xhurd-headers.Manolis Ragkousis
* gnu/packages/cross-base.scm (xhurd-headers)[propagated-inputs]: Remove them.
2016-12-07gnu: cross-base: Add i686-w64-mingw32 target.Jan Nieuwenhuizen
* 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.
2016-11-06Merge branch 'master' into core-updatesMark H Weaver
2016-11-04gnu: cross-base: Remove exports of cross compilers.Ludovic Courtès
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.
2016-11-04gnu: Remove '%final-inputs' references at the top level.Ludovic Courtès
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'.
2016-10-31gnu: cross-libc: Use the correct libc.Manolis Ragkousis
* gnu/packages/cross-base.scm (cross-libc): Use cross-libc-for-target to determine the correct libc to use.
2016-10-31gnu: ld-wrapper-boot0: Work around strict evaluation of (%current-system).Ludovic Courtès
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.
2016-08-10gnu: cross-libc: Cross build the correct libc for GNU/Hurd systems.Manolis Ragkousis
* 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.
2016-07-05gnu: cross-gcc-arguments: Disable libitm, libvtv and libsanitizer.Manolis Ragkousis
* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Add "--disable-libitm", "--disable-libvtv" and "--disable-libsanitizer" when libc is not present.
2016-06-15gnu: cross-gcc: Allow Hurd libraries to be found.Manolis Ragkousis
* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Add 'KERNEL/lib' to 'CROSS_LIBRARY_PATH'.
2016-06-07Merge branch 'master' into core-updatesLudovic Courtès
2016-05-30gnu: Remove xgcc-avr.David Thompson
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.
2016-05-15gnu: cross-base: Add srfi-26 for glibc.Jan Nieuwenhuizen
Fixes a regression introduced in commit efc4eb147512fa7a2c6d74d9b296cfc22b1ef198. * gnu/packages/cross-base.scm (cross-libc)[arguments]: Add (srfi srfi-26). Signed-off-by: Ludovic Courtès <ludo@gnu.org>