Commit Graph

65 Commits

Author SHA1 Message Date
Manolis Ragkousis 62596a158b
gnu: 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.
2017-01-03 16:00:39 +02:00
Ludovic Courtès 3593e5d5c5
gnu: 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.
2016-12-07 21:52:26 +01:00
Ludovic Courtès 3009a9e451
gnu: 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.
2016-12-07 21:52:26 +01:00
Manolis Ragkousis 1ecb7be8b7
gnu: cross-kernel-headers: Remove propagated-inputs from xhurd-headers.
* gnu/packages/cross-base.scm (xhurd-headers)[propagated-inputs]: Remove them.
2016-12-07 12:56:02 +02:00
Jan Nieuwenhuizen cba36e6482
gnu: 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.
2016-12-07 10:23:16 +01:00
Mark H Weaver 8b6ad165d1
Merge branch 'master' into core-updates 2016-11-06 03:29:06 -05:00
Ludovic Courtès bd2e1a8cb0
gnu: 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.
2016-11-04 15:36:00 +01:00
Ludovic Courtès fb77c61422
gnu: 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'.
2016-11-04 15:36:00 +01:00
Manolis Ragkousis d76181a7a3
gnu: 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.
2016-10-31 19:42:26 +02:00
Ludovic Courtès 5bde4503ee
gnu: 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.
2016-10-31 16:06:30 +01:00
Manolis Ragkousis 2d558e31af
gnu: 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.
2016-08-10 15:41:12 -04:00
Manolis Ragkousis 9a745d76f6
gnu: 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.
2016-07-05 14:55:21 +03:00
Manolis Ragkousis 8956d07a03
gnu: cross-gcc: Allow Hurd libraries to be found.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Add 'KERNEL/lib'
  to 'CROSS_LIBRARY_PATH'.
2016-06-15 14:35:23 +03:00
Ludovic Courtès aeafff536f
Merge branch 'master' into core-updates 2016-06-07 11:54:03 +02:00
David Thompson 503a43f3fc gnu: 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.
2016-05-30 13:45:21 -04:00
Jan Nieuwenhuizen 0158ca7fdd
gnu: cross-base: Add srfi-26 for glibc.
Fixes a regression introduced in
commit efc4eb1475.

* gnu/packages/cross-base.scm (cross-libc)[arguments]: Add (srfi
srfi-26).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-05-15 17:59:33 +03:00
Jan Nieuwenhuizen 8a7680a759
gnu: cross-base: Add srfi-26 for glibc.
Fixes a regression introduced in
commit efc4eb1475.

* gnu/packages/cross-base.scm (cross-libc)[arguments]: Add (srfi
srfi-26).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-05-14 22:01:27 +02:00
Leo Famulari eb74eb4199
Merge branch 'master' into core-updates 2016-05-13 02:08:11 -04:00
Manolis Ragkousis 55de892b43 gnu: glibc: Rename linux-headers input to kernel-headers.
* gnu/packages/base.scm (glibc)[propagated-inputs]: Use a kernel
  agnostic name for the kernel headers.
  [arguments]: Adjust accordingly.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
  [propagated-inputs]: Adjust accordingly.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Adjust
  accordingly.
  (cross-gcc)[native-inputs]: Adjust accordingly.
* gnu/packages/make-bootstrap.scm (%glibc-stripped)[arguments]: Adjust
  accordingly.
  [inputs]: Adjust accordingly.
2016-05-10 14:39:50 +03:00
Ludovic Courtès 0a0884c991
gnu: cross: Fix typo.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Remove erroneous
'else' introduced in efc4eb1475.
2016-05-03 23:43:49 +02:00
Jan Nieuwenhuizen efc4eb1475
gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.
* gnu/packages/patches/gcc-cross-environment-variables.patch: Also use CROSS_
variants: CROSS_C_INCLUDE_PATH, CROSS_CPLUS_INCLUDE_PATH,
CROSS_OBJC_INCLUDE_PATH, CROSS_OBJCPLUS_INCLUDE_PATH to be used for system
libraries, see
https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00620.html.
* gnu/packages/cross-base.scm (cross-gcc, cross-gcc-arguments, cross-libc):
Use CROSS_*_INCLUDE_PATH (WAS: CPATH).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-05-03 17:45:29 +02:00
Alex Kost fc1adab148 gnu: packages: Use 'search-patches' everywhere.
* gnu/packages/abiword.scm: Use 'search-patches' for 'patches' field.
* gnu/packages/acl.scm: Likewise.
* gnu/packages/admin.scm: Likewise.
* gnu/packages/algebra.scm: Likewise.
* gnu/packages/animation.scm: Likewise.
* gnu/packages/apr.scm: Likewise.
* gnu/packages/audacity.scm: Likewise.
* gnu/packages/audio.scm: Likewise.
* gnu/packages/autotools.scm: Likewise.
* gnu/packages/avahi.scm: Likewise.
* gnu/packages/backup.scm: Likewise.
* gnu/packages/base.scm: Likewise.
* gnu/packages/bash.scm: Likewise.
* gnu/packages/bioinformatics.scm: Likewise.
* gnu/packages/cdrom.scm: Likewise.
* gnu/packages/ci.scm: Likewise.
* gnu/packages/cmake.scm: Likewise.
* gnu/packages/cpio.scm: Likewise.
* gnu/packages/cross-base.scm: Likewise.
* gnu/packages/dico.scm: Likewise.
* gnu/packages/doxygen.scm: Likewise.
* gnu/packages/ebook.scm: Likewise.
* gnu/packages/elf.scm: Likewise.
* gnu/packages/emacs.scm: Likewise.
* gnu/packages/engineering.scm: Likewise.
* gnu/packages/firmware.scm: Likewise.
* gnu/packages/flashing-tools.scm: Likewise.
* gnu/packages/fltk.scm: Likewise.
* gnu/packages/ftp.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gawk.scm: Likewise.
* gnu/packages/gcc.scm: Likewise.
* gnu/packages/gd.scm: Likewise.
* gnu/packages/ghostscript.scm: Likewise.
* gnu/packages/glib.scm: Likewise.
* gnu/packages/gnome.scm: Likewise.
* gnu/packages/gnucash.scm: Likewise.
* gnu/packages/gnunet.scm: Likewise.
* gnu/packages/gnupg.scm: Likewise.
* gnu/packages/gnuzilla.scm: Likewise.
* gnu/packages/graphics.scm: Likewise.
* gnu/packages/grub.scm: Likewise.
* gnu/packages/gtk.scm: Likewise.
* gnu/packages/guile.scm: Likewise.
* gnu/packages/icu4c.scm: Likewise.
* gnu/packages/idutils.scm: Likewise.
* gnu/packages/image.scm: Likewise.
* gnu/packages/imagemagick.scm: Likewise.
* gnu/packages/irc.scm: Likewise.
* gnu/packages/ldc.scm: Likewise.
* gnu/packages/libcanberra.scm: Likewise.
* gnu/packages/libevent.scm: Likewise.
* gnu/packages/libreoffice.scm: Likewise.
* gnu/packages/libunwind.scm: Likewise.
* gnu/packages/libusb.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/lirc.scm: Likewise.
* gnu/packages/llvm.scm: Likewise.
* gnu/packages/lsh.scm: Likewise.
* gnu/packages/lua.scm: Likewise.
* gnu/packages/lxqt.scm: Likewise.
* gnu/packages/mail.scm: Likewise.
* gnu/packages/maths.scm: Likewise.
* gnu/packages/mcrypt.scm: Likewise.
* gnu/packages/messaging.scm: Likewise.
* gnu/packages/mit-krb5.scm: Likewise.
* gnu/packages/mp3.scm: Likewise.
* gnu/packages/multiprecision.scm: Likewise.
* gnu/packages/music.scm: Likewise.
* gnu/packages/ninja.scm: Likewise.
* gnu/packages/nvi.scm: Likewise.
* gnu/packages/ocaml.scm: Likewise.
* gnu/packages/orpheus.scm: Likewise.
* gnu/packages/ots.scm: Likewise.
* gnu/packages/parallel.scm: Likewise.
* gnu/packages/patchutils.scm: Likewise.
* gnu/packages/pcre.scm: Likewise.
* gnu/packages/pdf.scm: Likewise.
* gnu/packages/perl.scm: Likewise.
* gnu/packages/plotutils.scm: Likewise.
* gnu/packages/polkit.scm: Likewise.
* gnu/packages/pulseaudio.scm: Likewise.
* gnu/packages/python.scm: Likewise.
* gnu/packages/qemu.scm: Likewise.
* gnu/packages/qt.scm: Likewise.
* gnu/packages/ratpoison.scm: Likewise.
* gnu/packages/rdf.scm: Likewise.
* gnu/packages/readline.scm: Likewise.
* gnu/packages/rush.scm: Likewise.
* gnu/packages/scheme.scm: Likewise.
* gnu/packages/screen.scm: Likewise.
* gnu/packages/sdl.scm: Likewise.
* gnu/packages/slim.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/tcl.scm: Likewise.
* gnu/packages/tcsh.scm: Likewise.
* gnu/packages/texinfo.scm: Likewise.
* gnu/packages/tls.scm: Likewise.
* gnu/packages/tor.scm: Likewise.
* gnu/packages/tv.scm: Likewise.
* gnu/packages/valgrind.scm: Likewise.
* gnu/packages/version-control.scm: Likewise.
* gnu/packages/video.scm: Likewise.
* gnu/packages/vpn.scm: Likewise.
* gnu/packages/vtk.scm: Likewise.
* gnu/packages/w3m.scm: Likewise.
* gnu/packages/web.scm: Likewise.
* gnu/packages/wicd.scm: Likewise.
* gnu/packages/wm.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/packages/xfce.scm: Likewise.
* gnu/packages/xiph.scm: Likewise.
* gnu/packages/xml.scm: Likewise.
* gnu/packages/xorg.scm: Likewise.
* gnu/packages/zip.scm: Likewise.
2016-04-14 10:38:21 +03:00
Ricardo Wurmus ca7ef4d418 gnu: cross-gcc-arguments: Enable C++, disable building of libstdc++-v3.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Disable
  building libstdc++-v3 and enable building C++ compiler.
2016-01-13 22:32:37 +01:00
Ludovic Courtès e8e2e18b84 gnu: Read 'C_INCLUDE_PATH' instead of 'CPATH'.
This is a followup to 009b53fd.

* gnu/packages/cmake.scm (cmake)[arguments]: Use (getenv
"C_INCLUDE_PATH") instead of (getenv "CPATH").
* gnu/packages/package-management.scm (rpm)[arguments]: Likewise.
* gnu/packages/video.scm (avidemux)[arguments]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[arguments]: Likewise.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise, and unset
'C_INCLUDE_PATH' and 'CPLUS_INCLUDE_PATH'.
2016-01-05 14:11:54 +01:00
Manolis Ragkousis 8fd857f5da gnu: cross-base: Disable libcilkrts in cross-gcc.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Add "--disable-libcilkrts".
2015-07-31 17:47:23 +03:00
Ludovic Courtès aa27987f71 gnu: cross-base: Distinguish cross Linux headers from native headers.
Commit c6d33a9 provided an incorrect fix, whereby the "linux-headers" key
would be used twice in %BUILD-INPUTS and the 'set-cross-path' phase would
refer to the first one of them, which happened to be the native headers, and
not the target headers.  This patch solves the problem by removing the
ambiguity.

* gnu/packages/cross-base.scm (cross-gcc-arguments)[set-cross-path]: Remove to
  "xlinux-headers" instead of "linux-headers".
  (cross-gcc): When LIBC is true, add explicit "xlinux-headers" input, taken
  from LIBC's propagated inputs.
2015-07-19 00:15:44 +02:00
Ludovic Courtès c6d33a9d9c gnu: Adjust packages to new handling of propagated inputs.
This is a followup to 161094c, which gets rid of the "a/b" notation for
propagated inputs.

* gnu/packages/cross-base.scm (cross-gcc-arguments): Change reference from
  "libc/linux-headers" to "linux-headers".
* gnu/packages/emacs.scm (magit-svn): Change "magit/git-modes" to
  "git-modes".
2015-07-14 16:15:30 +02:00
Ludovic Courtès c92f1c0a33 gnu: Refer to 'gcc' instead of 'gcc-4.9'.
* gnu/packages/commencement.scm (gcc-boot0, cross-gcc-wrapper,
  libstdc++, gcc-final): Refer to GCC instead of GCC-4.9.
* gnu/packages/cross-base.scm (%xgcc): New variable.
  (cross-gcc-arguments, cross-gcc): Refer to %XGCC instead of GCC-4.9.
* gnu/packages/llvm.scm (clang-from-llvm): Refer to GCC instead of GCC-4.9.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
  %gcc-static, %gcc-stripped): Likewise.
2015-06-26 17:06:30 +02:00
Mark H Weaver bcf2971f6e Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/commencement.scm
	gnu/packages/xml.scm
2015-06-14 08:49:42 -04:00
Ludovic Courtès 0004c5904c packages: Make 'location' field innate.
* guix/packages.scm (<package>)[location]: Add 'innate' property.
* guix/build-system/gnu.scm (static-package): Remove 'loc' parameter and
  'location' field.
* gnu/packages/autotools.scm (autoconf-wrapper): Remove 'location' field.
* gnu/packages/commencement.scm (gnu-make-boot0, diffutils-boot0, gcc-final):
  Likewise.
* gnu/packages/cross-base.scm (cross): Likewise.
* gnu/packages/emacs.scm (emacs-no-x, emacs-no-x-toolkit): Likewise.
* gnu/packages/make-bootstrap.scm (tarball-package): Likewise.
* gnu/packages/maths.scm (petsc-complex): Likewise.
2015-06-11 23:33:32 +02:00
Ludovic Courtès 2a1552c608 gnu: cross-base: Do not strip cross-gcc.
Fixes a regression introduced in 9063ef0 whereby #:strip-binaries? would be
left to #t, leading to an invalid cross-built libgcc.a (see
<http://hydra.gnu.org/build/492479/nixlog/1/tail-reload>.)

* gnu/packages/cross-base.scm (cross-gcc-arguments): Add #:strip-binaries? #f
  unconditionally.  Replace 'install' phase to use "make install-strip".
2015-06-10 23:19:30 +02:00
Ludovic Courtès 8d866b96f7 gnu: Switch to GCC 4.9 as the default cross-compiler.
* gnu/packages/cross-base.scm: Replace all occurrences of "gcc-4.8" with
  "gcc-4.9".
2015-06-04 18:07:26 +02:00
Ludovic Courtès d485ebba42 gnu: gcc: Do not always disable RUNPATH validation.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Remove explicit
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove case for
  #:validate-runpath?.
  (gcc-final)[arguments]: Add literal #:validate-runpath? #f.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Remove case for
  #:validate-runpath?.
2015-04-23 00:06:37 +02:00
Mark H Weaver 1421afa94a gnu: gcc: Do not pass -dynamic-linker to linker when !shared on arm.
Fixes <http://bugs.gnu.org/20102>.

* gnu/packages/patches/gcc-arm-link-spec-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-4.8, gcc-4.9): Add patch.
* gnu/packages/cross-base.scm (cross-gcc): Preserve patches from gcc-4.8.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2015-04-09 01:58:04 -04:00
Ludovic Courtès dfc8bb2071 gnu: gcc: Disable RUNPATH validation for native builds.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Pass
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Override
  #:validate-runpath? with 'substitute-keyword-arguments'.
  (gcc-final)[arguments]: Likewise.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise.
2015-04-07 22:28:36 +02:00
Ludovic Courtès 4a740d0fec gnu: cross-base: Use an 'ld' wrapper also when cross-compiling.
* gnu/packages/base.scm (make-ld-wrapper): Add #:target parameter and
  honor it.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:phases]
  <make-cross-binutils-visible>: Refer to the ld wrapper.
  (cross-gcc)[native-inputs]: Add "ld-wrapper-cross".
2015-04-03 22:31:15 +02:00
Ludovic Courtès 12b0dbd472 gnu: cross-base: Make the libc static-bash bug more apparent.
The 'static-bash' input of cross libcs has always been compiled
natively.  This patch makes the issue more visible.

* gnu/packages/cross-base.scm (cross-libc): Add 'inputs' field, and
  add (package-inputs glibc) to 'native-inputs'.
2015-03-25 21:26:31 +01:00
Ludovic Courtès 9fdd80e8f2 gnu: cross-base: Don't build the cross-compilers with target = host.
* gnu/packages/cross-base.scm (xgcc-mips64el)[supported-systems]: Delete
  "mips64el-linux".
  (xgcc-armhf)[supported-systems]: Delete "armhf-linux".
2015-01-14 21:14:14 +01:00
Ludovic Courtès 6ee01481c3 gnu: Don't build the mips64el-linux-gnuabi64 cross-compiler on i686.
Fixes <http://bugs.gnu.org/19598>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/cross-base.scm (xgcc-mips64el): Remove "i686-linux" from
  'supported-systems'.
2015-01-14 19:40:58 +01:00
Mark H Weaver 3f00ff8b43 gnu: Add toolchain support for 'armhf-linux'.
Based on preliminary work by John Darrington <john@darrington.wattle.id.au>.

* gnu/packages/cross-base.scm (xgcc-armhf): New variable.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case.
  (gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list
  of files in which to patch GLIBC_DYNAMIC_LINKER.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case.
* guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet):
  Add armhf cases.
2015-01-07 16:27:55 -05:00
Mark H Weaver 76e639a00f gnu: gcc: Use 'gcc-configure-flags-for-triplet' for native compilers too.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Do not export it.
  (gcc-4.7): Pass the result of 'gcc-configure-flags-for-triplet' to configure
  for all builds, including native ones.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Do not add the result of
  'gcc-configure-flags-for-triplet' here, since it is now included in the
  configure-flags inherited from gcc-4.8.
2015-01-07 12:34:13 -05:00
Ludovic Courtès af07095516 packages: Add 'file-type' field to 'search-path-specification'.
Fixes <http://bugs.gnu.org/18033>.

* guix/packages.scm (<search-path-specification>): Rename 'directories'
  field to 'files'.  Add 'file-type'.
  (search-path-specification->sexp): Honor 'file-type'.
* gnu/packages/autotools.scm, gnu/packages/bootstrap.scm,
  gnu/packages/cross-base.scm, gnu/packages/games.scm,
  gnu/packages/gcc.scm, gnu/packages/glib.scm,
  gnu/packages/guile.scm, gnu/packages/man.scm,
  gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
  gnu/packages/python.scm, gnu/packages/ruby.scm,
  gnu/packages/xfce.scm: Change 'directories' to 'files'.
* tests/packages.scm ("search paths"): Change 'directories' field to
  'files'.
* guix/scripts/environment.scm (for-each-search-path): Likewise.
2014-12-27 23:22:49 +01:00
Manolis Ragkousis a5b60e3c6b gnu: Add AVR-Libc.
* gnu/packages/avr.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add avr.scm.
* gnu/packages/cross-base.scm (xgcc-avr): New variable.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
  "avr".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-21 23:30:27 +01:00
Ludovic Courtès 1306b0b003 gnu: cross-base: Apply Qualcomm's patches for Binutils and GCC.
This fixes compilation of the ath9k-htc firmware.  Before that, loading
it would result in "Target is unresponsive".  The patches come from
the ath9k-htc firmware source.

* gnu/packages/patches/ath9k-htc-firmware-binutils.patch,
  gnu/packages/patches/ath9k-htc-firmware-gcc.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/cross-base.scm (package-with-patch): New procedure.
  (cross-binutils): Check whether TARGET starts with "xtensa-", and call
  'package-with-patch' when it does.
  (cross-gcc-patches): New procedure.
  (cross-gcc): Use it to add patches.
2014-11-11 22:36:49 +01:00
Ludovic Courtès 9d3074609a gnu: Add Xtensa bare-bones cross-compiler.
* gnu/packages/cross-base.scm (xgcc-xtensa): New variable.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
  "xtensa-elf".
2014-10-29 00:31:23 +01:00
Ludovic Courtès b4469d8c12 gnu: cross-base: Use the right dynamic linker name.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Parametrize
  %CURRENT-TARGET-SYSTEM.
* tests/monads.scm ("package-file + package->cross-derivation"): Replace
  "foo64-gnu" with "mips64el-linux-gnu".
2014-10-05 21:58:42 +02:00
Ludovic Courtès cdb4b4b3ed gnu: cross-base: Externalize cross-gcc arguments.
* gnu/packages/cross-base.scm (cross-gcc-arguments): New procedure.
  (cross-gcc): Use it.  [No functional change.]
2014-10-05 21:58:42 +02:00
Ludovic Courtès 0d5a559f0f build-system: Introduce "bags" as an intermediate representation.
* guix/build-system.scm (<build-system>)[build, cross-build]: Remove.
  [lower]: New field.
  (<bag>): New record type.
  (make-bag): New procedure.
* guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs,
  bag-transitive-host-inputs, bag-transitive-target-inputs,
  package->bag): New procedures.
  (package-derivation): Use it; use the bag, apply its build procedure,
  etc.
  (package-cross-derivation): Likewise.
* gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure.
  (%bootstrap-guile): Use them.
* guix/build-system/trivial.scm (lower): New procedure.
  (trivial-build, trivial-cross-build): Remove 'source' parameter.  Pass
  INPUTS as is.
  (trivial-build-system): Adjust accordingly.
* guix/build-system/gnu.scm (%store, inputs-search-paths,
  standard-search-paths, expand-inputs, standard-inputs): Remove.
  (gnu-lower): New procedure.
  (gnu-build): Remove 'source' and #:implicit-inputs? parameters.
  Remove 'implicit-inputs' and 'implicit-search-paths' variables.  Get
  the source from INPUT-DRVS.
  (gnu-cross-build): Likewise.
  (standard-cross-packages): Remove call to 'standard-packages'.
  (standard-cross-inputs, standard-cross-search-paths): Remove.
  (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'.
* guix/build-system/cmake.scm (lower): New procedure.
  (cmake-build): Remove 'source' and #:cmake parameters.  Use INPUTS and
  SEARCH-PATHS as is.  Get the source from INPUTS.
* guix/build-system/perl.scm: Likewise.
* guix/build-system/python.scm: Likewise.
* guix/build-system/ruby.scm: Likewise.
* gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers"
  to "linux-headers".
  (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f.
  Likewise.  In 'propagated-inputs', change "cross-linux-headers" to
  "linux-headers".
* guix/git-download.scm (git-fetch): Use 'standard-packages' instead of
  'standard-inputs'.
* tests/builders.scm ("gnu-build-system"): Remove use of
  'build-system-builder'.
  ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to
  'gnu-build'.
* tests/packages.scm ("search paths"): Adjust to new build system API.
  ("package-cross-derivation, no cross builder"): Likewise.
* doc/guix.texi (Build Systems): Add paragraph on bags.
2014-10-05 21:58:42 +02:00
Ludovic Courtès bdb36958fb gnu: Split (gnu packages base), adding (gnu packages commencement).
* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0,
  findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet,
  binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0,
  texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash,
  cross-gcc-wrapper, static-bash-for-glibc, glibc-final,
  gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++,
  gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs,
  guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final,
  %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain,
  gcc-toolchain-4.8, gcc-toolchain-4.9): Move to...
* gnu/packages/commencement.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/check-final-inputs-self-contained.scm: Adjust accordingly.
* gnu/packages/cross-base.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/gnu.scm (standard-packages, gnu-build,
  gnu-cross-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* guix/download.scm (url-fetch): Likewise.
* guix/gexp.scm (default-guile): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/monads.scm (run-with-store): Likewise.
* guix/packages.scm (default-guile): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths):
  Likewise.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/guix-package.sh: Likewise.
* gnu/services/base.scm: Use 'canonical-package' instead of xxx-final.
* gnu/services/xorg.scm: Likewise.
* gnu/system/vm.scm: Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
2014-08-28 09:21:54 +02:00
Ludovic Courtès a49c57a793 gnu: cross-gcc: Use a single output.
* gnu/packages/cross-base.scm (cross-gcc): Add 'outputs' field.
2014-06-09 22:45:01 +02:00