Ludovic Courtès
d6ed71cbf4
distro: Build Bash sequentially.
...
* distro/packages/base.scm (bash): Set `#:parallel-build?' and
`#:parallel-tests?' to #f.
2012-10-28 01:59:33 +02:00
Ludovic Courtès
bfb3c3d03a
build: Move `distro/patches' to `distro/packages/patches'.
...
* distro/patches: Move directory to...
* distro/packages/patches: ... here.
* Makefile.am (dist_patch_DATA): Adjust accordingly.
* pre-inst-env.in (DISTRO_PATCH_DIRECTORY): Likewise.
2012-10-27 15:32:40 +02:00
Ludovic Courtès
d25468bcb2
distro: Add i686-linux port.
...
* distro/packages/bootstrap/i686-linux/bash,
distro/packages/bootstrap/i686-linux/mkdir,
distro/packages/bootstrap/i686-linux/tar,
distro/packages/bootstrap/i686-linux/xz: New files.
* distro/packages/base.scm (%bootstrap-coreutils&co,
%bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add hashes of
the i686-linux tarballs.
* Makefile.am (bootstrap_i686_linuxdir, dist_bootstrap_i686_linux_DATA,
nodist_bootstrap_i686_linux_DATA): New variables
(DISTCLEANFILES): Add $(nodist_bootstrap_i686_linux_DATA).
(distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
New rule.
2012-10-26 19:10:37 +02:00
Ludovic Courtès
fc95fdaebe
distro: gcc: Adjust to support non-x86_64 architectures.
...
* distro/packages/base.scm (gcc-4.7)[arguments]: In the `pre-configure'
phase, patch all the relevant gcc/config files, not just those for
x86_64-linux-gnu.
2012-10-26 18:51:22 +02:00
Ludovic Courtès
20d83444dd
utils: Remove special `substitute*' syntax for lists of files.
...
* guix/build/utils.scm (substitute*): Remove special syntax for
list-of-files; instead, check whether FILE is `list?' at run time.
* distro/packages/base.scm (gcc-4.7, %binutils-static): Adjust
accordingly.
2012-10-26 09:07:37 +02:00
Ludovic Courtès
b642e4b853
packages: Pass `system' around.
...
* guix/packages.scm (package-source-derivation): Add `system'
parameter. Pass it to METHOD.
(package-derivation)[expand-input]: Pass SYSTEM to
`package-derivation' and `package-source-derivation'.
* distro/packages/base.scm (package-with-bootstrap-guile)[boot]: Pass
SYSTEM to FETCH.
2012-10-25 23:41:15 +02:00
Ludovic Courtès
4033bde841
distro: Build the final inputs against the final Bash, not the bootstrap Bash.
...
* distro/packages/base.scm (%boot4-inputs): New variable.
(guile-final): Use it.
(%final-inputs): Build with %BOOT4-INPUTS, not %BOOT3-INPUTS.
2012-10-25 17:55:45 +02:00
Ludovic Courtès
e67245597e
distro: ncurses: Don't patch shebangs.
...
* distro/packages/base.scm (ncurses): Pass #:patch-shebangs? #f.
2012-10-25 17:54:17 +02:00
Ludovic Courtès
60c21332d2
distro: Bootstrap using our own binaries instead of those from Nixpkgs.
...
* distro/packages/base.scm (%bootstrap-inputs): Switch to using our own
bootstrap binaries instead of those from Nixpkgs.
2012-10-25 17:41:18 +02:00
Ludovic Courtès
1c702d1e92
distro: Build glibc with `--enable-obsolete-rpc'.
...
* distro/packages/base.scm (glibc-final): Pass `--enable-obsolete-rpc'.
(%bootstrap-glibc): Update hash accordingly.
2012-10-25 17:36:46 +02:00
Ludovic Courtès
371a20e048
distro: Add missing Linux-Libre headers to the bootstrap glibc.
...
* distro/packages/base.scm (%glibc-stripped): Copy all of Linux-Libre's
`include/asm' directory; copy a few linux/ headers too.
(%bootstrap-glibc): Update tarball hash.
2012-10-25 00:58:39 +02:00
Ludovic Courtès
5ab57a13dd
distro: Add a bootstrap GCC that uses binaries from the tarball.
...
* distro/packages/base.scm (%bootstrap-gcc): New variable.
2012-10-25 00:58:39 +02:00
Ludovic Courtès
e6cc3d8654
distro: Add missing commands in the bootstrap binaries.
...
* distro/packages/base.scm (%static-inputs): Add an `awk' -> `gawk', and
`sh' -> `bash' symlinks. Add `fgrep' and `egrep'.
(%bootstrap-coreutils&co): Use new tarball that contains that
symlink.
* distro/packages/bootstrap/x86_64-linux/bash,
distro/packages/bootstrap/x86_64-linux/mkdir,
distro/packages/bootstrap/x86_64-linux/tar,
distro/packages/bootstrap/x86_64-linux/xz: Use binaries from that
tarball (the previous binaries hadn't gone through
`remove-store-references', which is fixed now.)
2012-10-24 23:52:03 +02:00
Ludovic Courtès
1430808cae
distro: Update file name of initial Binutils tarball.
...
* distro/packages/base.scm (%bootstrap-binutils): Update remote file
name.
2012-10-24 00:21:30 +02:00
Ludovic Courtès
d398e2c242
distro: Update bootstrap glibc package.
...
* distro/packages/base.scm (%bootstrap-glibc): Update initial regexp to
make it less Nixish. Update hash to new tarball.
2012-10-24 00:09:01 +02:00
Ludovic Courtès
827a3087da
distro: Add required Linux-Libre headers to the glibc tarball.
...
* distro/packages/base.scm (%glibc-stripped): Include required headers
from Linux-Libre.
2012-10-24 00:07:12 +02:00
Ludovic Courtès
3f8de86dec
distro: gcc: No longer store the absolute path of crt files.
...
* distro/packages/base.scm (gcc-4.7): Define
STANDARD_STARTFILE_PREFIX_[12] instead of storing the absolute path of
crt files.
2012-10-23 23:38:02 +02:00
Ludovic Courtès
40749fb6eb
distro: Fix GCC tarball to include the `libexec' directory.
...
* distro/packages/base.scm (%gcc-stripped): Copy $gcc/libexec to $out.
2012-10-23 22:00:06 +02:00
Ludovic Courtès
131edf67a0
distro: Fix glibc tarball to include *.so.*.
...
* distro/packages/base.scm (%glibc-stripped): Fix regexp to
include *.so.* in the output.
2012-10-23 21:59:09 +02:00
Ludovic Courtès
5155fb89b2
distro: Add a statically-linked GCC for bootstrapping.
...
* distro/packages/base.scm (%gcc-static): New variable.
(%gcc-stripped): Use it.
2012-10-22 22:22:37 +02:00
Ludovic Courtès
83ce0cf1f1
distro: Add a package that gets the bootstrap glibc from a tarball.
...
* distro/packages/base.scm (%bootstrap-glibc): New variable.
2012-10-21 22:01:49 +02:00
Ludovic Courtès
80d09f7452
distro: Add packages that get Coreutils, Binutils & co. from tarballs.
...
* distro/packages/base.scm (package-from-tarball): New procedure.
(%bootstrap-base-url, %bootstrap-coreutils&co, %bootstrap-binutils):
New variables.
2012-10-21 22:00:38 +02:00
Ludovic Courtès
095c7a2683
distro: Add a bootstrap GCC tarball.
...
* distro/packages/base.scm (%gcc-stripped, %gcc-bootstrap-tarball): New
variables.
2012-10-21 15:57:04 +02:00
Ludovic Courtès
58a7891ccf
distro: Add a bootstrap glibc tarball.
...
* distro/packages/base.scm (%glibc-stripped, %glibc-bootstrap-tarball):
New variables.
2012-10-21 15:26:46 +02:00
Ludovic Courtès
17ff4ccdf5
distro: Add tools to build a tarball of statically-linked Binutils programs.
...
* distro/packages/base.scm (%binutils-static, %binutils-static-stripped,
%binutils-bootstrap-tarball): New variables.
2012-10-20 16:12:26 +02:00
Ludovic Courtès
5cbb559046
distro: Add a package to build a tarball of the bootstrap binaries.
...
* distro/packages/base.scm (tarball-package): New procedure.
(%bootstrap-binaries-tarball): New variable.
(%guile-bootstrap-tarball): Define in terms of `tarball-package'.
2012-10-20 11:51:07 +02:00
Ludovic Courtès
a5a349f302
distro: Provide a more descriptive report when a bootstrap binary is missing.
...
* distro/packages/base.scm (%bootstrap-guile): Error out when
`search-bootstrap-binary' returns #f.
2012-10-18 23:36:29 +02:00
Ludovic Courtès
d6e8777688
distro: Use the bootstrap Guile for the derivation of sources.
...
* distro/packages/base.scm (bootstrap-origin,
package-with-bootstrap-guile): New procedures.
(gnu-make-boot0, diffutils-boot0, findutils-boot0, binutils-boot0,
gcc-boot0, linux-libre-headers-boot0, glibc-final, bash-final,
guile-final): Use `package-with-bootstrap-guile'.
(gcc-boot0-wrapped): Clear `source'.
* guix/ftp.scm (ftp-fetch): Add a #:guile keyword parameter. Honor it.
* guix/http.scm (http-fetch): Likewise.
2012-10-18 23:18:38 +02:00
Ludovic Courtès
e3dadc6818
distro: bzip2: Simplify installation phase with `find-files'.
...
* distro/packages/base.scm (bzip2): Use `find-files' instead of rolling
our own with `file-system-fold'.
2012-10-18 21:43:35 +02:00
Ludovic Courtès
207ad6b2e9
distro: %static-binaries: Use (guix build utils).
...
* distro/packages/base.scm (%static-binaries): Add missing
use of (guix build utils).
2012-10-18 21:42:19 +02:00
Ludovic Courtès
683d57f420
distro: Fix bootstrapping regression recently introduced.
...
* distro/packages/base.scm (gcc-boot0-wrapped): Fix typo introduced in
a52e429f76
("distro: Add i686 support.")
2012-10-18 11:41:12 +02:00
Ludovic Courtès
f76a51add0
distro: Clear references to the store in static binaries.
...
* distro/packages/base.scm (%static-binaries): Clear references to the
store path for files in $out/bin.
2012-10-17 23:34:05 +02:00
Ludovic Courtès
c0746cc9db
utils: Add `copy-recursively'; use it.
...
* guix/build/utils.scm (copy-recursively): New procedure.
* distro/packages/base.scm (%guile-static-stripped): Use it.
2012-10-17 23:25:25 +02:00
Ludovic Courtès
7da95264f1
utils: Add `mkdir-p'; use it.
...
* guix/build/utils.scm (mkdir-p): New procedure.
* distro/packages/base.scm (gnu-make-boot0, gcc-boot0-wrapped,
ld-wrapper-boot3, %static-binaries, %guile-static-stripped): Use it.
* distro/packages/typesetting.scm (lout): Likewise.
2012-10-17 23:25:25 +02:00
Nikita Karetnikov
a52e429f76
distro: Add i686 support.
...
* distro/packages/base.scm (gcc-4.7): Turn `arguments' into a lambda.
Use `glibc-dynamic-linker' instead of the hard-coded linker name.
2012-10-17 23:25:25 +02:00
Ludovic Courtès
124b17673b
distro: Switch to Linux-Libre.
...
* distro/packages/base.scm (linux-headers): Rename to...
(linux-libre-headers): ... this. Change `name', `source', and
`description', and `home-page' accordingly. Update users.
(linux-headers-boot0): Rename to...
(linux-libre-headers-boot0): ... this. Update users.
2012-10-17 23:25:25 +02:00
Ludovic Courtès
ac5aa28889
distro: Use our own pre-built Guile to bootstrap.
...
* distro/packages/base.scm (%bootstrap-guile): Build from a tarball
containing a pre-built Guile.
* distro.scm (%bootstrap-binaries-directory): New variable.
(search-bootstrap-binary): New procedure.
* Makefile.am (bootstrapdir, bootstrap_x86_64_linuxdir,
dist_bootstrap_x86_64_linux_DATA, DISTCLEANFILES, DOWNLOAD_FILE): New
variables.
(distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz):
New rule.
(EXTRA_DIST): Add `build-aux/download.scm'.
(.scm.go): Define the `DISTRO_BOOTSTRAP_DIRECTORY' and
`DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY' environment variables.
* pre-inst-env.in: Define `DISTRO_BOOTSTRAP_DIRECTORY'.
* build-aux/download.scm: New file.
* distro/packages/bootstrap/x86_64-linux/{bash, mkdir, tar, xz}: New
files.
2012-10-17 23:25:25 +02:00
Ludovic Courtès
9735a7b6ea
distro: Add package that builds a tarball of the bootstrap Guile.
...
* distro/packages/base.scm (%guile-static-stripped): New variable.
2012-10-17 23:25:25 +02:00
Ludovic Courtès
eb1db76e34
distro: Add patch to allow the bootstrap Guile to work without iconv.
...
* distro/patches/guile-default-utf8.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
* distro/packages/base.scm (%guile-static): Use it.
(%guile-static-stripped): Add call to `remove-store-references'.
2012-10-17 23:25:25 +02:00
Ludovic Courtès
b7f280ee3e
distro: Change relocatable-Guile patch to work around broken argv[0].
...
* distro/patches/guile-relocatable.patch: Change to use /proc/self/exe
instead of PROGRAM_INVOCATION_NAME. Useful because Nix itself passes
just the basename of builders that it executes.
2012-10-17 23:25:25 +02:00
Ludovic Courtès
df1fab5837
distro: Add a statically-linked, relocatable Guile 2.0 package.
...
* distro/packages/base.scm (%guile-static, %guile-static-stripped): New
variables.
* distro/patches/guile-relocatable.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2012-10-13 22:36:39 +02:00
Ludovic Courtès
e300a0f8d2
distro: Add missing bits from previous commit.
...
* distro/packages/base.scm (default-keyword-arguments): New procedure.
2012-10-11 00:32:17 +02:00
Ludovic Courtès
a3f75312ec
distro: First stab at building statically-linked bootstrap binaries.
...
* distro/packages/base.scm (static-package): New procedure.
(%bash-static, %static-inputs, %static-binaries): New variables.
2012-10-11 00:25:55 +02:00
Ludovic Courtès
2143cf7a50
distro: Specify use of the bootstrap Guile for the initial derivations.
...
* distro/packages/base.scm (%bootstrap-guile): New variable.
(gnu-make-boot0, diffutils-boot0, findutils-boot0, binutils-boot0,
gcc-boot0, linux-headers-boot0, glibc-final, gcc-boot0-wrapped,
gcc-final, ld-wrapper-boot3, bash-final, guile-final): Add
`#:guile %bootstrap-guile' to the builder's arguments.
2012-10-06 01:25:19 +02:00
Ludovic Courtès
75668d7916
distro: Add libgc.
...
* distro/packages/base.scm (libgc): New variable.
(guile-2.0): Use it.
2012-09-26 23:17:39 +02:00
Ludovic Courtès
cb0d69ed16
distro: Add pkg-config.
...
* distro/packages/base.scm (pkg-config): New variable.
(guile-2.0): Use it.
* distro/packages/guile.scm (guile-reader): Likewise.
2012-09-26 23:06:45 +02:00
Ludovic Courtès
1722d6800f
distro: Add the `guile', `typesetting', and `databases' package modules.
...
* distro.scm (package-files): Adjust PREFIX-LEN to use the top-level
directory, not %DISTRO-MODULE-DIRECTORY.
* distro/packages/base.scm (guile-reader, guile-reader/guile-1.8,
guile-reader/guile-2.0, lout, recutils): Move to...
* distro/packages/guile.scm, distro/packages/typesetting.scm,
distro/packages/databases.scm: ... here. New files.
* Makefile.am (MODULES): Add them.
(EXTRA_DIST): Add `.dir-locals.el'.
* .dir-locals.el: New file, with settings formerly in `base.scm'.
2012-09-26 23:00:36 +02:00
Ludovic Courtès
1f455fdca6
distro: Rename (distro ...) to (distro packages ...).
...
* distro/base.scm, distro/ld-wrapper.scm: Move to `distro/packages'.
Adjust LD-WRAPPER-BOOT3 input file name accordingly.
* Makefile.am (MODULES): Adjust accordingly.
* distro.scm (%distro-module-directory): Change to "/distro/packages".
* guix/build-system/gnu.scm (standard-inputs): Change module name
to (distro packages base).
* tests/packages.scm (test-packages): Likewise.
2012-09-26 22:00:58 +02:00
Ludovic Courtès
8ffae202ac
distro: GCC: Upgrade to 4.7.2.
...
* distro/base.scm (gcc-4.7): Upgrade to 4.7.2.
2012-09-26 21:48:22 +02:00
Ludovic Courtès
82dc2b9af9
distro: Add an `ld' wrapper, to pass missing `-rpath' flags.
...
* distro/ld-wrapper.scm: New file.
* Makefile.am (MODULES): Add it.
* distro/base.scm (ld-wrapper-boot3): New variable.
(%boot3-inputs): Add LD-WRAPPER-BOOT3.
(bash-final, guile-final, ld-wrapper): New final.
(%final-inputs): Use BASH-FINAL; add LD-WRAPPER.
(gcc-4.7): Remove the `-rpath' trick from the `lib' spec string.
2012-09-26 21:21:05 +02:00