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
7e2255e6c1
guix-build: Default the number of build cores to (current-processor-count).
...
* guix-build.in (guix-build): Use (current-processor-count) build cores
by default.
2012-07-12 16:52:52 +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
6365068393
build: Use Automake's `gnu' option.
...
* configure.ac: Use Automake's `gnu' option.
* ChangeLog, NEWS: New files.
2012-07-07 22:53:01 +02:00
Ludovic Courtès
e1e7b29aae
build: Adjust tests to Automake 1.12.
...
* Makefile.am (TESTS_ENVIRONMENT): Remove `guile' invocation. Add
semicolons, and export the variables as shown in the Automake 1.12
manual.
(LOG_COMPILER): New variable, with `guile' invocation.
2012-07-07 22:51:40 +02:00
Ludovic Courtès
162dcc8b4c
Add `THANKS'.
2012-07-07 22:39:57 +02:00
Ludovic Courtès
f5614e69e1
build: Tell xgettext that the source is UTF-8.
...
* po/Makevars (XGETTEXT_OPTIONS): Add `--from-code=UTF-8'.
2012-07-07 22:39:39 +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
d44bc84b15
Unset LD_LIBRARY_PATH' in
build-expression->derivation'.
...
* guix/derivations.scm (build-expression->derivation)[prolog]: Unset
`LD_LIBRARY_PATH'.
2012-07-07 22:38:08 +02:00
Ludovic Courtès
da62d3e5ae
build-system/gnu: Add dependency on GNU Findutils.
...
* guix/build-system/gnu.scm (%standard-inputs): Add "findutils".
2012-07-07 22:08:35 +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
a3d73f59e3
Add `package-transitive-inputs'; use it to honor propagated inputs.
...
* guix/packages.scm (package-transitive-inputs): New procedure.
(package-derivation): Use it to compute INPUTS.
* tests/packages.scm (dummy-package): New macro.
("package-transitive-inputs"): New test.
2012-07-07 20:14:31 +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
c51e6ea2d8
build-system/gnu: Set $PKG_CONFIG_PATH.
...
* guix/build/gnu-build-system.scm (set-paths): Add `PKG_CONFIG_PATH'.
2012-07-07 18:40:39 +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
c3c7eb4194
build-system/gnu: Add `tests?' parameter.
...
* guix/build-system/gnu.scm (gnu-build): Add `tests?' parameter.
[builder]: Inherit it.
2012-07-07 18:12:20 +02:00
Ludovic Courtès
d9dbab18e2
utils: Have `substitute' restore the file's permission bits.
...
* guix/build/utils.scm (substitute): Restore FILE's mode before renaming
TEMPLATE.
2012-07-07 18:11:52 +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
fa14d96e6f
guix-build: Add `--cores'.
...
* guix-build.in (leave): New macro, formerly in `guix-build'.
(show-help): Document `--cores'.
(%options): Add `--cores'.
(guix-build): Remove `leave' macro from here. Pass the `cores' option
value to `set-build-options'.
2012-07-07 16:50:40 +02:00
Ludovic Courtès
febaa88569
build-system/gnu: Support parallel builds and tests.
...
* guix/build/gnu-build-system.scm (build): Add `parallel-build?'
parameter; honor it and $NIX_BUILD_CORES.
(check): Add `parallel-tests?' parameter; likewise.
* guix/build-system/gnu.scm (gnu-build): Add `parallel-build?' and
`parallel-tests?' parameters.
[builder]: Inherit them.
2012-07-07 16:49:23 +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
8e6ecb1400
utils: Make sure `substitute' writes all its output.
...
* guix/build/utils.scm (substitute): Close OUT before renaming it.
2012-07-06 00:51:55 +02:00
Ludovic Courtès
1a7d8e2048
gnu-build-system: Dump the values of environment variables.
...
* guix/build/gnu-build-system.scm (set-paths): Dump the value of
environment variables in the `environment-variables' files, similar to
what Nixpkgs does.
2012-07-06 00:50:07 +02:00
Ludovic Courtès
e67ac6e668
packages: Allow inputs that are local files.
...
* guix/packages.scm (package-derivation): Add to the store inputs that
are local files.
2012-07-05 01:20:05 +02:00
Ludovic Courtès
74cd03b1a0
build-system/gnu: Add a `patch' phase.
...
* guix/build/gnu-build-system.scm (patch): New procedure.
(%standard-phases): Add `patch'.
* guix/build-system/gnu.scm (gnu-build): Add `patches' and `patch-flags'
parameters. Pass them on.
2012-07-05 01:04:20 +02:00
Ludovic Courtès
3e43c64a74
build-system/gnu: Make the builder's module list a parameter.
...
* guix/build-system/gnu.scm (gnu-build): Add a `modules' keyword
parameter; use it.
2012-07-05 00:14:40 +02:00
Ludovic Courtès
b0e0d0e99f
Add builder-side utilities for phases, stream editing, & co.
...
* guix/build/utils.scm (with-directory-excursion): New macro.
(alist-cons-before, alist-cons-after, alist-replace): New procedures.
(substitute): New procedure.
* tests/build-utils.scm: New file.
* Makefile.am (TESTS): Add `tests/build-utils.scm'.
2012-07-05 00:13:30 +02:00
Ludovic Courtès
c9d01150c0
packages: Add a `self-native-input?' field.
...
* guix/packages.scm (<package>)[self-native-input?]: New field.
(package-derivation): Update/fix pattern.
2012-07-05 00:09:17 +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
8fd5bd2b69
define-record-type*: Add `letrec*' behavior.
...
* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Bind
all the ((FIELD VALUE) ...) in a `letrec*'. Adjust `field-value'
accordingly.
* tests/utils.scm ("define-record-type* with letrec* behavior"): New
test.
2012-07-03 21:59:56 +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
a1232d0cb8
gnu-build-system: Improve the configure' and
check' phases.
...
* guix/build/gnu-build-system.scm (configure): Print the final list of
flags.
(check): Add `tests?' keyword parameter.
2012-07-02 15:56:22 +02:00
Ludovic Courtès
18a8dad70c
gnu-build-system: Print the `configure' flags.
...
* guix/build/gnu-build-system.scm (configure): Print CONFIGURE-FLAGS.
2012-07-02 15:40:34 +02:00
Ludovic Courtès
8ef3401f65
Make `define-record-type*' error messages more informative.
...
* guix/utils.scm (define-record-type*): In case of missing or extra
field initializers, raise a descriptive `syntax-error'.
2012-07-02 15:37: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
9336b5ab55
guix-build: Display multiple outputs when needed.
...
* guix-build.in (guix-build): Display multiple outputs when there's more
than one.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
d66ac374e9
derivation: Coalesce multiple occurrences of the same input.
...
* guix/derivations.scm (write-derivation)[coalesce-duplicate-inputs]:
New procedure.
Use it to process INPUTS.
* tests/derivations.scm ("user of multiple-output derivation"): New
test.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
5f904ffbb1
build: Don't auto-compile tests.
...
* Makefile.am (TESTS_ENVIRONMENT): Add `--no-auto-compile'.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
08005c6579
gnu-build-system: Fix "libdir" and "includedir" for multiple-output drvs.
...
* guix/build/gnu-build-system.scm (configure): Change `--libdir' and
`--includedir' to LIBDIR + "/lib" and INCLUDEDIR + "/include",
respectively.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
e36a717216
Upgrade Nix worker protocol.
...
We were already relying on the new version in `set-build-options', so
this patch fixes that.
* guix/store.scm (%protocol-version): Increase.
(open-connection)[reserve-space?]: New argument. Pass it to the
server when it's recent enough.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
561eaf7144
derivation: Move sorting code to `write-derivation'.
...
* guix/derivations.scm (write-derivation): Sorte OUTPUTS, INPUTS,
SOURCES, and ENV-VARS alphabetically.
(derivation-hash): Leave INPUTS, SOURCES, and OUTPUTS unsorted.
(derivation)[env-vars-with-empty-outputs]: Leave ENV-VARS unsorted.
2012-07-02 01:35:39 +02:00