Ludovic Courtès
4050e5d6cf
Merge branch 'master' into core-updates
...
Conflicts:
build-aux/download.scm
distro/packages/autotools.scm
distro/packages/base.scm
distro/packages/bootstrap.scm
distro/packages/lsh.scm
distro/packages/make-bootstrap.scm
distro/packages/ncurses.scm
distro/packages/perl.scm
tests/derivations.scm
tests/union.scm
2013-01-06 17:33:02 +01:00
Ludovic Courtès
79580eb698
distro: Update bootstrap binaries to an nscd-less libc.
...
Update bootstrap binaries following changes in commit d3b5972
("Build
glibc without nscd, and with static NSS modules.")
* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Update hashes.
* build-aux/download.scm (file-name->uri): Update URL.
* distro/packages/bootstrap.scm (%bootstrap-coreutils&co,
%bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Update URLs
and hashes.
2013-01-06 01:16:14 +01:00
Ludovic Courtès
233e76769a
Update license headers.
...
Change all license headers, except guix/build/* and ld-wrapper.scm, with
this code:
(use-modules (guix build utils)
(srfi srfi-1))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (remove (lambda (f)
(or (string-contains f ".tar.")
(string-contains f ".git/")
(string-contains f ".so")
(string-suffix? ".o" f)
(string-suffix? ".a" f)
(string-suffix? ".go" f)
(string-suffix? ".pdf" f)
(string-suffix? ".png" f)
(string-suffix? ".info" f)
(equal? (basename f) "guix-daemon")
(equal? (basename f) "nix-setuid-helper")
(string-contains f "nix-upstream/")
(string-contains f "distro/packages/bootstrap/")))
(find-files "." "\\.[a-z]+$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
Change headers using C-style comments manually.
2013-01-06 00:47:50 +01:00
Ludovic Courtès
4155e2a909
Update license headers of builder-side code.
...
Change license headers with this script:
(use-modules (guix build utils))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (cons "distro/packages/ld-wrapper.scm"
(find-files "guix/build" "\\.scm$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
* distro/packages/ld-wrapper.scm, guix/build/download.scm,
guix/build/gnu-build-system.scm, guix/build/union.scm,
guix/build/utils.scm: Update license headers.
2013-01-05 16:08:07 +01:00
Ludovic Courtès
7584f822bf
utils: Add `which'.
...
* guix/build/utils.scm (which): New procedure.
* distro/packages/lsh.scm (lsh): Use `which' instead of `search-path'.
* distro/packages/perl.scm (perl): Likewise.
* distro/packages/attr.scm (attr): Likewise.
2013-01-05 16:02:32 +01:00
Ludovic Courtès
312543dcfc
distro: make-bootstrap: Add `%bootstrap-tarballs' package.
...
* distro/packages/make-bootstrap.scm (%bootstrap-tarballs): New
variable.
2013-01-05 15:46:08 +01:00
Ludovic Courtès
d3b59727fb
distro: make-bootstrap: Build glibc without nscd, and with static NSS modules.
...
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system):
Rename to...
(%glibc-for-bootstrap): ... this. Add new configure flags.
2013-01-05 12:41:05 +01:00
Ludovic Courtès
c2d771fd1d
distro: make-bootstrap: Make the Coreutils smaller.
...
* distro/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Remove
optional dependencies, except Perl; build with "-Os -g0"; disable
tests.
2013-01-04 18:58:53 +01:00
Ludovic Courtès
fdc78b72f8
distro: make-bootstrap: Fix arguments to gawk.
...
* distro/packages/make-bootstrap.scm (%static-inputs)[gawk]: Use
`substitute-keyword-arguments' to preserve the #:phases argument of
GAWK.
2013-01-04 17:42:59 +01:00
Ludovic Courtès
2f8a123ed3
distro: libtool: Add a "bin" output.
...
* distro/packages/autotools.scm (libtool): Add a "bin" output.
* distro/packages/base.scm (guile-final): Remove comment about retained
dependency.
2013-01-02 23:40:56 +01:00
Ludovic Courtès
feddc16c70
distro: ncurses: Don't retain a reference to the bootstrap Bash.
...
* distro/packages/ncurses.scm (ncurses): Remove #:patch-shebangs?
argument since it now has no effect. Simplify PATCH-MAKEFILE-PHASE.
Add `configure-phase', and use it.
2013-01-02 23:12:27 +01:00
Ludovic Courtès
8ba8aeb74d
distro: coreutils: Enable tests; add dependency on ACL and GMP.
...
* distro/packages/base.scm (coreutils): Set #:parallel-build? #f. Add
`patch-shell-references' phase. Add 'acl', 'gmp', and 'perl' as
inputs, as suggested by Nikita Karetnikov.
2013-01-02 22:46:26 +01:00
Ludovic Courtès
2ea2baf16c
distro: acl: Patch references to /bin/sh.
...
* distro/packages/acl.scm (acl): Add `patch-makefile-SHELL' phase.
2013-01-02 22:46:24 +01:00
Ludovic Courtès
2aa4fb5f73
distro: gettext: Fix references to /bin/sh.
...
* distro/packages/gettext.scm (gettext): Add `patch-tests' phase.
2013-01-02 22:46:23 +01:00
Andreas Enge
60a290926b
distro: Add Berkeley DB.
...
* distro/packages/bdb.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-02 18:13:07 +01:00
Ludovic Courtès
a974a0be5b
distro: openssl: Build shared libraries.
...
* distro/packages/openssl.scm (openssl): `configure' phase: pass
"shared --libdir=lib".
2013-01-02 13:48:15 +01:00
Andreas Enge
f9975b5a49
distro: Add OpenSSL.
...
* distro/packages/openssl.scm: New file. `patch-tests' phase added by
Ludovic Courtès.
* Makefile.am (MODULES): Add it.
2013-01-02 13:31:13 +01:00
Andreas Enge
9dc6f288bf
distro: Add MIT Kerberos 5.
...
* distro/packages/mit-krb5.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-02 01:08:51 +01:00
Ludovic Courtès
52b8e5fc30
distro: sed: Patch references to /bin/sh in the test suite.
...
* distro/packages/base.scm (sed): Add `patch-test-suite' phase.
2013-01-02 01:01:58 +01:00
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
Andreas Enge
3aa6fab83b
distro: Add Libntlm, GNU GSS and GNU SASL.
...
* distro/packages/gsasl.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-30 17:25:37 +01:00
Andreas Enge
2aaa45b03c
distro: automake: Update to 1.12.6.
...
* distro/packages/autotools.scm (automake): Update to 1.12.6.
2012-12-30 17:07:14 +01:00
Andreas Enge
2ee8edc450
distro: Add GNU Libidn.
...
* distro/packages/libidn.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-30 17:00:59 +01:00
Andreas Enge
a2745393d2
distro: Update libtasn1 and gnutls.
...
* distro/packages/gnutls.scm: Update libtasn1 and gnutls.
2012-12-30 16:34:07 +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
5a8fd06d01
distro: Add GNU idutils.
...
* distro/packages/idutils.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-21 22:50:44 +01:00
Andreas Enge
c8911fa395
distro: Add rsync.
...
* distro/packages/rsync.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-21 22:39:05 +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
Andreas Enge
2ed139c42c
distro: Add mpfrcx and fplll.
...
* distro/packages/algebra.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-20 01:43:38 +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
Nikita Karetnikov
5d5c427839
distro: Add Usbutils.
...
* distro/packages/linux.scm (usbutils): New variable.
2012-12-18 23:04:09 +00:00