Ludovic Courtès
d373e57ea3
distro: Add GNU Pth.
...
* distro/packages/pth.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-04 23:08:44 +01:00
Ludovic Courtès
1627f7f733
distro: Add GNU gperf.
...
* distro/packages/gperf.scm: New file.
* Makefile.am (MODULES): Add it.
* distro/packages/guile.scm (guile-reader): Use it.
2012-11-04 22:55:59 +01:00
Ludovic Courtès
c44899a28b
distro: Split (distro packages base) into several files.
...
* distro/packages/base.scm (libsigsegv, gawk, perl, m4, gmp, mpfr, mpc,
ncurses, readline, bash, libtool, libunistring, libffi, pkg-config,
libgc): Move to modules of their own.
(guile-1.8, guile-2.0): Move to...
* distro/packages/guile.scm: ... here.
* distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/gawk.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/perl.scm, distro/packages/pkg-config.scm,
distro/packages/readline.scm: New files.
2012-11-04 22:37:22 +01:00
Ludovic Courtès
18633d4f35
distro: Move bootstrap packages to (distro packages bootstrap).
...
* distro/packages/base.scm (glibc-dynamic-linker, %bootstrap-guile,
bootstrap-origin, package-from-tarball, %bootstrap-base-url,
%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc,
%bootstrap-gcc, %bootstrap-inputs, package-with-bootstrap-guile): Move
to ...
* distro/packages/bootstrap.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
* tests/builders.scm: Use (distro packages bootstrap).
(%bootstrap-guile): Remove.
* tests/packages.scm: Likewise.
* tests/union.scm: Likewise, and remove @@ to access %bootstrap-inputs.
* tests/derivations.scm: Use (distro packages bootstrap) and remove @@
to access %bootstrap-coreutils&co.
* HACKING (When the platform is supported by Nixpkgs): Update
accordingly.
2012-11-04 22:04:41 +01:00
Ludovic Courtès
9d9e645081
distro: Go for one module per package.
...
The alternative, which was to use one module per category, would
probably not scale well. First, because many packages could fall into
several categories (does GnuTLS go into "networking", "security", or
"libraries"?). Second, because that could easily lead to circular
dependencies among modules ("security" and "networking" depend on each
other, etc.)
* distro/packages/databases.scm: Rename to...
* distro/packages/recutils.scm: ... this.
* distro/packages/typesetting.scm: Rename to...
* distro/packages/lout.scm: ... this.
* Makefile.am (MODULES): Adjust accordingly.
* po/POTFILES.in: Likewise.
2012-11-04 21:46:14 +01:00
Ludovic Courtès
d45122f537
packages: `description' → `synopsis', `long-description' → `description'.
...
* guix/packages.scm (<package>): Rename `description' to `synopsis', and
`long-description' to `description'.
* tests/packages.scm, distro/packages/base.scm,
distro/packages/databases.scm, distro/packages/guile.scm,
distro/packages/typesetting.scm: Update accordingly.
* po/Makevars (XGETTEXT_OPTIONS): Update `--keyword' flags accordingly.
2012-11-04 13:48:35 +01:00
Ludovic Courtès
e76bdf8b87
build: Clearly mark Nixpkgs as optional.
...
* configure.ac: Always show the result of checking for Nixpkgs. Don't
warn when Nixpkgs is not found.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Remove `--with-nixpkgs'
flag.
* guix/utils.scm (%nixpkgs-directory): Use either the compile-time or
the run-time `NIXPKGS' environment variable.
* release.nix (jobs.tarball, jobs.build): Remove `--with-nixpkgs'
configure flag.
* README: Mark Nixpkgs as optional.
* distro/packages/databases.scm, distro/packages/guile.scm,
distro/packages/typesetting.scm: Change uses of `nixpkgs-derivation*'
to `nixpkgs-derivation', to avoid failing at compile-time.
2012-11-03 21:11:26 +01:00
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
Ludovic Courtès
dc8907d8e3
distro: gcc: Patch `lib' spec to add `-rpath' for each `-L'.
...
* distro/base.scm (gcc-4.7): Patch `LIB_SPEC' to add `-rpath' for each
`-L'. Spec string suggested by Marc Glisse <marc.glisse@inria.fr>.
(libtool): Add `libtool-skip-tests.patch'.
* distro/patches/libtool-skip-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2012-09-14 00:49:39 +02:00
Ludovic Courtès
457dd86d66
Add (guix ftp) and companion modules.
...
* guix/ftp-client.scm, guix/ftp.scm, guix/build/ftp.scm: New files.
* Makefile.am (MODULES): Add them.
* distro/base.scm (libffi): Use `ftp-fetch'.
2012-09-12 23:47:49 +02:00
Ludovic Courtès
fb585745ad
distro: Use our own Perl during bootstrap.
...
* distro/base.scm (linux-headers-boot0): Use PERL with %BOOT0-INPUTS
instead of calling out to `nixpkgs-derivation*'.
2012-09-12 00:07:51 +02:00
Ludovic Courtès
dc0a9729dd
distro: gcc: Add a RUNPATH on libc.
...
* distro/base.scm (gcc-4.7): Remove unnecessary "libc" input.
Add `-rpath LIBC/lib' to `LIB_SPEC'.
2012-09-12 00:07:12 +02:00
Ludovic Courtès
b289e9f9dd
distro: Add Perl.
...
* distro/base.scm (perl): New variable.
* distro/patches/perl-no-sys-dirs.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2012-09-11 22:17:20 +02:00
Ludovic Courtès
321b099643
distro: Bootstrap via a cross-toolchain.
...
This allows the final toolchain to be completely independent of
%BOOTSTRAP-INPUTS.
* distro/base.scm (glibc-dynamic-linker): New procedure.
(gcc-4.7): Remove #:path-exclusions argument. Check whether LIBC is
#f before using it.
(glibc): Remove "libc_cv_as_needed" hack. Patch `Makeconfig' to
remove `-lgcc_s'.
(nix-system->gnu-triplet, boot-triplet): New variables.
(binutils-boot0): Turn into a cross-Binutils targeting (boot-triplet
SYSTEM).
(gcc-boot0): Likewise. Add configure options to make a smaller
build. Remove "binutils-source" from the input, and use
BINUTILS-BOOT0 instead.
(glibc-final): Cross-build using GCC-BOOT0 and BINUTILS-BOOT0.
(gcc-boot0-wrapped): New variable.
(%boot2-inputs): Use it.
(m4-boot2, gmp-boot2, mpfr-boot2, mpc-boot2): Remove.
(binutils-final): New variable.
(gcc-final): Turn into a joint build with GMP/MPFR/MPC. Use
BINUTILS-FINAL.
(%boot3-inputs): Adjust accordingly.
(%boot4-inputs): Remove.
(%final-inputs): Use %BOOT3-INPUTS.
2012-09-11 22:08:55 +02:00
Ludovic Courtès
3c0670e686
distro: Reduce the bootstrap set.
...
* distro/base.scm (%bootstrap-inputs): Remove `gnumake', `diffutils',
and `findutils'.
(gnu-make-boot0, diffutils-boot0, findutils-boot0, %boot0-inputs): New
variables.
(binutils-boot0, gcc-boot0, linux-headers-boot0, %boot1-inputs):
Replace %BOOTSTRAP-INPUTS by %BOOT0-INPUTS.
(final-inputs): Remove now unneeded call to
`source-properties->location'.
2012-09-07 15:49:48 +02:00
Ludovic Courtès
5f805fdf17
distro: Bootstrap with a joint GCC/Binutils/GMP/MPFR/MPC build.
...
* distro/base.scm (%bootstrap-inputs): Remove GMP, MPFR, and MPC.
(substitute-keyword-arguments): New macro.
(gcc-boot0): Add dependency on the Binutils, GMP, MPFR, and MPC
tarballs. Add a `unpack-binutils&co' phase to unpack them and symlink
them so they get built, and to patch errors in `configure'.
(glibc-final): Use `substitute-keyword-arguments' instead of a loop.
(gcc-final): Inherit from GCC-4.7 instead of GCC-BOOT0.
2012-09-06 00:05:06 +02:00
Ludovic Courtès
181df11887
distro: gcc: Avoid retention of reference to `sed'.
...
* distro/base.scm (gcc-4.7)[pre-configure]: Patch fixincl.x.
2012-09-06 00:01:41 +02:00
Ludovic Courtès
5f45668080
distro: glibc: Assume a recent Linux kernel.
...
* distro/base.scm (glibc): Pass "--enable-kernel=2.6.30".
2012-09-06 00:00:34 +02:00
Ludovic Courtès
a08cdce7ed
distro: mpc: Upgrade to 1.0.
...
* distro/base.scm (mpc): Upgrade to 1.0.
2012-09-05 21:47:26 +02:00
Ludovic Courtès
ea52a52d7c
distro: bash, readline: Correctly set RUNPATH to the dependencies.
...
* distro/base.scm (readline): Add configure flags to set an rpath on
ncurses.
(bash): Add configure flags to set an rpath to readline and ncurses.
2012-09-03 01:06:58 +02:00
Ludovic Courtès
6818af7ba5
distro: Add bzip2.
...
* distro/base.scm (bzip2): New variable.
(%final-inputs): Add bzip2.
2012-09-02 23:12:17 +02:00
Ludovic Courtès
60f984b262
distro: Bootstrap standard inputs from Nixpkgs.
...
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-02 20:05:39 +02:00
Ludovic Courtès
8bb9f66fc6
distro: recutils: Allow builds with glibc 2.16+.
...
* distro/base.scm (recutils): Apply. `diffutils-gets-undeclared.patch'.
2012-09-02 19:01:28 +02:00
Ludovic Courtès
0a3da5b7f0
distro: glibc: Propagate Linux headers.
...
* distro/base.scm (glibc): Move LINUX-HEADERS from `native-inputs' to
`propagated-inputs'. Remove unnecessary `_' in /bin/pwd substitution.
2012-09-02 19:01:28 +02:00
Ludovic Courtès
a5071b990d
distro: diffutils: Allow builds with glibc 2.16+.
...
* distro/patches/diffutils-gets-undeclared.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
* distro/base.scm (diffutils): Apply. `diffutils-gets-undeclared.patch'.
2012-09-02 16:13:49 +02:00
Ludovic Courtès
472894aae8
distro: tar: Allow builds with glibc 2.16+.
...
* distro/patches/tar-gets-undeclared.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
* distro/base.scm (tar): Apply. `tar-gets-undeclared.patch'.
2012-09-02 16:05:41 +02:00
Ludovic Courtès
8197c978ef
utils: Change `substitute*' to allow iteration over several matches.
...
* guix/build/utils.scm (substitute): Do not pass the OUT to PROC; use
`list-matches' instead of `regexp-exec' and pass a list of matches to
PROC. Expect PROC to return a string, and output that. Fold over
RX+PROC in order. Use `(read-line p 'concat)' to include the trailing
delimiter in LINE.
(substitute*): Produce code to iterate over the matches, and return a
string, which includes anything from the original line that's in
between matches.
* distro/base.scm (gcc-4.7, glibc): Adjust accordingly: remove use
of (ice-9 regex) and `regexp-substitute/global'; return a string.
2012-09-01 19:21:31 +02:00
Ludovic Courtès
9dd036f35c
distro: m4: Add patch to allow builds with glibc 2.16+.
...
* distro/base.scm (m4): Use `m4-gets-undeclared.patch'.
* distro/patches/m4-gets-undeclared.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2012-09-01 11:52:52 +02:00
Ludovic Courtès
dc4e02572e
build-system/gnu: Add `path-exclusions' parameter.
...
* guix/build/gnu-build-system.scm (set-paths): Add new `path-exclusions'
parameter; honor it.
* guix/build-system/gnu.scm (gnu-build): New `path-exclusions' keyword
parameter; pass it to BUILDER.
* distro/base.scm (gcc-4.7): Exclude "libc" from $LIBRARY_PATH.
2012-09-01 01:14:31 +02:00
Ludovic Courtès
f1f100b297
distro: gcc: Allow `libstdc++' to be found.
...
* distro/base.scm (gcc-4.7): Add `-rpath' arguments to `LIB_SPEC' to
allow `libstdc++' to be found by users.
2012-09-01 00:35:12 +02:00
Ludovic Courtès
6e0874db3d
distro: gcc: Pass #:strip-binaries?.
...
* distro/base.scm (gcc-4.7): Pass #:strip-binaries?.
2012-09-01 00:33:23 +02:00
Ludovic Courtès
a436d2018e
distro: gcc: Do not store configure flags in the resulting binaries.
...
* distro/base.scm (gcc-4.7): Add a `post-configure' phase to clear
`TOPLEVEL_CONFIGURE_ARGUMENTS' in the top-level `Makefile'.
2012-08-30 23:03:11 +02:00
Ludovic Courtès
c79dae6076
distro: Add missing Binutils patch.
...
* distro/patches/binutils-ld-new-dtags.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2012-08-29 00:15:39 +02:00
Ludovic Courtès
7cdeac023d
distro: Add the GNU C Library.
...
* distro/base.scm (glibc): New variable.
2012-08-28 23:15:13 +02:00
Ludovic Courtès
3db3913ebb
distro: Add Linux headers.
...
* distro/base.scm (linux-headers): New variable.
2012-08-28 22:31:17 +02:00
Ludovic Courtès
8f6201a31f
distro: Add GNU Binutils.
...
* distro/base.scm (binutils): New variable.
2012-08-25 13:12:47 +02:00
Ludovic Courtès
81e57ec5ff
distro: Add GCC.
...
* distro/base.scm (gcc-4.7): New variable.
2012-08-25 13:12:47 +02:00
Ludovic Courtès
dfae21c8cc
distro: coreutils: Remove erroneous hack.
...
* distro/base.scm (coreutils)[arguments]: Remove
"FORCE_UNSAFE_CONFIGURE" setting, since in fact, this is no problem
when using Nix with separate build users.
2012-08-23 00:17:14 +02:00
Ludovic Courtès
2c957cd244
distro: Add GNU Coreutils.
...
* distro/base.scm (coreutils): New variable.
2012-08-22 23:49:36 +02:00
Ludovic Courtès
24cf75b9ef
distro: Add XZ.
...
* distro/base.scm (xz): New variable.
2012-08-22 23:32:39 +02:00
Ludovic Courtès
e0fb536aaf
distro: Add GNU gzip.
...
* distro/base.scm (gzip): New variable.
2012-08-22 23:29:53 +02:00
Ludovic Courtès
fbeec3d9bd
distro: Add GNU Patch.
...
* distro/base.scm (patch): New variable.
2012-08-22 23:18:32 +02:00
Ludovic Courtès
04a32ee5ea
distro: Add GNU Diffutils.
...
* distro/base.scm (diffutils): New variable.
2012-08-22 23:11:31 +02:00
Ludovic Courtès
800cdeef31
distro: Move patches to their own directory.
...
* Makefile.am (nobase_dist_guilemodule_DATA): Keep only $(MODULES).
(patchdir): New variable.
(dist_patch_DATA): New variable. Patch files formerly
in $(nobase_dist_guilemodule_DATA).
(.scm.go): Define `DISTRO_PATCH_DIRECTORY' and
`DISTRO_INSTALLED_PATCH_DIRECTORY'.
(TESTS_ENVIRONMENT): Define `DISTRO_PATCH_DIRECTORY'.
* distro.scm (%patch-directory): New variable.
(search-patch): New procedure.
* distro/base.scm: Use `search-patch' instead of `(search-path
%load-path ...)'.
* distro/findutils-absolute-paths.patch, distro/guile-1.8-cpp-4.5.patch,
distro/m4-readlink-EINVAL.patch, distro/m4-s_isdir.patch,
distro/make-impure-dirs.patch: Move to `distro/patches'.
2012-08-22 17:25:43 +02:00
Ludovic Courtès
af5521ca01
distro: Add GNU Findutils.
...
* distro/base.scm (findutils): New variable.
* distro/findutils-absolute-paths.patch: New file.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-08-22 15:51:17 +02:00
Ludovic Courtès
6794b278ce
distro: Add GNU grep.
...
* distro/base.scm (grep): New variable.
2012-08-22 15:22:38 +02:00
Ludovic Courtès
852403224e
distro: Add GNU tar.
...
* distro/base.scm (tar): New variable.
2012-08-22 15:21:50 +02:00
Ludovic Courtès
8dcad9aa9d
distro: Add GNU sed.
...
* distro/base.scm (sed): New variable.
2012-08-22 15:11:12 +02:00
Ludovic Courtès
9350da0dac
distro: Add GNU Bash.
...
* distro/base.scm (bash): New variable.
2012-08-21 18:23:51 +02:00
Ludovic Courtès
ab77686565
distro: Add GNU Make.
...
* distro/base.scm (gnu-make): New variable.
* distro/make-impure-dirs.patch: New file.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-08-21 18:14:57 +02:00
Ludovic Courtès
54ba617e9f
distro: gmp: Fix typo in URL.
...
* distro/base.scm (gmp): Fix URL.
2012-08-19 17:56:03 +02:00
Ludovic Courtès
202851dd8d
distro: Add GNU MPC.
...
* distro/base.scm (mpc): New variable.
2012-07-21 19:17:53 +02:00
Ludovic Courtès
040d1b2c4a
distro: Add GNU MPFR.
...
* distro/base.scm (mpfr): New variable.
2012-07-21 17:20:38 +02:00
Ludovic Courtès
38701758da
distro: Add GNU recutils.
...
* distro/base.scm (recutils): New variable.
2012-07-21 17:05:27 +02:00
Ludovic Courtès
f66963df93
distro: Add libffi.
...
* distro/base.scm (libffi): New variable.
(guile-2.0): Use it.
2012-07-13 12:12:34 +02:00
Ludovic Courtès
1788a45637
distro: Add GNU Ncurses.
...
* distro/base.scm (ncurses): New variable.
(readline): Use it.
2012-07-12 18:02:09 +02:00
Ludovic Courtès
2282ec3a04
distro: Add GNU Readline.
...
* distro/base.scm (readline): New variable.
(guile-1.8, guile-2.0): Use it.
* distro/readline-link-ncurses.patch: New file.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-07-12 16:54:00 +02:00
Ludovic Courtès
ce5d658c5c
Add `nixpkgs-derivation*'; use it in the distro.
...
* guix/utils.scm (nixpkgs-derivation*): New macro.
* distro/base.scm: Use it instead of `nixpkgs-derivation'.
2012-07-11 17:26:43 +02:00
Ludovic Courtès
fd33c82c43
distro: Add GNU libunistring.
...
* distro/base.scm (libunistring): New variable.
(guile-2.0): Use it.
2012-07-11 17:25:12 +02:00
Ludovic Courtès
454fe58b49
distro: Add GNU Libtool.
...
* distro/base.scm (libtool): New variable.
(guile-1.8, guile-2.0): Use it.
2012-07-11 16:20:46 +02:00
Ludovic Courtès
eb229e889a
distro: Add GMP.
...
* distro/base.scm (gmp): New variable.
(guile-1.8, guile-2.0): Use it.
2012-07-11 15:48:11 +02:00
Ludovic Courtès
4ac3df4290
distro: Add GNU M4.
...
* distro/base.scm (m4): New variable.
* distro/m4-readlink-EINVAL.patch, distro/m4-s_isdir.patch: New files.
* Makefile.am (nobase_dist_guilemodule_DATA): Add them.
2012-07-11 15:42:40 +02:00
Ludovic Courtès
d9d466ddff
distro: Add Guile-Reader.
...
* distro/base.scm (guile-reader): New procedure.
(guile-reader/guile-1.8, guile-reader/guile-2.0): New variables.
2012-07-07 22:39:03 +02:00
Ludovic Courtès
466af8e8dd
distro: guile-2.0: Propagate libunistring and Libtool.
...
* distro/base.scm (guile-2.0): Propagate libunistring and Libtool.
2012-07-07 20:28:03 +02:00
Ludovic Courtès
6332da77f6
distro: guile-1.8: Propagate GMP and Libtool.
...
* distro/base.scm (guile-1.8): Propagate GMP and Libtool.
2012-07-07 20:19:38 +02:00
Ludovic Courtès
d5f0c7cc62
distro: Add GNU Guile 2.0, released today!
...
* distro/base.scm (guile-2.0): New variable.
2012-07-07 18:41:16 +02:00
Ludovic Courtès
d7978f46c5
distro: Add Lout.
...
* distro/base.scm (lout): New variable.
2012-07-07 18:14:24 +02:00
Ludovic Courtès
4fa697e932
utils: Change `substitute' and `substitute*' to work with several regexps.
...
* guix/build/utils.scm (substitute): Change to accept a `pattern+procs'
parameter. Iterate over it.
(substitute*): Adjust accordingly.
* distro/base.scm (guile-1.8): Adjust accordingly.
2012-07-07 17:12:04 +02:00
Ludovic Courtès
03f9609ad9
distro: gawk: Disable parallel tests.
...
* distro/base.scm (gawk): Explicitly disable parallel tests.
2012-07-07 16:51:13 +02:00
Ludovic Courtès
10c87717bd
utils: Introduce `substitute*', for easier sed-like syntax.
...
* guix/build/utils.scm (let-matches, substitute*): New macros.
* distro/base.scm (guile-1.8): Use `substitute*' instead of
`substitute'. Remove the #:modules argument.
2012-07-07 16:25:10 +02:00
Ludovic Courtès
d767288490
distro: Add GNU Guile 1.8.
...
* distro/base.scm (guile-1.8): New variable.
* distro/guile-1.8-cpp-4.5.patch: New file.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-07-06 01:00:40 +02:00
Ludovic Courtès
90c68be883
Rename <package-source> to <origin>; use the `letrec*' behavior in packages.
...
* guix/packages.scm (<package-source>): Rename to...
(<origin>): ... this. Update users.
* distro/base.scm (libsigsegv, gawk, hello): Adjust to renaming; refer
to VERSION to build the URL.
2012-07-03 23:50:29 +02:00
Ludovic Courtès
e4c245f8a5
Add a `base32' macro, for convenience.
...
* guix/packages.scm (base32): New macro.
* distro/base.scm (libsigsegv, gawk, hello): Use it.
2012-07-02 16:07:26 +02:00
Ludovic Courtès
03671375b6
packages: Allow the `arguments' field to be a procedure.
...
* guix/packages.scm (package-derivation): When ARGS is a procedure, call
(ARGS SYSTEM).
* distro/base.scm (gawk)[arguments]: Turn into a procedure, to disable
tests on Cygwin.
2012-07-02 15:59:30 +02:00
Ludovic Courtès
888f72e97f
distro: libsigsegv: Use multiple outputs.
...
* distro/base.scm (libsigsegv)[outputs]: New field
(gawk)[arguments]: Clear.
[inputs]: Add the "lib" output of LIBSIGSEGV.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
64fddd74f0
distro: Add libsigsegv and GNU Awk.
...
* guix/packages.scm (<package>)[arguments]: Default to '().
* distro/base.scm (libsigsegv, gawk): New packages.
(hello): Use GAWK instead of (nixpkgs-derivation "gawk").
2012-06-29 00:28:57 +02:00
Ludovic Courtès
45753b6552
packages: Add a `home-page' field.
...
* guix/packages.scm (<package>)[home-page]: New field.
* distro/base.scm (hello)[home-page]: Initialize.
2012-06-28 23:44:43 +02:00
Ludovic Courtès
e3ce5d709f
Add a declarative packaging layer.
...
* Makefile.am (MODULES): Add `guix/packages.scm' and `distro/base.scm'.
(TESTS): Add `tests/packages.scm'.
(EXTRA_DIST): New variable.
* guix/packages.scm, distro/base.scm, tests/packages.scm: New files.
* guix/http.scm (http-fetch): Make `name' an optional argument, to match
the expectations of `package-source-derivation'.
2012-06-28 01:24:34 +02:00