Commit graph

210 commits

Author SHA1 Message Date
Ludovic Courtès
46866fadee distro: glibc: Build the statically-linked Bash embedded in glibc.
* distro/packages/base.scm (glibc): Expect "static-bash" to be a
  directory, not a single file.  Call `remove-store-references' on the
  "bash" binary that is copied.  Add an `sh' -> `bash' symlink.  Change
  the "static-bash" input to (static-package bash-light).
  (glibc-final): Rename to...
  (glibc-final-with-bootstrap-bash): ... this.  Change `name' to
  "glibc-intermediate".  Remove #:patch-shebangs? setting.
  (cross-gcc-wrapper): New procedure, with code formerly in
  GCC-BOOT0-WRAPPED.
  (gcc-boot0-wrapped): Use it.
  (static-bash-for-glibc): New variable.
  (glibc-final): Inherit from GLIBC-FINAL-WITH-BOOTSTRAP-BASH, and use
  STATIC-BASH-FOR-GLIBC as the "static-bash" input.
2013-01-01 23:55:40 +01:00
Ludovic Courtès
8cd8e97cb5 distro: glibc: Fix contradicting settings of `BASH_SHELL'.
* distro/packages/base.scm (glibc-final): Remove `ac_cv_path_BASH_SHELL'
  setting.
  (glibc): Set `BASH_SHELL' instead of `ac_cv_path_BASH_SHELL'.
2013-01-01 23:50:52 +01:00
Ludovic Courtès
4d058c6792 build-system/gnu: Add `static-package'.
* distro/packages/make-bootstrap.scm (static-package): Move to...
* guix/build-system/gnu.scm (static-package): ... here.  New procedure.
2013-01-01 16:55:34 +01:00
Ludovic Courtès
450fb5a6b4 distro: Move lightweight Bash to (distro packages bash).
* distro/packages/make-bootstrap.scm (%bash-static): Move BASH-LIGHT to...
* distro/packages/bash.scm (bash-light): ... here.  New variable.
2013-01-01 16:54:45 +01:00
Ludovic Courtès
f678f6d913 distro: bzip2: Patch SHELL' in Makefile-libbz2_so'.
* distro/packages/compression.scm (bzip2): Call `patch-makefile-SHELL'
  in BUILD-SHARED-LIB.
2012-12-31 01:13:04 +01:00
Ludovic Courtès
98ea038b47 distro: libc: Update to 2.17.
* distro/packages/base.scm (glibc): Update to 2.17.
2012-12-31 01:12:09 +01:00
Ludovic Courtès
380d5decfc distro: attr: Fix references to /bin/sh.
* distro/packages/attr.scm (attr): Add `patch-makefile-SHELL'.  Patch
  `test/run' in `check' phase.
2012-12-21 23:52:48 +01:00
Ludovic Courtès
c089511288 build-system/gnu: Patch shebangs in all the source; patch SHELL in makefiles.
* guix/build/utils.scm (call-with-ascii-input-file): New procedure.
  (patch-shebang): Use it.
  (patch-makefile-SHELL): New procedure.
* guix/build/gnu-build-system.scm (patch-source-shebangs): Patch all the
  files, not just executables; remove `po/Makefile.in.in' patching.
  (patch-generated-files): Rename to...
  (patch-generated-file-shebangs): ... this.  Patch executables and
  makefiles.
  (%standard-phases): Adjust accordingly.

* distro/packages/autotools.scm (libtool): Remove call to `patch-shebang'.
* distro/packages/base.scm (gcc-4.7): Likewise.
  (guile-final): Remove hack to skip `test-command-line-encoding2'.
* distro/packages/bash.scm (bash): Remove `pre-configure-phase'.
* distro/packages/readline.scm (readline): Likewise.
* distro/packages/ncurses.scm (ncurses): Remove `pre-install-phase'.
2012-12-21 22:31:25 +01:00
Ludovic Courtès
8722e80e82 distro: coreutils: Update to 8.20.
* distro/packages/base.scm (coreutils): Update to 8.20.
2012-12-21 17:59:23 +01:00
Ludovic Courtès
8ffaa93bff distro: guile: Patch (ice-9 popen) to use the right shell.
* distro/packages/guile.scm (guile-2.0): Add `pre-configure'.
* distro/packages/base.scm (guile-final): Adjust to preserve the
  `pre-configure' phase.
2012-12-20 23:07:46 +01:00
Ludovic Courtès
f5b7894942 distro: m4: Patch references to /bin/sh.
* distro/packages/m4.scm (m4): Add `pre-check' phase.
2012-12-20 19:01:14 +01:00
Ludovic Courtès
42ff70e262 distro: libtool: Run test suite in parallel; patch references to /bin/sh.
* distro/packages/autotools.scm (libtool): Add `pre-check' phase.
2012-12-20 19:00:14 +01:00
Ludovic Courtès
530c169561 distro: bash, readline: Patch so that `make' uses the right shell.
* distro/packages/readline.scm (readline): Add `pre-configure-phase' to
  patch `MAKE_SHELL' in `configure.  Move `post-install-phase' body to
  a variable.
* distro/packages/bash.scm (bash): Likewise.
2012-12-20 18:02:07 +01:00
Ludovic Courtès
c20313637f distro: gawk: Use the right shell instead of /bin/sh.
* distro/packages/gawk.scm (gawk): Patch shell file name in io.c.
2012-12-20 17:59:10 +01:00
Ludovic Courtès
8ccdbaa827 distro: Update guile-final' to not fail during patch-source-shebangs' phase.
* distro/packages/base.scm (guile-final): Add workaround on top of
  GUILE-2.0/FIXED to avoid `patch-source-shebangs' failure on one of the
  source files.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
49f5a21698 distro: ncurses: Patch references to /bin/sh.
* distro/packages/ncurses.scm (ncurses): Add `patch-makefile-phase' and
  `pre-install-phase'.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
0f09955213 distro: Update bootstrap binaries.
Use bootstrap binaries that were generated with the `make-bootstrap'
changes introduced in previous commit.

* Makefile.am (nodist_bootstrap_x86_64_linux_DATA,
  nodist_bootstrap_i686_linux_DATA): Change Guile tarball name.
  (distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
  distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): New targets.
  (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz,
  distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
  Remove.
* build-aux/download.scm (file-name->uri): Use "20121219" directory.
* distro/packages/bootstrap.scm (%bootstrap-guile): Update file name.
  (%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc,
  %bootstrap-gcc): Update directory name and hashes.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
5d4fd2671a distro: make-bootstrap: Have libc's functions search for `sh' in $PATH.
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system,
  %standard-inputs-with-relocatable-glibc): New variables.
  (%static-inputs)[gawk]: Apply `gawk-shell.patch'.
  [finalize]: New procedure.
  Build all the packages against %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
  (%glibc-stripped): Inherit from %GLIBC-WITH-RELOCATABLE-SYSTEM.
  (%gcc-static, %guile-static): Build against
  %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
* distro/packages/patches/gawk-shell.patch,
  distro/packages/patches/glibc-bootstrap-system.patch: New files.
* Makefile.am (dist_patch_DATA): Add them.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
6e32f6c019 distro: glibc: Add a statically-linked Bash to $out/bin.
* distro/packages/base.scm (glibc): Pass `ac_cv_path_BASH_SHELL' in the
  configure flags.  During the `pre-configure' phase, copy the
  "static-bash" input to $out/bin, and change `system' and `popen' to
  use it instead of /bin/sh.  Add the "static-bash" input.
  Suggested by Shea Levy <shea@shealevy.com> and
  Lluís Batlle i Rossell <viric@viric.name>.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
d6f80f187c distro: gcc: Patch to allow builds without /bin/sh.
* distro/packages/base.scm (gcc-4.7): In `pre-configure' phase, patch
  shebang in `gcc/exec-tool.in'.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
dfb53ee232 distro: ld-wrapper: Use the current Bash instead of /bin/sh.
* distro/packages/ld-wrapper.scm: Use @BASH@ in shebang.  Change module
  name to (gnu build-support ld-wrapper).
* distro/packages/base.scm (ld-wrapper-boot3): Substitute @BASH@.
  (ld-wrapper): Use BASH-FINAL.
2012-12-20 01:38:54 +01:00
Ludovic Courtès
ea8fbbf2f2 distro: make: Change default shell from /bin/sh to the actual shell.
* distro/packages/base.scm (gnu-make): Add `set-default-shell' phase.
  (gnu-make-boot0): Adjust phases accordingly.
2012-12-19 12:34:53 +01:00
Ludovic Courtès
45298f8fd2 distro: Linux-Libre: Set $ARCH based on the actual system type.
* distro/packages/linux.scm (linux-libre-headers): Set $ARCH based on
  the `system' keyword argument.
2012-12-19 00:48:13 +01:00
Ludovic Courtès
325285d581 distro: guile: Switch to 2.0.7.
* distro/packages/guile.scm (guile-2.0/fixed): Alias GUILE-2.0.
2012-12-18 22:16:21 +01:00
Ludovic Courtès
d008415219 build-system/gnu: Patch shebangs in executable source files.
This allows many packages to build in a chroot that lacks /bin and
thus /bin/sh.

* guix/build/gnu-build-system.scm (patch-source-shebangs): New
  procedure.
  (%standard-phases): Add it.
* guix/build/utils.scm (executable-file?): New procedure.
* distro/packages/perl.scm (perl): Don't use /bin/sh to run `Configure'.
2012-12-15 16:35:26 +01:00
Ludovic Courtès
a784c3077e Merge branch 'master' into core-updates
Conflicts:
	distro/packages/multiprecision.scm
2012-12-15 15:28:50 +01:00
Nikita Karetnikov
4a44e743a0 distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
  distro/packages/autotools.scm, distro/packages/base.scm,
  distro/packages/bash.scm, distro/packages/bdw-gc.scm,
  distro/packages/bison.scm, distro/packages/bootstrap.scm,
  distro/packages/compression.scm, distro/packages/cpio.scm,
  distro/packages/ddrescue.scm, distro/packages/ed.scm,
  distro/packages/flex.scm, distro/packages/gawk.scm,
  distro/packages/gdbm.scm, distro/packages/gettext.scm,
  distro/packages/gnupg.scm, distro/packages/gnutls.scm,
  distro/packages/gperf.scm, distro/packages/guile.scm,
  distro/packages/help2man.scm, distro/packages/less.scm,
  distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
  distro/packages/libunistring.scm, distro/packages/linux.scm,
  distro/packages/lout.scm, distro/packages/lsh.scm,
  distro/packages/m4.scm, distro/packages/multiprecision.scm,
  distro/packages/nano.scm, distro/packages/ncurses.scm,
  distro/packages/nettle.scm, distro/packages/perl.scm,
  distro/packages/pkg-config.scm, distro/packages/pth.scm,
  distro/packages/readline.scm, distro/packages/recutils.scm,
  distro/packages/shishi.scm, distro/packages/system.scm,
  distro/packages/texinfo.scm, distro/packages/time.scm,
  distro/packages/wget.scm, distro/packages/which.scm,
  distro/packages/zile.scm: Use (guix licenses).
2012-12-14 23:37:24 +01:00
Ludovic Courtès
7f131cf368 distro: Fix incorrect "bash" input for gcc-boot0-wrapped.
* distro/packages/base.scm (gcc-boot0-wrapped): Fix incorrect "bash" input.
2012-12-14 18:04:27 +01:00
Ludovic Courtès
9d1d434cd0 build-system/gnu: Avoid using /bin/sh.
* guix/build/gnu-build-system.scm (configure): Add `inputs' keyword
  parameter.  Take Bash from there, falling back to /bin/sh.  Set
  `CONFIG_SHELL' and `SHELL' to that Bash.  Run "bash ./configure"
  instead of just "./configure".
* distro/packages/bootstrap.scm (%bootstrap-inputs): Add "bash".
* distro/packages/base.scm (gcc-boot0-wrapped): Use "bash" from
  %BOOT1-INPUTS instead of /bin/sh.
2012-12-13 23:38:32 +01:00
Andreas Enge
8e1cd71376 distro: mpc: Update to 1.0.1.
* distro/packages/multiprecision.scm (mpc): Update to 1.0.1.
2012-12-13 22:28:46 +01:00
Ludovic Courtès
d7e2841b9d distro: lout: Comment out dependency on Ghostscript.
* distro/packages/lout.scm (lout): Temporarily comment out dependency on
  Ghostscript as this was causing evaluation errors on Hydra.
2012-12-13 22:28:34 +01:00
Ludovic Courtès
836676450d distro: lout: Delay use of of `nixpkgs-derivation'.
* distro/packages/lout.scm (lout): Don't fork with `nixpkgs-derivation',
  to avoid any issues in the absence of `nix-instantiate'.
2012-12-10 14:35:03 +01:00
Nikita Karetnikov
6ad2697d23 distro: Add ACL.
* distro/packages/acl.scm: New file.  Dependency on Perl added by
  Ludovic.
* Makefile.am (MODULES): Add it.
2012-12-07 22:32:00 +01:00
Nikita Karetnikov
3d282f90f8 distro: Add Attr.
* distro/packages/attr.scm: New file.  Dependency on Perl and
  `patch-shebang' added by Ludovic.
* Makefile.am (MODULES): Add it.
2012-12-07 22:30:32 +01:00
Ludovic Courtès
18d50d7621 distro: Add GNU lsh.
* distro/packages/lsh.scm,
  distro/packages/patches/lsh-guile-compat.patch:
  distro/packages/patches/lsh-no-root-login.patch:
  distro/packages/patches/lsh-pam-service-name.patch: New files.
* Makefile.am (MODULES): Add lsh.scm.
  (dist_patch_DATA): Add the above patches.
2012-12-04 22:03:21 +01:00
Nikita Karetnikov
02b80c3f65 distro: Add util-linux.
* distro/packages/linux.scm (util-linux): New variable.
2012-12-04 17:46:56 +01:00
Ludovic Courtès
686f14e8a4 distro: Add psmisc.
* distro/packages/linux.scm (psmisc): New variable.
2012-12-04 00:17:49 +01:00
Ludovic Courtès
7eba5e6361 distro: make-bootstrap: Use `linux' module.
* distro/packages/make-bootstrap.scm: Use (distro packages linux).  This
  is a followup to 80fe5c6.
2012-12-02 22:32:09 +01:00
Ludovic Courtès
967305e88b distro: gnutls: Build sequentially.
* distro/packages/gnutls.scm (gnutls)[arguments]: New field.
2012-12-01 00:59:08 +01:00
Ludovic Courtès
3af4e05304 distro: guile-2.0: Update to 2.0.7.
* distro/packages/guile.scm (guile-2.0): Switch to 2.0.7.
  (guile-2.0/fixed): Stay at 2.0.6.
2012-11-30 22:01:47 +01:00
Ludovic Courtès
fa29b19988 distro: Add `guile-2.0/fixed', which should rarely change.
* distro/packages/guile.scm (guile-2.0/fixed): New variable.
* distro/packages/base.scm (guile-final): Use it.
2012-11-30 21:37:41 +01:00
Nikita Karetnikov
6b345e06cd distro: Import 'gettext' under a different name.
* distro/packages/nano.scm, distro/packages/wget.scm: Import 'gettext'
  from (distro packages gettext) under 'guix:gettext'.
2012-11-28 00:27:44 +01:00
Ludovic Courtès
80fe5c6046 distro: linux-libre-headers: Move to (distro packages linux).
* distro/packages/base.scm (linux-libre-headers): Move to...
* distro/packages/linux.scm (linux-libre-headers): ... here.
2012-11-27 22:04:57 +01:00
Ludovic Courtès
fd76c904c7 distro: Add Linux-PAM.
* distro/packages/linux.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-27 21:56:37 +01:00
Ludovic Courtès
5321f74f23 distro: flex: Fix module name.
* distro/packages/flex.scm: Change the module name to (distro packages
  flex).
2012-11-27 21:33:00 +01:00
Nikita Karetnikov
501b16750a distro: Add GNU Cpio.
* distro/packages/cpio.scm,
  distro/packages/patches/cpio-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add 'cpio.scm'.
  (dist_patch_DATA): Add 'cpio-gets-undeclared.patch'.
2012-11-25 22:45:55 +01:00
Nikita Karetnikov
b147f59f41 distro: Add GNU Time.
* distro/packages/time.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 22:42:34 +01:00
Nikita Karetnikov
6e6979c6f1 distro: Add GNU Which.
* distro/packages/which.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 22:41:38 +01:00
Nikita Karetnikov
fe7777c14b distro: Add GNU Less.
* distro/packages/less.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 16:08:10 +01:00
Nikita Karetnikov
7f40d97d88 distro: Add GNU Nano.
* distro/packages/nano.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 16:08:10 +01:00