Commit Graph

81 Commits

Author SHA1 Message Date
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
9b762b8d7c system: Prefer packages from %FINAL-INPUTS.
* gnu/packages/base.scm (canonical-package): New procedure.
* gnu/system.scm (%base-packages): Pass BASH, COREUTILS, FINDUTILS,
  GREP, and SED through 'canonical-package'.
2014-06-19 23:35:41 +02:00
Ludovic Courtès
09ba396c02 gnu: Remove dependency from gzip to the bootstrap binaries.
* gnu/packages/base.scm (grep-final): New variable.
  (%boot5-inputs): Add it.
  (%final-inputs): Use it.
2014-06-15 11:53:02 +02:00
Ludovic Courtès
df142dd40e gnu: grep: Upgrade to 2.20.
* gnu/packages/base.scm (grep): Upgrade to 2.20.
2014-06-12 23:35:02 +02:00
Ludovic Courtès
b47b2b5275 gnu: coreutils: Remove run-time dependency on Bash.
* gnu/packages/base.scm (coreutils)[arguments] <patch-shell-references>:
  Leave src/split.c unpatched.  Set $SHELL.  Use .../bin/sh and not
  .../bin/bash in tests.
2014-06-09 12:22:59 +02:00
Ludovic Courtès
84e6756c57 gnu: gcc: Add a "lib" output.
* gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Add
  --with-gxx-include-dir.
  [outputs]: New field.
  [arguments] <phases>: Adjust to use the "lib" output.  Add
  'substitute*' calls for "libstdc++-v3/python/Makefile.in" and
  "gcc/config.in".
* gnu/packages/base.scm (gcc-boot0) <symlink-libgcc_eh>: Use the "lib"
  output.
  (cross-gcc-wrapper): Add 'outputs' field.
  (glibc-final)[arguments]: Adjust #:allowed-references to list
  '(GCC-BOOT0 "lib").
  (libstdc++): Add 'outputs' field.
  (gcc-final)[arguments]: Add "lib" to #:allowed-references.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'outputs' field.
2014-06-09 11:58:43 +02:00
Ludovic Courtès
e0a0c84b4f gnu: glibc-final: Remove top-level circular dependency.
This fixes a top-level circular dependency between linux.scm and
base.scm introduced in 2e92375.

* gnu/packages/base.scm (glibc-final): Remove call to
  'package-with-restricted-references', and use an 'arguments' field
  instead.
2014-06-08 23:24:04 +02:00
Ludovic Courtès
2e6a134515 gnu: gcc-final: Make sure the output refers only to libc.
* gnu/packages/base.scm (gcc-final)[arguments]: Add
  #:allowed-references.
2014-06-07 20:20:09 +02:00
Ludovic Courtès
592e8660a1 gnu: binutils-final: Make sure the output refers only to libc.
* gnu/packages/base.scm (binutils-final)[arguments]: Add
  #:allowed-references.
2014-06-07 19:39:23 +02:00
Ludovic Courtès
2e92375eb1 gnu: glibc-final: Make sure we hold just the right set of references.
* gnu/packages/base.scm (glibc-final): Wrap in
  'package-with-restricted-references'.
2014-06-07 19:36:50 +02:00
Ludovic Courtès
1c93be5600 gnu: glibc: Make sure the bootstrap libc is not in $CPATH.
This fixes a bug whereby the bootstrap-glibc headers could be picked up
when building libc.so, which could be noticed by the fact that the
.debug files contained references to bootstrap-glibc.

* gnu/packages/base.scm (glibc-final-with-bootstrap-bash)[arguments]:
  Add 'pre-configure' phase.
  [inputs]: Remove 'alist-delete' call.
2014-06-07 17:23:53 +02:00
Ludovic Courtès
3d78d51d8e gnu: Build the final Coreutils before Findutils.
This fixes a bug whereby Findutils' 'updatedb' script would retain a
reference to the bootstrap binaries ('sort', etc.)

* gnu/packages/base.scm (coreutils-final, %boot5-inputs): New variables.
  (%final-inputs): Use them.
2014-06-07 00:38:17 +02:00
Ludovic Courtès
872c69d00e Merge branch 'master' into core-updates 2014-06-06 17:23:14 +02:00
Ludovic Courtès
9d9b576bcd gnu: Set proper source location for 'gcc-final'.
* gnu/packages/base.scm (gcc-final)[location]: New field.
  Reported by Andreas Enge <andreas@enge.fr>.
2014-06-04 23:32:46 +02:00
Ludovic Courtès
a4d48cc24d gnu: grep: Upgrade to 2.19.
* gnu/packages/base.scm (grep): Upgrade to 2.19.
2014-05-27 23:23:10 +02:00
Ludovic Courtès
af018f5e0a Merge branch 'master' into core-updates 2014-05-27 23:19:49 +02:00
Ludovic Courtès
571aa6cd81 gnu: Add GCC 4.9.0.
* gnu/packages/gcc.scm (gcc-4.9): New variable.
* gnu/packages/base.scm (gcc-toolchain-4.9): New variable.
2014-04-22 17:45:09 +02:00
Andreas Enge
722111abb7 gnu: gmp: Upgrade to 6.0.0a.
* gnu/packages/multiprecision.scm (gmp): Upgrade to 6.0.0a.
* gnu/packages/base.scm (gcc-boot0): Modify symbolic link to point to
    gmp-6.0.0 instead of the non-existing gmp-6.0.0a.
2014-04-15 09:36:32 +02:00
Ludovic Courtès
4eb202a3d8 gnu: gcc-final: Add Texinfo as an input.
* gnu/packages/base.scm (gcc-final)[native-inputs]: New field.
2014-04-14 00:09:42 +02:00
Ludovic Courtès
a28ef66e04 gnu: Add 'gcc-toolchain'.
* gnu/packages/base.scm (gcc-toolchain): New procedure.
  (gcc-toolchain-4.8): New variable.
2014-04-05 21:04:13 +02:00
Ludovic Courtès
2ed6aa9e39 gnu: glibc: Patch mtrace.pl to avoid retaining a reference to Perl.
* gnu/packages/base.scm (glibc)[argument] <pre-configure phase>: Patch
  malloc/mtrace.pl.
2014-03-24 01:10:17 +01:00
Mark H Weaver
1eefbb2693 Merge branch 'master' into core-updates 2014-03-22 11:19:19 -04:00
Mark H Weaver
2f66e64c53 gnu: tzdata: Upgrade to 2014a. 2014-03-20 16:31:02 -04:00
Cyril Roelandt
ff3c0c1b80 coreutils: fix test suite
* gnu/packages/patches/coreutils-skip-nohup.patch: patch taken from the git
  repository of coreutils, that makes sure tests/misc/nohup.sh does not fail
  when /dev/tty does not exist.
* gnu/packages/base.scm (coreutils): use it.
* gnu-system.am (dist_patch_DATA): add it.
2014-03-07 00:45:51 +01:00
Ludovic Courtès
1faca892a3 Partly revert "gnu: Remove now unneeded 'modules' fields from 'origin' specifications."
This partly reverts commit a3a1417dc7.

* gnu/packages/base.scm (glibc)[source]: Re-add 'modules' clause.
* gnu/packages/lsh.scm (lsh)[source]: Remove 'use-modules' form from
  'snippet'.  Add 'modules' field.
2014-02-28 12:22:14 +01:00
Ludovic Courtès
a3a1417dc7 gnu: Remove now unneeded 'modules' fields from 'origin' specifications.
The previous commit has made (guix build utils) imported by default, so
no need to specify it.

* gnu/packages/base.scm (glibc)[source]: Remove 'modules' and
  'imported-modules' fields.
* gnu/packages/lsh.scm (lsh)[source]: Likewise.
2014-02-28 10:49:07 +01:00
Ludovic Courtès
b7db387be3 gnu: grep: Upgrade to 2.18.
* gnu/packages/base.scm (grep): Upgrade to 2.18.
2014-02-22 00:37:58 +01:00
Ludovic Courtès
99662b8dbf gnu: glibc: Upgrade to 2.19.
* gnu/packages/base.scm (glibc): Upgrade to 2.19.  Remove
  'glibc-make-4.0.patch'.
* gnu/packages/patches/glibc-make-4.0.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2014-02-10 22:37:08 +01:00
Ludovic Courtès
7f31c71cb8 gnu: coreutils: Fix cross-compilation issue with 'dummy-man'.
This should work around the bug described at
<http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.

* gnu/packages/base.scm (coreutils)[patches]: Add
  'coreutils-dummy-man.patch'.
  [native-inputs]: Don't pass PERL when (%current-target-system) is
  true.
* gnu/packages/patches/coreutils-dummy-man.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2014-02-10 18:27:42 +01:00
Ludovic Courtès
cc0a128226 gnu: binutils: Build with --enable-deterministic-archives.
* gnu/packages/base.scm (binutils): Add
  '--enable-deterministic-archives' to #:configure-flags.
  Suggestion from Lunar's 2014 FOSDEM talk on reproducible builds.
2014-02-06 14:06:28 +01:00
Ludovic Courtès
2c1dea853d gnu: coreutils: Move Perl to 'native-inputs'.
* gnu/packages/base.scm (coreutils): Add 'native-inputs' field.
  This should allow cross builds to have man pages, and work around this
  'dummy-man' bug:
  <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
2014-02-06 12:17:16 +01:00
Ludovic Courtès
8e92b6b5b5 gnu: grep, coreutils: Upgrade.
* gnu/packages/base.scm (grep): Upgrade to 2.16.
  (coreutils): Upgrade to 8.22.
2014-01-08 22:32:20 +01:00
Ludovic Courtès
6c95f363d5 gnu: binutils: Upgrade to 2.24.
* gnu/packages/patches/binutils-loongson-madd-fix.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (binutils): Upgrade to 2.24.  Remove
  'binutils-loongson-madd-fix.patch'.  Remove 'outputs' field.  Pass
  '--enable-install-libbfd'.
2014-01-08 22:30:33 +01:00
Ludovic Courtès
aa6b0d6bf0 gnu: make: Build with Guile support.
* gnu/packages/base.scm (gnu-make, gnu-make-boot0): Add 'native-inputs'
  field.
2014-01-07 18:10:01 +01:00
Ludovic Courtès
8fd6487e1c gnu: glibc: Build the Info pages.
* gnu/packages/base.scm (glibc): Add 'native-inputs' field.
  (perl-boot0): New variable.
  (linux-libre-headers-boot0): Use it.
  (texinfo-boot0): New variable.
  (glibc-final-with-bootstrap-bash): Add 'native-inputs' field.
2014-01-07 18:08:51 +01:00
Ludovic Courtès
c94d01bab2 gnu: tzdata: Fix cross-compilation.
Reported by John Darrington <john@darrington.wattle.id.au>.

* gnu/packages/base.scm (tzdata): Use the 'source' keyword argument in
  phases rather than the "source" input.  This fixes cross-compilation.
2013-12-14 19:23:29 +01:00
Ludovic Courtès
79c311b81c gnu: Synchronize descriptions with 'gnumaint'. 2013-12-01 22:33:23 +01:00
Ludovic Courtès
2e1f5bcac1 gnu: {binutils,bash,gnu-make}-final are private.
* gnu/packages/base.scm (binutils-final, bash-final, gnu-make-final):
  Use 'define', not 'define-public'.
2013-11-24 23:01:33 +01:00
Ludovic Courtès
edae5b3d50 Merge branch 'master' into core-updates
Conflicts:
	guix/packages.scm
2013-11-20 23:51:26 +01:00
Ludovic Courtès
c3af0bf243 gnu: hello: Upgrade to 2.9.
* gnu/packages/base.scm (hello): Upgrade to 2.9.  Remove 'arguments' and
  'inputs' fields, which were never needed.
2013-11-19 23:25:35 +01:00
Ludovic Courtès
9ca8b5ac55 gnu: tar: Upgrade to 1.27.1.
* gnu/packages/base.scm (tar): Upgrade to 1.27.1.
2013-11-18 00:07:35 +01:00
Ludovic Courtès
13990c7343 gnu: glibc: Really disable 'ldconfig' and /etc/ld.so.cache.
* gnu/packages/base.scm (glibc): Add 'snippet' to set use_ldconfig=no.
  Remove "glibc-no-ld-so-cache.patch"; that patch would still build
  'ldconfig', and ld.so would still contain ld.so.cache-related code,
  and would look for info in /etc/etc/ld.so.cache (sic).
* gnu/packages/patches/glibc-no-ld-so-cache.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2013-11-16 23:14:28 +01:00
Ludovic Courtès
0621349858 gnu: Switch to GCC 4.8 as the default compiler.
* build-aux/download.scm (file-name->uri): Update URL to /20131110.
* gnu-system.am (nodist_bootstrap_x86_64_linux_DATA,
  nodist_bootstrap_i686_linux_DATA): Change base name to
  'guile-2.0.9.tar.xz'.
  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz,
  gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz): New targets.
  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
  gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Remove.
  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Update
  hash.
* gnu/packages/base.scm (gcc-boot0): Base upon GCC-4.8.  Enable C++, and
  add a few --disable flags.  Remove MPFR workaround.
  (cross-gcc-wrapper): Base upon GCC-4.8.  Wrap both 'gcc' and 'g++'.
  (libstdc++): New variable.
  (gcc-final): Add it as an input; pass corresponding -I and -L flags.
* gnu/packages/bootstrap.scm (%bootstrap-guile): Always use
  "guile-2.0.9.tar.xz.
  (%bootstrap-coreutils&co): Update hashes.
  (%bootstrap-binutils): Update URL and hashes.
  (%bootstrap-glibc): Likewise.
  (%bootstrap-gcc): Likewise.
* gnu/packages/gcc.scm (gcc-4.7): Add LDFLAGS.
  Add --disable-libstdcxx-pch.
  Modify the GNU_USER*_SPEC macros from gnu-user*.h instead of the raw
  _SPEC macros.
2013-11-16 00:48:31 +01:00
Mark H Weaver
2c1ceeacdf gnu: binutils: apply fixes and workarounds for Loongson 2F CPUs.
* gnu/packages/patches/binutils-loongson-madd-fix.patch: New file.
* gnu/packages/patches/binutils-loongson-workaround.patch: New file.
* gnu/packages/base.scm (binutils): Add patches.
* gnu-system.am (dist_patch_DATA): Add patches.
2013-11-03 23:25:54 -05:00
Ludovic Courtès
1670c70a03 gnu: Revert to GCC 4.7 as the default compiler.
GCC 4.8 relies on C++ headers (<cstring>, <iosfwd>, etc.) that are
missing from the current bootstrap GCC.

* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
  on GCC-4.7.  This reverts part of commit 9ae7cee.
2013-11-01 15:31:16 +01:00
Ludovic Courtès
9ae7cee342 gnu: Switch to GCC 4.8 as the default compiler.
* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
  on GCC-4.8.
* gnu/packages/cross-base.scm (cross-gcc): Likewise.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
  %gcc-static, %gcc-stripped): Likewise.
2013-11-01 13:04:38 +01:00
Ludovic Courtès
67f6491bce gnu: grep: Update to 2.15.
* gnu/packages/base.scm (grep): Update to 2.15.
2013-11-01 13:01:20 +01:00
Ludovic Courtès
ed41d48ef1 gnu: make: Update to 4.0, with Guile support.
* gnu/packages/base.scm (gnu-make): Update to 4.0.  Add Guile as an input.
  (gnu-make-boot0): Patch 'build.sh' so it does not attempt to build 'guile.c'.
  (gnu-make-final): New variable.
  (%final-inputs): Use it.
  (glibc): Add 'glibc-make-4.0.patch'.
* gnu/packages/patches/glibc-make-4.0.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2013-10-16 17:36:19 +02:00
Ludovic Courtès
63760b5bab gnu: base: Fix circular dependency between %final-outputs and <origin> inputs.
* gnu/packages/base.scm (%final-inputs): Add
  'package-with-bootstrap-guile' to 'finalize'.
2013-10-16 16:15:07 +02:00
Ludovic Courtès
de80b5045b gnu: Use the 'patches' field of <origin>.
* gnu/packages/autotools.scm (libtool): Add 'patches' field to the
  origin.  Remove 'inputs' field.
* gnu/packages/base.scm (findutils, gnu-make, binutils, glibc):
  Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/perl.scm (perl): Likewise.
* gnu/packages/readline.scm (readline): Likewise.
2013-10-10 23:05:28 +02:00