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
Ludovic Courtès
0a04234081
build: Use `AM_GNU_GETTEXT_VERSION'.
...
* configure.ac: Add `AM_GNU_GETTEXT_VERSION'. Suggested by
Antono Vasiljev.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
4b1786aa2c
Fix `derivation-hash' for outputs not sorted alphabetically.
...
* guix/derivations.scm (derivation-hash): Reorder OUTPUTS.
* tests/derivations.scm ("multiple-output derivation, non-alphabetic
order"): New test.
2012-07-02 01:35:39 +02:00
Ludovic Courtès
062c6927ad
Add propagated-inputs' and
properties' to <package>.
...
* guix/packages.scm (<package>)[propagated-inputs, properties]: New
fields.
(package-derivation): Update `match' clause.
2012-07-02 01:35:34 +02:00
Ludovic Courtès
a1e4a93693
Update list of dependencies.
...
* README: Require libgcrypt or libchop.
2012-07-01 15:11:14 +02:00
Ludovic Courtès
73fbb90431
build: Build (guix utils) first.
...
* Makefile.am (MODULES): Move `guix/utils.scm' first.
2012-07-01 15:10:50 +02:00
Ludovic Courtès
6152632593
build: Capitalize the package name.
...
* configure.ac: Use "Guix", not "guix", as the package name.
2012-07-01 00:58:32 +02:00
Ludovic Courtès
14a1c3197c
Add `guix-build'.
...
* guix-build.in: New file.
* configure.ac: Emit `guix-build'. Add `commands-exec'.
* Makefile.am (bin_SCRIPTS): New variable.
* po/POTFILES.in: Add `guix-build.in'.
2012-07-01 00:56:24 +02:00
Ludovic Courtès
9a20830e57
Add derivation-prerequisites' and
derivation-prerequisites-to-build'.
...
* guix/derivations.scm (derivation-prerequisites,
derivation-prerequisites-to-build): New procedures.
* tests/derivations.scm ("build-expression->derivation and
derivation-prerequisites", "build-expression->derivation and
derivation-prerequisites-to-build"): New tests.
2012-07-01 00:37:03 +02:00
Ludovic Courtès
31ef99a8a5
Add the `valid-path?' RPC.
...
* guix/store.scm (valid-path?): New procedure.
* tests/builders.scm ("http-fetch", "gnu-build"): Use it.
* tests/derivations.scm ("add-to-store, flat", "add-to-store,
recursive", "derivation with no inputs", "build derivation with 1
source", "build derivation with coreutils",
"build-expression->derivation with expression returning #f"):
Likewise.
2012-07-01 00:27:27 +02:00
Ludovic Courtès
e036c31bc6
Add missing `set-build-options' parameters.
...
* guix/store.scm (set-build-options)[build-cores, use-substitutes?]: New
keyword parameters.
[send]: Change to expect a type, and use `write-arg'.
Send settings for BUILD-CORES and USE-SUBSTITUTES? when the server
supports it.
2012-07-01 00:09:47 +02:00
Ludovic Courtès
6b1891b0a1
Add (distro) with a package searching facility.
...
* Makefile.am (MODULES): Add `distro.scm'.
* distro.scm: New file.
* po/POTFILES.in: Add it.
* tests/packages.scm ("find-packages-by-name", "find-packages-by-name
with version"): New tests.
2012-06-30 16:37:19 +02:00
Ludovic Courtès
39b9372ca7
Add a libgcrypt-based implementation of `sha256'.
...
* guix/utils.scm (sha256): Add a libgcrypt-based implementation using
the FFI.
2012-06-29 22:58:27 +02:00
Ludovic Courtès
f68b089361
Gettextize, with GNU Gettext 0.18.1.
...
* Makefile.am (EXTRA_DIST): Add `build-aux/config.rpath'.
(SUBDIRS, ACLOCAL_AMFLAGS): New variables.
* configure.ac: Use `AM_GNU_GETTEXT'. Emit `po/Makefile.in'.
* po/Makevars, po/POTFILES.in: New files.
2012-06-29 22:38:22 +02:00