Commit Graph

43029 Commits

Author SHA1 Message Date
Ludovic Courtès b86b00567c build: Pass $(NIX_INSTANTIATE) to the build and test environments.
* Makefile.am (.scm.go): Define $NIX_INSTANTIATE.
  (TESTS_ENVIRONMENT): Likewise, and define $NIX_HASH.
* guix/utils.scm (nixpkgs-derivation): Use $NIX_INSTANTIATE when
  defined.

* tests/utils.scm (%nix-hash): New variable.
  ("sha256 & bytevector->nix-base32-string"): Use it.
2012-08-14 18:42:46 +02:00
Ludovic Courtès ed795c0608 build: Add SRFI-64 to the distribution.
* Makefile.am (MODULES): Add `srfi/srfi-64.scm' and
  `srfi/srfi-64.upstream.scm'.
2012-08-14 18:28:04 +02:00
Ludovic Courtès 2152e3c5b2 build: Add release.nix.
* release.nix: New file.
* Makefile.am (EXTRA_DIST): Add it.
2012-08-14 17:38:18 +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 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