Ludovic Courtès
e8b3afeb92
build: Use separate `AC_CONFIG_FILES' invocations for executable files.
...
* configure.ac: Use separate AC_CONFIG_FILES invocations for files that
need to be made executable.
* config-daemon.ac: Likewise.
2013-05-12 23:26:46 +02:00
Ludovic Courtès
f5ebf5c6ac
build: Add `gitlog-to-changelog'.
...
* build-aux/gitlog-to-changelog: New file, from Gnulib.
2013-05-12 22:41:11 +02:00
Ludovic Courtès
0f241da212
Update `NEWS'.
2013-05-12 16:35:27 +02:00
Ludovic Courtès
a463ffd9e8
build: Make sure the distribution doesn't embed store file names.
...
* Makefile.am (assert-no-store-file-names): New target.
(dist-hook): Depend on it.
2013-05-12 16:35:18 +02:00
Ludovic Courtès
e793178adb
build: Generate a ChangeLog file upon "make dist".
...
* Makefile.am (sync-synopses): New rule, formerly `dist-hook.
(gen-ChangeLog): New rule.
(dist-hook): Depend on these two targets.
2013-05-12 16:35:17 +02:00
Ludovic Courtès
c0cd1b3ea7
Move record utilities to (guix records).
...
* guix/utils.scm (define-record-type*): Move to...
* guix/records.scm: ... here. New file.
* guix/build-system.scm, guix/packages.scm: Use it.
* guix/gnu-maintenance.scm: Likewise.
(official-gnu-packages)[alist->record]: Remove.
* guix/scripts/substitute-binary.scm: Likewise.
(alist->record, object->fields): Remove.
* tests/utils.scm ("define-record-type*", "define-record-type* with
letrec* behavior", "define-record-type* & inherit",
"define-record-type* & inherit & letrec* behavior",
"define-record-type* & thunked", "define-record-type* & thunked &
default", "define-record-type* & thunked & inherited"): Move to...
* tests/records.scm: ... here. New file.
2013-05-12 15:46:16 +02:00
Ludovic Courtès
9b1ef2f323
release.nix: Revert back to before unchroot experiments.
...
* release.nix: Revert to commit 4050e5d6cf .
2013-05-12 15:18:17 +02:00
Ludovic Courtès
46614bba7c
gnu: guile-reader: Install modules in the right place.
...
* gnu/packages/guile.scm (guile-reader): Add `arguments' field.
2013-05-12 12:37:21 +02:00
Ludovic Courtès
47d188109e
Update `NEWS'.
2013-05-11 22:50:01 +02:00
Ludovic Courtès
1b1c335f5e
gnu: Add GNU RCS.
...
* gnu/packages/bazaar.scm: Rename to...
* gnu/packages/version-control.scm: ... this.
(rcs): New variable.
* Makefile.am (MODULES): Adjust accordingly.
2013-05-11 22:49:39 +02:00
Ludovic Courtès
9bff16b3f2
build: Really clean .log files from SRFI-64.
...
* Makefile.am (CLEANFILES): Really catch .log files from SRFI-64.
2013-05-11 22:42:38 +02:00
Ludovic Courtès
3a33730a86
build: Run `tests/guix-gc.sh' last to avoid test failures.
...
* Makefile.am (tests/guix-gc.log): New target. This should fix failures
that occurred with "make check -j" the first time.
2013-05-11 22:37:33 +02:00
Ludovic Courtès
f7ce90e7b9
gnu: Add Scheme48.
...
* gnu/packages/scheme.scm (scheme48): New variable.
* gnu/packages/patches/scheme48-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-05-11 22:13:59 +02:00
Ludovic Courtès
35ff176877
gnu: gnupg: Update to 2.0.20.
...
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.20.
2013-05-11 21:28:16 +02:00
Ludovic Courtès
2c4b49ed8d
gnu: chicken: Clear description.
...
* gnu/packages/scheme.scm (chicken): Remove unneeded part of the
description.
2013-05-11 20:00:48 +02:00
Ludovic Courtès
210cc92038
doc: Document "guix download".
...
* doc/guix.texi (Defining Packages): Linke to "Invoking guix download".
(Utilities): Add an overview paragraph.
(Invoking guix download): New node.
2013-05-11 16:18:15 +02:00
Ludovic Courtès
2c71cf66a5
gnu: Sync synopses with the Womb.
...
* gnu/packages/bazaar.scm (bazaar): Use synopsis from the Womb.
* gnu/packages/gv.scm (gv): Likewise.
2013-05-11 15:58:20 +02:00
Ludovic Courtès
410e38f814
tests: Fix out-of-source builds.
...
* tests/nar.scm (%test-dir): Compute relative to `pre-inst-env', which
is in $top_builddir.
2013-05-11 15:43:33 +02:00
Ludovic Courtès
ccbce84809
tests: Add `guix hash' test.
...
* guix/scripts/hash.scm (guix-hash)[eof->null]: New procedure.
Use it to convert the EOF object to the empty bytevector.
* tests/guix-hash.sh: New file.
* Makefile.am (SH_TESTS): Add it.
2013-05-11 15:09:56 +02:00
Ludovic Courtès
438bb042ff
Update Nix sub-module.
...
* nix-upstream: Update to 3a0cc43ac89ae8f778764c9f5e27b361e4986913
(Nix ~1.5.2).
2013-05-11 14:49:12 +02:00
Ludovic Courtès
f92300852f
refresh: Add --key-server' and --gpg'.
...
* guix/scripts/refresh.scm (%options): Add `--key-server' and `--gpg'.
(show-help): Update accordingly.
(update-package): New procedure, formerly in `guix-refresh'.
(guix-refresh): Use it. Parameterize `%openpgp-key-server' and
`%gpg-command'.
2013-05-11 14:36:58 +02:00
Ludovic Courtès
0ba91c945b
gnupg: Turn the GPG command name and keyserver into parameters.
...
* guix/gnupg.scm (%gpg-command): Turn into a SRFI-39 parameter.
(%openpgp-key-server): Likewise. Default to pgp.mit.edu, as
keys.gnupg.net is unreliable.
Update users.
2013-05-11 14:32:20 +02:00
Ludovic Courtès
8cc9e7f9d8
gnu: Add CHICKEN.
...
* gnu/packages/scheme.scm (chicken): New variable.
2013-05-11 11:38:38 +02:00
Ludovic Courtès
25c936766e
ui: Invite users to try `--help' in the error message.
...
* guix/ui.scm (show-guix-usage): Mention `guix --help'.
Suggested by Mark H. Weaver.
(run-guix-command): Invoke it when a command is not found.
(guix-main): Adjust accordingly.
2013-05-10 23:14:26 +02:00
Ludovic Courtès
e3729544f9
Update `NEWS'.
2013-05-10 23:05:00 +02:00
Ludovic Courtès
741c70c63e
package: Store the output path of packages installed with `-e'.
...
* guix/scripts/package.scm (guix-package)[process-actions](package->tuple):
Put the output path in the tuple, not the derivation path.
* tests/guix-package.sh: Add test.
2013-05-10 23:04:39 +02:00
Ludovic Courtès
94a4b3b9f2
package: Make sure the dependencies get built along with the manifest.
...
Before this, something like "guix package -i glibc" could fail because
glibc lists linux-libre-headers as a propagated input (which would be
added as a dependency in the manifest) but the linux-libre-headers
output could be unavailable, leading to an error like this:
path `/nix/store/4v2bk8sx5cm166gks3fi3q7d9zchibnk-linux-libre-headers-3.3.8' is not valid
This patch adds such dependencies as inputs of the profile derivation.
* guix/scripts/package.scm (profile-derivation): Accept package objects
in the `deps' field of an element of PACKAGES. Convert them to their
output path for BUILDER, and add them to the inputs of the
`build-expression->derivation' call.
(input->name+path): When INPUT doesn't contain a package object,
return it as is.
(guix-package)[process-actions](canonicalize-deps): Expect DEPS to
contain package objects, and leave them as is.
2013-05-10 22:46:19 +02:00
Ludovic Courtès
8c247e1c47
Update `TODO'.
2013-05-10 21:08:01 +02:00
Ludovic Courtès
fe3e603d14
refresh: Gracefully handle failure to download a tarball.
...
* guix/scripts/refresh.scm (guix-refresh): When updating a source file,
gracefully handle the case where TARBALL is #f.
Reported by Nikita Karetnikov <nikita@karetnikov.org >.
2013-05-10 15:07:00 +02:00
Ludovic Courtès
e31ff8b8d0
ui: Implement `guix --help'.
...
* guix/ui.scm (command-files, commands, show-guix-help): New procedures.
(guix-main): Invoke `show-guix-help' when passed `--help'.
2013-05-10 12:33:18 +02:00
Ludovic Courtès
ec5d0a85eb
ui: Gracefully report "command not found" errors.
...
* guix/ui.scm (run-guix-command): Can `resolve-interface' errors and
report them with `leave'. Parameterize `program-name' from here.
(guix-main): Remove parameterization of `program-name'.
2013-05-10 12:14:01 +02:00
Ludovic Courtès
a4007c9852
gnu-maintenance: Add GnuTLS FTP server.
...
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add GnuTLS.
2013-05-10 01:15:04 +02:00
Ludovic Courtès
dd9afe64b5
download: Fix premature socket close on TLS connections.
...
This would manifest when downloading a large file such as the Bazaar
tarball, leading to an "Error in the pull function" GnuTLS exception.
* guix/build/download.scm (add-weak-reference): New procedure.
(tls-wrap): Add (add-weak-reference record port).
2013-05-10 01:14:25 +02:00
Ludovic Courtès
a81bc5312b
package: Use ~/.guix-profile as the default for --search-paths.
...
* guix/scripts/package.scm (search-path-environment-variables): Prefer
%USER-ENVIRONMENT-DIRECTORY when it points to PROFILE.
(display-search-paths): Use 3 spaces for indentation.
2013-05-10 00:36:00 +02:00
Ludovic Courtès
9c7dd33a48
build: Make sure the user's Guile has all the required features.
...
* m4/guix.m4 (GUIX_ASSERT_GUILE_FEATURES): New macro.
* configure.ac: Use it.
2013-05-10 00:36:00 +02:00
Ludovic Courtès
cf8f58b2af
gnu: geiser: Update to 0.4.
...
* gnu/packages/emacs.scm (geiser): Update to 0.4.
2013-05-10 00:36:00 +02:00
Nikita Karetnikov
dcee3fc5a9
gnu: Add GNU Bazaar.
...
* gnu/packages/bazaar.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-08 22:46:21 +00:00
Nikita Karetnikov
40506d5d92
Add 'python-build-system'.
...
* guix/build-system/python.scm, guix/build/python-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
2013-05-08 22:46:12 +00:00
Ludovic Courtès
3309e3a103
Add (guix build rpath).
...
* guix/build/rpath.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages/python.scm (python): Use it; remove local copy of
the *rpath* procedures.
* gnu/packages/samba.scm (samba): Likewise.
2013-05-08 23:45:02 +02:00
Ludovic Courtès
e789d9a80b
gnu: Add tzdata.
...
* gnu/packages/base.scm (tzdata): New variable.
2013-05-08 23:45:01 +02:00
Andreas Enge
e3c5f2934a
gnu: Add cryptsetup.
...
* gnu/packages/cryptsetup.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-08 16:36:10 +02:00
Andreas Enge
88226a504f
gnu: Add lvm2.
...
* gnu/packages/lvm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-08 16:25:22 +02:00
Ludovic Courtès
06504acb78
doc: Update `NEWS'.
...
* NEWS: Update.
2013-05-08 16:08:25 +02:00
Ludovic Courtès
37166310c7
doc: Document `guix refresh'.
...
* doc/guix.texi (Defining Packages): Add cross-reference to "Invoking
guix refresh".
(Invoking guix refresh): New node.
2013-05-08 16:07:50 +02:00
Ludovic Courtès
a2ed738989
package: Display the output of packages to be installed/removed.
...
* guix/scripts/package.scm (guix-package)[show-what-to-remove/install]:
Display the output name.
2013-05-08 15:21:47 +02:00
Ludovic Courtès
ce3b7a619d
package: Preserve the installed package output when upgrading.
...
* guix/scripts/package.scm (guix-package)[find-package]: Add optional
parameter `output'. Use it.
[process-actions]: When computing UPGRADE, pass OUTPUT to
`find-package'.
2013-05-08 15:11:20 +02:00
Ludovic Courtès
fd982732f4
gnu: python: Build the shared library.
...
* gnu/packages/python.scm (python): Add `--enable-shared'. Add
#:modules and #:phases. Add PatchELF as an input.
2013-05-08 01:51:45 +02:00
Ludovic Courtès
cc2792dada
gnu: gsasl: Propagate GnuTLS.
...
* gnu/packages/gsasl.scm (gsasl): Move GnuTLS to `propagated-inputs'.
2013-05-08 01:51:44 +02:00
Nikita Karetnikov
a6b4d213db
gnu: Add Hugs.
...
* gnu/packages/hugs.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-07 20:42:10 +00:00
Ludovic Courtès
83e61a73c4
ui: Capitalize informative messages.
...
* guix/ui.scm (show-what-to-build): Capitalize user messages, as per the
GCS (info "(standards) Errors").
2013-05-07 13:28:11 +02:00
Ludovic Courtès
15f67744fe
package: Fix spacing in user messages.
...
* guix/scripts/package.scm (guix-package)[process-actions]: Fix spacing.
2013-05-07 13:23:30 +02:00
Ludovic Courtès
6ba3900934
gnu: help2man: Update to 1.41.2.
...
* gnu/packages/help2man.scm (help2man): Update to 1.41.2.
2013-05-07 00:21:18 +02:00
Ludovic Courtès
1d3991dc74
gnu: guile-ncurses: Update to 1.4.
...
* gnu/packages/guile.scm (guile-ncurses): Update to 1.4.
2013-05-07 00:13:28 +02:00
Ludovic Courtès
39b33961e9
gnu: Add GNU FreeIPMI.
...
* gnu/packages/freeipmi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-07 00:12:18 +02:00
Ludovic Courtès
6d267f0a5b
gnu: gv: Move to a separate file.
...
* gnu/packages/ghostscript.scm (ghostscript): Remove libxext and libxt
as inputs.
(gv): Move to...
* gnu/packages/gv.scm (gv): ... here. New file.
(ghostscript/x): Variant of GHOSTSCRIPT with libxt and libxext as
inputs.
2013-05-06 23:50:30 +02:00
Ludovic Courtès
36ee486f1a
gnu: freetype: Use mirror:// URL.
...
* gnu/packages/fontutils.scm (freetype): Use mirror://savannah URL.
2013-05-06 23:48:36 +02:00
Ludovic Courtès
313109e050
refresh: Change default to not update source files.
...
* guix/scripts/refresh.scm (%options): Change `--dry-run' to `--update'.
(show-help): Adjust accordingly.
(guix-refresh): Likewise.
2013-05-06 22:31:28 +02:00
Andreas Enge
c5ea1201fb
gnu: Add GNU gv.
...
* gnu/packages/ghostscript.scm (gv): New variable.
2013-05-05 11:23:13 +02:00
Andreas Enge
e0eb886dce
gnu: ghostscript: Add X support.
...
* gnu/packages/ghostscript.scm (ghostscript): Add X related inputs.
2013-05-05 11:19:26 +02:00
Andreas Enge
dcc9053aff
gnu: Add libxaw3d.
...
* gnu/packages/xorg.scm (libxaw3d): New variable.
2013-05-05 10:45:55 +02:00
Andreas Enge
3a08a41188
gnu: Add atk.
...
* gnu/packages/gtk.scm: New module.
* Makefile.am (MODULES): Add it.
2013-05-05 00:09:37 +02:00
Andreas Enge
fbd8445704
gnu: Add id3lib.
...
* gnu/packages/mp3.scm (id3lib): New variable.
2013-05-04 23:13:22 +02:00
Andreas Enge
21e9fee042
gnu: Have python paths set automatically..
...
* gnu/packages/xorg.scm (meas): Drop special handling of python paths.
* gnu/packages/xml.scm (libxslt): Drop special handling of python paths.
2013-05-01 22:26:10 +02:00
Andreas Enge
d515cb555c
gnu: xorg: Have perl paths set automatically.
...
* gnu/packages/xorg.scm (xkeyboard-config): Drop special handling of perl paths.
2013-05-01 21:38:05 +02:00
Ludovic Courtès
0734a9a813
Merge branch 'core-updates'
2013-04-30 17:06:00 +02:00
Nikita Karetnikov
01155b1808
utils: Adjust 'wrap-program'.
...
* guix/build/utils.scm (wrap-program): Fix computation of PROG-REAL and
PROG-TMP when PROG is an absolute file name. Add "$@" in the
generated script, and quote PROG-REAL.
Signed-off-by: Ludovic Courtès <ludo@gnu.org >
2013-04-30 16:58:59 +02:00
Ludovic Courtès
e0fbbc889d
substitute-binary: Support decompression from non-file ports.
...
* guix/scripts/substitute-binary.scm (filtered-port): Move to utils.scm.
(decompressed-port): Upon "none", return '() as the second value.
(guix-substitute-binary): Expect `decompressed-port' to return a list
of PIDs as its second value.
* guix/utils.scm (filtered-port): New procedure. Add case for when
INPUT is not `file-port?'.
* tests/utils.scm ("filtered-port, file", "filtered-port, non-file"):
New tests.
2013-04-29 23:25:19 +02:00
Ludovic Courtès
dab5d51be7
build: Add silent-rules machinery for `guild compile'.
...
* Makefile.am (AM_V_GUILEC, AM_V_GUILEC_, AM_V_GUILEC_0): New
variables.
(.scm.go): Use $(AM_V_GUILEC).
2013-04-29 22:00:24 +02:00
Ludovic Courtès
30dd831083
build: Replace *.log in `CLEANFILES' by the exact list of files.
...
* Makefile.am (SCM_TESTS, SH_TESTS): New variables.
(TESTS): Use them.
(CLEANFILES): Replace *.log by $(SCM_TESTS:%.scm=%.log).
2013-04-29 21:52:21 +02:00
Ludovic Courtès
867df0eeb6
gnu: make-bootstrap: Fix %glibc-stripped.
...
* gnu/packages/make-bootstrap.scm (%glibc-stripped): Add `outputs' field.
2013-04-29 00:28:36 +02:00
Ludovic Courtès
593987671a
build-system/gnu: Fix default name for the "doc" output directory.
...
* guix/build/gnu-build-system.scm (configure)[package-name]: Drop the
prefix corresponding to the hash part of OUT.
2013-04-28 23:39:28 +02:00
Ludovic Courtès
5924080dcc
guix package: Add `--search-paths' & co.
...
* guix/scripts/package.scm (search-path-environment-variables,
display-search-paths): New procedures.
(show-help, %options): Add `--search-paths'.
(guix-package)[process-actions]: Call `display-search-paths' once the
profile is ready.
[process-query]: Honor `search-paths'.
2013-04-28 23:19:03 +02:00
Ludovic Courtès
2bcfb9e065
utils: Add `string-tokenize*'.
...
* guix/utils.scm (string-tokenize*): New procedure.
* tests/utils.scm ("string-tokenize*"): New test.
2013-04-28 23:19:03 +02:00
Andreas Enge
19cb517012
gnu: xpdf: Use gs-fonts to provide standard postscript fonts.
...
* gnu/packages/pdf (xpdf): Add path to gs-fonts in xpdfrc.
2013-04-28 22:05:27 +02:00
Andreas Enge
1f7c6a1f53
gnu: Add gs-fonts.
...
* gnu/packages/ghostscript.scm (gs-fonts): New variable.
2013-04-28 21:12:55 +02:00
Ludovic Courtès
8e77f41ede
packages: Work around compiler bug in Guile 2.0.5.
...
* guix/packages.scm (package-field-location): Work around compiler bug
in 2.0.5. Reported by Andreas Enge <andreas@enge.fr >.
2013-04-27 23:02:06 +02:00
Ludovic Courtès
89be37a5a3
web: Add workaround for < http://bugs.gnu.org/13095 >.
...
* guix/web.scm: Add workaround for <http://bugs.gnu.org/13095 >.
2013-04-27 23:00:51 +02:00
Ludovic Courtès
61ef22f432
web: Add 2.0.5 workaround for responses without content-length.
...
* guix/web.scm (read-response-body*)[when-guile<=2.0.5]: Support
responses without content-length.
Reported by Andreas Enge <andreas@enge.fr >.
2013-04-27 23:00:21 +02:00
Ludovic Courtès
c4ca12c15b
gnu-maintenance: Fix error message of `update-package-source'.
...
* guix/gnu-maintenance.scm (update-package-source): In the (not loc)
case, pass the location first and convert it to a string.
2013-04-27 22:52:43 +02:00
Ludovic Courtès
4056b82882
doc: Update `NEWS'.
...
* NEWS: Populate.
2013-04-27 17:10:41 +02:00
Ludovic Courtès
a5975cedf2
ui: Add `args-fold*' and use it.
...
* guix/ui.scm (args-fold*): New procedure.
* guix/scripts/build.scm, guix/scripts/download.scm,
guix/scripts/gc.scm, guix/scripts/hash.scm, guix/scripts/import.scm,
guix/scripts/package.scm, guix/scripts/pull.scm,
guix/scripts/refresh.scm: Use `args-fold*' instead of `args-fold'.
2013-04-27 16:46:39 +02:00
Ludovic Courtès
14e2afa74b
ui: Use consistent spacing in `show-what-to-build' messages.
...
* guix/ui.scm (show-what-to-build): Use consistent spacing in "the
following..." messages.
2013-04-27 16:37:09 +02:00
Ludovic Courtès
c3f0084ad3
gnu: Update libgpg-error and libassuan.
...
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.11.
(libassuan): Update to 2.1.0.
2013-04-27 16:30:01 +02:00
Ludovic Courtès
049b2f1d7b
gnu-maintenance: Fix `latest-release' for GnuPG.
...
* guix/gnu-maintenance.scm (latest-release): Filter out directories
whose name does not contain digits early in the process. This fixes
(latest-release "gnupg").
2013-04-27 16:26:48 +02:00
Ludovic Courtès
87dfd45594
ftp-client: `ftp-chdir' changes one step at a time.
...
* guix/ftp-client.scm (%char-set:not-slash): New variable.
(ftp-chdir): Add docstring. Change to DIR one step at a time.
(ftp-retr): Fix indentation.
2013-04-27 16:25:54 +02:00
Ludovic Courtès
accf7a373e
gnu: bison: Update to 2.7.1.
...
* gnu/packages/bison.scm (bison): Update to 2.7.1.
2013-04-27 12:18:21 +02:00
Ludovic Courtès
eaff9364d5
gnu: gprolog: Update to 1.4.4.
...
* gnu/packages/gprolog.scm (gprolog): Update to 1.4.4.
2013-04-27 12:13:21 +02:00
Ludovic Courtès
7f4b5efd2d
gnu: gdb: Update to 7.6.
...
* gnu/packages/gdb.scm (gdb): Update to 7.6.
2013-04-27 12:11:54 +02:00
Ludovic Courtès
786944576c
pull: Use `download-to-store'.
...
* guix/scripts/pull.scm (download-and-store): Remove.
(unpack): Use `download-to-store' instead.
2013-04-27 11:40:18 +02:00
Ludovic Courtès
1424a96e25
web: Backport chunked encoding support for Guile <= 2.0.5.
...
* guix/web.scm (when-guile<=2.0.5): New macro.
(read-chunk-header, read-chunk, read-chunk-body,
make-chunked-input-port, read-response-body*)[when-guile<=2.0.5]: New
procedures.
(http-fetch): Clarify message when (not data).
2013-04-27 11:37:31 +02:00
Ludovic Courtès
56dbcb09d8
build: Explicitly require Guile >= 2.0.5.
...
* configure.ac: Require guile-2.0 >= 2.0.5.
2013-04-27 11:28:47 +02:00
Ludovic Courtès
cecb712cce
gnu: gawk: Update to 4.0.2.
...
* gnu/packages/gawk.scm (gawk): Update to 4.0.2.
2013-04-27 00:23:45 +02:00
Ludovic Courtès
9369a02bfc
gnu: patch: Update to 2.7.1.
...
* gnu/packages/base.scm (patch): Update to 2.7.1.
2013-04-27 00:23:19 +02:00
Ludovic Courtès
3b401612d9
gnu: Binutils 2.23.2 and GCC 4.7.3.
...
* gnu/packages/base.scm (binutils): Update to 2.23.2.
(binutils-2.23, ld-wrapper-2.23): Remove.
(gcc-4.8): Move to...
* gnu/packages/gcc.scm (gcc-4.8): ... here.
(gcc-4.7): Update to 4.7.3. Add dependencies on ISL, CLooG, libelf,
and zlib.
2013-04-26 22:51:07 +02:00
Ludovic Courtès
6aded2dd3f
gnu: guile: Default to 2.0.9.
...
* gnu/packages/guile.scm (guile-2.0/fixed): Switch to `guile-2.0'.
2013-04-26 22:48:17 +02:00
Ludovic Courtès
d83ae72401
gnu: diffutils: Update to 3.3.
...
* gnu/packages/base.scm (diffutils): Update to 3.3.
2013-04-26 22:13:14 +02:00
Ludovic Courtès
a9db7d10b6
Merge branch 'master' into core-updates
...
Conflicts:
Makefile.am
gnu/packages/autotools.scm
gnu/packages/guile.scm
gnu/packages/python.scm
gnu/packages/shishi.scm
guix/gnu-maintenance.scm
guix/scripts/build.scm
guix/scripts/gc.scm
guix/scripts/package.scm
guix/scripts/substitute-binary.scm
guix/ui.scm
nix/nix-daemon/guix-daemon.cc
test-env.in
tests/nar.scm
tests/store.scm
2013-04-26 16:43:08 +02:00
Ludovic Courtès
2b6bdf7eb3
gnu: libgcrypt: Update to 1.5.2.
...
* gnu/packages/gnupg.scm (libgcrypt): Update to 1.5.2.
2013-04-25 23:21:49 +02:00
Ludovic Courtès
777fabf096
gnu: dejagnu: Update to 1.5.1.
...
* gnu/packages/dejagnu.scm (dejagnu): Update to 1.5.1.
2013-04-25 23:19:52 +02:00
Ludovic Courtès
acfc0df5ce
gnu: nano: Update to 2.3.2.
...
* gnu/packages/nano.scm (nano): Update to 2.3.2.
2013-04-25 23:18:20 +02:00
Ludovic Courtès
6c211361fe
gnu: ed: Update to 1.8.
...
* gnu/packages/ed.scm (ed): Update to 1.8.
2013-04-25 23:07:59 +02:00
Ludovic Courtès
dfb43e45b5
gnu-maintenance: Add newline in warning messages.
...
* guix/gnu-maintenance.scm (download-tarball): Add newline in warning
messages.
2013-04-25 23:07:24 +02:00
Ludovic Courtès
43d8f4904c
doc: Add note on installing Guix from Guix.
...
* README (Installing Guix from Guix): New section.
Suggested by Alex Sassmannshausen <alex.sassmannshausen@gmail.com >.
2013-04-25 23:01:05 +02:00
Ludovic Courtès
37a5340262
refresh: Add `--select'.
...
* guix/scripts/refresh.scm (%options): Add `--select'.
(show-help): Likewise. Augment initial help text.
(guix-refresh)[core-package?]: New procedure.
Use it when selecting packages.
2013-04-25 22:56:25 +02:00
Ludovic Courtès
1c9e7d65d4
web: Factorize `http-get' hackery.
...
This should fix `substitute-binary --query' on Guile 2.0.5.
* guix/web.scm: New file.
* Makefile.am (MODULES): Add it.
* po/POTFILES.in: Add it.
* guix/gnu-maintenance.scm (http-fetch): Remove.
(%package-list-url): Turn into a URI.
(official-gnu-packages): Add #:text? #t to `http-fetch' call.
* guix/scripts/substitute-binary.scm (fetch): Remove `http' case, and
use `http-fetch' instead.
2013-04-25 22:14:51 +02:00
Ludovic Courtès
9e623d068d
gnu: wdiff: Update to 1.2.1.
...
* gnu/packages/wdiff.scm (wdiff): Update to 1.2.1. Add Texinfo as an input.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
f6f207b803
gnu: nettle: Update to 2.7.
...
* gnu/packages/nettle.scm (nettle): Update to 2.7.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
825d0ebc5b
gnu: libtasn1: Update to 3.3.
...
* gnu/packages/gnutls.scm (libtasn1): Update to 3.3.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
65b96a0c10
gnu-maintenance: Optimize `gnu-package?'.
...
* guix/gnu-maintenance.scm (gnu-package?): Capture a memoizing version
of `gnu-package?'.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
d55a99fed3
gnu-maintenance: Optimize `release-file'.
...
* guix/gnu-maintenance.scm (tarball-regexp): Remove.
(%tarball-rx): New variable.
(release-file): Adjust to use %TARBALL-RX.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
cac137aa84
gnu-maintenance: Optimize `latest-release'.
...
* guix/gnu-maintenance.scm (tarball-regexp, sans-extension,
release-file): New procedures.
(%alpha-tarball-rx): New variable.
(releases): Use them instead of local copies.
(latest-release): Rewrite to not do a recursive search of all
versions and instead jump directly to the latest.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
0fdd3bea58
Add `guix refresh' and related auto-update tools.
...
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add glib.
(package-update-path, download-tarball, package-update,
update-package-source): New procedures.
* guix/gnupg.scm, guix/scripts/refresh.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/utils.scm (file-extension): New procedure.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
f903dc056a
packages: Use read' and source properties for package-field-location'.
...
* guix/packages.scm (package-field-location): Rewrite using `read' and
source properties. Change to return #f upon failure.
* tests/packages.scm ("package-field-location"): Check for #f upon failure.
* build-aux/sync-synopses.scm: Adjust accordingly.
2013-04-25 00:13:56 +02:00
Ludovic Courtès
5fe21fbeef
utils: Fix column number returned by `source-properties->location'.
...
* guix/utils.scm (source-properties->location): Use COL, not COL + 1.
2013-04-25 00:13:56 +02:00
Mark H Weaver
867b14108d
gnu: hop: Update hash to match hop-2.4.0.tar.gz, which was modified in place.
...
* gnu/packages/scheme.scm (hop): Update the hash.
2013-04-24 17:14:53 -04:00
Ludovic Courtès
d66c70967f
packages: Add `package-field-location'.
...
* guix/packages.scm (package-field-location): New procedure.
* build-aux/sync-synopses.scm: Use it instead of `package-location'.
* tests/packages.scm ("package-field-location"): New test.
2013-04-22 23:07:13 +02:00
Ludovic Courtès
b2a886f6c7
ui: Move macro definitions before any use.
...
* guix/ui.scm (define-diagnostic, warning, report-error, leave): Move
definitions before any use. Reported by Nikita Karetnikov.
(install-locale): Move back close to `initialize-guix'.
2013-04-22 13:24:39 +02:00
Mark H Weaver
19c9664d93
gnu: xorriso: Update to 1.2.8.
...
* gnu/packages/cdrom.scm (xorriso): Update to 1.2.8.
2013-04-21 22:59:30 -04:00
Mark H Weaver
693b57e41c
gnu: smalltalk: Update to 3.2.5.
...
* gnu/packages/smalltalk.scm (smalltalk): Update to 3.2.5.
2013-04-21 22:59:28 -04:00
Mark H Weaver
2306f7ab4b
gnu: groff: Update to 1.22.2.
...
* gnu/packages/groff.scm (groff): Update to 1.22.2.
2013-04-21 22:59:24 -04:00
Mark H Weaver
6ed80bed48
gnu: gprolog: Update to 1.4.3 and download from GNU mirrors
...
* gnu/packages/gprolog.scm (gprolog): Update to 1.4.3.
Download from GNU mirrors.
2013-04-21 17:57:56 -04:00
Ludovic Courtès
861693f3e7
Factorize `download-and-store'.
...
* guix/download.scm (download-to-store): New procedure.
* guix/scripts/download.scm (fetch-and-store): Remove.
(guix-download): Use `download-to-store' instead.
* guix/ui.scm (call-with-temporary-output-file): Move to...
* guix/utils.scm (call-with-temporary-output-file): ... here.
2013-04-21 22:40:40 +02:00
Nikita Karetnikov
6c365eca6d
Add 'guix hash'.
...
* guix/scripts/hash.scm: New file.
* Makefile.am (MODULES): Add it.
* po/POTFILES.in: Add it.
* doc/guix.texi (Invoking guix hash): New node.
(Defining Packages): Add a cross-reference to the 'Invoking guix
hash' node.
2013-04-21 19:22:14 +00:00
Ludovic Courtès
e33d9d6f09
gnu: intltool: Fix typo.
...
* gnu/packages/glib.scm (intltool): Fix typo.
2013-04-21 21:09:49 +02:00
Nikita Karetnikov
bfda2997c8
guix download: Add supported formats to '--help'.
...
* guix/scripts/download.scm (show-help): Add supported formats.
2013-04-21 19:04:24 +00:00
Ludovic Courtès
238328c990
ui: Move definition of install-locale' after that of the warning' macro.
...
* guix/ui.scm (install-locale): Move definition after that of `warning'.
2013-04-21 11:53:06 +02:00
Ludovic Courtès
fcdf58c46c
gnu: guile: Update to 2.0.9.
...
* gnu/packages/guile.scm (guile-2.0): Update to 2.0.9.
(guile-2.0/fixed): Keep at 2.0.7.
2013-04-21 11:43:23 +02:00
Ludovic Courtès
107b415e43
gnu: intltool: Propagate gettext.
...
* gnu/packages/glib.scm (intltool): Propagate gettext.
2013-04-21 11:27:37 +02:00
Nikita Karetnikov
98eb8cbe8d
ui: Add a 'define-diagnostic' macro.
...
* guix/ui.scm (define-diagnostic): New macro, which is based on the
previous version of 'warning'.
(warning, leave): Redefine using 'define-diagnostic'.
(report-error): New macro.
(install-locale): Use 'warning' instead of 'format'.
(call-with-error-handling): Adjust 'leave'.
* gnu/packages.scm (package-files): Use 'warning' instead of 'format'.
* guix/gnu-maintenance.scm (http-fetch): Use 'warning' and 'leave'.
* guix/scripts/build.scm (derivations-from-package-expressions, guix-build):
Adjust 'leave'.
* guix/scripts/download.scm (guix-download): Adjust 'leave'.
* guix/scripts/gc.scm (size->number, %options): Adjust 'leave'.
* guix/scripts/package.scm (roll-back, guix-package): Adjust 'leave'.
* po/POTFILES.in: Add 'guix/gnu-maintenance.scm'.
2013-04-21 08:08:40 +00:00
Ludovic Courtès
c6d7e299ae
gnu: Add GCC 4.8.0 and Binutils 2.23.2.
...
* gnu/packages/base.scm (binutils-2.23, ld-wrapper-2.23, gcc-4.8): New
variables.
2013-04-20 17:56:06 +02:00
Ludovic Courtès
4c7cacf117
substitute-binary: Remove expired cache entries once in a while.
...
* guix/scripts/substitute-binary.scm (%narinfo-expired-cache-entry-removal-delay):
New variable.
(obsolete?): New procedure, formerly in `lookup-narinfo'.
(lookup-narinfo): Adjust accordingly.
(remove-expired-cached-narinfos, maybe-remove-expired-cached-narinfo):
New procedures.
(guix-substitute-binary): Call `maybe-remove-expired-cached-narinfo'.
2013-04-20 15:12:24 +02:00
Ludovic Courtès
f286f71634
snix: Prefer synopses from the Womb rather than from Nixpkgs.
...
* guix/snix.scm (snix-derivation->guix-package): When NAME is
in (official-gnu-packages), use this synopsis instead of the one from
Nixpkgs.
2013-04-20 11:52:50 +02:00
Ludovic Courtès
f7758740ed
gnu: gdbm, nano: Synchronize synopses.
...
* gnu/packages/gdbm.scm, gnu/packages/nano.scm: Synchronize synopses
with the Womb.
2013-04-20 11:44:42 +02:00
Ludovic Courtès
0ff3e3aa9b
daemon: Gracefully handle cases where the daemon does not return a status code.
...
* guix/store.scm (process-stderr): Check for EOF before doing (read-int p).
2013-04-20 10:53:31 +02:00
Andreas Enge
d6b8cb5c4a
gnu: Unify the two intltool packages.
...
* gnu/packages/xml.scm (intltool): Delete variable.
* gnu/packages/glib.scm (intltool): Update to version 0.50.2.
2013-04-19 19:51:49 +02:00
Ludovic Courtès
6858f9d132
daemon: Add `--no-substitutes'.
...
Suggested by Mark H. Weaver.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_SUBSTITUTES): New macro.
(options): Add `--no-substitutes'.
(parse_opt): Add `GUIX_OPT_NO_SUBSTITUTES' case.
(main): Leave `settings.substituters' empty when
`settings.useSubstitutes' is false.
2013-04-18 22:50:31 +02:00
Ludovic Courtès
ea0ee755bd
daemon: Really enable the substituter by default.
...
* nix/nix-daemon/guix-daemon.cc (main): Really enable the substituter by
default. Reported by Mark H. Weaver.
2013-04-18 22:50:31 +02:00
Ludovic Courtès
48febeb81a
doc: Mention the home page.
...
* doc/guix.texi (Installation): Add a sentence pointing to the home
page. Suggested by Arne Babenhauserheide.
2013-04-18 22:50:31 +02:00
Nikita Karetnikov
6c1cd80d8f
tests: Use a new synopsis of GNU Hello.
...
* tests/guix-package.sh: Use a new synopsis of GNU Hello, which was
added in f50d2669e3 .
2013-04-18 16:08:43 +00:00
Ludovic Courtès
3b78d1eab8
doc: Transparent binary deployment is implemented.
...
* doc/guix.texi (Features): Remove footnote saying that transparent
binary deployment is not implemented.
2013-04-17 22:44:19 +02:00
Ludovic Courtès
b52cb20d43
guix package: Allow the search of the latest release to be interrupted.
...
* guix/scripts/package.scm (%sigint-prompt): New variable.
(call-with-sigint-handler): New procedure.
(waiting): Use it.
2013-04-17 22:43:14 +02:00
Ludovic Courtès
0e993428ce
build: Add `sync-synopses.scm'.
...
* build-aux/sync-synopses.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(dist-hook): New target.
2013-04-17 18:09:43 +02:00
Ludovic Courtès
f50d2669e3
gnu: Use synopses from the Womb.
...
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 18:04:25 +02:00
Ludovic Courtès
801486fe46
ui: Fix format string in `warning'.
...
* guix/ui.scm (warning)[augmented-format-string]: Add missing ~*.
2013-04-17 18:02:48 +02:00
Ludovic Courtès
f594028a9c
gnu: Add missing import in (gnu packages cross-base).
...
* gnu/packages/cross-base.scm: Use (gnu packages gcc).
Reported by Nikita Karetnikov <nikita@karetnikov.org >.
2013-04-17 14:59:19 +02:00
Ludovic Courtès
dd36b51bf7
scripts: Report what will be substituted.
...
* guix/derivations.scm (derivation-input-output-paths): New procedure.
(derivation-prerequisites-to-build): New `use-substitutes?' keyword
argument. Change two return the list of substitutable paths as a
second argument.
* guix/ui.scm (show-what-to-build): Turn `dry-run?' into a keyword
argument. New `use-substitutes?' keyword argument. Use `fold2' and
adjust to use both return values of
`derivation-prerequisites-to-build'. Display what will/would be
downloaded.
* guix/scripts/build.scm (guix-build): Adjust accordingly.
* guix/scripts/package.scm (guix-package): Likewise.
* tests/derivations.scm ("derivation-prerequisites-to-build and
substitutes"): New test.
2013-04-17 00:08:21 +02:00
Cyril Roelandt
acb6ba2567
package: allow users to upgrade the whole system by not providing a regexp.
...
* guix/scripts/packages.scm (guix-package) [process-actions]: When upgrading,
use "" when REGEXP is #f.
* doc/guix.texi: update the documentation accordingly.
2013-04-16 23:12:29 +02:00
Cyril Roelandt
0160536dcb
gnu: Python: bump to version 2.7.4.
...
* gnu/packages/python.scm: bump to version 2.7.4, remove references to
python-fix-dbm.patch.
* Makefile.am: remove references to python-fix-dbm.patch
* gnu/packages/patches/python-fix-dbm.patch: remove it.
2013-04-16 23:12:29 +02:00
Ludovic Courtès
35ac56b63e
build-system/{perl,cmake}: Keep the standard search paths of gnu-build-system.
...
Reported by Andreas Enge <andreas@enge.fr >.
* guix/build-system/gnu.scm (standard-search-paths): New procedure.
(gnu-build): Use it.
* guix/build-system/perl.scm (perl-build):
Append (standard-search-paths) to the search paths of PERL.
* guix/build-system/cmake.scm (cmake-build):
Append (standard-search-paths) to SEARCH-PATHS.
2013-04-16 14:05:00 +02:00
Ludovic Courtès
e967678ed1
substitute-binary: Skip servers that use a different store prefix.
...
* guix/scripts/substitute-binary.scm (fetch-narinfo): Return #f when
CACHE uses a store directory different from (%store-prefix).
2013-04-15 23:43:13 +02:00
Ludovic Courtès
0c357a088b
substitute-binary: Call `open-cache' only when needed.
...
* guix/scripts/substitute-binary.scm (lookup-narinfo): Force CACHE when
passing it to `fetch-narinfo'.
(guix-substitute-binary): Delay calls to `open-cache'.
2013-04-15 23:43:10 +02:00
Ludovic Courtès
eba783b7b2
substitute-binary: Add a local cache.
...
* guix/scripts/substitute-binary.scm (%narinfo-cache-directory,
%narinfo-ttl, %narinfo-negative-ttl): New variables.
(with-atomic-file-output, object->fields, read-narinfo,
write-narinfo, narinfo->string, string->narinfo, lookup-narinfo): New
procedures.
(fetch-narinfo): Adjust to use `read-narinfo'.
(guix-substitute-binary): Ensure the existence of
%NARINFO-CACHE-DIRECTORY. Use `lookup-narinfo' instead of
`fetch-narinfo'.
2013-04-15 23:42:55 +02:00
Ludovic Courtès
63b7c6c1f8
gnu: automake: Restore shebangs on files that end up in user tarballs.
...
* gnu/packages/autotools.scm (automake): Add `unpatch-shebangs' phase.
2013-04-14 22:34:48 +02:00
Ludovic Courtès
04fd96cac3
utils: Add `fold2'.
...
* gnu/packages.scm (fold2): Remove.
* guix/utils.scm (fold2): New procedure. Generalization of the above to
one and two lists.
* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists"): New tests.
2013-04-14 16:56:08 +02:00
Ludovic Courtès
50efa79774
gnu: emacs: Build the GUI with libXaw.
...
* gnu/packages/emacs.scm (emacs): Add inputs: libX11, libXaw, libXt,
libtiff, libjpeg, libpng, zlib, libXpm, libxml2, and D-Bus.
2013-04-13 22:08:09 +02:00
Ludovic Courtès
baa0d82a8a
gnu: libXaw: Propagate libXt.
...
* gnu/packages/xorg.scm (libxaw): Propagate libXt.
2013-04-13 22:06:47 +02:00
Ludovic Courtès
c5c555b186
gnu: Add Ratpoison.
...
* gnu/packages/ratpoison.scm: New file.
* Makefile.am (MODULES): Add it.
2013-04-12 21:58:47 +02:00
Ludovic Courtès
841032d448
store: Remove unneeded and conflicting import.
...
* guix/store.scm: Remove unneeded (ice-9 rdelim) import. In Guile 2.0.9
that module exports `read-string', which conflicts with that of (guix
serialization).
2013-04-12 21:58:47 +02:00
Ludovic Courtès
d5d6db8918
package: Being at the empty profile is not an error.
...
* guix/scripts/package.scm (roll-back): Use `format', not `leave' when
indicating "already at the empty profile". Fixes a regression
introduced in a2011be5df . Reported by
Nikita Karetnikov <nikita@karetnikov.org >.
2013-04-12 21:58:47 +02:00
Ludovic Courtès
0d2fe78f85
Update `TODO'.
2013-04-12 21:58:47 +02:00
Ludovic Courtès
581f9eb845
guix package: Add `--no-substitutes'.
...
* guix/scripts/package.scm (%default-options): Add `substitutes?'.
(show-help, %options): Add and document `--no-substitutes'.
(guix-package): Call `set-build-options' to honor `substitutes?'.
2013-04-12 21:58:47 +02:00
Ludovic Courtès
cdf2022052
substitute-binary: Implement `--substitute'.
...
This allows build outputs to be transparently downloaded from
http://hydra.gnu.org , for example.
* config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
* guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
* guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
(<narinfo>): Change `url' to `uri'.
(make-narinfo): Rename to...
(narinfo-maker): ... this. Handle relative URLs.
(fetch-narinfo): Adjust accordingly.
(filtered-port, decompressed-port): New procedures.
(guix-substitute-binary): Implement the `--substitute' case.
* tests/store.scm ("substitute query"): Use (%store-prefix) instead
of (getenv "NIX_STORE_DIR").
("substitute"): New test.
2013-04-12 21:58:47 +02:00
Ludovic Courtès
f03f0c9a86
substitute-binary: Correctly handle missing narinfos in `--query' mode.
...
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have",
"info"): Filter SUBSTITUTABLE through `narinfo?'.
2013-04-12 21:58:47 +02:00
Ludovic Courtès
c7b62db614
nar: Add support for symlinks.
...
* guix/nar.scm (write-file): Add case for type `symlink'.
(restore-file): Likewise.
* tests/nar.scm (random-file-size, make-file-tree, delete-file-tree,
with-file-tree, file-tree-equal?, make-random-bytevector,
populate-file): New procedures.
(%test-dir): New variable.
("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'.
("write-file + restore-file with symlinks"): New test.
2013-04-12 21:58:47 +02:00
Ludovic Courtès
6f80c9d8f3
ui: Add a `warning' macro.
...
* guix/ui.scm (program-name, guix-warning-port): New variables.
(warning): New macro.
(guix-main): Parametrize PROGRAM-NAME.
* guix/scripts/build.scm, guix/scripts/download.scm,
guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave'
and `warning' consistently.
2013-04-12 21:58:46 +02:00
Ludovic Courtès
ca877f5a3a
nar: Implement restoration from Nar.
...
* guix/nar.scm (&nar-error, &nar-read-error): New condition types.
(dump): New procedure.
(write-contents)[dump]: Remove. Use the one above instead.
(read-contents, write-file, restore-file): New procedures.
(%archive-version-1): New variable.
2013-04-12 21:58:46 +02:00
Nikita Karetnikov
865c4ef33c
gnu: shishi: Update to 1.0.2.
...
* gnu/packages/shishi.scm (shishi): Update to 1.0.2.
* gnu/packages/patches/shishi-gets-undeclared.patch: Remove it.
* Makefile.am (dist_patch_DATA): Adjust accordingly.
2013-04-12 21:58:46 +02:00
Cyril Roelandt
3fdc99da19
gnu: Python: fix the compilation of some modules from the standard library.
...
This commit enables the bz2, dbm, readline, ssl and zlib modules.
* gnu/packages/gdbm.scm: Enable the compatibility mode.
* gnu/packages/python.scm: Enable a few modules from the standard library.
* gnu/packages/patches/python-fix-dbm.patch: New file.
* Makefile.am: Add it.
2013-04-12 21:58:46 +02:00
Ludovic Courtès
f0cd71f21e
Add (guix nar) and (guix serialization).
...
* guix/store.scm (write-int, read-int, write-long-long, read-long-long,
write-padding, write-string, read-string, read-latin1-string,
write-string-list, read-string-list, write-store-path,
read-store-path, write-store-path-list, read-store-path-list): Move to
serialization.scm.
(write-contents, write-file): Move to nar.scm.
* guix/nar.scm, guix/serialization.scm: New files.
* Makefile.am (MODULES): Add them.
2013-04-12 21:57:58 +02:00
Ludovic Courtès
7ce1f2160f
substitute-binary: Fix communication of several store paths to the daemon.
...
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]:
Emit blank lines only after the complete list of store paths has been
returned.
2013-04-12 21:57:58 +02:00
Ludovic Courtès
419fffa2e8
Add preliminary binary substituter.
...
* guix/scripts/substitute-binary.scm: New file.
* Makefile.am (MODULES): Add it.
* nix/scripts/substitute-binary.in: New file.
* config-daemon.ac: Produce nix/scripts/substitute-binary.
* daemon.am (nodist_pkglibexec_SCRIPTS): Add
nix/scripts/substitute-binary.
* guix/store.scm (substitutable-path-info): Use the
`query-substitutable-path-infos' RPC.
* nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
* pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
* test-env.in: Leave `NIX_SUBSTITUTERS' unchanged. Set
`GUIX_BINARY_SUBSTITUTE_URL, and create
$NIX_STATE_DIR/substituter-data.
Run `guix-daemon' within `./pre-inst-env'.
* tests/store.scm ("substitute query"): New test.
2013-04-12 21:57:58 +02:00
Ludovic Courtès
04151253e3
gnu: bigloo: Add dependencies on Avahi and libphidget.
...
* gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs,
and pkg-config as a native input.
2013-04-12 21:57:58 +02:00
Ludovic Courtès
f14d6b697e
gnu: Add libphidget.
...
* gnu/packages/libphidget.scm: New file.
* Makefile.am (MODULES): Add it.
2013-04-12 21:57:57 +02:00
Ludovic Courtès
afb49942e0
store: Add `store-path-hash-part'.
...
* guix/store.scm (store-path-hash-part): New procedure.
* tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"):
New tests.
2013-04-12 21:57:57 +02:00
Ludovic Courtès
5477e0342f
gnu-maintenance: Adjust `http-fetch' to the various Guile versions.
...
* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
'http-get*', or 'http-get' as a last resort. Check whether DATA is
#f, a string, or an input port.
2013-04-12 21:57:57 +02:00
Ludovic Courtès
bdf06d8922
pull: Switch to the cgit URL.
...
* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
that the Hydra one is not currently available.
2013-04-12 21:57:57 +02:00
Ludovic Courtès
77ffd691bf
tests: Remove temporary directory created by nar.scm.
...
* tests/nar.scm ("write-file + restore-file with symlinks"): Add (rm-rf
output).
2013-04-12 18:40:22 +02:00
Ludovic Courtès
9adb6934f4
store: Remove unneeded and conflicting import.
...
* guix/store.scm: Remove unneeded (ice-9 rdelim) import. In Guile 2.0.9
that module exports `read-string', which conflicts with that of (guix
serialization).
2013-04-12 18:22:41 +02:00
Ludovic Courtès
c31d1a7860
package: Being at the empty profile is not an error.
...
* guix/scripts/package.scm (roll-back): Use `format', not `leave' when
indicating "already at the empty profile". Fixes a regression
introduced in a2011be5df . Reported by
Nikita Karetnikov <nikita@karetnikov.org >.
2013-04-12 18:07:17 +02:00
Ludovic Courtès
9297c90b69
Update `TODO'.
2013-04-12 17:31:05 +02:00
Ludovic Courtès
3b82460576
guix package: Add `--no-substitutes'.
...
* guix/scripts/package.scm (%default-options): Add `substitutes?'.
(show-help, %options): Add and document `--no-substitutes'.
(guix-package): Call `set-build-options' to honor `substitutes?'.
2013-04-12 17:31:05 +02:00
Ludovic Courtès
fe0cff14f6
substitute-binary: Implement `--substitute'.
...
This allows build outputs to be transparently downloaded from
http://hydra.gnu.org , for example.
* config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
* guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
* guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
(<narinfo>): Change `url' to `uri'.
(make-narinfo): Rename to...
(narinfo-maker): ... this. Handle relative URLs.
(fetch-narinfo): Adjust accordingly.
(filtered-port, decompressed-port): New procedures.
(guix-substitute-binary): Implement the `--substitute' case.
* tests/store.scm ("substitute query"): Use (%store-prefix) instead
of (getenv "NIX_STORE_DIR").
("substitute"): New test.
2013-04-12 17:31:01 +02:00
Ludovic Courtès
d7c5d27795
substitute-binary: Correctly handle missing narinfos in `--query' mode.
...
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have",
"info"): Filter SUBSTITUTABLE through `narinfo?'.
2013-04-12 17:30:47 +02:00
Ludovic Courtès
8f3114b7a4
nar: Add support for symlinks.
...
* guix/nar.scm (write-file): Add case for type `symlink'.
(restore-file): Likewise.
* tests/nar.scm (random-file-size, make-file-tree, delete-file-tree,
with-file-tree, file-tree-equal?, make-random-bytevector,
populate-file): New procedures.
(%test-dir): New variable.
("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'.
("write-file + restore-file with symlinks"): New test.
2013-04-12 14:42:56 +02:00
Ludovic Courtès
7a88ad6bff
tests: Adjust `gnu-build' test to search path mechanism.
...
Fixes a regression introduced in a18eda2 .
Reported by Nikita Karetnikov <nikita@karetnikov.org >.
* tests/builders.scm (%bootstrap-search-paths): New variable.
("gnu-build"): Pass #:search-paths.
2013-04-11 22:56:39 +02:00
Ludovic Courtès
a2011be5df
ui: Add a `warning' macro.
...
* guix/ui.scm (program-name, guix-warning-port): New variables.
(warning): New macro.
(guix-main): Parametrize PROGRAM-NAME.
* guix/scripts/build.scm, guix/scripts/download.scm,
guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave'
and `warning' consistently.
2013-04-11 22:30:06 +02:00
Cyril Roelandt
1010e530d3
gnu: Add dwm.
...
* gnu/packages/dwm.scm: New file.
* Makefile.am: Add it.
2013-04-11 21:08:31 +02:00
Ludovic Courtès
068cdcd07c
build-system/gnu: Fix search path computation with implicit inputs.
...
Reported by Andreas Enge <andreas@enge.fr >.
* guix/build-system/gnu.scm (standard-packages): New procedure.
(standard-inputs): Use it instead of resolving things locally.
(gnu-build)[implicit-search-paths]: Map over (standard-packages), not
over STANDARD-INPUTS.
2013-04-09 19:01:21 +02:00
Ludovic Courtès
53c63ee937
nar: Implement restoration from Nar.
...
* guix/nar.scm (&nar-error, &nar-read-error): New condition types.
(dump): New procedure.
(write-contents)[dump]: Remove. Use the one above instead.
(read-contents, write-file, restore-file): New procedures.
(%archive-version-1): New variable.
2013-04-08 23:21:38 +02:00
Ludovic Courtès
52e5910cdc
build: Pass the appropriate flags when building `libstore.a'.
...
* daemon.am (libstore_a_CFLAGS): Rename to...
(libstore_a_CXXFLAGS): ... this.
2013-04-08 23:21:38 +02:00
Nikita Karetnikov
cbca6eb552
gnu: shishi: Update to 1.0.2.
...
* gnu/packages/shishi.scm (shishi): Update to 1.0.2.
* gnu/packages/patches/shishi-gets-undeclared.patch: Remove it.
* Makefile.am (dist_patch_DATA): Adjust accordingly.
2013-04-08 12:04:37 +00:00
Cyril Roelandt
4f7d8d7ee4
gnu: Python: fix the compilation of some modules from the standard library.
...
This commit enables the bz2, dbm, readline, ssl and zlib modules.
* gnu/packages/gdbm.scm: Enable the compatibility mode.
* gnu/packages/python.scm: Enable a few modules from the standard library.
* gnu/packages/patches/python-fix-dbm.patch: New file.
* Makefile.am: Add it.
2013-04-07 15:32:39 +02:00
Ludovic Courtès
0f41c26f9b
Add (guix nar) and (guix serialization).
...
* guix/store.scm (write-int, read-int, write-long-long, read-long-long,
write-padding, write-string, read-string, read-latin1-string,
write-string-list, read-string-list, write-store-path,
read-store-path, write-store-path-list, read-store-path-list): Move to
serialization.scm.
(write-contents, write-file): Move to nar.scm.
* guix/nar.scm, guix/serialization.scm: New files.
* Makefile.am (MODULES): Add them.
2013-04-04 22:29:08 +02:00
Ludovic Courtès
462f8e9f33
substitute-binary: Fix communication of several store paths to the daemon.
...
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]:
Emit blank lines only after the complete list of store paths has been
returned.
2013-04-04 21:47:55 +02:00
Andreas Enge
6be960c7f7
Merge branch 'xorg' into core-updates
2013-04-04 18:49:28 +02:00
Ludovic Courtès
f65cf81a3c
Add preliminary binary substituter.
...
* guix/scripts/substitute-binary.scm: New file.
* Makefile.am (MODULES): Add it.
* nix/scripts/substitute-binary.in: New file.
* config-daemon.ac: Produce nix/scripts/substitute-binary.
* daemon.am (nodist_pkglibexec_SCRIPTS): Add
nix/scripts/substitute-binary.
* guix/store.scm (substitutable-path-info): Use the
`query-substitutable-path-infos' RPC.
* nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
* pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
* test-env.in: Leave `NIX_SUBSTITUTERS' unchanged. Set
`GUIX_BINARY_SUBSTITUTE_URL, and create
$NIX_STATE_DIR/substituter-data.
Run `guix-daemon' within `./pre-inst-env'.
* tests/store.scm ("substitute query"): New test.
2013-04-03 22:44:39 +02:00
Ludovic Courtès
cf53ecf514
gnu: bigloo: Add dependencies on Avahi and libphidget.
...
* gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs,
and pkg-config as a native input.
2013-04-03 14:58:49 +02:00
Andreas Enge
8dc5d0cf7e
gnu: xorg: Re-enable tests for xorg-server.
...
* gnu/packages/xorg.scm (xorg-server): Re-enable (failing) tests.
2013-04-02 12:47:39 +02:00
Ludovic Courtès
adb5f46940
gnu: Add libphidget.
...
* gnu/packages/libphidget.scm: New file.
* Makefile.am (MODULES): Add it.
2013-04-02 10:59:27 +02:00
Ludovic Courtès
2c6ab6ccd4
store: Add `store-path-hash-part'.
...
* guix/store.scm (store-path-hash-part): New procedure.
* tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"):
New tests.
2013-04-01 17:35:27 +02:00
Ludovic Courtès
ef8c03407d
gnu-maintenance: Adjust `http-fetch' to the various Guile versions.
...
* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
'http-get*', or 'http-get' as a last resort. Check whether DATA is
#f, a string, or an input port.
2013-04-01 00:41:55 +02:00
Andreas Enge
c7f9993146
gnu: xorg: Remove inputs already available through propagation.
...
* gnu/packages/xorg.scm: Remove inputs that are available through propagation.
2013-03-31 21:16:50 +02:00
Andreas Enge
14ecc0effc
gnu: Add xpdf.
...
* gnu/packages/pdf.scm (xpdf): New variable.
* gnu/packages/patches/xpdf-constchar.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-03-31 17:27:37 +02:00
Andreas Enge
141ccae8a7
gnu: lesstif: Make package usable by adding propagated input.
...
* gnu/packages/lesstif.scm (lesstif): Add propagated input printproto;
include/Xm/Print.h from lesstif includes X11/extensions/Print.h from
printproto.
2013-03-31 14:58:01 +02:00
Andreas Enge
0a92b5b30a
gnu: freetype: Make include file ft2build.h work without changing the CPATH
...
of dependent packages.
* gnu/packages/fontutils.scm (freetype): Add link include/freetype to
include/freetype2/freetype.
2013-03-31 14:50:10 +02:00
Andreas Enge
bd8c5d5b02
gnu: xorg: Add libxp and printproto, not included in X11R7.7.
...
* gnu/packages/xorg.scm (libxp, printproto): New variables.
2013-03-31 14:33:33 +02:00
Ludovic Courtès
fdfd3d5d9c
pull: Switch to the cgit URL.
...
* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
that the Hydra one is not currently available.
2013-03-31 12:46:28 +02:00
Ludovic Courtès
3ee5a7d86a
gnu: perl-xml-parser: Fix URL.
...
* gnu/packages/xml.scm (perl-xml-parser): Fix URL.
2013-03-31 12:39:25 +02:00
Ludovic Courtès
9be8d7c8cb
gnu: Define `native-search-paths' for Automake, Guile, and Python.
...
* gnu/packages/autotools.scm (automake)[native-search-paths]: New field.
* gnu/packages/guile.scm (guile-1.8)[native-search-paths]: New field.
(guile-2.0)[native-search-paths]: New field.
* gnu/packages/python.scm (python)[native-search-paths]: New field.
2013-03-30 22:57:05 +01:00
Ludovic Courtès
a18eda2747
packages: Add `native-search-paths' field and honor it.
...
* guix/packages.scm (<search-path-specification>): New record type.
(search-path-specification->sexp): New procedure.
(<package>)[native-search-paths]: New field.
(package-derivation): Accumulate the search paths, and pass them
as #:search-paths toe BUILDER.
* guix/build-system/gnu.scm (gnu-build): Add #:search-paths. Compute
`implicit-search-paths'. Pass #:search-paths in BUILDER.
* guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it
to BUILDER with the search paths of PERL.
* guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it
to BUILDER.
* guix/build-system/trivial.scm (trivial-build): Add #:search-paths,
ignore it.
* guix/build/gnu-build-system.scm (set-paths): Add #:search-paths.
Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH.
Instead, walk SEARCH-PATHS and call `set-path-environment-variable'
for them.
* guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting.
* tests/packages.scm ("search paths"): New test.
* gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add
#:search-paths.
(%bootstrap-gcc): Add `native-search-paths' field.
* gnu/packages/perl.scm (perl): Likewise.
* gnu/packages/pkg-config.scm (pkg-config): Likewise.
* gnu/packages/glib.scm (intltool): Remove `arguments'.
* gnu/packages/avahi.scm (avahi): Remove #:phases.
2013-03-30 22:57:03 +01:00
Ludovic Courtès
5cfdb4bcac
build: Pass the appropriate flags when building `libstore.a'.
...
* daemon.am (libstore_a_CFLAGS): Rename to...
(libstore_a_CXXFLAGS): ... this.
2013-03-30 21:49:17 +01:00
Ludovic Courtès
a96748bb46
build-system/gnu: Remove #:path-exclusions parameter.
...
* guix/build/gnu-build-system.scm (set-paths): Remove `path-exclusions'
parameter. Replace `relevant-input-directories' by
`input-directories'.
* guix/build-system/gnu.scm (gnu-build): Remove `path-exclusions'
parameter; don't pass it in BUILDER.
* guix/build-system/cmake.scm (cmake-build): Likewise.
2013-03-30 21:46:59 +01:00
Andreas Enge
bc3073c8e3
gnu: xorg: Make font-adobe75dpi and font-adobe100dpi compile (not install).
...
* gnu/packages/xorg/scm (font-adobe75dpi, font-adobe100dpi): Add inputs
bdftopcf, font-util and mkfontdir.
2013-03-30 10:13:23 +01:00
Andreas Enge
84419dfd25
gnu: xorg: Add mtdev and make xf86-input-synaptics compile (not install).
...
* gnu/packages/xorg.scm (mtdev): New variable.
* gnu/packages/xorg.scm (xf86-input-synaptics): Add inputs libx11, libxi
and mtdev.
* gnu/packages/xorg.scm (libxi): Propagate input libxext.
2013-03-30 10:05:08 +01:00
Andreas Enge
7e2ec42b1a
gnu: xorg: Disable not compiling xf86-video-geode.
...
* gnu/packages/xorg.scm (xf86-video-geode): Comment out since not compiling
(assembler errors).
2013-03-30 09:42:11 +01:00
Andreas Enge
3a5d958570
gnu: xorg: Fix compilation of xorg-server.
...
* gnu/packages/xorg.scm (mesa): Propagate input libxxf86vm.
2013-03-30 09:19:24 +01:00
Andreas Enge
1f44111f83
gnu: xorg: Disable xf86-video-glide.
...
* gnu/packages/xorg.scm (xf86-video-glide): Comment variable; driver for
obsolete graphics cards, depends on libglide, last updated in 2003,
and which does not compile out of the box any more.
2013-03-30 09:00:25 +01:00
Andreas Enge
6706269ed4
gnu: xorg: Disable xf86-video-wsfb.
...
* gnu/packages/xorg.scm (xf86-video-wsfb): Comment variable, only relevant
for the frame buffer on BSD systems.
2013-03-30 08:54:53 +01:00
Andreas Enge
47038b76b2
gnu: xorg: Make xgamma compile.
...
* gnu/packages/xorg.scm (libxxf86vm): Propagate inputs libxext and
xf86vidmodeproto.
2013-03-30 08:50:39 +01:00
Andreas Enge
979bc0f49b
gnu: xorg: Make xvinfo compile.
...
* gnu/packages/xorg.scm (libxv): Propagate input videoproto.
2013-03-30 08:43:47 +01:00
Ludovic Courtès
4928e50033
Merge branch 'master' into core-updates
...
Conflicts:
Makefile.am
gnu/packages/base.scm
2013-03-29 21:44:31 +01:00
Andreas Enge
73274a8ae7
gnu: Really add lesstif.
...
* Makefile.am (MODULES): Commit the module addition.
2013-03-29 10:51:41 +01:00
Andreas Enge
13f5ea6f46
gnu: Add lesstif.
...
* gnu/packages/lesstif.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-29 10:49:30 +01:00
Ludovic Courtès
3f5a932eea
snix: Adjust import to current Nixpkgs input attribute names.
...
* guix/snix.scm (snix-derivation->guix-package): Use the new names
`nativeBuildInputs' and `propagatedNativeBuildInputs'.
2013-03-29 00:16:58 +01:00
Andreas Enge
917748dd6d
gnu: xorg: Make most xserver related packages compile.
...
* gnu/packages/xorg.scm (xf86-*): Add input xorg-server.
* gnu/packages/xorg.scm (xf86-video-glint, xf86-video-neomagic,
xf86-video-tga, xf86-video-trident, xf86-video-voodoo):
Add input xf86dgaproto.
* gnu/packages/xorg.scm (xf86-video-ati, xf86-video-mach64,
xf86-video-mga, xf86-video-r128, xf86-video-savage, xf86-video-tdfx):
Add inputs mesa and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-i128): Add inputs libdrm and libx11.
* gnu/packages/xorg.scm (xf86-video-openchrome): Add inputs libx11, libxext,
libxvmc, mesa and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-siliconmotion): Add inputs mesa,
xf86dgaproto and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-vmware): Add inputs libx11 and libxext.
* gnu/packages/xorg.scm (libxvmc): Propagate input libxv.
* gnu/packages/xorg.scm (mesa): Propagate input glproto.
* gnu/packages/xorg.scm (xf86-video-geode): Correct source hash.
2013-03-28 23:54:58 +01:00
Nikita Karetnikov
f9bbf2a819
gnu-maintenance: Improve 'official-gnu-packages'; add related procedures.
...
* guix/gnu-maintenance.scm (http-fetch): Return an input port.
(<gnu-package-descriptor>): Add it.
(official-gnu-packages): Use <gnu-package-descriptor>.
(find-packages): Add it.
(gnu-package?): Adjust accordingly.
2013-03-28 22:00:10 +00:00
Cyril Roelandt
c6bded8a29
Add (guix build-system cmake).
...
* guix/build/cmake-build-system.scm, guix/build-system/cmake.scm: New files.
* Makefile.am (MODULES): Add them.
2013-03-28 21:04:54 +01:00
Ludovic Courtès
bb90ad83b1
build: Set %fresh-auto-compile' in hydra.scm'.
...
* hydra.scm: Set `%fresh-auto-compile' to #t.
2013-03-28 00:14:38 +01:00
Ludovic Courtès
c415f14538
gnu: make-bootstrap: Import (gnu packages gcc).
...
* gnu/packages/make-bootstrap.scm: Import (gnu packages gcc).
2013-03-27 23:47:54 +01:00
Ludovic Courtès
c9f94132ca
download: Remove unreliable GNU mirror.
...
* guix/download.scm (%mirrors)[gnu]: Remove ftp.chg.ru.
2013-03-27 15:50:18 +01:00
Ludovic Courtès
5c126b645e
gnu: Add libelf.
...
* gnu/packages/gcc.scm (libelf): New variable.
2013-03-27 15:47:48 +01:00
Ludovic Courtès
832abc7687
gnu: Add ISL and CLooG.
...
* gnu/packages/gcc.scm (%gcc-infrastructure, isl, cloog): New variables.
2013-03-27 15:37:27 +01:00
Ludovic Courtès
e9c0b9446b
gnu: Move GCC to its own module.
...
* gnu/packages/base.scm (gcc-4.7): Move to...
* gnu/packages/gcc.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
2013-03-27 15:13:25 +01:00
Ludovic Courtès
785db4d877
glib: Patch around prlimit(2) failure.
...
* gnu/packages/glib.scm (glib)[source]: Switch to mirror://gnome.
[inputs]: Add `patch/tests-prlimit'.
[arguments]: Add it.
* gnu/packages/patches/glib-tests-prlimit.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-03-27 15:01:30 +01:00
Ludovic Courtès
0b5aa854a0
build: `hydra.scm' changes %load-path to refer to itself.
...
* hydra.scm: Add `eval-when' clause.
2013-03-27 00:24:54 +01:00
Ludovic Courtès
da0a26d2a7
Update `TODO'.
2013-03-27 00:11:57 +01:00
Ludovic Courtès
7bf569186c
gnu: Add GNU cflow.
...
* gnu/packages/cflow.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-26 22:43:41 +01:00
Ludovic Courtès
47a9cb950a
gnu: Add GNU cppi.
...
* gnu/packages/cppi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-26 22:32:18 +01:00
Cyril Roelandt
a25fe6d620
gnu: add dependencies to poppler.
...
Add libpng and zlib to the inputs.
2013-03-24 20:23:15 +01:00
Ludovic Courtès
128663e4c8
store: Really disable file name canonicalization for derivation inputs.
...
* guix/store.scm (write-contents)[call-with-binary-input-file]: Set
%FILE-PORT-NAME-CANONICALIZATION to #f.
* gnu/packages.scm (search-patch, search-bootstrap-binary): Leave
%FILE-PORT-NAME-CANONICALIZATION unchanged. This reverts 9776ebb .
2013-03-22 23:15:34 +01:00
Ludovic Courtès
238f739777
store: Use `sendfile' when available.
...
* guix/store.scm (write-contents)[call-with-binary-input-file]: New
procedure.
Use `sendfile' instead of `dump' when available. Add `size'
parameter.
(write-file): Update caller.
2013-03-22 23:15:34 +01:00
Andreas Enge
14a3a67364
gnu: Update mpfr to 3.1.2.
...
* gnu/packages/multiprecision.scm (mpfr): Update to 3.1.2.
2013-03-22 13:04:41 +01:00
Cyril Roelandt
b6a64843c6
gnu: Add cmake.
...
* gnu/packages/cmake.scm: New file.
* gnu/packages/patches/cmake-fix-tests.patch: New file.
* Makefile.am: Add them.
2013-03-21 19:53:29 +01:00
Ludovic Courtès
9776ebb2a5
gnu: Disable file name canonicalization in `search-*'.
...
* gnu/packages.scm (search-patch, search-bootstrap-binary): Make sure no
canonicalization occurs. This reduces the number of 'stat' system
calls.
2013-03-21 00:32:26 +01:00
Cyril Roelandt
712e6e684c
gnu: Add lua.
...
* gnu/packages/lua.scm: New file.
* Makefile.am: add it.
2013-03-19 23:27:04 +01:00
Ludovic Courtès
84a3e3b776
gnu: libgcrypt: Upgrade to 1.5.1.
...
* gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.5.1.
2013-03-19 17:54:00 +01:00
Ludovic Courtès
881a4cf13a
Work around < http://bugs.gnu.org/13095 > in build-aux/download.scm.
...
* build-aux/download.scm: Annihilate `shutdown' in (web client).
Reported by Aljosha Papsch.
2013-03-19 16:57:46 +01:00
Ludovic Courtès
ce41a4629c
release.nix: Hack to unchroot more stuff.
...
* release.nix (unchrootedNixpkgs): New function.
(jobs)[tarball, build, build_disable_daemon, distro): Use it.
Should fix <http://hydra.gnu.org:3000/build/7279 >.
2013-03-18 23:17:28 +01:00
Ludovic Courtès
9c3ac1b641
release.nix: Adjust to current Nixpkgs.
...
* release.nix: s/buildNativeInputs/nativeBuildInputs/.
2013-03-18 23:09:35 +01:00
Ludovic Courtès
a4f08f9258
guix package: Report packages to be removed/installed.
...
* guix/scripts/package.scm (guix-package)[process-actions](show-what-to-remove/install):
New procedure.
Call it before `show-what-to-build'.
2013-03-18 23:04:07 +01:00
Andreas Enge
d539646af4
gnu: xorg: Enable xdriinfo.
...
* gnu/packages/xorg.scm (xdriinfo): Enable input mesa.
2013-03-17 19:02:56 +01:00
Andreas Enge
b04ac5a1e2
gnu: xorg: Arrange more inputs for x server related packages.
...
* gnu/packages/xorg.scm (xf86-input-evdev): Add input xorg-server.
* gnu/packages/xorg.scm (xorg-server): Propagate inputs and add normal and
propagated inputs.
2013-03-17 18:59:21 +01:00
Andreas Enge
c0589f7591
gnu: Add X.org as input to Texlive.
...
* gnu/packages/texlive.scm (texlive): Add x.org inputs.
2013-03-17 00:57:02 +01:00
Andreas Enge
71f4b81aa5
gnu: Add openconnect.
...
* gnu/packages/vpn.scm (openconnect): New variable.
2013-03-16 22:36:13 +01:00
Ludovic Courtès
0bb1aa9e05
derivations: Optimize `build-expression->derivation'.
...
This reduces the execution time of
"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 6%, from
1.15s to 1.08s.
* guix/derivations.scm (build-expression->derivation): Write the builder
as UTF-8.
2013-03-16 17:23:17 +01:00
Ludovic Courtès
d80855999a
derivations: Optimize `write-derivation'.
...
This reduces the execution time of
"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 25%, from
1.54 s. to 1.15s.
* guix/derivations.scm (write-sequence, write-list, write-tuple): New
procedures.
(write-derivation)[list->string, write-list]: Remove.
[write-string-list, write-output, write-input, write-env-var]: New helpers.
Rewrite in terms of these new helpers.
2013-03-16 16:48:22 +01:00
Ludovic Courtès
993fb66dd2
guix package: Gracefully handle `official-gnu-packages' failure.
...
* guix/gnu-maintenance.scm (http-fetch): Error out when DATA is #f.
* guix/scripts/package.scm (check-package-freshness): Wrap
`gnu-package?' call in `false-if-exception'.
Reported by Cyril Roelandt <tipecaml@gmail.com >.
2013-03-16 00:59:19 +01:00
Andreas Enge
5ee12e217c
gnu: xorg: Change download location for xcb related packages.
...
* gnu/packages/xorg.sm (libpthread-stubs, libxcb, xcb-proto): Replace broken
xorg mirrors by url of the xcb project.
2013-03-15 20:52:48 +01:00
Ludovic Courtès
847e7725e9
gnu: coreutils, sed: Update.
...
* gnu/packages/base.scm (sed): Update to 4.2.2.
(coreutils): Update to 8.21.
2013-03-15 18:38:47 +01:00
Ludovic Courtès
444c64b04e
gnu: binutils: Update to 2.23.1.
...
* gnu/packages/base.scm (binutils): Update to 2.23.1. Add
`--disable-werror'.
(binutils-boot0): Augment BINUTILS's configure flags.
2013-03-15 18:38:34 +01:00
Ludovic Courtès
3be9f724f5
gnu: emacs: Update to 24.3.
...
* gnu/packages/emacs.scm (emacs): Update to 24.3. Use the .xz tarball.
* gnu/packages/patches/emacs-configure-sh.patch: Adjust.
2013-03-14 17:47:26 +01:00
Ludovic Courtès
b5c56e628f
gnu: texinfo: Update to 5.1.
...
* gnu/packages/texinfo.scm (texinfo): Update to 5.1.
2013-03-14 17:32:25 +01:00
Andreas Enge
e45a608245
gnu: xorg: Add xeyes (for testing purposes).
...
* gnu/packages/xorg.scm (xeyes): New variable.
2013-03-10 13:42:40 +01:00
Andreas Enge
08dccdfd12
gnu: xorg: Make xorg-server compilable (tests still fail).
...
* gnu/packages/xorg.scm (mesa): Propagate inputs libdrm and libxdamage.
* gnu/packages/xorg.scm (xorg-server): Add input videoproto.
2013-03-10 13:31:03 +01:00
Andreas Enge
42ed9985b1
gnu: xorg: Make xkeyboard-config compile.
...
* gnu/packages/xorg.scm (xkeyboard-config): Add inputs gettext, intltool,
perl-xml-parser.
2013-03-10 13:00:57 +01:00
Andreas Enge
2b8c5f547a
gnu: Add intltool.
...
* gnu/packages/xml.scm (intltool): New variable.
* gnu/packages/xml.scm (perl-xml-parser): Fix download location.
2013-03-10 12:57:32 +01:00
Andreas Enge
68a3d0e8cd
gnu: xorg: Add old versions of mesa and libdrm.
...
* gnu/packages/xorg.scm (mesa): New variable, only version 8.0.5 compiles.
* gnu/packages/xorg.scm (libdrm-2.4.33): New variable, required by mesa 8.0.5.
2013-03-09 22:29:49 +01:00
Andreas Enge
6f52fb63ae
gnu: xorg: Propagate input.
...
* gnu/packages/xorg.scm (libxdamage): Propagate input damageproto.
2013-03-09 00:18:34 +01:00
Andreas Enge
11e3f10788
gnu: libxslt: Add zlib and libxml2 python module to inputs.
...
* gnu/packages/xml.scm (libxslt): Add input zlib and add libxml2 to PYTHONPATH.
2013-03-08 23:03:07 +01:00
Andreas Enge
322cbda7c5
gnu: libxml2: Add python support.
...
* gnu/packages/xml.scm (libxml2): Compile and install python module.
2013-03-08 22:47:01 +01:00
Ludovic Courtès
ef86c39f27
ui: Gracefully report failures to connect to the daemon.
...
* guix/store.scm (&nix-connection-error): New condition type.
(open-connection): Translate `system-error' during the `connect' call
into `&nix-connection-error'.
* guix/ui.scm (call-with-error-handling): Add case for `nix-connection-error?'.
* guix/scripts/package.scm (guix-package): Move `open-connection' call
within `with-error-handling'.
* guix/scripts/pull.scm (guix-pull): Likewise.
* guix/scripts/download.scm (guix-download): Move body within
`with-error-handling'.
2013-03-07 19:44:14 +01:00
Nikita Karetnikov
30db6af1de
utils: Add 'wrap-program'.
...
* guix/build/utils.scm (wrap-program): New procedure.
2013-03-07 00:46:23 +01:00
Ludovic Courtès
1fb78cb2c3
packages: Remove the default value for `license'.
...
* guix/packages.scm (<package>): Remove the default value for `license'.
* gnu/packages/bootstrap.scm (package-from-tarball,
%bootstrap-glibc, %bootstrap-gcc): Initialize `license'.
* tests/packages.scm (dummy-package): Likewise.
2013-03-07 00:42:18 +01:00
Ludovic Courtès
6ba9dd813d
Revert "utils: Add 'wrap-program'."
...
This reverts commit 02065130de .
2013-03-07 00:36:14 +01:00
Andreas Enge
f8d3c99ba1
gnu: xorg: Add libdrm.
...
* gnu/packages/xorg.scm (libdrm): New variable.
2013-03-06 23:20:34 +01:00
Andreas Enge
5acf2910b8
gnu: xorg: Add pixman.
...
* gnu/packages/xorg.scm (pixman): New variable.
* gnu/packages/xorg.scm (xorg-server): Enable input pixman.
2013-03-06 22:40:03 +01:00
Andreas Enge
d92083ad99
gnu: xorg: Comment applewmproto and libapplewm, compile only on macos.
...
* gnu/packages/xorg.scm (applewmproto,libapplewm): Remove variables.
2013-03-06 22:24:08 +01:00
Andreas Enge
6eb126c5f2
gnu: xorg: Add inputs and propagated-inputs, propagate some inputs.
...
Rename two packages to avoid clashes between package names and versions.
* gnu/packages/xorg.scm (font-adobe-100dpi): Rename to font-adobe100dpi.
* gnu/packages/xorg.scm (font-adobe-75dpi): Rename to font-adobe75dpi.
* gnu/packages/xorg.scm: Add pkg-xonfig as input to several packages.
* gnu/packages/xorg.scm (encodings): Add input mkfontscale.
* gnu/packages/xorg.scm (libx11): Add inputs inputprotoi, xextproto, xtrans.
* gnu/packages/xorg.scm (libxpm): Add input gettext.
* gnu/packages/xorg.scm (libxxf86dga): Add inputs libx11, libxext, xf86dgaproto.
* gnu/packages/xorg.scm (libxxf86vm): Add inputs libx11i, libxext, xf86vidmodeproto.
* gnu/packages/xorg.scm (x11perf): Add inputs libx11i, libxfti, libxmu, libxrender.
* gnu/packages/xorg.scm (xcursor-themes): Add input xcursorgen.
* gnu/packages/xorg.scm (xdpyinfo): Add input inputproto.
* gnu/packages/xorg.scm (font-xfree86-type1): Add input mkfontdir.
* gnu/packages/xorg.scm (libx11): Add propagated inputs kbproto, libxcb.
* gnu/packages/xorg.scm (mkfontdir): Add propagated input mkfontscale.
* gnu/packages/xorg.scm (fixesproto): Propagate input xextproto.
* gnu/packages/xorg.scm (libice): Propagate input xproto.
* gnu/packages/xorg.scm (libxau): Propagate input xproto.
* gnu/packages/xorg.scm (libxaw): Propagate inputs libxext, libxmu, libxpm.
* gnu/packages/xorg.scm (libxcb): Propagate inputs libpthread-stubs, libxaui, libxdmcp.
* gnu/packages/xorg.scm (libxcursor): Propagate inputs libx11, libxfixes, libxrender, xproto.
* gnu/packages/xorg.scm (libxext): Propagate input xextproto.
* gnu/packages/xorg.scm (libxfixes): Propagate input fixesproto.
* gnu/packages/xorg.scm (libxfont): Propagate inputs fontsproto, freetype, libfontenc, xproto.
* gnu/packages/xorg.scm (libxinerama): Propagate input xineramaproto.
* gnu/packages/xorg.scm (libxrandr): Propagate inputs libxext, randrproto.
* gnu/packages/xorg.scm (libxrender): Propagate input renderproto.
* gnu/packages/xorg.scm (libxt): Propagate inputs libx11, libice, libsm.
* gnu/packages/xorg.scm (libxtst): Propagate input recordproto.
* gnu/packages/xorg.scm (xbacklight): Propagate inputs libx11, libxrandr.
* gnu/packages/xorg.scm (xkeyboard-config): Propagate inputs libx11, xkbcomp.
* gnu/packages/xorg.scm (xproto): Propagate input util-macros.
2013-03-06 22:08:52 +01:00
Nikita Karetnikov
02065130de
utils: Add 'wrap-program'.
...
* guix/build/utils.scm (wrap-program): New procedure.
2013-03-06 21:03:26 +00:00
Nikita Karetnikov
563e8b3920
gnu: Add GNU Fdisk.
...
* gnu/packages/fdisk.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-06 20:58:48 +00:00
Nikita Karetnikov
bd5ecea637
gnu: Add w3m.
...
* gnu/packages/w3m.scm,
gnu/packages/patches/w3m-fix-compile.patch: New files.
* Makefile.am (MODULES): Add 'w3m.scm'.
(dist_patch_DATA): Add 'w3m-fix-compile.patch'.
2013-03-06 20:52:04 +00:00
Nikita Karetnikov
bbd60260dd
licenses: Add 'x11-style'.
...
* guix/licenses.scm (x11-style): New variable.
2013-03-06 20:40:11 +00:00
Andreas Enge
48ebc134f4
gnu: xorg: Correct typo in download location.
...
* gnu/packages/xorg.scm (xf86-video-glide): Correct typo.
2013-03-06 14:38:42 +01:00
Andreas Enge
9d12d38f38
gnu: xorg: Uncomment dependencies on libxcb.
...
* gnu/packages/xorg.scm (xbacklight, xdpyinfo, xlsatoms, xlsclients,
xwininfo): Uncomment dependency on libxcb.
2013-03-06 13:28:01 +01:00
Andreas Enge
5223c82627
gnu: xorg: Add home-page, synopsis and description.
...
* gnu/packages/xorg.scm: Add home-page and (generic) synopsis and description.
2013-03-06 13:28:01 +01:00
Andreas Enge
0820a58b3c
gnu: xorg: Fix http mirror and uncomment xcb packages.
...
* guix/download.scm (%mirrors): Fix main http mirror address.
* gnu/packages/xorg.scm (libpthread-stubs, libxcb, xcb-proto): Uncomment
and add licenses.
2013-03-06 13:28:01 +01:00
Andreas Enge
dd85efda47
gnu: xorg: Downgrade package versions to those present in X11R7.7
...
* gnu/packages/xorg.scm (dri2proto, libxcb, libxrandr, randrproto,
xbacklight, xcb-proto, xorg-server):
Use the versions present in X11R7.7.
2013-03-06 13:28:01 +01:00
Andreas Enge
d385b8355d
gnu: xorg: Add licenses.
...
Comment out packages with non-free license, without license, or
not available on the ftp servers.
Remove package not present in the distribution.
* gnu/packages/xorg.scm (*): Add licenses.
* gnu/packages/xorg.scm (libxp): Remove variable of package that is not
present in the R7.7 distribution.
* gnu/packages/xorg.scm (libpthread, libxcb): Comment out variables, which
are referenced, but not present on the ftp servers.
* gnu/packages/xorg.scm (font-adobe-utopia-100dpi, font-adobe-utopia-75dpi,
font-adobe-utopia-type1, font-bh-100dpi, font-bh-75dpi,
font-bh-lucidatypewriter-100dpi, font-bh-lucidatypewriter-75dpi,
font-bh-type1, font-bitstream-100dpi, font-bitstream-75dpi,
font-daewoo-misc, font-ibm-type1, font-jis-misc, font-misc-meltho,
xf86-video-dummy):
Comment out variables, packages have non-free licenses.
* gnu/packages/xorg.scm (font-cursor-misc, xf86-video-v4l, xorg-docs):
Comment out variables, packages have no license.
2013-03-06 13:28:00 +01:00
Andreas Enge
b49317cac3
gnu: xorg: Add missing hashes.
...
* gnu/packages/xorg.scm: Add hashes to all packages.
2013-03-06 13:28:00 +01:00
Andreas Enge
88ee93f917
gnu: xorg: Transform propagated into normal inputs.
...
* gnu/packages/xorg.scm: Transform propagated into normal inputs;
allows to keep packages in alphabetical order.
2013-03-06 13:28:00 +01:00
Andreas Enge
5f1d0fb085
gnu: xorg: Add and remove packages to mirror X11R7.7/src/everything
...
* gnu/packages/xorg.scm: Remove packages not from
ftp://ftp.freedesktop.org/pub/xorg/X11R7.7/src/everything/ .
Add missing packages, for the time being with a 0 hash and
without dependencies.
Correct spelling (all lower case for package names).
2013-03-06 13:28:00 +01:00
Andreas Enge
9aea24b608
gnu: xorg: Initial import from nix.
...
* gnu/packages/xorg.scm: New module.
* Makefile.am: Add it.
2013-03-06 13:28:00 +01:00
Ludovic Courtès
6a917ef7e6
gnu-maintenance: Clarify `releases'.
...
* guix/gnu-maintenance.scm (releases): Change to use `match' and
`match-lambda'. Add `release-file' auxiliary function.
2013-03-05 22:31:19 +01:00
Ludovic Courtès
296540a6db
gnu-maintenance: Fix gnu-package?' for packages lacking a source'.
...
* guix/gnu-maintenance.scm (gnu-package?): Support PACKAGE when its
source is #f.
2013-03-05 22:25:40 +01:00
Ludovic Courtès
19777ae6ea
guix package: Recover from freshness check transient errors.
...
* guix/scripts/package.scm (check-package-freshness): Ignore
`getaddrinfo-error' and `ftp-error' exceptions.
2013-03-05 22:24:19 +01:00
Ludovic Courtès
ef010c0f3d
guix package: Inform about new upstream versions of GNU packages.
...
* guix/gnu-maintenance.scm (gnu-package?): New procedure.
* guix/scripts/package.scm (waiting): New macro.
(check-package-freshness): New procedure.
(guix-package)[process-actions]: Use it.
* doc/guix.texi (Invoking guix package): Mention the feature.
2013-03-05 20:35:47 +01:00
Ludovic Courtès
c50cbfd61a
gnu: Add Avahi.
...
* gnu/packages/avahi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-05 20:26:24 +01:00
Ludovic Courtès
ea7127b9b7
gnu: Update GnuTLS to 3.1.9.1.
...
* gnu/packages/gnutls.scm (gnutls): Update to 3.1.9.1.
2013-03-05 19:09:53 +01:00
Ludovic Courtès
71eb5c1067
gnu: Add intltool.
...
* guix/download.scm (%mirrors): Add `gnome' mirrors.
* gnu/packages/glib.scm (intltool): New variable.
2013-03-05 19:09:53 +01:00
Ludovic Courtès
b16c5a5857
Update TODO.
2013-03-05 19:09:04 +01:00
Ludovic Courtès
12761f48ea
utils: Add a #:follow-symlinks? parameter to `copy-recursively'.
...
* guix/build/utils.scm (copy-recursively): Turn `log' into a keyword
parameter. Add the `follow-symlinks?' parameter and honor it.
2013-03-05 19:03:39 +01:00
Ludovic Courtès
e65df6a63a
utils: Add `delete-file-recursively'.
...
* guix/build/utils.scm (delete-file-recursively): New procedure.
2013-03-05 18:53:53 +01:00
Ludovic Courtès
7f614e49e8
gnu: glibc: Install locale data.
...
* gnu/packages/base.scm (glibc): Add `outputs' field. Pass
`--localedir' and set `libc_cv_localedir'. Add `install-locales'
phase.
2013-03-05 18:38:05 +01:00
Andreas Enge
938081b9ce
gnu: Add lsof.
...
* gnu/packages/lsof.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-05 00:14:44 +01:00
Ludovic Courtès
81eec00cb2
Merge branch 'master' into core-updates
...
Conflicts:
Makefile.am
guix/scripts/gc.scm
guix/scripts/package.scm
guix/ui.scm
tests/guix-package.sh
2013-03-04 23:27:24 +01:00
Andreas Enge
8689a1908a
guix: build: Add "share/pkgconfig" to PKG_CONFIG_PATH, as used by xorg.
...
* guix/build/gnu-build-system.scm (set-paths): Add "share/pkgconfig"
to PKG_CONFIG_PATH.
2013-03-04 10:14:34 +01:00
Ludovic Courtès
2a1e82bb5c
gnu: Add Perl XML::Parser.
...
* gnu/packages/xml.scm (perl-xml-parser): New variable.
2013-03-04 00:48:00 +01:00
Ludovic Courtès
08fd1ebefd
Add (guix build-system perl).
...
* guix/build-system/perl.scm, guix/build/perl-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/build-system/gnu.scm (standard-inputs): Make public.
2013-03-04 00:48:00 +01:00
Ludovic Courtès
6af3101999
download: Add CPAN mirrors.
...
* guix/download.scm (%mirrors)[cpan]: New URLs.
2013-03-04 00:48:00 +01:00
Andreas Enge
49f24f41e3
gnu: Add vpnc.
...
* gnu/packages/vpn.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages/patches/vpnc-script.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-03-03 14:12:57 +01:00
Ludovic Courtès
d688a2f0fd
release.nix: Reduce the number of dependencies.
...
* release.nix (tarball): Use a minimal Git.
2013-03-02 22:56:30 +01:00
Ludovic Courtès
4cdbdd4439
gnu: Add libdaemon.
...
* gnu/packages/libdaemon.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-02 17:00:33 +01:00
Ludovic Courtès
c86929e403
release.nix: Unchroot recursively.
...
* release.nix (unchroot): Operate recursively on build inputs.
2013-03-02 15:25:04 +01:00
Ludovic Courtès
11a7ceb9e8
release.nix: Build outside of a chroot.
...
* release.nix (unchroot): New function.
(jobs)[tarball, build, build_disable_daemon]: Use it.
2013-03-02 15:14:22 +01:00
Ludovic Courtès
eb0880e71d
ui: Factorize `read/eval-package-expression'.
...
* guix/scripts/package.scm (read/eval-package-expression): Move to...
* guix/ui.scm (read/eval-package-expression): ... here.
* guix/scripts/build.scm (derivations-from-package-expressions): Use it.
2013-03-01 21:55:42 +01:00
Ludovic Courtès
5d4b411f8a
guix package: Add `--install-from-expression'.
...
* guix/scripts/package.scm (read/eval-package-expression): New
procedure.
(show-help): Add `-e'.
(%options): Likewise.
(guix-package)[process-actions]: Handle ('install . p) pairs, where P
is a package.
* tests/guix-package.sh: Add `boot_make_drv'. Use `-i $boot_make_drv'
once, and then use `-e $boot_make'.
* doc/guix.texi (Invoking guix package): Document `-e'.
2013-03-01 21:54:56 +01:00
Ludovic Courtès
431a35518f
gnu: global: Update to 6.2.8.
...
* gnu/packages/global.scm (global): Update to 6.2.8.
2013-03-01 18:34:33 +01:00
Ludovic Courtès
ba8b732d20
guix gc: Add --references' and --referrers'.
...
* guix/scripts/gc.scm (show-help): Update.
(%options): Add `--references' and `--referrers'.
(guix-gc)[symlink-target, store-directory]: New procedures.
Handle the `list-references' and `list-referrers' actions.
* tests/guix-gc.sh: Add tests for `--references'.
* doc/guix.texi (Invoking guix gc): Document `--references' and
`--referrers'.
2013-02-27 23:16:00 +01:00
Ludovic Courtès
fae31edcec
store: Add queries for references & co.
...
* guix/store.scm (operation-id)[query-valid-derivers]: New value.
(references, referrers, valid-derivers, query-derivation-outputs): New
procedures.
* tests/store.scm ("references", "derivers"): New tests.
2013-02-27 22:40:35 +01:00
Ludovic Courtès
827d28914a
gnu: Add cross tool chain.
...
* gnu/packages/cross-base.scm: New file.
* gnu/packages/patches/gcc-cross-environment-variables.patch: New file.
* Makefile.am (MODULES): Add cross-base.scm.
(dist_patch_DATA): Add gcc-cross-environment-variables.patch.
* gnu/packages/base.scm (gcc-4.7): Use `LDFLAGS_FOR_TARGET' instead of
`LDFLAGS_FOR_BUILD', and use `-B' instead of `-L'.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
"mips64el-linux".
2013-02-27 20:55:42 +01:00
Ludovic Courtès
aaf4cb20ad
gnu: linux: Make `system->linux-architecture' public, and add ARM.
...
* gnu/packages/linux.scm (system->linux-architecture): Make public. Add
"arm".
2013-02-27 20:55:42 +01:00
Nikita Karetnikov
618cea694d
gnu: linux-libre-headers: Set 'ARCH' to 'mips'.
...
* gnu/packages/linux.scm (system->linux-architecture): New procedure.
(linux-libre-headers): Adjust accordingly.
2013-02-27 20:55:42 +01:00
Nikita Karetnikov
6ec8f7778f
gnu: gcc: Remove extraneous newline in 'LIB_SPEC'.
...
* gnu/packages/base.scm (gcc-4.7): Remove trailing newline when patching
'LIB_SPEC'.
2013-02-27 20:55:42 +01:00
Ludovic Courtès
da9bf2efc5
pull: Distinguish "already up to date" from "updated".
...
* guix/ui.scm (show-what-to-build): Return (length req*).
* guix/scripts/pull.scm (guix-pull): Print an "already up to date"
message when there's nothing to build.
2013-02-27 20:55:42 +01:00
Ludovic Courtès
a1c1467756
pull: Build (guix build download) first, because of the (gnutls) autoload.
...
* guix/scripts/pull.scm (unpack): Build (guix build download) first, as
done in 855a8ad71d .
Reported by Andreas Enge <andreas@enge.fr >.
2013-02-27 20:55:42 +01:00
Ludovic Courtès
00fa3d1457
guix: Make sure UPDATES-DIR is valid.
...
* scripts/guix.in: Make sure UPDATES-DIR is not #f.
2013-02-27 20:55:42 +01:00
Ludovic Courtès
69ce1ffc7d
Add "guix pull".
...
* guix/scripts/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (Invoking guix pull): New node.
(Invoking guix package): Add cross-ref to it.
* guix/ui.scm (config-directory): New procedure.
* scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add
$XDG_CONFIG_HOME/guix/latest to the search path.
* po/POTFILES.in: Add guix/scripts/pull.scm.
2013-02-27 20:55:42 +01:00
Ludovic Courtès
7650e148f6
ui: Factorize `show-what-to-build'.
...
* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
* guix/ui.scm (show-what-to-build): ... here. Add a `store'
parameter'. Adjust callers.
* guix/scripts/build.scm (guix-build): Use it. Remove `req' and `req*'
variables.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
e51035f70a
build: Adjust guix.texi to Texinfo 5.0.
...
* doc/guix.texi: Change @title and @subtitle syntax to please Texinfo 5.0.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
bdeee95a21
ui: Add temporary file handling and atomic symlink switch.
...
* guix/scripts/download.scm (call-with-temporary-output-file): Move to
ui.scm.
* guix/scripts/package.scm (switch-symlinks): Likewise.
* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
procedures.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
cc68ccc5b0
download: Adjust to `http-get*' deprecation.
...
* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
using Guile 2.0.8+.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
e95da44576
derivations: Add a search path parameter for module derivations.
...
* guix/derivations.scm (imported-modules, compiled-modules): Add a
`module-path' parameter. Use it instead of %LOAD-PATH.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
3c81cdf19c
gnu: texinfo: Make Perl a propagated input.
...
* gnu/packages/texinfo.scm (texinfo): Make PERL a propagated input.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
a8a0aa49f9
build: Add missing -I flag for the daemon.
...
* daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
353283bbe9
daemon: Add `--listen'.
...
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro.
(options): Add `--listen'.
(parse_opt): Handle it.
* doc/guix.texi (Invoking guix-daemon): Mention it.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
8faece2280
Update from upstream Nix.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
05c0ac721e
store: Add the `%daemon-socket-file' parameter.
...
* guix/store.scm (%daemon-socket-file): New variable.
(open-connection): Use it as the default value for FILE.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
a1143ee3fa
Add Mark to `AUTHORS'.
2013-02-27 20:55:41 +01:00
Ludovic Courtès
02d94dab8d
build: Build guix/scripts/download.go after guix/build/download.go.
...
* Makefile.am (guix/scripts/download.go): Add dependency on
`guix/build/download.go'.
Reported by Nikita Karetnikov <nikita@karetnikov.org >.
2013-02-27 20:55:40 +01:00
Ludovic Courtès
dc3f1809cf
scripts: Remove hyphen in the command name shown by `--version'.
...
* guix/scripts/build.scm (%options): Remove hyphen from the name passed
to `show-version-and-exit'.
* guix/scripts/download.scm (%options): Likewise.
* guix/scripts/gc.scm (%options): Likewise.
* guix/scripts/import.scm (%options): Likewise.
* guix/scripts/package.scm (%options): Likewise.
2013-02-27 20:55:40 +01:00
Mark H Weaver
ba4bcae035
gnu: guile-reader: Rename packages to avoid version number confusion.
...
* gnu/packages/guile.scm (guile-reader): Change the character preceding the
guile version number from '-' to '_' so that it will not be misinterpreted
as the package version number.
2013-02-27 20:55:40 +01:00
Mark H Weaver
396e75e37c
Update `TODO'.
2013-02-27 20:55:40 +01:00
Ludovic Courtès
c07512179e
scripts: Remove initialization now redundant with `initialize-guix'.
...
* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
`textdomain', etc., now redundant with `initialize-guix'.
* guix/scripts/download.scm (guix-download): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
(initialize-guix): Add docstring.
2013-02-27 20:55:40 +01:00
Ludovic Courtès
ed407c8055
gnu: texinfo: Update to 5.0.
...
* gnu/packages/texinfo.scm (texinfo): Update to 5.0.
2013-02-27 20:55:40 +01:00
Mark H Weaver
868c923f13
Replace individual scripts with master 'guix' script.
...
* scripts/guix.in: New script.
* Makefile.am (bin_SCRIPTS): Add 'scripts/guix'. Remove 'guix-build',
'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.
(MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm',
'guix/scripts/import.scm', 'guix/scripts/package.scm', and
'guix/scripts/gc.scm'.
* configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'. Remove 'guix-build',
'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.
* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
guix-package.in: Remove shell script boilerplate. Move to guix-COMMAND.in
to guix/scripts/COMMAND.scm. Rename module from (guix-COMMAND) to
(guix scripts COMMAND). Change "guix-COMMAND" to "guix COMMAND" in
usage help string.
* pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH.
Export $GUIX_UNINSTALLED.
* tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh,
tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of
"guix-COMMAND".
* doc/guix.texi: Replace all occurrences of "guix-COMMAND" with
"guix COMMAND".
* po/POTFILES.in: Update.
2013-02-27 20:55:40 +01:00
Ludovic Courtès
d2474c2620
Add (gnu system vm).
...
* gnu/system/vm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:40 +01:00
Ludovic Courtès
3855e242a2
gnu: Add support for Guile in Linux initrd.
...
* gnu/packages/linux-initrd.scm: New file.
2013-02-27 20:55:40 +01:00
Ludovic Courtès
106ca9d0c1
gnu: qemu-kvm: Add patch to have multiple SMB shares.
...
* gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable.
* gnu/packages/patches/qemu-multiple-smb-shares.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-27 20:55:40 +01:00
Ludovic Courtès
5f7c5a97ba
packages: Add `package-output'.
...
* guix/packages.scm (package-output): New procedure.
* tests/packages.scm ("package-output"): New test.
2013-02-27 20:55:39 +01:00
Ludovic Courtès
99d90fc102
gnu: guile-static: Change `name' field.
...
* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
`-static' suffix.
2013-02-27 20:55:39 +01:00
Ludovic Courtès
9322c6822f
gnu: guile-static: Add bindings for `reboot'.
...
* gnu/packages/patches/guile-linux-syscalls.patch: Add `scm_reboot'.
2013-02-27 20:55:39 +01:00
Ludovic Courtès
e7d2c60809
gnu: qemu: Add dependency on Samba.
...
* gnu/packages/qemu.scm (qemu-kvm): Add dependency on Samba; pass
`--smbd' to ./configure.
2013-02-27 20:55:39 +01:00
Ludovic Courtès
b7e9ee3327
gnu: samba: Augment the RUNPATH of executables to point to $out/lib.
...
* gnu/packages/samba.scm (samba): Add `add-lib-to-runpath' phase, and
PatchELF as an input.
2013-02-27 20:55:39 +01:00
Nikita Karetnikov
52e6e2461f
gnu: Add GNU Parted.
...
* gnu/packages/parted.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:39 +01:00
Ludovic Courtès
e70a28b87e
gnu: guile-static: Add bindings for low-level Linux syscalls.
...
* gnu/packages/make-bootstrap.scm (%guile-static): Add
`guile-linux-syscalls.patch' as an input, and use it.
* gnu/packages/patches/guile-linux-syscalls.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-27 20:55:39 +01:00
Ludovic Courtès
2e48455d27
gnu: linux-libre: Choose a config without debugging features.
...
* gnu/packages/linux.scm (linux-libre): Choose "defconfig" instead of
"allmodconfig" since the latter enables all debugging features. Add
`CONFIG_CIFS=m'.
2013-02-27 20:55:39 +01:00
Cyril Roelandt
f9c3648329
gnu: Add vim.
...
* gnu/packages/vim.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:39 +01:00
Mark H Weaver
854d627779
Build newest versions unless specified, and implement upgrades.
...
* gnu/packages.scm (find-newest-available-packages):
New exported procedure.
* guix-build.in (newest-available-packages, find-best-packages-by-name):
New procedures.
(find-package): Use find-best-packages-by-name, to guarantee that
if a version number is not specified, only the newest versions will
be considered.
* guix-package.in (%options): Add --upgrade/-u option.
(newest-available-packages, find-best-packages-by-name, upgradeable?):
New procedures.
(find-package): Use find-best-packages-by-name, to guarantee that
if a version number is not specified, only the newest versions will
be considered.
(process-actions): Implement upgrade option.
* doc/guix.texi (Invoking guix-package): In the description of --install,
mention that if no version number is specified, the newest available
version will be selected.
2013-02-27 20:55:39 +01:00
Mark H Weaver
9ede36f0ed
Inhibit duplicates in fold-packages.
...
* gnu/packages.scm (fold2): New procedure.
(fold-packages): Rework to suppress duplicates.
2013-02-27 20:55:38 +01:00
Ludovic Courtès
790b8e0ebe
build-system/gnu: Make the strip behavior of `static-package' configurable.
...
* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
parameter.
2013-02-27 20:55:38 +01:00
Ludovic Courtès
ddff766e38
gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
...
* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
CPPFLAGS=-DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.
2013-02-27 20:55:38 +01:00
Ludovic Courtès
ab744c1af5
gnu: Add missing patch for mcron.
...
* gnu/packages/patches/mcron-install.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-27 20:55:38 +01:00
Nikita Karetnikov
922f11ad22
gnu: Add GNU Wdiff.
...
* gnu/packages/wdiff.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:38 +01:00
Mark H Weaver
6c7b6a51a4
Add version-compare and version>? to utils.scm.
...
* guix/utils.scm (version-compare, version>?): New exported procedures,
based on version-string>?, which was formerly in gnu-maintenance.scm.
* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
(latest-release): Use 'version>?' instead of 'version-string>?'.
2013-02-27 20:55:38 +01:00
Andreas Enge
76978d4062
gnu: Add signing-party.
...
* gnu/packages/gnupg.scm (signing-party): New variable.
2013-02-27 20:55:38 +01:00
Andreas Enge
b6f5801e1c
gnu: wget: Drop manual handling of /usr/bin/env.
...
* gnu/packages/wget.scm (wget): Drop patch-/usr/bin/env phase.
2013-02-24 18:07:50 +01:00
Andreas Enge
b5c18c78c2
gnu: curl: Let patch-shebang handle /usr/bin/env.
...
* gnu/packages/curl.scm (curl): Drop manual rewriting of #!/usr/bin/env.
2013-02-24 17:54:51 +01:00
Andreas Enge
c3f9761771
gnu: openldap: Disable tests, they fail too randomly probably due to
...
timeouts in the server.
* gnu/packages/openldap.scm (openldap): Drop all tests.
2013-02-24 16:41:27 +01:00
Andreas Enge
ca8def6e6f
Patch-shebang: Do not add space after interpreter without argument.
...
* guix/build/utils.scm (patch-shebang): Do not add a space after a command
interpreter not followed by an argument; this made two tests of
coreutils fail.
2013-02-23 23:27:46 +01:00
Andreas Enge
11996d85d3
Patch-shebang: Handle "#!/usr/bin/env command"
...
* guix/build/utils.scm (patch-shebang): Handle replacement of
"#!.*/env CMD ARGS" by "#!/nix/store/path/.../to/CMD ARGS".
2013-02-23 20:32:03 +01:00
Andreas Enge
149acc2981
download: Add X.org mirrors.
...
* guix/download.scm (%mirrors): Add `xorg'.
2013-02-23 19:01:19 +01:00
Andreas Enge
abc00dc492
gnu: screen: Use GNU mirror.
...
* gnu/packages/screen.scm (screen): Use GNU mirror.
2013-02-23 18:39:49 +01:00
Andreas Enge
c9b940cd03
gnu: Update libpng to 1.5.14.
...
* gnu/packages/libpng.scm (libpng): Switch to version 1.5.14.
2013-02-23 16:32:41 +01:00
Ludovic Courtès
4d60610ad7
pull: Distinguish "already up to date" from "updated".
...
* guix/ui.scm (show-what-to-build): Return (length req*).
* guix/scripts/pull.scm (guix-pull): Print an "already up to date"
message when there's nothing to build.
2013-02-22 21:08:06 +01:00
Ludovic Courtès
7b50c68455
pull: Build (guix build download) first, because of the (gnutls) autoload.
...
* guix/scripts/pull.scm (unpack): Build (guix build download) first, as
done in 855a8ad71d .
Reported by Andreas Enge <andreas@enge.fr >.
2013-02-22 20:01:29 +01:00
Ludovic Courtès
525ca3e912
guix: Make sure UPDATES-DIR is valid.
...
* scripts/guix.in: Make sure UPDATES-DIR is not #f.
2013-02-21 10:27:34 +01:00
Ludovic Courtès
f651b477b7
Add "guix pull".
...
* guix/scripts/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (Invoking guix pull): New node.
(Invoking guix package): Add cross-ref to it.
* guix/ui.scm (config-directory): New procedure.
* scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add
$XDG_CONFIG_HOME/guix/latest to the search path.
* po/POTFILES.in: Add guix/scripts/pull.scm.
2013-02-20 23:47:16 +01:00
Ludovic Courtès
9bb2b96aab
ui: Factorize `show-what-to-build'.
...
* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
* guix/ui.scm (show-what-to-build): ... here. Add a `store'
parameter'. Adjust callers.
* guix/scripts/build.scm (guix-build): Use it. Remove `req' and `req*'
variables.
2013-02-20 23:46:57 +01:00
Ludovic Courtès
7730d112a2
build: Adjust guix.texi to Texinfo 5.0.
...
* doc/guix.texi: Change @title and @subtitle syntax to please Texinfo 5.0.
2013-02-20 23:46:52 +01:00
Ludovic Courtès
c61b026e3a
ui: Add temporary file handling and atomic symlink switch.
...
* guix/scripts/download.scm (call-with-temporary-output-file): Move to
ui.scm.
* guix/scripts/package.scm (switch-symlinks): Likewise.
* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
procedures.
2013-02-20 23:03:24 +01:00
Ludovic Courtès
80736cdf20
download: Adjust to `http-get*' deprecation.
...
* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
using Guile 2.0.8+.
2013-02-20 22:59:35 +01:00
Ludovic Courtès
8dcb0c55ab
derivations: Add a search path parameter for module derivations.
...
* guix/derivations.scm (imported-modules, compiled-modules): Add a
`module-path' parameter. Use it instead of %LOAD-PATH.
2013-02-20 21:08:09 +01:00
Ludovic Courtès
f6d7be1e47
gnu: texinfo: Make Perl a propagated input.
...
* gnu/packages/texinfo.scm (texinfo): Make PERL a propagated input.
2013-02-20 21:06:57 +01:00
Ludovic Courtès
0442d34595
build: Add missing -I flag for the daemon.
...
* daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh.
2013-02-19 22:58:56 +01:00
Ludovic Courtès
b8d2aa264d
daemon: Add `--listen'.
...
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro.
(options): Add `--listen'.
(parse_opt): Handle it.
* doc/guix.texi (Invoking guix-daemon): Mention it.
2013-02-19 22:48:13 +01:00
Ludovic Courtès
15b673ebe8
Update from upstream Nix.
2013-02-19 22:43:07 +01:00
Ludovic Courtès
9fd72fb1ff
store: Add the `%daemon-socket-file' parameter.
...
* guix/store.scm (%daemon-socket-file): New variable.
(open-connection): Use it as the default value for FILE.
2013-02-18 21:53:59 +01:00
Ludovic Courtès
9c8ba706d0
Add Mark to `AUTHORS'.
2013-02-17 22:19:32 +01:00
Ludovic Courtès
855a8ad71d
build: Build guix/scripts/download.go after guix/build/download.go.
...
* Makefile.am (guix/scripts/download.go): Add dependency on
`guix/build/download.go'.
Reported by Nikita Karetnikov <nikita@karetnikov.org >.
2013-02-17 22:19:32 +01:00
Ludovic Courtès
fdca1c079b
scripts: Remove hyphen in the command name shown by `--version'.
...
* guix/scripts/build.scm (%options): Remove hyphen from the name passed
to `show-version-and-exit'.
* guix/scripts/download.scm (%options): Likewise.
* guix/scripts/gc.scm (%options): Likewise.
* guix/scripts/import.scm (%options): Likewise.
* guix/scripts/package.scm (%options): Likewise.
2013-02-17 22:19:32 +01:00
Mark H Weaver
fd80c705b1
gnu: guile-reader: Rename packages to avoid version number confusion.
...
* gnu/packages/guile.scm (guile-reader): Change the character preceding the
guile version number from '-' to '_' so that it will not be misinterpreted
as the package version number.
2013-02-17 13:25:06 -05:00
Mark H Weaver
d8f257f99e
Update `TODO'.
2013-02-17 13:23:45 -05:00
Ludovic Courtès
633f045f62
scripts: Remove initialization now redundant with `initialize-guix'.
...
* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
`textdomain', etc., now redundant with `initialize-guix'.
* guix/scripts/download.scm (guix-download): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
(initialize-guix): Add docstring.
2013-02-17 15:38:02 +01:00
Ludovic Courtès
a24b75d8e1
gnu: texinfo: Update to 5.0.
...
* gnu/packages/texinfo.scm (texinfo): Update to 5.0.
2013-02-17 15:03:06 +01:00
Mark H Weaver
e49951eb3e
Replace individual scripts with master 'guix' script.
...
* scripts/guix.in: New script.
* Makefile.am (bin_SCRIPTS): Add 'scripts/guix'. Remove 'guix-build',
'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.
(MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm',
'guix/scripts/import.scm', 'guix/scripts/package.scm', and
'guix/scripts/gc.scm'.
* configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'. Remove 'guix-build',
'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.
* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
guix-package.in: Remove shell script boilerplate. Move to guix-COMMAND.in
to guix/scripts/COMMAND.scm. Rename module from (guix-COMMAND) to
(guix scripts COMMAND). Change "guix-COMMAND" to "guix COMMAND" in
usage help string.
* pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH.
Export $GUIX_UNINSTALLED.
* tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh,
tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of
"guix-COMMAND".
* doc/guix.texi: Replace all occurrences of "guix-COMMAND" with
"guix COMMAND".
* po/POTFILES.in: Update.
2013-02-16 22:17:37 -05:00
Ludovic Courtès
040860152e
Add (gnu system vm).
...
* gnu/system/vm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-16 03:28:26 +01:00
Ludovic Courtès
f09d925b16
gnu: Add support for Guile in Linux initrd.
...
* gnu/packages/linux-initrd.scm: New file.
2013-02-16 03:25:59 +01:00
Ludovic Courtès
161ed5476d
gnu: qemu-kvm: Add patch to have multiple SMB shares.
...
* gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable.
* gnu/packages/patches/qemu-multiple-smb-shares.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-16 02:09:10 +01:00
Ludovic Courtès
d510ab4614
packages: Add `package-output'.
...
* guix/packages.scm (package-output): New procedure.
* tests/packages.scm ("package-output"): New test.
2013-02-16 01:37:26 +01:00
Ludovic Courtès
0228826262
gnu: guile-static: Change `name' field.
...
* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
`-static' suffix.
2013-02-16 00:30:25 +01:00
Ludovic Courtès
3643957260
gnu: guile-static: Add bindings for `reboot'.
...
* gnu/packages/patches/guile-linux-syscalls.patch: Add `scm_reboot'.
2013-02-16 00:29:43 +01:00
Ludovic Courtès
ffb1ee524d
gnu: qemu: Add dependency on Samba.
...
* gnu/packages/qemu.scm (qemu-kvm): Add dependency on Samba; pass
`--smbd' to ./configure.
2013-02-15 22:36:05 +01:00
Ludovic Courtès
3665b4dc60
gnu: samba: Augment the RUNPATH of executables to point to $out/lib.
...
* gnu/packages/samba.scm (samba): Add `add-lib-to-runpath' phase, and
PatchELF as an input.
2013-02-15 22:04:51 +01:00
Nikita Karetnikov
e04f30e023
gnu: Add GNU Parted.
...
* gnu/packages/parted.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-15 15:30:20 +01:00
Ludovic Courtès
6956067b04
gnu: guile-static: Add bindings for low-level Linux syscalls.
...
* gnu/packages/make-bootstrap.scm (%guile-static): Add
`guile-linux-syscalls.patch' as an input, and use it.
* gnu/packages/patches/guile-linux-syscalls.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-15 00:52:54 +01:00
Ludovic Courtès
1dee732b81
gnu: linux-libre: Choose a config without debugging features.
...
* gnu/packages/linux.scm (linux-libre): Choose "defconfig" instead of
"allmodconfig" since the latter enables all debugging features. Add
`CONFIG_CIFS=m'.
2013-02-15 00:52:54 +01:00
Cyril Roelandt
eb4908581c
gnu: Add vim.
...
* gnu/packages/vim.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-14 11:26:04 +01:00
Mark H Weaver
dc5669cd65
Build newest versions unless specified, and implement upgrades.
...
* gnu/packages.scm (find-newest-available-packages):
New exported procedure.
* guix-build.in (newest-available-packages, find-best-packages-by-name):
New procedures.
(find-package): Use find-best-packages-by-name, to guarantee that
if a version number is not specified, only the newest versions will
be considered.
* guix-package.in (%options): Add --upgrade/-u option.
(newest-available-packages, find-best-packages-by-name, upgradeable?):
New procedures.
(find-package): Use find-best-packages-by-name, to guarantee that
if a version number is not specified, only the newest versions will
be considered.
(process-actions): Implement upgrade option.
* doc/guix.texi (Invoking guix-package): In the description of --install,
mention that if no version number is specified, the newest available
version will be selected.
2013-02-13 22:05:19 -05:00
Mark H Weaver
c2868b1e0c
Inhibit duplicates in fold-packages.
...
* gnu/packages.scm (fold2): New procedure.
(fold-packages): Rework to suppress duplicates.
2013-02-13 20:56:52 -05:00
Ludovic Courtès
9011e97f8d
build-system/gnu: Make the strip behavior of `static-package' configurable.
...
* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
parameter.
2013-02-14 01:12:24 +01:00
Ludovic Courtès
e3b2cf4c7a
gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
...
* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
CPPFLAGS=-DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.
2013-02-14 01:12:24 +01:00
Ludovic Courtès
250b0404d7
gnu: Add missing patch for mcron.
...
* gnu/packages/patches/mcron-install.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-14 01:12:24 +01:00
Nikita Karetnikov
8c3c896dbe
gnu: Add GNU Wdiff.
...
* gnu/packages/wdiff.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-13 02:18:46 +00:00
Mark H Weaver
0d1e6ce4d2
Add version-compare and version>? to utils.scm.
...
* guix/utils.scm (version-compare, version>?): New exported procedures,
based on version-string>?, which was formerly in gnu-maintenance.scm.
* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
(latest-release): Use 'version>?' instead of 'version-string>?'.
2013-02-12 20:34:25 -05:00
Andreas Enge
96be765ca5
gnu: Add signing-party.
...
* gnu/packages/gnupg.scm (signing-party): New variable.
2013-02-13 00:43:30 +01:00
Andreas Enge
93a6f5520c
gnu: gmp: Update to version 5.1.1.
...
* gnu/packages/multiprecision.scm (gmp): Update to version 5.1.1.
2013-02-12 22:06:47 +01:00
Mark H Weaver
58867ae728
Add pre-inst-env and test-env to nodist_noinst_SCRIPTS in Makefile.am.
...
* Makefile.am: Add nodist_noinst_SCRIPTS = pre-inst-env test-env.
2013-02-12 13:37:25 -05:00
Ludovic Courtès
a40f1543c0
gnu: Add Samba and iniparser.
...
* gnu/packages/samba.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-12 19:36:14 +01:00
Ludovic Courtès
0e7aac44da
gnu: bigloo: Install Emacs modes.
...
* gnu/packages/scheme.scm (bigloo): Add `install-emacs-modes' phase.
2013-02-12 19:36:14 +01:00
Andreas Enge
01e11826bc
gnu: gnupg: Add optional inputs curl and openldap.
...
* gnu/packages/gnupg.scm (gnupg): Add inputs.
2013-02-12 15:15:18 +01:00
Andreas Enge
30e9cbb44e
gnu: gnupg: Patch out /bin/sh in generated file.
...
* gnu/packages/gnupg.scm (gnupg): Modify configure phase.
2013-02-12 13:47:50 +01:00
Andreas Enge
a86177d61c
gnu: Rename module 'freetype' to the more general 'fontutils'.
...
* gnu/packages/freetype.scm: Rename file to...
* gnu/packages/fontutils.scm: ...this.
* Makefile.am (MODULES): Rename module.
* gnu/packages/{ghostscript,grub,pdf,texlive}.scm: Rename dependency.
2013-02-12 13:19:26 +01:00
Ludovic Courtès
f5fd436020
doc: Add the commit policy to HACKING.
...
* HACKING (Commit Access): New section.
2013-02-12 00:14:32 +01:00
Ludovic Courtès
151794bf5b
build: Export NIX_ROOT_FINDER' and NIX_SETUID_HELPER' from `pre-inst-env'.
...
* pre-inst-env.in (NIX_ROOT_FINDER, NIX_SETUID_HELPER): New variables.
Reported by Cyril Roelandt <tipecaml@gmail.com >.
2013-02-12 00:14:32 +01:00
Ludovic Courtès
df77a46273
gnu: Add popt.
...
* gnu/packages/popt.scm (popt): New file.
* Makefile.am (MODULES): Add it.
2013-02-12 00:14:32 +01:00
Ludovic Courtès
beacfcabe7
gnu: Add Linux-Libre.
...
* gnu/packages/linux.scm (linux-libre): New variable.
2013-02-12 00:14:32 +01:00
Ludovic Courtès
57f662ad30
gnu: Add libunwind.
...
* gnu/packages/libunwind.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-12 00:14:32 +01:00
Ludovic Courtès
b4fcb735d5
gnu: Add Linux module-init-tools.
...
* gnu/packages/linux.scm (module-init-tools): New variable.
2013-02-12 00:14:32 +01:00
Andreas Enge
ea4d96c6a5
gnu: Add pius.
...
* gnu/packages/gnupg.scm (pius): New variable.
2013-02-11 23:55:18 +01:00
Cyril Roelandt
b1426f1785
gnu: Add tmux. licenses: add ISC.
...
* gnu/packages/tmux.scm: New file.
* Makefile.am (MODULES): Use it.
* guix/licenses.scm: add ISC.
2013-02-11 22:23:29 +01:00
Andreas Enge
95b6c70f6b
gnu: texlive: Add input (t)csh.
...
* gnu/packages/texlive.scm (texlive): Add input tcsh.
2013-02-11 11:07:02 +01:00
Cyril Roelandt
16fd1db547
gnu: Add tcsh.
...
* gnu/packages/tcsh.scm: New file.
* gnu/packages/patches/tcsh-fix-autotest.patch: New file
* Makefile.am: Add them.
2013-02-10 23:43:46 +01:00
Ludovic Courtès
0750452a98
gnu: Add e2fsprogs.
...
* gnu/packages/linux.scm (e2fsprogs): New variable.
2013-02-10 23:48:41 +01:00
Ludovic Courtès
65d8b777c0
gnu: Add GNU GRUB.
...
* gnu/packages/grub.scm,
gnu/packages/patches/grub-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add grub.scm.
(dist_patch_DATA): Add grub-gets-undeclared.patch.
2013-02-10 18:48:23 +01:00
Ludovic Courtès
72b9eebf68
gnu: Add QEMU.
...
* gnu/packages/autotools.scm (autoconf-wrapper): Make public.
* gnu/packages/qemu.scm (qemu): New variable.
2013-02-10 18:28:00 +01:00
Ludovic Courtès
cab249615d
Re-export `%current-system' from (guix packages).
...
* guix/packages.scm: Re-export `%current-system'.
* gnu/packages/bdw-gc.scm, gnu/packages/gawk.scm,
gnu/packages/gperf.scm, gnu/packages/libffi.scm,
gnu/packages/libsigsegv.scm, gnu/packages/libunistring.scm,
gnu/packages/lout.scm, gnu/packages/m4.scm,
gnu/packages/multiprecision.scm, gnu/packages/ncurses.scm,
gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
gnu/packages/readline.scm, gnu/packages/recutils.scm,
gnu/packages/scheme.scm: Remove (guix utils) import.
2013-02-10 17:23:48 +01:00
Ludovic Courtès
2aee33cfc1
gnu: Add description and license for QEMU-KVM.
...
* gnu/packages/qemu.scm (qemu-kvm): Add description and license.
2013-02-10 17:01:47 +01:00
Ludovic Courtès
6064c4cdf0
gnu: Add libcddb, GNU libcdio, and GNU xorriso.
...
* gnu/packages/cdrom.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-10 16:51:46 +01:00
Ludovic Courtès
b15fcf9ec2
gnu: Add QEMU-KVM.
...
* gnu/packages/qemu.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-09 23:21:00 +01:00
Ludovic Courtès
a69b7ad2d6
build: Run `guild compile' under the C locale.
...
* Makefile.am (.scm.go): Set LC_ALL=C.
2013-02-09 23:21:00 +01:00
Nikita Karetnikov
54845460ee
gnu: Add GNU Smalltalk.
...
* gnu/packages/smalltalk.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-09 12:05:01 +00:00
Ludovic Courtès
a38f0ab0b9
build-system/gnu: Clarify docstring of `package-with-extra-configure-variable'.
...
* guix/build-system/gnu.scm (package-with-extra-configure-variable): Add
"recursively" in the docstring.
2013-02-08 18:03:36 +01:00
Ludovic Courtès
d8707db0f7
gnu: hop: Add `patch-rpath' phase.
...
* gnu/packages/scheme.scm (hop): Add `patch-rpath' phase.
2013-02-08 17:38:57 +01:00
Ludovic Courtès
2d73db7a05
gnu: Add PatchELF.
...
* gnu/packages/patchelf.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-08 15:44:24 +01:00
Ludovic Courtès
e6e82f629c
gnu: Add Hop.
...
* gnu/packages/scheme.scm (hop): New variable.
2013-02-08 14:41:25 +01:00
Ludovic Courtès
10879c4ea1
gnu: bigloo: Propagate GMP.
...
* gnu/packages/scheme.scm (bigloo): Propagate GMP.
2013-02-08 14:39:28 +01:00
Ludovic Courtès
87d836b2c9
gnu: Add GNU mcron.
...
* gnu/packages/guile.scm (mcron): New variable.
2013-02-08 00:15:48 +01:00
Ludovic Courtès
2f4fbe1cb3
gnu: guile-1.8: Patch `ice-9/popen.scm'.
...
* gnu/packages/guile.scm (guile-1.8): Rename `patch-loader-search-path'
to `patch-stuff'; patch `ice-9/popen.scm'.
2013-02-08 00:15:26 +01:00
Ludovic Courtès
461572cca8
doc: Document installation of propagated inputs.
...
* doc/guix.texi (Invoking guix-package): Document installation behavior
with propagated inputs.
2013-02-07 23:55:16 +01:00
Ludovic Courtès
b39a48ad4b
gnu: ed: Update to 1.6.
...
* gnu/packages/ed.scm (ed): Update to 1.6.
2013-02-07 23:47:32 +01:00
Ludovic Courtès
9589eecb40
gnu: ed: Patch /bin/sh in the test suite.
...
* gnu/packages/ed.scm (ed): Add `patch-test-suite' phase.
2013-02-07 23:47:21 +01:00
Ludovic Courtès
4dede022fd
guix-package: Install propagated inputs.
...
* guix-package.in (profile-manifest): Return "version 1" manifests.
(manifest-packages): Likewise. When MANIFEST is "version 0", add
'() as the list of "propagated inputs" of each package.
(profile-derivation): Produce "version 1" manifests. Pass each
PACKAGES item's propagated inputs as an input for BUILDER.
(input->name+path): New procedure.
(guix-package)[find-package]: Add the transitive propagated inputs of
each selected package as the last item of the tuple.
[canonicalize-deps]: New procedure.
[process-actions]: Adjust to support propagated inputs as the last item.
[process-query]: Likewise.
2013-02-06 23:04:10 +01:00
Ludovic Courtès
1be77eac08
union: Don't warn when colliding leaves point to the same file.
...
* guix/build/union.scm (union-build)[resolve-collision]: Pass LEAVES
through `delete-duplicates'; warn iff the result contains more than
one item.
2013-02-06 23:04:10 +01:00
Ludovic Courtès
6211223021
union: Delete duplicates when passed the same input several times.
...
* guix/build/union.scm (union-build): Prepend "." to the result of
`union-tree', to match the expectations of `delete-duplicate-leaves'.
Don't do mkdir when SUBDIR is ".".
* tests/union.scm ("union-build"): Keep duplicates in %BOOTSTRAP-INPUTS.
2013-02-06 23:04:10 +01:00
Ludovic Courtès
44ce77ff52
guix-package: Test installation of packages by name.
...
* tests/guix-package.sh: Remove `boot_guile'. Replace occurrences of
$boot_guile by the `guile-bootstrap' package name.
2013-02-06 23:04:10 +01:00
Ludovic Courtès
8dc2ecfcd9
build: `chmod +x' scripts as they are generated.
...
* configure.ac: Add the `chmod +x' as a second argument to
`AC_CONFIG_FILES'. Remove `AC_CONFIG_COMMANDS' invocation.
2013-02-06 23:04:10 +01:00
Andreas Enge
c23e9e48b7
gnu: Add libmp3splt and mp3splt.
...
* gnu/packages/mp3.scm (libmp3split, mp3splt): New variables.
2013-02-06 22:47:58 +01:00
Ludovic Courtès
431f35f051
gnu: make-bootstrap: Fix `%binutils-static-stripped'.
...
* gnu/packages/make-bootstrap.scm (%binutils-static-stripped): Add
distinguishing `name' field. Add `output' field to have a single
"out" output (followup to 4873f8e ). Reported by Nikita.
2013-02-06 15:25:28 +01:00
Andreas Enge
eb0119efde
gnu: Add TeXLive.
...
* gnu/packages/texlive.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-06 00:01:44 +01:00
Andreas Enge
6d36a6f3b0
licenses: Add new meta-license fsf-free.
...
* guix/licenses.scm (fsf-free): New record with constructor.
2013-02-05 23:56:42 +01:00
Ludovic Courtès
a6ef51e378
gnu: Have MPFR and MPC propagate their input.
...
* gnu/packages/multiprecision.scm (mpfr): Change GMP to a propagated input.
(mpc): Likewise for GMP and MPFR.
Reported by Andreas Enge <andreas@enge.fr >.
2013-02-05 23:51:44 +01:00
Andreas Enge
10d1822b8e
gnu: Add PCRE (Perl Compatible Regular Expression).
...
* gnu/packages/pcre.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-05 23:41:38 +01:00
Ludovic Courtès
fcdb4e8f8d
Thank Lluís and Daniel.
2013-02-05 00:35:08 +01:00
Ludovic Courtès
ef02e1e9b5
gnu: Add GNU Guile-Ncurses.
...
* gnu/packages/guile.scm (guile-ncurses): New variable.
2013-02-05 00:35:08 +01:00
Andreas Enge
8cc9c0dadd
gnu: Add libid3tag.
...
* gnu/packages/mp3 (libid3tag): New variable.
2013-02-04 11:12:32 +01:00
Andreas Enge
d464e72566
gnu: Add libmad.
...
* gnu/packages/mp3.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-04 11:12:32 +01:00
Ludovic Courtès
0f3d2504f7
store: Add substitute-related procedures.
...
* guix/store.scm (has-substitutes?, substitutable-paths,
read-substitutable-path-list, substitutable-path-info): New
procedures.
(<substitutable>): New record type.
(read-arg): Add `substitutable-path-info'. Change `hash' pattern
variable to `base16' literal.
* tests/store.scm ("no substitutes"): New test.
2013-02-04 08:58:48 +01:00
Ludovic Courtès
63193ebfdc
store: Update to protocol 1.12.
...
* guix/store.scm (%protocol-version): Bump.
(operation-id): Comment out `query-substitutable-path-info'.
Rename `query-valid-paths' to `query-all-valid-paths'. Add
`query-path-from-hash-part', `query-substitutable-path-infos',
`query-valid-paths', and `query-substitutable-paths'.
(set-build-options): Add `binary-caches' keyword parameter. When
using a server >= 1.12, send the list of binary caches.
(query-path-hash): Use the `store-path' type, for clarity.
2013-02-04 08:58:48 +01:00
Ludovic Courtès
c5a855c481
SRFI-64: Make the log file's port line-buffered.
...
* srfi/srfi-64.upstream.scm (test-on-group-begin-simple): Make LOG-FILE
line-buffered.
2013-02-04 08:58:48 +01:00
Ludovic Courtès
bbb76f6f71
tests: Fix thinko in `derivation' test.
...
* tests/derivations.scm ("derivation with local file as input"): Return
a Boolean instead of a bytevector. Don't attempt to compare the
content of the result with that of the input.
2013-02-04 08:58:48 +01:00
Ludovic Courtès
238e43b9fa
store: Write string length as a 32-bit integer.
...
* guix/store.scm (write-string): Write L as a 32-bit integer. Bug
introduced in 82c38fe64c ("store:
Micro-optimize `write-string'.")
2013-02-04 08:58:47 +01:00
Nikita Karetnikov
9c63fe6c1f
gnu: Add GNU Prolog.
...
* gnu/packages/gprolog.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-02 12:48:58 +00:00
Andreas Enge
58cc3b385b
gnu: Add libxslt.
...
* gnu/packages/xml.scm (libxslt): New variable.
2013-02-01 23:23:08 +01:00
Ludovic Courtès
38bbd61df1
gnu: Fix invalid `license' fields.
...
* gnu/packages/acl.scm (acl): Change `license' field to refer to the
`license' objects.
* gnu/packages/attr.scm (attr): Likewise.
* gnu/packages/compression.scm (xz): Likewise.
* gnu/packages/global.scm (global): Likewise.
* gnu/packages/linux.scm (linux-libre-headers): Likewise.
2013-02-01 13:16:45 +01:00
Ludovic Courtès
cb09fb24ee
guix-package: Make `--search' queries case-insensitive.
...
* guix-package.in (guix-package)[process-query]: Use `regexp/icase' for
the `search' regexp.
2013-02-01 13:16:45 +01:00
Ludovic Courtès
0bdba772ca
Augment `.dir-locals.el'.
...
* .dir-locals.el: Add more Scheme settings.
* guix-build.in, tests/base32.scm, tests/build-utils.scm,
tests/builders.scm, tests/derivations.scm, tests/packages.scm,
tests/snix.scm, tests/store.scm, tests/union.scm, tests/utils.scm:
Remove redundant Emacs local variable settings.
2013-02-01 13:16:45 +01:00
Ludovic Courtès
299112d36e
guix-package: Report `--search' matches in recutils format.
...
* guix/ui.scm (fill-paragraph, string->recutils, package->recutils): New
procedures.
* guix-package.in (guix-package)[process-query]: Use `package->recutils'
to display package meta-data.
* tests/guix-package.sh: Adjust test.
* tests/ui.scm: New file.
* Makefile.am (TESTS): Add it.
* doc/guix.texi (Invoking guix-package): Adjust `--search'
documentation, and give an example.
2013-02-01 13:16:41 +01:00
Ludovic Courtès
aa92cf980c
guix-package: Gracefully report non-existing outputs.
...
* guix-package.in (guix-package)[find-package](ensure-output): New
procedure. Use it to validate SUB-DRV.
2013-02-01 09:17:59 +01:00
Ludovic Courtès
0f5378ebc4
guix-package: Reduce start-up time for queries.
...
* guix-package.in (guix-package): Call `open-connection' and
`package-derivation' only after `process-query' has returned.
2013-01-31 23:24:40 +01:00
Andreas Enge
dc2e4b0e16
gnu: Add libkate.
...
* gnu/packages/oggvorbis.scm (libkate): New variable.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add input libkate.
2013-01-31 22:47:25 +01:00
Andreas Enge
9ae7865e97
gnu: Add flac.
...
* gnu/packages/oggvorbis.scm (flac): New variable.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add flac input.
* gnu/packages/patches/flac-fix-memcmp-not-declared.patch: New file.
2013-01-31 22:19:56 +01:00
Ludovic Courtès
f992ead284
gnu: bigloo: Update tarball's hash.
...
* gnu/packages/scheme.scm (bigloo): Change hash. The tarball was
recently modified in-place (!).
2013-01-31 17:49:54 +01:00
Ludovic Courtès
bbdb3ffaf3
store: Don't expect build logs to be UTF-8-encoded.
...
* guix/store.scm (read-latin1-string): New procedure.
(process-stderr): Use it instead of `read-string'.
Reported by Andreas Enge <andreas@enge.fr >.
2013-01-31 17:49:54 +01:00
Andreas Enge
1f73d3b495
gnu: vorbis-tools: Enable ogg123.
...
* gnu/packages/oggvorbis.scm (vorbis-tools): Add inputs ao and curl.
2013-01-30 23:46:39 +01:00
Andreas Enge
76e38f0d78
gnu: Add libao.
...
* gnu/packages/oggvorbis.scm (ao): New variable.
2013-01-30 23:32:13 +01:00
Andreas Enge
6b9105e557
gnu: Add curl.
...
* gnu/packages/curl.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-30 23:07:13 +01:00
Andreas Enge
fe0b8a789a
gnu: Add openssh.
...
* gnu/packages/ssh.cm (openssh): New variable.
2013-01-30 23:03:48 +01:00
Ludovic Courtès
5cfdcd6a26
.dir-locals.el: Fill at 78 columns.
2013-01-30 18:59:12 +01:00
Ludovic Courtès
d0840e4a23
derivations: Memoize `read-derivation'.
...
* guix/derivations.scm (read-derivation): Rename to...
(%read-derivation): ... this.
(read-derivation): New procedure.
This reduces the execution of "guix-build gdb" from 2.5s to 1.7s.
2013-01-30 18:58:38 +01:00
Ludovic Courtès
fce2394e7d
store: Slightly improve memoization hashing.
...
* guix/store.scm (open-connection): Call `make-hash-table' with 100.
(add-text-to-store): Move TEXT first in ARGS, for better `hash'
results.
(add-to-store): Likewise, move ST first.
2013-01-30 17:05:54 +01:00
Ludovic Courtès
a9ebd9efd0
store: Remove the fixed?' parameter from add-to-store'.
...
* guix/store.scm (add-to-store): Remove the `fixed?' parameter from the
public interface.
* gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm,
guix/packages.scm, tests/derivations.scm: Update all callers
accordingly.
2013-01-30 16:30:49 +01:00
Ludovic Courtès
fd060fd30d
store: Avoid use of `set!'.
...
* guix/store.scm (operation): New macro.
(define-operation): Define in terms of `operation'.
(add-text-to-store): Define using `operation', and remove now
unnecessary `set!'.
(add-to-store): Likewise.
(add-text-to-store/cached, add-to-store/cached): Remove.
2013-01-30 16:22:33 +01:00
Ludovic Courtès
82c38fe64c
store: Micro-optimize `write-string'.
...
* guix/store.scm (write-string): Optimize to write the length, contents,
and padding all at once. This yields a 2% improvement on the
execution time of "guix-build gdb".
2013-01-30 00:37:26 +01:00
Ludovic Courtès
473b03b3c6
Gracefully handle failure to install the current locale.
...
* guix/ui.scm (install-locale): New procedure.
* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
guix-package.in: Use it instead of (setlocale LC_ALL "").
2013-01-30 00:09:32 +01:00
Ludovic Courtès
bdcf35a6b2
store: Cache `add-text-to-store' results.
...
* guix/store.scm (<nix-server>)[atts-cache]: New field.
(add-text-to-store/cached): New procedure. Use it as a wrapper around
`add-text-to-store'.
When running "guix-build gdb", this reduces the number of RPCs from
3048 to 289, and execution time from 4.7s to 2.6s.
2013-01-30 00:09:32 +01:00
Ludovic Courtès
2c3f47ee3a
store: Make the `add-to-store' cache per-connection.
...
* guix/store.scm (<nix-server>)[ats-cache]: New field.
(open-connection): Update accordingly.
(add-to-store/cached): Use (nix-server-add-to-store-cache SERVER)
instead of a weak hash table.
2013-01-30 00:09:32 +01:00
Andreas Enge
2fbf053b7b
gnu: Add libssh2.
...
* gnu/packages/ssh.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-29 23:05:35 +01:00
Andreas Enge
2a75d4e664
gnu: Add openldap.
...
* gnu/packages/openldap.scm: New file.
* Makefile.am (MODULE): Add it.
2013-01-29 19:52:00 +01:00
Ludovic Courtès
a7b6ffee68
store: Make `add-to-store' memoizing.
...
* guix/store.scm (add-to-store/cached): New variable.
Use it as the new `add-to-store'.
This reduces the number of RPCs when doing "guix-build gdb" from 5009
to 3053, and the execution time from 7s to 3.9s.
2013-01-29 00:16:18 +01:00
Ludovic Courtès
d7e8e288c5
gnu: gdb: Update to 7.5.1.
...
* gnu/packages/gdb.scm (gdb): Update to 7.5.1.
2013-01-28 22:48:15 +01:00
Ludovic Courtès
8aab64fca9
build: Require Automake 1.12 or later.
...
* configure.ac: Require Automake 1.12 or later.
2013-01-28 22:30:16 +01:00
Nikita Karetnikov
2289721c9c
Update 'TODO'.
2013-01-28 07:16:11 +00:00
Nikita Karetnikov
acc084669c
guix-package: Add '--search'.
...
* guix-package.in (find-packages-by-description): New procedure.
(show-help, %options): Add '--search'.
(guix-package)[process-query]: Add support for '--search'.
* doc/guix.texi (Invoking guix-package): Document it.
* tests/guix-package.sh: Add tests.
2013-01-28 06:47:49 +00:00
Ludovic Courtès
c9ee048595
gnu: automake: Update to 1.13.1.
...
* gnu/packages/autotools.scm (automake): Update to 1.13.1.
2013-01-27 22:52:21 +01:00
Ludovic Courtès
168030ea0c
gnu: autoconf-wrapper: Fix "guile" input.
...
* gnu/packages/autotools.scm (autoconf-wrapper): Remove `lambda' for
"guile" input..
2013-01-27 22:35:33 +01:00
Ludovic Courtès
82fe08ed20
guix-package: Always use the next number for new generations.
...
Suggested by Andreas Enge <andreas@enge.fr > at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00325.html >.
* guix-package.in (latest-profile-number): Remove.
(switch-symlinks): New procedure.
(roll-back)[switch-link]: Use it.
(guix-package)[process-actions]: Always choose NUMBER + 1 for the new
profile. Use `switch-symlinks' instead of `symlink'. Remove code to
delete PROFILE when it exists since `switch-symlinks' has the same
effect.
* tests/guix-package.sh: Adjust existing `--roll-back' tests.
* doc/guix.texi (Invoking guix-package): Document this `--roll-back'
behavior.
2013-01-27 17:58:46 +01:00
Ludovic Courtès
d9307267b3
guix-package: When rolling back to nothingness, point to the empty profile.
...
Suggested by Andreas Enge <andreas@enge.fr > at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00316.html >.
* guix-package.in (roll-back): Check whether PROFILE is valid using
`file-exists?'. When NUMBER is zero, just emit a notice. When
PREVIOUS-NUMBER is zero and PREVIOUS-PROFILE does not exist, build the
empty profile, and link to it.
* tests/guix-package.sh: Add tests.
* doc/guix.texi (Invoking guix-package): Document the new behavior.
2013-01-27 17:18:55 +01:00
Ludovic Courtès
29767aaef6
Update `TODO'.
2013-01-27 00:59:04 +01:00
Ludovic Courtès
41d42f5061
Update AUTHORS' and THANKS'.
2013-01-27 00:55:51 +01:00
Ludovic Courtès
64858bc090
gnu: python: Remove unnecessary module import.
...
* gnu/packages/python.scm: Remove use of (gnu packages base).
2013-01-27 00:55:37 +01:00
Cyril Roelandt
f1d2872c82
gnu: Add irssi.
...
* gnu/packages/irssi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-26 23:40:43 +01:00
Andreas Enge
b8d3511ad5
gnu: Add zip, unzip and zziplib.
...
* gnu/packages/zip.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-26 14:40:49 +01:00
Andreas Enge
e5c0701f9c
gnu: Add TECkit.
...
* gnu/packages/freetype.scm (teckit): New variable.
* gnu/packages/patches/teckit-cstdio.patch: New file.
* Makefile.am (dist_patch_DATA): Add patch.
2013-01-26 00:43:03 +01:00
Ludovic Courtès
cc957c3c74
gnu: Use `mirror://apache' where applicable.
...
* gnu/packages/libapr.scm (libapr, libaprutil): Use `mirror://apache'.
* gnu/packages/subversion.scm (subversion): Likewise.
2013-01-25 21:52:08 +01:00
Ludovic Courtès
47f9db4128
download: Add Apache mirrors.
...
* guix/download.scm (%mirrors): Add `apache'.
2013-01-25 21:52:08 +01:00
Cyril Roelandt
59db01942b
gnu: Add Subversion.
...
* gnu/packages/subversion.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-25 21:52:08 +01:00
Ludovic Courtès
97715602cb
gnu: Add SQLite.
...
* gnu/packages/sqlite.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-25 21:52:08 +01:00
Ludovic Courtès
67158a4900
download: Follow HTTP redirection upon 301 "moved permanently".
...
* guix/build/download.scm (http-fetch): Follow redirections upon 301.
This is what `downloads.sourceforge.net' returns, for instance.
2013-01-25 21:52:08 +01:00
Cyril Roelandt
695e671723
gnu: Add libaprutil.
...
* gnu/packages/libapr: new variable.
2013-01-25 21:52:08 +01:00
Cyril Roelandt
df84950e44
gnu: Add libapr.
...
* gnu/packages/libapr.scm: New file.
* gnu/packages/patches/libapr-skip-getservbyname-test.patch: New file
* Makefile.am: Add them
2013-01-25 21:52:08 +01:00
Andreas Enge
12a5199a27
gnu: fplll: Update to version 4.0.2.
...
* gnu/packages/algebra.scm (fplll): Update to version 4.0.2.
2013-01-25 10:50:30 +01:00
Andreas Enge
135eb524b3
gnu: Add poppler.
...
* gnu/packages/pdf.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-24 23:51:41 +01:00
Ludovic Courtès
dd6b9a3790
packages: Mark the `inputs' field of <package> as thunked.
...
* guix/packages.scm (<package>)[inputs]: Mark as thunked.
(package-derivation)[expand-input]: Remove case where the input is a
procedure.
* tests/packages.scm ("trivial with system-dependent input"): Remove
`lambda', and use (%current-system).
* gnu/packages/bootstrap.scm (package-from-tarball): Likewise for `inputs'.
(%bootstrap-glibc, %bootstrap-gcc): Likewise.
* gnu/packages/scheme.scm (mit-scheme): Likewise.
2013-01-24 23:33:51 +01:00
Ludovic Courtès
3b9c002088
guix-package: Error out when passed a non-option argument.
...
* guix-package.in (guix-package)[parse-options]: Call `leave' when
passed a non-option argument.
Reported by Andreas Enge <andreas@enge.fr >.
* tests/guix-package.sh: Add test.
2013-01-24 23:33:51 +01:00
Andreas Enge
313b901255
gnu: Add t1lib.
...
* gnu/packages/freetype.scm (t1lib): New variable.
2013-01-24 00:21:52 +01:00
Cyril Roelandt
d192efae07
gnu: Add OCaml. licenses: Add QPL.
...
* gnu/packages/ocaml.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/licenses.scm: New variable.
2013-01-24 00:03:43 +01:00
Ludovic Courtès
21c203a53a
packages: Mark the `arguments' field of <package> as thunked.
...
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 23:33:09 +01:00
Ludovic Courtès
9c9da07f4c
guix-build: Fix typo.
...
* guix-build.in (guix-build)[find-package]: Use `x', not `_', to avoid
confusion with `gettext'.
2013-01-23 23:33:09 +01:00
Ludovic Courtès
12abb19dfb
gnu: Remove unnecessary closures around `arguments' value.
...
* gnu/packages/algebra.scm (pari-gp): Remove closure around the value of
`arguments'.
* gnu/packages/bdb.scm (bdb): Likewise.
* gnu/packages/mit-krb5.scm (mit-krb5): Likewise.
* gnu/packages/openssl.scm (openssl): Likewise.
* gnu/packages/perl.scm (perl): Likewise.
2013-01-23 23:33:09 +01:00
Ludovic Courtès
bbb7a00e9a
define-record-type*: Add the `thunked' field definition keyword.
...
* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Add
a `thunked' parameter.
(thunked-field?, field-bindings): New procedures. Use the latter when
generating `letrec*' bindings.
[thunked-field?, thunked-field-accessor-name, field-spec->srfi-9,
thunked-field-accessor-name]: New procedures.
Use them when generating the `define-record-type' form, and to
generated thunk field accessors, along call to
`make-syntactic-constructor' with the new argument.
* tests/utils.scm ("define-record-type* & thunked",
"define-record-type* & thunked & default",
"define-record-type* & thunked & inherited"): New tests.
2013-01-23 23:33:09 +01:00
Ludovic Courtès
6798a8e485
doc: Clarify that `guix-build' really is for developers.
...
* doc/guix.texi (Invoking guix-build): Make it clear that `guix-build'
doesn't access the user's profile, and add cross-ref to `guix-package'.
Suggested by Nikita Karetnikov <nikita@karetnikov.org >.
2013-01-23 23:33:09 +01:00
Andreas Enge
6e4da6ead1
gnu: Add fontconfig.
...
* gnu/packages/freetype.scm (fontconfig): New variable.
2013-01-23 21:51:42 +01:00
Andreas Enge
8dc8bf02c6
gnu: libjpeg: Correct name of libjpeg-8 package to allow installation.
...
* gnu/packages/libjpeg (libjpeg-8): Switch name field to "libjpeg".
2013-01-23 21:28:44 +01:00
Ludovic Courtès
4f1ee0c964
Update `THANKS'.
2013-01-23 15:40:14 +01:00
Ludovic Courtès
821b0015fa
doc: Improve wording and fix typos in "Features".
...
* doc/guix.texi (Features): Fix typos, and rephrase according to the
suggestions of Alex Sassmannshausen <alex.sassmannshausen@gmail.com >.
2013-01-23 15:40:13 +01:00
Andreas Enge
2b902c3c46
gnu: ghostscript: Build and install shared library and header files.
...
* gnu/packages/ghostscript (ghostscript): Extend build and install phases.
2013-01-22 23:48:08 +01:00
Ludovic Courtès
67668155c5
guix-package: Fix --roll-back' when --profile' is not passed.
...
* guix-package.in (roll-back): Fix file name of PREVIOUS-PROFILE, which
could end up containing the dirname twice.
Reported by Nikita and Andreas.
* tests/guix-package.sh: Add test.
2013-01-22 22:35:16 +01:00
Ludovic Courtès
5401dd7595
guix-build: Allow version-qualified package names.
...
* guix-build.in (guix-build)[find-package]: New procedure.
Use it instead of using `find-packages-by-name' directly.
Suggested by Andreas Enge <andreas@enge.fr >.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix-build): Add `coreutils-8.20' as an
example. Fix guile-1.8 example.
2013-01-22 22:14:25 +01:00
Ludovic Courtès
476f8ea33c
Update `ROADMAP'.
2013-01-22 00:17:42 +01:00
Ludovic Courtès
7cd1d7bd0c
gnu: automake: Adjust test suite to lack of /bin/sh.
...
* gnu/packages/autotools.scm (autoconf-wrapper): New variable.
(automake): Use AUTOCONF-WRAPPER instead of AUTOCONF.
Add `automake-skip-amhello-tests.patch' as an input.
Add #:patches and #:phases arguments.
* gnu/packages/patches/automake-skip-amhello-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-01-22 00:17:42 +01:00
Ludovic Courtès
f153d89155
packages: Remove redundant test for inputs-as-procedures.
...
* guix/packages.scm (package-derivation)[expand-input]: Remove redundant
test when the input is a procedure.
2013-01-22 00:17:42 +01:00
Ludovic Courtès
c6dbd50594
doc: Add "The Perfect Setup" in 'HACKING'.
...
* HACKING (The Perfect Setup): New section.
2013-01-22 00:17:42 +01:00
Ludovic Courtès
4f028c8f95
gnu: Add Geiser.
...
* gnu/packages/emacs.scm (geiser): New variable.
2013-01-22 00:17:42 +01:00
Ludovic Courtès
dc56970dde
gnu: gnutls: Remove unneeded import.
...
* gnu/packages/gnutls.scm: Remove import of (gnu packages base).
2013-01-22 00:17:42 +01:00
Andreas Enge
23180bebff
gnu: Add groff.
...
* gnu/packages/groff.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-21 23:23:02 +01:00
Andreas Enge
87ec7a7a5e
gnu: Add psutils.
...
* gnu/packages/ghostscript.scm (psutils): New variable.
2013-01-21 23:18:46 +01:00
Andreas Enge
05bf6f8289
gnu: Add netpbm.
...
* gnu/packages/netpbm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-21 21:46:46 +01:00
Ludovic Courtès
eb39051936
gnu: Add missing libevent patch.
...
* gnu/packages/patches/libevent-dns-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-01-21 08:53:44 +01:00
Nikita Karetnikov
e1f8f477de
Update 'HACKING'.
...
* HACKING (When the platform is supported by Nixpkgs): Update the example.
2013-01-21 03:11:10 +00:00
Ludovic Courtès
7f08437bd8
gnu: Add Tor.
...
* gnu/packages/tor.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-20 23:21:04 +01:00
Ludovic Courtès
2e87ca8f52
Augment `.gitignore'.
2013-01-20 22:54:36 +01:00
Ludovic Courtès
85f3a05e4c
Update `NEWS'.
...
* NEWS: Update.
2013-01-20 22:54:36 +01:00
Ludovic Courtès
6b32a64a4d
gnu: Add libevent.
...
* gnu/packages/libevent.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-20 22:54:36 +01:00
Ludovic Courtès
483f11589e
download: Add HTTPS support.
...
* guix/build/download.scm: Autoload (gnutls).
(tls-wrap): New procedure.
(open-connection-for-uri): Add support for `https'. Wrap the socket
with `tls-wrap' in that case.
(url-fetch): Add `https'.
* guix/download.scm (gnutls-derivation): New procedure.
(url-fetch)[need-gnutls?]: New variable.
Call `gnutls-derivation' when NEED-GNUTLS? is true, and add its output
to the `GUILE_LOAD_PATH' env. var. in that case.
2013-01-20 22:54:36 +01:00
Ludovic Courtès
e509d1527d
packages: Have `package-derivation' return a <derivation> as a second value.
...
* guix/packages.scm (cache): Change the `drv' argument to `thunk'.
Memoize all the return values of THUNK.
(cached-derivation): Remove.
(cached): New macro.
(package-derivation): Use `cached' instead of `(or (cached-derivation) …)'.
* doc/guix.texi (Defining Packages): Update accordingly.
2013-01-20 22:54:36 +01:00
Andreas Enge
079fca3be8
gnu: mit-krb5: Patch and enable tests.
...
* gnu/packages/mit-krb5.scm (mit-krb5): Enable patched tests.
2013-01-20 22:29:55 +01:00
Ludovic Courtès
f6ab05509c
Update `THANKS'.
2013-01-20 15:46:36 +01:00
Ludovic Courtès
091196b383
doc: Run `useradd -g guix-builder -G guix-builder'.
...
* doc/guix.texi (Setting Up the Daemon): Add `-G guix-builder' when
invoking `useradd'.
Suggested by Aleix Conchillo Flaqué <aconchillo@gmail.com >.
2013-01-20 15:46:36 +01:00
Andreas Enge
c4854e76e2
gnu: screen: correct license to gpl2+
...
* gnu/packages/screen.scm (screen): correct license field
2013-01-20 12:29:09 +01:00
Cyril Roelandt
6c3a720481
Add GNU Screen.
...
* gnu/packages/screen.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-20 12:22:14 +01:00
Ludovic Courtès
c217708f7b
build: Use "nix-instantiate" as the default name for that program.
...
* configure.ac: Have `NIX_INSTANTIATE' default to `nix-instantiate'.
2013-01-19 23:09:36 +01:00
Ludovic Courtès
2ffa297ab8
gnu: lout: Add missing dependency on Ghostscript.
...
* gnu/packages/lout.scm (lout): Add GHOSTSCRIPT as an input. Use a
mirror:// URL.
2013-01-19 22:32:21 +01:00
Ludovic Courtès
79c398a20c
gnu: freetype: Avoid license/package name clash.
...
* gnu/packages/freetype.scm: Use a renamer for (guix licenses), to avoid
a name clash.
2013-01-19 22:31:17 +01:00
Ludovic Courtès
943f33a326
distro: glib: Run the test suite; add DBus.
...
* distro/packages/glib.scm: Rename to...
* gnu/packages/glib.scm: ... this. Update module declaration
accordingly.
(dbus): New variable.
(glib): Change version number to 2.34.3, and adjust URL accordingly.
Add a "doc" output. Add #:configure-flags, #:patches, and #:phases
arguments. Add DBUS as an input, as well a three patches.
* Makefile.am (MODULES): Adjust to file renaming.
(dist_patch_DATA): Add `glib-tests-timezone.patch',
`glib-tests-homedir.patch', and `glib-tests-desktop.patch'.
2013-01-19 22:20:47 +01:00
Nikita Karetnikov
3889a82ef8
distro: Add GLib.
...
* distro/packages/glib.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-19 22:20:47 +01:00
Andreas Enge
11314eb68e
gnu: libtiff: Add zlib support.
...
* gnu/packages/libtiff.scm (libtiff): Add input zlib.
2013-01-19 17:34:26 +01:00
Andreas Enge
f0444eafe2
gnu: Add libxml2.
...
* gnu/packages/xml.scm (libxml2): New variable.
2013-01-19 15:17:28 +01:00
Andreas Enge
bf4018fb15
gnu: Add GNU Ghostscript and its dependencies libpaper and lcms.
...
* gnu/packages/ghostscrip.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-19 13:44:42 +01:00
Andreas Enge
b387a1c5b2
gnu: Add Freetype.
...
licenses: Add freetype license.
* gnu/packages/freetype.scm: New file.
* guix/licenses.scm (freetype): New variable.
* Makefile.am (MODULES): Add freetype.scm.
2013-01-19 12:28:55 +01:00
Nikita Karetnikov
8f86331a22
gnu: ddrescue: Fix 'synopsis' and 'description'.
...
* gnu/packages/ddrescue.scm (ddrescue): Fix 'synopsis' and 'description'.
2013-01-19 01:01:27 +00:00
Nikita Karetnikov
1f5ec939ca
gnu: Add GNU Speex.
...
* gnu/packages/oggvorbis.scm (speex): Add it.
(vorbis-tools): Add 'speex' to 'inputs'.
2013-01-19 00:41:41 +00:00
Andreas Enge
23f339dd7f
gnu: Amended previous patch.
...
* Makefile.am (MODULES): Add libpng.scm.
2013-01-18 23:55:07 +01:00
Andreas Enge
5752a7d77c
gnu: Add libpng.
...
* gnu/packages/libpng.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-18 23:53:08 +01:00
Andreas Enge
99e6c1b18e
licenses: Add 'vim'.
...
* guix/licenses.scm (vim): New variable.
2013-01-18 22:48:28 +01:00
Andreas Enge
6a06172b65
gnu: Add libogg, libvorbis and vorbis-tools.
...
* gnu/packages/oggvorbis.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-18 20:27:33 +01:00
Ludovic Courtès
3465eb03bd
distro: tcl: Make a `tclsh' symlink.
...
* gnu/packages/tcl.scm (tcl): Add a `tclsh' symlink.
2013-01-18 18:22:48 +01:00
Ludovic Courtès
5fc5c2f340
build: Bump to version 0.2.
...
* configure.ac: Bump version number.
2013-01-18 16:59:02 +01:00
Ludovic Courtès
665991957c
distro: bigloo: Update to 4.0a.
...
* gnu/packages/scheme.scm (bigloo): Update to 4.0a.
2013-01-18 16:57:23 +01:00
Ludovic Courtès
c3d98cad5d
distro: gnutls: Adjust to the latest version.
...
* gnu/packages/gnutls.scm (gnutls): Remove the #:parallel-build?
argument, which is no longer needed. Remove the commented-out LZO
input, since GnuTLS no longer supports it since 3.0.0.
2013-01-18 16:56:59 +01:00
Ludovic Courtès
d7d408d578
distro: gnutls: Use the GnuPG mirrors.
...
* gnu/packages/gnutls.scm (gnutls): Use the gnutls.org/GnuPG URL.
2013-01-18 16:54:41 +01:00
Ludovic Courtès
a1ba8475a6
doc: Add a "GNU Distribution" node.
...
* doc/guix.texi (Introduction): Add cross-reference to "GNU
Distribution".
(Features): Mention reproducibility.
(Invoking guix-package): Add cross-reference to "GNU Distribution".
(GNU Distribution): New node.
2013-01-18 01:29:24 +01:00
Ludovic Courtès
59a43334a9
distro: Rename (distro) to (gnu packages).
...
* distro.scm: Rename to...
* gnu/packages.scm: ... this. Update all users accordingly.
* Makefile.am (MODULES): Adjust accordingly.
* po/POTFILES.in: Likewise.
2013-01-18 01:07:53 +01:00
Ludovic Courtès
1ffa7090b9
distro: Change the module name space to (gnu ...).
...
* distro: Rename to...
* gnu: ... this. Update module names accordingly.
* Makefile.am: Adjust accordingly.
* po/POTFILES.in: Likewise.
* distro.scm: Search for files under /gnu/packages instead of
/distro/packages.
* gnu/packages/base.scm (ld-wrapper-boot3): Likewise.
2013-01-18 01:07:31 +01:00
Ludovic Courtès
08ba7ff318
Update `HACKING'.
...
* HACKING: Capitalize the title.
(Running Guix before it is installed): New section.
(Adding new packages): Update example.
2013-01-18 00:48:07 +01:00
Ludovic Courtès
4fd27cdfb9
Move Andreas to `AUTHORS'.
2013-01-18 00:48:07 +01:00
Ludovic Courtès
75f1e8f7cd
doc: Mark binary deployment as not implemented yet.
...
* doc/guix.texi (Features): Add a footnote saying that binary deployment
is missing.
2013-01-18 00:48:07 +01:00
Andreas Enge
082b3c6a6c
distro: Add libtiff.
...
* distro/packages/libtiff.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-18 00:14:42 +01:00
Andreas Enge
1d97441709
distro: Add Libjpeg 8.
...
* distro/packages/libjpeg.scm (libjpeg-8): New variable.
2013-01-18 00:13:20 +01:00
Andreas Enge
f24996724c
distro: Add file.
...
* distro/packages/file.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-17 23:15:21 +01:00
Andreas Enge
4b5f8cde38
distro: Add Libjpeg.
...
* distro/packages/libjpeg.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-17 23:12:22 +01:00
Andreas Enge
dd9e87e185
distro: flex: Add dependency on Indent.
...
* distro/packages/flex.scm (flex): Add Indent as input.
2013-01-17 23:09:24 +01:00
Andreas Enge
c1e628f6ce
distro: Add Indent.
...
* distro/packages/indent.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-17 23:09:24 +01:00
Ludovic Courtès
9241172c9d
guix-package: Allow `--roll-back' to skip missing generations.
...
* guix-package.in (profile-numbers): New procedure.
(latest-profile-number): Use it.
(previous-profile-number): New procedure.
(roll-back): Use it lieu of `1-'. Check whether PREVIOUS-NUMBER is
zero, and raise an error when it is.
* tests/guix-package.sh: Test whether we can roll back over a "hole".
2013-01-17 22:42:39 +01:00
Ludovic Courtès
24e262f086
guix-package: Add `--roll-back'.
...
Based on a patch by Nikita Karetnikov <nikita@karetnikov.org >.
* guix-package.in (profile-regexp): New procedure.
(latest-profile-number): Remove `%profile-rx', and use
`profile-regexp' instead.
(profile-number, roll-back): New procedure.
(show-help): Add `--roll-back'.
(%options): Likewise.
(guix-package)[process-actions]: First check whether `roll-back?' is
among OPTS, and call `roll-back' if it is, followed by a recursive
call to `process-actions'. Emit the "nothing to be done" message only
when INSTALL or REMOVE is non-empty.
* tests/guix-package.sh (readlink_base): New function.
Add tests for `--roll-back'.
* doc/guix.texi (Invoking guix-package): Document `--roll-back'.
2013-01-17 22:42:39 +01:00
Andreas Enge
8ca6cc4b45
distro: gnutls: Update to 3.1.6.
...
* distro/packages/gnutls.scm (gnutls): Update to 3.1.6.
2013-01-17 16:41:05 +01:00
Ludovic Courtès
aba326f79c
packages: Change `base32' to allow non-literal strings.
...
* guix/packages.scm (base32): Allow arguments that are not literal strings.
2013-01-17 15:45:05 +01:00
Ludovic Courtès
2a6c679561
distro: nettle: Update to 2.6.
...
* distro/packages/nettle.scm (nettle): Update to 2.6.
2013-01-17 13:57:30 +01:00
Ludovic Courtès
183c9a89a3
distro: gdb: Add dependency on Expat and Python.
...
* distro/packages/gdb.scm (gdb): Add Expat and Python as inputs.
2013-01-16 23:50:51 +01:00
Ludovic Courtès
d041488307
distro: Add Expat.
...
* distro/packages/xml.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-16 23:40:02 +01:00
Ludovic Courtès
874e687428
doc: Start documenting derivations.
...
* doc/guix.texi (Defining Packages): Add cross-reference to
"Derivations".
(The Store): Add `build-derivations'.
(Derivations): Populate.
2013-01-16 23:09:53 +01:00
Ludovic Courtès
1da983b9f0
doc: Fix typos, and improve daemon documentation.
...
* doc/guix.texi: Fix typos.
(Invoking guix-daemon): Add details about `--disable-log-compression'
and `--disable-store-optimization'.
Reported by Nikita Karetnikov <nikita@karetnikov.org >.
2013-01-16 23:09:53 +01:00
Ludovic Courtès
b28168c125
doc: Remove @documentlanguage.
...
* doc/guix.texi: Remove @documentlanguage, which confuses TeX.
2013-01-16 23:09:52 +01:00
Andreas Enge
4c9e797577
distro: Add icu4c (International Components for Unicode).
...
* distro/packages/icu4c.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-16 17:39:47 +01:00
Nikita Karetnikov
a01b6da792
distro: Add Python 2.7.3.
...
* distro/packages/python.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-16 04:23:27 +00:00
Ludovic Courtès
e531ac2ad9
doc: Start documenting (guix store).
...
* doc/guix.texi (The Store): Populate.
(Introduction): Add cross-reference. Change "package store" to "the
store".
2013-01-15 23:32:13 +01:00
Ludovic Courtès
156b5010ff
distro: recutils: Add 3 optional dependencies.
...
* distro/packages/recutils.scm (recutils): Add Emacs, Check, and bc as
dependencies.
2013-01-15 23:00:46 +01:00
Ludovic Courtès
9282e25962
distro: check: Fix source URL.
...
* distro/packages/check.scm (check): Fix source URI.
2013-01-15 23:00:05 +01:00
Ludovic Courtès
727afa3be8
distro: Add patches forgotten in previous commits.
...
* distro/packages/patches/bigloo-gc-shebangs.patch,
distro/packages/patches/emacs-configure-sh.patch,
distro/packages/patches/procps-make-3.82.patch: New files.
* Makefile.am (dist_patch_DATA): Add them.
2013-01-15 22:56:52 +01:00
Ludovic Courtès
ed9f9a7765
distro: Add GNU bc.
...
* distro/packages/algebra.scm (bc): New variable.
2013-01-15 22:49:50 +01:00
Ludovic Courtès
c4d645341b
guix-package: Connect to the daemon only after arguments have been processed.
...
* guix-package.in (%store): Change to a SRFI-39 parameter. Update all users.
(guix-package): Parametrize %STORE to an open connection after
`parse-options' has been called.
2013-01-15 22:39:03 +01:00
Andreas Enge
acf60b26bd
distro: Add Cyrus SASL.
...
* distro/packages/cyrus-sasl.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-15 17:11:51 +01:00
Andreas Enge
0dd7a135b2
Test commit.
...
* Makefile.am: alphabetical ordering
2013-01-15 16:12:33 +01:00
Ludovic Courtès
c7e4a72a74
Augment `TODO'.
2013-01-15 11:35:15 +01:00
Ludovic Courtès
04732c37ca
distro: Fetch bootstrap binaries from alpha.gnu.org.
...
* build-aux/download.scm (%url-base): Change to alpha.gnu.org.
* distro/packages/bootstrap.scm (%bootstrap-base-url): Rename to...
(%bootstrap-base-urls): ... this. Add alpha.gnu.org as the first
URL. Update users.
2013-01-15 11:34:54 +01:00
Nikita Karetnikov
e2034de5d0
licenses: Add 'psfl'.
...
* guix/licenses.scm (psfl): New variable.
2013-01-15 09:54:38 +01:00
Ludovic Courtès
e117772ddd
distro: Add MIT/GNU Scheme and Bigloo.
...
* distro/packages/scheme.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-15 01:08:00 +01:00
Ludovic Courtès
29c1793dc2
build-system/gnu: Allow the `source' argument to be #f.
...
* guix/build-system/gnu.scm (gnu-build): Allow SOURCE to be #f.
2013-01-15 01:05:39 +01:00
Ludovic Courtès
f4b60f5f6b
daemon: Remove reference to immutable.{cc,hh}, which no longer exist.
...
* daemon.am (libutil_a_SOURCES): Remove nix/libutil/immutable.cc.
(libutil_headers): Remove nix/libutil/immutable.hh. These files were
removed in Nix commit def5160 (post 1.2).
Reported by Nikita Karetnikov <nikita@karetnikov.org >.
2013-01-15 00:03:47 +01:00
Ludovic Courtès
5b00f53526
snix: When unable to determine the version number, leave the URI unchanged.
...
* guix/snix.scm (snix-derivation->guix-package)[pretty-uri]: When
VERSION is #f, return URI.
2013-01-14 23:45:54 +01:00
Ludovic Courtès
0ec1af59e5
guix-package: Create or diagnose missing profile directory.
...
Reported by Andreas Enge.
* guix-package.in (%profile-directory): Honor $NIX_STATE_DIR.
(guix-package)[ensure-default-profile]: Use it.
[process-actions]: Call it when the `profile' option is
%CURRENT-PROFILE.
* tests/guix-package.sh: Add installation test with $HOME set, using the
default profile.
2013-01-14 23:44:58 +01:00
Ludovic Courtès
2a5ab9dceb
tests: Use "binutils:lib" as the `guix-package' example.
...
* tests/guix-package.sh: Use "binutils:lib" instead of "libsigsegv:lib",
since the latter no longer exists.
2013-01-14 23:33:14 +01:00
Ludovic Courtès
ae9e328800
guix-package: Fix check for ~/.guix-profile existence.
...
* guix-package.in (guix-package): When testing whether
%USER-ENVIRONMENT-DIRECTORY exists, use `lstat' instead of
`file-exists?'. Reported by Andreas Enge.
2013-01-13 23:47:37 +01:00
Andreas Enge
1ca982808a
licenses: Add 'openldap2.8'.
...
* guix/licenses.scm (openldap2.8): New variable.
2013-01-13 23:18:58 +01:00
Andreas Enge
90a6d47caa
distro: Add PARI/GP
...
* distro/packages/algebra.scm (pari-gp): New variable.
2013-01-13 23:14:28 +01:00
Ludovic Courtès
a53b000c7a
Update to Nix 1.3.
2013-01-13 22:27:50 +01:00
Ludovic Courtès
34fcbe3a10
store: In `open-connection', process all the server's stderr.
...
* guix/store.scm (open-connection): Loop until `process-stderr' returns #t.
2013-01-13 22:27:00 +01:00
Ludovic Courtès
85a8a5f556
distro: openssl: Fix the `license' field.
...
* distro/packages/openssl.scm: Add renamer for (guix licenses). Adjust
accordingly.
2013-01-13 21:58:01 +01:00
Ludovic Courtès
468bdabb56
distro: Add GNU Emacs.
...
* distro/packages/emacs.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-13 17:12:22 +01:00
Ludovic Courtès
80ba8cc076
doc: Fix typos.
...
* doc/guix.texi (Setting Up the Daemon): Use "useradd -c" for comments.
Reported by Andreas Enge.
(Invoking guix-gc): Fix typo.
2013-01-13 16:37:51 +01:00
Ludovic Courtès
a661e42025
distro: Add GNU Mailutils.
...
* distro/packages/mailutils.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-13 16:34:41 +01:00
Ludovic Courtès
d5529a9162
distro: expect: Provide the right path to `stty'.
...
* distro/packages/tcl.scm (expect): Add #:phases argument.
2013-01-13 15:37:01 +01:00
Ludovic Courtès
fa39cc0da6
distro: gnutls: Add dependency on Which.
...
* distro/packages/gnutls.scm (gnutls): Add dependency on Which.
2013-01-12 23:02:26 +01:00
Ludovic Courtès
fbbb1c0f4c
distro: Add GDB.
...
* distro/packages/gdb.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-12 23:02:07 +01:00
Ludovic Courtès
75abd8ab23
distro: dejagnu: Add expect' in the search path of runtest'.
...
* distro/packages/dejagnu.scm (dejagnu): In `check' phase, change `PATH'
in `runtest', to avoid "expect not found in PATH" error.
2013-01-12 23:00:32 +01:00
Ludovic Courtès
39224d94e3
distro: Add MySQL.
...
* distro/packages/mysql.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-12 22:25:16 +01:00
Ludovic Courtès
fe8ccfcc72
distro: util-linux: Fix `license' field.
...
* distro/packages/linux.scm (util-linux): Change `license' field to
refer to the actual license objects.
2013-01-12 16:51:45 +01:00
Ludovic Courtès
e47e3effaf
distro: Add procps.
...
* distro/packages/linux.scm (procps): New variable.
2013-01-12 16:51:16 +01:00
Ludovic Courtès
eb6d676e2a
distro: tcl, expect: Enable tests.
...
* distro/packages/tcl.scm (tcl, expect): Remove #:tests? argument; add
#:test-target.
2013-01-12 16:24:35 +01:00
Ludovic Courtès
b22a12fda7
doc: Mention store sharing with Nix; update `package' example.
...
* doc/guix.texi: Set @documentlanguage.
(Installation): Add reference to `INSTALL' and `README'.
(Requirements): Mention store sharing with Nix.
(Defining Packages): Update example to include `use-modules' clauses
and to use (guix licenses).
2013-01-11 16:16:36 +01:00
Ludovic Courtès
01e354eb83
Merge branch 'core-updates'
...
Conflicts:
guix/build/union.scm
2013-01-11 16:01:49 +01:00
Ludovic Courtès
28e5560421
download: Abbreviate URLs when displaying the progress report.
...
* guix/build/download.scm (uri-abbreviation): New procedure.
(ftp-fetch, http-fetch): Use it instead of `uri->string' when calling
`progress-proc'. Reported by Andreas Enge.
2013-01-11 15:41:58 +01:00
Ludovic Courtès
ab6522aeb0
distro: gawk: Adjust to the libsigsegv output change.
...
* distro/packages/gawk.scm (gawk): Adjust the libsigsegv with a single
output.
2013-01-10 22:35:35 +01:00
Ludovic Courtès
f03e7115d7
distro: libsigsegv: Use a single output.
...
* distro/packages/libsigsegv.scm (libsigsegv): Use just a single output,
otherwise nothing ends up in `out' as a consequence of commit a06a99f .
Reported by Andreas Enge <andreas@enge.fr >.
2013-01-10 22:33:35 +01:00
Ludovic Courtès
5fedc65b0f
build: Print the Guix system type.
...
* m4/guix.m4 (GUIX_SYSTEM_TYPE): Print the system type.
2013-01-10 22:18:16 +01:00
Ludovic Courtès
704197f4bf
distro: gmp: Update to 5.0.1.
...
* distro/packages/multiprecision.scm (gmp): Update to 5.0.1.
2013-01-10 00:11:20 +01:00
Ludovic Courtès
4873f8ed9f
distro: binutils: Add a "lib" output.
...
* distro/packages/base.scm (binutils): Add `outputs' field.
2013-01-10 00:09:25 +01:00
Ludovic Courtès
a06a99ff77
build-system/gnu: Improve support for "lib" outputs; support "doc" outputs.
...
* guix/build/gnu-build-system.scm (configure)[package-name]: New
procedure.
When LIBDIR is true and INCLUDEDIR is false, add
--includedir=LIBDIR/include.
Add support for --docdir when a "doc" output exists.
2013-01-10 00:08:40 +01:00
Ludovic Courtès
bfe384cc4c
doc: Clarify package version specification example.
...
* doc/guix.texi (Invoking guix-package): Use "guile-1.8.8" as the
example, not "guile-1.8" since there is no such version.
2013-01-09 22:26:28 +01:00
Ludovic Courtès
c0b3c89f16
Augment `TODO'.
2013-01-09 22:12:23 +01:00
Ludovic Courtès
b2d58cd80a
union: Detect collisions, and delete duplicate leaves.
...
* guix/build/union.scm (delete-duplicate-leaves): New procedure.
(union-build)[leaf=?, resolve-collision]: New procedures.
Use `delete-duplicate-leaves' on the result of `tree-union'.
* tests/union.scm ("delete-duplicate-leaves, default",
"delete-duplicate-leaves, file names"): New tests.
2013-01-09 22:10:06 +01:00
Ludovic Courtès
b9e5c0a949
guix-package: Create ~/.guix-profile when it doesn't exist.
...
* guix-package.in (guix-package): Create the %USER-ENVIRONMENT-DIRECTORY
symlink if it doesn't exist yet.
* doc/guix.texi (Invoking guix-package): Document it.
2013-01-09 19:57:44 +01:00
Ludovic Courtès
44b6be7744
guix-package: Show package outputs in `--list-available'.
...
* guix-package.in (guix-package)[process-query]: For `list-available',
show the outputs of each package.
* doc/guix.texi (Invoking guix-package): Update accordingly.
2013-01-09 19:26:37 +01:00
Ludovic Courtès
58db733e6d
doc: Update copyright years; add visible copyright statement.
...
* doc/guix.texi (YEARS): New variable.
Use it for all copyright statements.
(Top): Add a copyright statement and license header here.
2013-01-09 13:01:48 +01:00
Ludovic Courtès
bd5e766b87
doc: Documentation installation and the daemon.
...
* doc/guix.texi (Installation): New node.
2013-01-09 12:58:27 +01:00
Ludovic Courtès
2498d43adb
daemon: Fix warning message when running as root without a build user group.
...
* nix/nix-daemon/guix-daemon.cc (main): Fix warning message when running
as root without `--build-users-group'.
2013-01-09 12:16:26 +01:00
Ludovic Courtès
6221db61f5
guix-daemon: Rename --build-cores' for consistency with guix-build'.
...
* nix/nix-daemon/guix-daemon.cc (options): Change `--build-cores' to
`--cores', and `-C' to `-c'.
(parse_opt): Adjust accordingly.
2013-01-09 12:14:23 +01:00
Ludovic Courtès
784bb1f37b
derivations: Fix `derivation-prerequisites-to-build' when outputs are there.
...
Before it would list inputs not built, even if the outputs of the given
derivation were already available.
* guix/derivations.scm (derivation-prerequisites-to-build): Add
`outputs' keyword parameter.
[built?, derivation-built?]: New procedures.
[loop]: Add `sub-drvs' parameter. Use `derivation-built?' to check if
the SUB-DRVS of DRV are built before checking its inputs.
2013-01-09 08:38:57 +01:00
Ludovic Courtès
9149f1a087
doc: Update porting instructions in `HACKING'.
...
* HACKING (When the platform is supported by Nixpkgs): Update
instructions.
2013-01-08 22:57:09 +01:00
Ludovic Courtès
98fefb210a
gnu-maintenance: Add `latest-release' and related tools.
...
* guix/gnu-maintenance.scm (ftp-server/directory, releases,
version-string>?, latest-release, gnu-package-name->name+version): New
procedures.
(%package-name-rx): New variable.
2013-01-08 22:46:12 +01:00
Ludovic Courtès
87009d8aa1
guix-package: Use guile-final', not guile-2.0' to build the environment.
...
* guix-package.in (guix-package): Use either %BOOTSTRAP-GUILE or
GUILE-FINAL.
2013-01-08 00:05:37 +01:00
Ludovic Courtès
9762706b90
guix-package: Be verbose when Guile itself needs to be built.
...
* guix-package.in (guix-package)[guile-missing?]: New procedure.
(guix-package): Always redirect `current-build-output-port' to
`current-error-port' when (guile-missing?).
2013-01-08 00:04:46 +01:00
Ludovic Courtès
cc57f25d96
guix-package: Remove -b' shorthand for --bootstrap'.
...
* guix-package.in (%options): Remove #\b as an alternate for
"bootstrap".
(show-help): Adjust accordingly.
* tests/guix-package.sh: Use `--bootstrap' instead of `-b'.
2013-01-07 22:54:54 +01:00
Ludovic Courtès
ad85c617b5
snix: Update `license' check in unit test.
...
* tests/snix.scm ("nixpkgs->guix-package"): Expect `license' to be a
symbol. This is a follow-up to commit e7aa73e .
2013-01-07 22:53:46 +01:00
Ludovic Courtès
e7aa73ef09
snix: Use (guix licenses) variables.
...
* guix/snix.scm (snix-derivation->guix-package)[license-variable]: New
procedure.
Use it to determine the variable name for the license.
2013-01-07 22:32:28 +01:00
Ludovic Courtès
ab8ed44fce
snix: Gracefully handle `null' in Nix build inputs.
...
* guix/snix.scm (snix-derivation->guix-package)[convert-inputs]:
Gracefully handle `null' as an input.
2013-01-07 22:23:50 +01:00
Ludovic Courtès
708d0ceb50
distro: Add GNU Aspell.
...
* distro/packages/aspell.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-07 21:30:45 +01:00
Ludovic Courtès
4e6b699d50
distro: Add GSL.
...
* distro/packages/algebra.scm (gsl): New variable.
2013-01-07 21:23:33 +01:00
Ludovic Courtès
27160c856b
distro: Add GNU GLOBAL.
...
* distro/packages/global.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-07 21:12:12 +01:00
Ludovic Courtès
4a219a1a47
distro: Add Tcl, Expect, and DejaGNU.
...
* distro/packages/dejagnu.scm, distro/packages/tcl.scm: New files.
* Makefile.am (MODULES): Add them.
2013-01-07 21:11:19 +01:00
Ludovic Courtès
b30e4f3f12
distro: bdb: Adjust to lack of /bin/sh.
...
* distro/packages/bdb.scm (bdb): Pass `CONFIG_SHELL' and `SHELL' to the
`configure' script.
2013-01-06 18:47:24 +01:00
Ludovic Courtès
2357f85032
Update a few more license headers.
...
* distro/packages/openssl.scm, m4/guix.m4, nix/sync-with-upstream:
Update headers.
2013-01-06 18:43:58 +01:00
Ludovic Courtès
e66ca1a5a8
download: Report the progress of HTTP downloads.
...
* guix/build/download.scm (http-fetch): Rename `bv' to `bv-or-port'.
Use `http-get*' followed by `dump-port' when the former is available,
and pass a progress procedure to `dump-port'.
2013-01-06 18:36:50 +01:00
Ludovic Courtès
e47bac7902
download: Report the progress of FTP downloads.
...
* guix/build/download.scm (progress-proc): New procedure.
(ftp-fetch): Call `ftp-size' on URI. Use `progress-proc', and pass
the result to `dump-port', along with #:buffer-size.
2013-01-06 18:35:23 +01:00
Ludovic Courtès
fb83842efb
ftp-client: Add `ftp-size'.
...
* guix/ftp-client.scm (ftp-size): New procedure.
2013-01-06 18:23:44 +01:00
Ludovic Courtès
a9f8b72ee1
distro: time: Adjust configure' phase to old configure' script.
...
* distro/packages/time.scm (time): Add `arguments'.
2013-01-06 17:42:59 +01:00
Ludovic Courtès
4050e5d6cf
Merge branch 'master' into core-updates
...
Conflicts:
build-aux/download.scm
distro/packages/autotools.scm
distro/packages/base.scm
distro/packages/bootstrap.scm
distro/packages/lsh.scm
distro/packages/make-bootstrap.scm
distro/packages/ncurses.scm
distro/packages/perl.scm
tests/derivations.scm
tests/union.scm
2013-01-06 17:33:02 +01:00
Ludovic Courtès
79580eb698
distro: Update bootstrap binaries to an nscd-less libc.
...
Update bootstrap binaries following changes in commit d3b5972 ("Build
glibc without nscd, and with static NSS modules.")
* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Update hashes.
* build-aux/download.scm (file-name->uri): Update URL.
* distro/packages/bootstrap.scm (%bootstrap-coreutils&co,
%bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Update URLs
and hashes.
2013-01-06 01:16:14 +01:00
Ludovic Courtès
233e76769a
Update license headers.
...
Change all license headers, except guix/build/* and ld-wrapper.scm, with
this code:
(use-modules (guix build utils)
(srfi srfi-1))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (remove (lambda (f)
(or (string-contains f ".tar.")
(string-contains f ".git/")
(string-contains f ".so")
(string-suffix? ".o" f)
(string-suffix? ".a" f)
(string-suffix? ".go" f)
(string-suffix? ".pdf" f)
(string-suffix? ".png" f)
(string-suffix? ".info" f)
(equal? (basename f) "guix-daemon")
(equal? (basename f) "nix-setuid-helper")
(string-contains f "nix-upstream/")
(string-contains f "distro/packages/bootstrap/")))
(find-files "." "\\.[a-z]+$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
Change headers using C-style comments manually.
2013-01-06 00:47:50 +01:00
Ludovic Courtès
fe8ff02827
Add `guix-gc'.
...
* guix-gc.in, tests/guix-gc.sh: New files.
* configure.ac: Output `guix-gc', and make it executable.
* Makefile.am (bin_SCRIPTS): Add `guix-gc'.
(TESTS): Add `tests/guix-gc.sh'.
* doc/guix.texi (Features): Add xref to "Invoking guix-gc".
(Invoking guix-gc): New node.
* po/POTFILES.in: Add `guix-gc.in'.
2013-01-06 00:28:06 +01:00
Ludovic Courtès
2646c55b03
guix-build: Make `--root' effective for .drv files too.
...
* guix-build.in (guix-build)[register-root]: Change first argument to
`paths', which should be a list of store paths. Update caller to call
`derivation-path->output-paths' on DRV. When `derivations-only?',
also register root for .drv files.
2013-01-06 00:18:43 +01:00
Ludovic Courtès
7244a5f74e
derivations: Add `derivation-path->output-paths'.
...
* guix/derivations.scm (derivation-path->output-paths): New procedure.
* tests/derivations.scm ("multiple-output derivation"): Test it.
2013-01-05 23:51:13 +01:00
Ludovic Courtès
4155e2a909
Update license headers of builder-side code.
...
Change license headers with this script:
(use-modules (guix build utils))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (cons "distro/packages/ld-wrapper.scm"
(find-files "guix/build" "\\.scm$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
* distro/packages/ld-wrapper.scm, guix/build/download.scm,
guix/build/gnu-build-system.scm, guix/build/union.scm,
guix/build/utils.scm: Update license headers.
2013-01-05 16:08:07 +01:00
Ludovic Courtès
7584f822bf
utils: Add `which'.
...
* guix/build/utils.scm (which): New procedure.
* distro/packages/lsh.scm (lsh): Use `which' instead of `search-path'.
* distro/packages/perl.scm (perl): Likewise.
* distro/packages/attr.scm (attr): Likewise.
2013-01-05 16:02:32 +01:00
Ludovic Courtès
3441e16497
ui: Factorize bug-report information in `--help'.
...
* guix/config.scm.in (%guix-home-page-url): New variable.
* guix/ui.scm (show-bug-report-information): New procedure.
* guix-build.in (show-help): Use it.
* guix-download.in (show-help): Likewise.
* guix-import.in (show-help): Likewise.
* guix-package.in (show-help): Likewise.
2013-01-05 15:55:47 +01:00
Ludovic Courtès
312543dcfc
distro: make-bootstrap: Add `%bootstrap-tarballs' package.
...
* distro/packages/make-bootstrap.scm (%bootstrap-tarballs): New
variable.
2013-01-05 15:46:08 +01:00
Ludovic Courtès
d3b59727fb
distro: make-bootstrap: Build glibc without nscd, and with static NSS modules.
...
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system):
Rename to...
(%glibc-for-bootstrap): ... this. Add new configure flags.
2013-01-05 12:41:05 +01:00
Ludovic Courtès
c2d771fd1d
distro: make-bootstrap: Make the Coreutils smaller.
...
* distro/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Remove
optional dependencies, except Perl; build with "-Os -g0"; disable
tests.
2013-01-04 18:58:53 +01:00
Ludovic Courtès
fdc78b72f8
distro: make-bootstrap: Fix arguments to gawk.
...
* distro/packages/make-bootstrap.scm (%static-inputs)[gawk]: Use
`substitute-keyword-arguments' to preserve the #:phases argument of
GAWK.
2013-01-04 17:42:59 +01:00
Ludovic Courtès
2f8a123ed3
distro: libtool: Add a "bin" output.
...
* distro/packages/autotools.scm (libtool): Add a "bin" output.
* distro/packages/base.scm (guile-final): Remove comment about retained
dependency.
2013-01-02 23:40:56 +01:00
Ludovic Courtès
feddc16c70
distro: ncurses: Don't retain a reference to the bootstrap Bash.
...
* distro/packages/ncurses.scm (ncurses): Remove #:patch-shebangs?
argument since it now has no effect. Simplify PATCH-MAKEFILE-PHASE.
Add `configure-phase', and use it.
2013-01-02 23:12:27 +01:00
Ludovic Courtès
8ba8aeb74d
distro: coreutils: Enable tests; add dependency on ACL and GMP.
...
* distro/packages/base.scm (coreutils): Set #:parallel-build? #f. Add
`patch-shell-references' phase. Add 'acl', 'gmp', and 'perl' as
inputs, as suggested by Nikita Karetnikov.
2013-01-02 22:46:26 +01:00
Ludovic Courtès
2ea2baf16c
distro: acl: Patch references to /bin/sh.
...
* distro/packages/acl.scm (acl): Add `patch-makefile-SHELL' phase.
2013-01-02 22:46:24 +01:00
Ludovic Courtès
2aa4fb5f73
distro: gettext: Fix references to /bin/sh.
...
* distro/packages/gettext.scm (gettext): Add `patch-tests' phase.
2013-01-02 22:46:23 +01:00
Ludovic Courtès
706d0641cf
daemon: Show the chroot contents upon `--debug'.
...
* nix/nix-daemon/guix-daemon.cc (main)[HAVE_CHROOT]: Display the
contents of `settings.dirsInChroot' at `lvlDebug'.
2013-01-02 18:31:40 +01:00
Andreas Enge
60a290926b
distro: Add Berkeley DB.
...
* distro/packages/bdb.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-02 18:13:07 +01:00
Ludovic Courtès
a974a0be5b
distro: openssl: Build shared libraries.
...
* distro/packages/openssl.scm (openssl): `configure' phase: pass
"shared --libdir=lib".
2013-01-02 13:48:15 +01:00
Andreas Enge
f9975b5a49
distro: Add OpenSSL.
...
* distro/packages/openssl.scm: New file. `patch-tests' phase added by
Ludovic Courtès.
* Makefile.am (MODULES): Add it.
2013-01-02 13:31:13 +01:00
Ludovic Courtès
bb1ff9aa0a
release.nix: Update to new bootstrap Guile tarball.
...
* release.nix (bootstrap_guile): Update URLs and SHA256.
(build)[preBuild]: Adjust tarball name.
2013-01-02 12:42:54 +01:00
Andreas Enge
9dc6f288bf
distro: Add MIT Kerberos 5.
...
* distro/packages/mit-krb5.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-02 01:08:51 +01:00
Ludovic Courtès
5501e6b64f
daemon: Properly initialize libgcrypt.
...
* nix/nix-daemon/guix-daemon.cc (main): Call `gcry_check_version'.
2013-01-02 01:07:53 +01:00
Ludovic Courtès
97d3998e7a
tests: Adjust to not rely on /bin/sh.
...
* tests/derivations.scm (%bash): New variable.
Replace occurrences of "/bin/sh" by %BASH.
* tests/union.scm ("union-build"): Delete duplicates from
%BOOTSTRAP-INPUTS.
2013-01-02 01:04:37 +01:00
Ludovic Courtès
52b8e5fc30
distro: sed: Patch references to /bin/sh in the test suite.
...
* distro/packages/base.scm (sed): Add `patch-test-suite' phase.
2013-01-02 01:01:58 +01:00
Ludovic Courtès
46866fadee
distro: glibc: Build the statically-linked Bash embedded in glibc.
...
* distro/packages/base.scm (glibc): Expect "static-bash" to be a
directory, not a single file. Call `remove-store-references' on the
"bash" binary that is copied. Add an `sh' -> `bash' symlink. Change
the "static-bash" input to (static-package bash-light).
(glibc-final): Rename to...
(glibc-final-with-bootstrap-bash): ... this. Change `name' to
"glibc-intermediate". Remove #:patch-shebangs? setting.
(cross-gcc-wrapper): New procedure, with code formerly in
GCC-BOOT0-WRAPPED.
(gcc-boot0-wrapped): Use it.
(static-bash-for-glibc): New variable.
(glibc-final): Inherit from GLIBC-FINAL-WITH-BOOTSTRAP-BASH, and use
STATIC-BASH-FOR-GLIBC as the "static-bash" input.
2013-01-01 23:55:40 +01:00
Ludovic Courtès
8cd8e97cb5
distro: glibc: Fix contradicting settings of `BASH_SHELL'.
...
* distro/packages/base.scm (glibc-final): Remove `ac_cv_path_BASH_SHELL'
setting.
(glibc): Set `BASH_SHELL' instead of `ac_cv_path_BASH_SHELL'.
2013-01-01 23:50:52 +01:00
Ludovic Courtès
93b0357575
utils: Use binary I/O primitives for `remove-store-references'.
...
* guix/build/utils.scm (fold-port-matches)[get-char]: New procedure.
(remove-store-references): Use `put-u8' and `put-bytevector'.
2013-01-01 23:12:34 +01:00
Ludovic Courtès
4d058c6792
build-system/gnu: Add `static-package'.
...
* distro/packages/make-bootstrap.scm (static-package): Move to...
* guix/build-system/gnu.scm (static-package): ... here. New procedure.
2013-01-01 16:55:34 +01:00
Ludovic Courtès
450fb5a6b4
distro: Move lightweight Bash to (distro packages bash).
...
* distro/packages/make-bootstrap.scm (%bash-static): Move BASH-LIGHT to...
* distro/packages/bash.scm (bash-light): ... here. New variable.
2013-01-01 16:54:45 +01:00
Ludovic Courtès
b2adb3ae04
build-system/gnu: Add support for the "bin" output.
...
* guix/build/gnu-build-system.scm (configure): Add support for "bin"
output.
2013-01-01 16:52:27 +01:00
Ludovic Courtès
03fa275801
build: Avoid error message during make clean' when test-tmp' doesn't exist.
...
* daemon.am (clean-local): Check whether $(GUIX_TEST_ROOT) exists before
running `find'.
2012-12-31 13:19:29 +01:00
Ludovic Courtès
bc5bf85fa2
utils: Restore the mtime/atime of patched files.
...
* guix/build/utils.scm (set-file-time): New procedure.
(patch-shebang): New `keep-mtime?' parameter; call `set-file-time'
when it's true.
(patch-makefile-SHELL): Likewise.
2012-12-31 01:17:43 +01:00
Ludovic Courtès
f678f6d913
distro: bzip2: Patch SHELL' in Makefile-libbz2_so'.
...
* distro/packages/compression.scm (bzip2): Call `patch-makefile-SHELL'
in BUILD-SHARED-LIB.
2012-12-31 01:13:04 +01:00
Ludovic Courtès
98ea038b47
distro: libc: Update to 2.17.
...
* distro/packages/base.scm (glibc): Update to 2.17.
2012-12-31 01:12:09 +01:00
Andreas Enge
6253961de2
build-system/gnu: enable test-target during the check phase
...
* guix/build-system/gnu.scm: add variable test-target
2012-12-30 22:37:28 +01:00
Andreas Enge
3aa6fab83b
distro: Add Libntlm, GNU GSS and GNU SASL.
...
* distro/packages/gsasl.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-30 17:25:37 +01:00
Andreas Enge
2aaa45b03c
distro: automake: Update to 1.12.6.
...
* distro/packages/autotools.scm (automake): Update to 1.12.6.
2012-12-30 17:07:14 +01:00
Andreas Enge
2ee8edc450
distro: Add GNU Libidn.
...
* distro/packages/libidn.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-30 17:00:59 +01:00
Andreas Enge
a2745393d2
distro: Update libtasn1 and gnutls.
...
* distro/packages/gnutls.scm: Update libtasn1 and gnutls.
2012-12-30 16:34:07 +01:00
Ludovic Courtès
380d5decfc
distro: attr: Fix references to /bin/sh.
...
* distro/packages/attr.scm (attr): Add `patch-makefile-SHELL'. Patch
`test/run' in `check' phase.
2012-12-21 23:52:48 +01:00
Ludovic Courtès
5a8fd06d01
distro: Add GNU idutils.
...
* distro/packages/idutils.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-21 22:50:44 +01:00
Andreas Enge
c8911fa395
distro: Add rsync.
...
* distro/packages/rsync.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-21 22:39:05 +01:00
Ludovic Courtès
c089511288
build-system/gnu: Patch shebangs in all the source; patch SHELL in makefiles.
...
* guix/build/utils.scm (call-with-ascii-input-file): New procedure.
(patch-shebang): Use it.
(patch-makefile-SHELL): New procedure.
* guix/build/gnu-build-system.scm (patch-source-shebangs): Patch all the
files, not just executables; remove `po/Makefile.in.in' patching.
(patch-generated-files): Rename to...
(patch-generated-file-shebangs): ... this. Patch executables and
makefiles.
(%standard-phases): Adjust accordingly.
* distro/packages/autotools.scm (libtool): Remove call to `patch-shebang'.
* distro/packages/base.scm (gcc-4.7): Likewise.
(guile-final): Remove hack to skip `test-command-line-encoding2'.
* distro/packages/bash.scm (bash): Remove `pre-configure-phase'.
* distro/packages/readline.scm (readline): Likewise.
* distro/packages/ncurses.scm (ncurses): Remove `pre-install-phase'.
2012-12-21 22:31:25 +01:00
Ludovic Courtès
8722e80e82
distro: coreutils: Update to 8.20.
...
* distro/packages/base.scm (coreutils): Update to 8.20.
2012-12-21 17:59:23 +01:00
Ludovic Courtès
8ffaa93bff
distro: guile: Patch (ice-9 popen) to use the right shell.
...
* distro/packages/guile.scm (guile-2.0): Add `pre-configure'.
* distro/packages/base.scm (guile-final): Adjust to preserve the
`pre-configure' phase.
2012-12-20 23:07:46 +01:00
Ludovic Courtès
eca63d3df8
build-system/gnu: Patch shebangs after `configure'.
...
* guix/build/gnu-build-system.scm (patch-generated-files): New
procedure.
(%standard-phases): Add it after `configure'.
2012-12-20 23:06:34 +01:00
Ludovic Courtès
4c377e861b
build-system/gnu: Report the execution time of each phase.
...
* guix/build/gnu-build-system.scm (gnu-build): Report the success or
failure of each phase and its execution time.
2012-12-20 22:31:08 +01:00
Ludovic Courtès
f5b7894942
distro: m4: Patch references to /bin/sh.
...
* distro/packages/m4.scm (m4): Add `pre-check' phase.
2012-12-20 19:01:14 +01:00
Ludovic Courtès
42ff70e262
distro: libtool: Run test suite in parallel; patch references to /bin/sh.
...
* distro/packages/autotools.scm (libtool): Add `pre-check' phase.
2012-12-20 19:00:14 +01:00
Ludovic Courtès
530c169561
distro: bash, readline: Patch so that `make' uses the right shell.
...
* distro/packages/readline.scm (readline): Add `pre-configure-phase' to
patch `MAKE_SHELL' in `configure. Move `post-install-phase' body to
a variable.
* distro/packages/bash.scm (bash): Likewise.
2012-12-20 18:02:07 +01:00
Ludovic Courtès
c20313637f
distro: gawk: Use the right shell instead of /bin/sh.
...
* distro/packages/gawk.scm (gawk): Patch shell file name in io.c.
2012-12-20 17:59:10 +01:00
Andreas Enge
2ed139c42c
distro: Add mpfrcx and fplll.
...
* distro/packages/algebra.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-20 01:43:38 +01:00
Ludovic Courtès
8ccdbaa827
distro: Update guile-final' to not fail during patch-source-shebangs' phase.
...
* distro/packages/base.scm (guile-final): Add workaround on top of
GUILE-2.0/FIXED to avoid `patch-source-shebangs' failure on one of the
source files.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
49f5a21698
distro: ncurses: Patch references to /bin/sh.
...
* distro/packages/ncurses.scm (ncurses): Add `patch-makefile-phase' and
`pre-install-phase'.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
a18b4d085b
utils: Add a progress' parameter to dump-port'.
...
* guix/build/utils.scm (dump-port): Add a `progress' keyword parameter.
Call it after each transfer.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
0f09955213
distro: Update bootstrap binaries.
...
Use bootstrap binaries that were generated with the `make-bootstrap'
changes introduced in previous commit.
* Makefile.am (nodist_bootstrap_x86_64_linux_DATA,
nodist_bootstrap_i686_linux_DATA): Change Guile tarball name.
(distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): New targets.
(distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz,
distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
Remove.
* build-aux/download.scm (file-name->uri): Use "20121219" directory.
* distro/packages/bootstrap.scm (%bootstrap-guile): Update file name.
(%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc,
%bootstrap-gcc): Update directory name and hashes.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
5d4fd2671a
distro: make-bootstrap: Have libc's functions search for `sh' in $PATH.
...
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system,
%standard-inputs-with-relocatable-glibc): New variables.
(%static-inputs)[gawk]: Apply `gawk-shell.patch'.
[finalize]: New procedure.
Build all the packages against %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
(%glibc-stripped): Inherit from %GLIBC-WITH-RELOCATABLE-SYSTEM.
(%gcc-static, %guile-static): Build against
%STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
* distro/packages/patches/gawk-shell.patch,
distro/packages/patches/glibc-bootstrap-system.patch: New files.
* Makefile.am (dist_patch_DATA): Add them.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
6e32f6c019
distro: glibc: Add a statically-linked Bash to $out/bin.
...
* distro/packages/base.scm (glibc): Pass `ac_cv_path_BASH_SHELL' in the
configure flags. During the `pre-configure' phase, copy the
"static-bash" input to $out/bin, and change `system' and `popen' to
use it instead of /bin/sh. Add the "static-bash" input.
Suggested by Shea Levy <shea@shealevy.com > and
Lluís Batlle i Rossell <viric@viric.name >.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
d6f80f187c
distro: gcc: Patch to allow builds without /bin/sh.
...
* distro/packages/base.scm (gcc-4.7): In `pre-configure' phase, patch
shebang in `gcc/exec-tool.in'.
2012-12-20 01:38:56 +01:00
Ludovic Courtès
dfb53ee232
distro: ld-wrapper: Use the current Bash instead of /bin/sh.
...
* distro/packages/ld-wrapper.scm: Use @BASH@ in shebang. Change module
name to (gnu build-support ld-wrapper).
* distro/packages/base.scm (ld-wrapper-boot3): Substitute @BASH@.
(ld-wrapper): Use BASH-FINAL.
2012-12-20 01:38:54 +01:00
Ludovic Courtès
ea8fbbf2f2
distro: make: Change default shell from /bin/sh to the actual shell.
...
* distro/packages/base.scm (gnu-make): Add `set-default-shell' phase.
(gnu-make-boot0): Adjust phases accordingly.
2012-12-19 12:34:53 +01:00
Ludovic Courtès
c3ee7448c9
build-system/gnu: Change the order of patch-source-shebangs' and patch'.
...
* guix/build/gnu-build-system.scm (patch-source-shebangs): Add a newline
after the "SHELL =" line in po/Makefile.in.in.
(%standard-phases): Move `patch-source-shebangs' after `patch'.
2012-12-19 00:48:20 +01:00
Ludovic Courtès
45298f8fd2
distro: Linux-Libre: Set $ARCH based on the actual system type.
...
* distro/packages/linux.scm (linux-libre-headers): Set $ARCH based on
the `system' keyword argument.
2012-12-19 00:48:13 +01:00
Nikita Karetnikov
5d5c427839
distro: Add Usbutils.
...
* distro/packages/linux.scm (usbutils): New variable.
2012-12-18 23:04:09 +00:00
Nikita Karetnikov
3b48f78c85
distro: Add Libusb.
...
* distro/packages/libusb.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-18 22:44:18 +00:00
Ludovic Courtès
325285d581
distro: guile: Switch to 2.0.7.
...
* distro/packages/guile.scm (guile-2.0/fixed): Alias GUILE-2.0.
2012-12-18 22:16:21 +01:00
Nikita Karetnikov
d8989c2394
distro: Add Check.
...
* distro/packages/check.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-17 15:26:58 +00:00
Ludovic Courtès
c43e006164
download: Remove unreachable SourceForge mirror.
...
* guix/download.scm (%mirrors)[sourceforge]: Remove kent.dl.*, which is
unreachable.
2012-12-17 00:18:15 +01:00
Ludovic Courtès
3c738d6bd8
download: Correctly detect "No route to host" conditions.
...
* guix/build/download.scm (open-connection-for-uri): Delete addrinfos
with the same address. Always open SOCK_STREAM/IPPROTO_IP sockets.
Fix the error handler's condition to determine what to do.
Reported by Nikita Karetnikov <nikita.karetnikov@gmail.com > at
<http://lists.gnu.org/archive/html/bug-guix/2012-12/msg00150.html >.
2012-12-17 00:14:30 +01:00
Ludovic Courtès
868fce7c4a
daemon: Gracefully handle Nix errors.
...
* nix/nix-daemon/guix-daemon.cc (main): Run Nix code in an exception
handler; gracefully print error messages, and exit with EXIT_FAILURE.
2012-12-16 18:28:00 +01:00
Ludovic Courtès
e2332e8aa7
daemon: Warn against running as root without `--build-users-group'.
...
* nix/nix-daemon/guix-daemon.cc (main): Recommend using
`--build-users-group' when running as root without a build users
group.
2012-12-16 18:13:59 +01:00
Ludovic Courtès
72ce03739e
daemon: Add `--chroot-directory'.
...
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_CHROOT_DIR): New macro.
(options): Add `--chroot-directory'.
(parse_opt): Handle it.
2012-12-16 18:09:27 +01:00
Ludovic Courtès
d008415219
build-system/gnu: Patch shebangs in executable source files.
...
This allows many packages to build in a chroot that lacks /bin and
thus /bin/sh.
* guix/build/gnu-build-system.scm (patch-source-shebangs): New
procedure.
(%standard-phases): Add it.
* guix/build/utils.scm (executable-file?): New procedure.
* distro/packages/perl.scm (perl): Don't use /bin/sh to run `Configure'.
2012-12-15 16:35:26 +01:00
Ludovic Courtès
c1c94acf32
build-system/gnu: Make the error port line-buffered.
...
* guix/build/gnu-build-system.scm (gnu-build): Make the error port
line-buffered.
2012-12-15 16:01:52 +01:00
Ludovic Courtès
74baf333bf
utils: Make the buffer size of `dump-port' a parameter.
...
* guix/build/utils.scm (dump-port): Make `buffer-size' a keyword
parameter.
2012-12-15 15:54:29 +01:00
Ludovic Courtès
a784c3077e
Merge branch 'master' into core-updates
...
Conflicts:
distro/packages/multiprecision.scm
2012-12-15 15:28:50 +01:00
Ludovic Courtès
07ab4bf1fc
guix-build: Add `--verbosity'.
...
* guix-build.in (%default-options): Add `verbosity'.
(%options): Add `--verbosity'.
(guix-build): Pass it to `set-build-options'.
(show-help): Update accordingly.
* doc/guix.texi (Invoking guix-build): Document `--verbosity'.
2012-12-15 15:21:38 +01:00
Ludovic Courtès
da30f55582
daemon: Add `--debug' option.
...
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DEBUG): New macro.
(options): Add `--debug'.
(parse_opt): Set `verbosity' upon GUIX_OPT_DEBUG.
2012-12-15 00:06:09 +01:00
Ludovic Courtès
335dd762cc
daemon: Disable use of substitutes for now.
...
* nix/nix-daemon/guix-daemon.cc (main): Set `settings.useSubstitutes' to
false, and `settings.substituters' to the empty list.
2012-12-14 23:57:33 +01:00
Nikita Karetnikov
4a44e743a0
distro: Use (guix licenses) instead of strings.
...
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 23:37:24 +01:00
Andreas Enge
0d12bea306
build: Avoid brace expansion in `nix/sync-with-upstream'.
...
* nix/sync-with-upstream: Avoid brace expansion, for the sake of Dash.
2012-12-14 22:12:37 +01:00
Ludovic Courtès
e1b7096acd
daemon: Build `nix-setuid-helper'.
...
* daemon.am (libexec_PROGRAMS, nix_setuid_helper_SOURCES,
nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): New variables.
* test-env.in: Set and export `NIX_SETUID_HELPER'.
* README (Installing Guix as non-root): New section.
2012-12-14 18:15:37 +01:00
Ludovic Courtès
b3a53fb361
download: Work around (web client) bug < http://bugs.gnu.org/13095 >.
...
* guix/build/download.scm: Annihilate `shutdown' in (web client).
2012-12-14 18:07:10 +01:00
Ludovic Courtès
7f131cf368
distro: Fix incorrect "bash" input for gcc-boot0-wrapped.
...
* distro/packages/base.scm (gcc-boot0-wrapped): Fix incorrect "bash" input.
2012-12-14 18:04:27 +01:00
Ludovic Courtès
cdec10f936
release.nix: Remove trailing "/nix" from localstatedir.
...
* release.nix (tarball, build): Use /nix/var as localstatedir, as a
follow-up to 7f4f065 .
2012-12-14 10:44:22 +01:00
Ludovic Courtès
7f4f06513a
build: Fix default value of `%state-directory'.
...
* guix/config.scm.in (%state-directory): Append `/nix'.
Reported by Andreas Enge <andreas@enge.fr >.
2012-12-13 23:53:37 +01:00
Ludovic Courtès
e2a06ddc7a
build: Have `bootstrap' run all the necessary steps.
...
* bootstrap: Always run "git submodule init". Run
`nix/sync-with-upstream'.
Reported by Nikita Karetnikov and Andreas Enge.
2012-12-13 23:46:33 +01:00
Ludovic Courtès
9d1d434cd0
build-system/gnu: Avoid using /bin/sh.
...
* guix/build/gnu-build-system.scm (configure): Add `inputs' keyword
parameter. Take Bash from there, falling back to /bin/sh. Set
`CONFIG_SHELL' and `SHELL' to that Bash. Run "bash ./configure"
instead of just "./configure".
* distro/packages/bootstrap.scm (%bootstrap-inputs): Add "bash".
* distro/packages/base.scm (gcc-boot0-wrapped): Use "bash" from
%BOOT1-INPUTS instead of /bin/sh.
2012-12-13 23:38:32 +01:00
Ludovic Courtès
4aa52039a7
guix-package: Avoid use of the `guix' sub-directory for profiles.
...
* guix-package.in (%current-profile): Change to `guix-profile'.
2012-12-13 23:02:22 +01:00
Ludovic Courtès
6cb3ccf835
release.nix: tarball: Fix typo.
...
* release.nix (tarball): Replace "gnulib" by "nix".
2012-12-13 22:57:37 +01:00
Ludovic Courtès
a020d2a996
guix-package: Use directory names from (guix config).
...
* guix-package.in (%profile-directory): Use %STATE-DIRECTORY instead of
a hard-coded directory.
2012-12-13 22:57:36 +01:00
Ludovic Courtès
cb1427dd08
release.nix: tarball: Fix typo.
...
* release.nix (tarball): Replace "gnulib" by "nix".
2012-12-13 22:53:45 +01:00
Ludovic Courtès
53f974fd45
guix-package: Use directory names from (guix config).
...
* guix-package.in (%profile-directory): Use %STATE-DIRECTORY instead of
a hard-coded directory.
2012-12-13 22:53:05 +01:00
Andreas Enge
8e1cd71376
distro: mpc: Update to 1.0.1.
...
* distro/packages/multiprecision.scm (mpc): Update to 1.0.1.
2012-12-13 22:28:46 +01:00
Ludovic Courtès
d7e2841b9d
distro: lout: Comment out dependency on Ghostscript.
...
* distro/packages/lout.scm (lout): Temporarily comment out dependency on
Ghostscript as this was causing evaluation errors on Hydra.
2012-12-13 22:28:34 +01:00
Ludovic Courtès
1e9824513c
Merge branch 'nix-integration'
...
Conflicts:
tests/guix-package.sh
2012-12-13 22:14:25 +01:00
Ludovic Courtès
b35c0f866c
release.nix: Add `build_disable_daemon'.
...
* release.nix (build_disable_daemon): New job.
2012-12-13 22:08:33 +01:00
Ludovic Courtès
6a95fa501f
release.nix: build: Allow builds within a chroot.
...
* release.nix (build): Remove `__noChroot' and `preConfigure'.
2012-12-13 22:08:13 +01:00
Ludovic Courtès
ad1ebab379
tests: Skip network-dependent tests when the network is unreachable.
...
* tests/builders.scm (network-reachable?): New variable.
("url-fetch", "gnu-build"): Skip unless NETWORK-REACHABLE?.
* tests/derivations.scm (%coreutils): Check for network access.
("build-expression->derivation with one input"): Skip when %COREUTILS
is #f.
* tests/guix-package.sh: Skip installation of GNU Make when the network
is unreachable.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/union.scm ("union-build"): Likewise.
2012-12-13 22:06:45 +01:00
Ludovic Courtès
5fb868033f
release.nix: Build the daemon.
...
* release.nix (tarball): Add `preAutoconf'. Augment `buildInputs' and
`configureFlags' to allow daemon builds.
(build): Likewise.
2012-12-13 00:28:51 +01:00
Ludovic Courtès
c9b70836d0
build: Make `--enable-daemon' the default.
...
* configure.ac: Have $guix_build_daemon default to "yes".
2012-12-13 00:27:27 +01:00
Ludovic Courtès
3a61f8017a
build: When `--enable-daemon', don't error out when Nix programs are missing.
...
* config-daemon.ac: Move AC_ARG_ENABLE([daemon]...)...
* configure.ac: ... here.
When Nix programs are not found, error out only when
$guix_build_daemon is no.
2012-12-13 00:26:41 +01:00
Ludovic Courtès
8a9451c89e
tests: Arrange to have the socket file name fit in `sun_path'.
...
* test-env.in (NIX_STATE_DIR): Choose a slightly smaller directory name.
2012-12-13 00:24:27 +01:00
Ludovic Courtès
fdb50f8d8a
tests: base32: Work around `system*' bug.
...
* tests/base32.scm (%nix-hash): When `getenv' returns the empty string,
ignore it.
(%have-nix-hash?): New variable. Update `test-skip' clause to use it.
2012-12-13 00:23:20 +01:00
Ludovic Courtès
a9128eac41
daemon: Use `openssl' from $PATH.
...
* daemon.am (-DOPENSSL_PATH): Default to "openssl".
* TODO: Mention removal of OpenSSL dependency.
2012-12-12 15:32:35 +01:00
Ludovic Courtès
70915c1a2e
guix-package: Add `--verbose'; silence the environment's build by default.
...
* guix-package.in (%options): Add `--verbose'.
(show-help): Update accordingly.
(guix-package): Parameterize `current-build-output-port' according to
VERBOSE?. By default, silence the environment build's output.
2012-12-12 14:59:16 +01:00
Ludovic Courtès
ba55b1cb69
doc: Fix typos.
...
* doc/guix.texi: Fix typos. Reported by Andreas Enge <andreas@enge.fr >.
2012-12-12 14:46:43 +01:00
Nikita Karetnikov
f15b31c562
licenses: Add 'bsd-style', 'expat', 'gpl1', 'gpl1+', 'lgpl2.0', and 'lgpl2.0+'.
...
* guix/licenses.scm (bsd-style, expat, gpl1, gpl1+)
(lgpl2.0, lgpl2.0+): New variables.
2012-12-12 14:40:11 +01:00
Ludovic Courtès
7a6548cbae
tests: Remove `t-profile' files on exit.
...
* tests/guix-package.sh: Use a trap on EXIT to remove profile-related
files. Reported by Andreas Enge <andreas@enge.fr >.
2012-12-12 00:10:32 +01:00
Ludovic Courtès
1c67d639d5
guix-package: Gracefully handle multiple installs of the same path.
...
* guix-package.in (guix-package)[process-actions]: Compute PACKAGES such
that packages listed in INSTALL* are first removed from the remainder
of the list. When PROF is equal to the previous profile's store path,
do nothing. Reported by Andreas Enge <andreas@enge.fr >.
* tests/guix-package.sh: Test the behavior of installing the same store
path twice. When removing a package, omit its version number.
2012-12-12 00:01:17 +01:00
Ludovic Courtès
a09ec3a5af
Have `%nixpkgs-directory' default to #f when $NIXPKGS is the empty string.
...
* guix/utils.scm (%nixpkgs-directory): Set to #f when the `NIXPKGS'
environment variable is set but empty. Reported by
Andreas Enge <andreas@enge.fr >.
2012-12-10 22:53:28 +01:00
Ludovic Courtès
836676450d
distro: lout: Delay use of of `nixpkgs-derivation'.
...
* distro/packages/lout.scm (lout): Don't fork with `nixpkgs-derivation',
to avoid any issues in the absence of `nix-instantiate'.
2012-12-10 14:35:03 +01:00
Ludovic Courtès
200dc93761
derivations: Distinguish direct store paths from files within a store path.
...
* guix/derivations.scm (derivation)[direct-store-path?]: New procedure.
Use it to determine which inputs must be added to the store.
2012-12-10 00:44:17 +01:00
Ludovic Courtès
4d152bf1d9
Merge branch 'master' into nix-integration
...
Conflicts:
guix/store.scm
2012-12-09 23:54:37 +01:00
Ludovic Courtès
3259877d35
store: Add GC-related operations.
...
* guix/store.scm (gc-action): New enumerate type.
(read-long-long, read-string-list, write-store-path,
write-store-path-list, read-store-path-list): New procedures.
(write-arg): Add support for `store-path' and `store-path-list'.
(read-arg): Add support for `store-path-list'.
(define-operation): Add support for multiple-value returns.
(run-gc, live-paths, dead-paths, collect-garbage, delete-paths): New
procedures.
(%long-long-max): New macro.
* tests/store.scm: New file.
* Makefile.am (TESTS): Add it.
2012-12-09 23:52:59 +01:00
Ludovic Courtès
d3648e0118
store: Add `add-temp-root'.
...
* guix/store.scm (add-temp-root): New procedure.
2012-12-09 23:50:17 +01:00
Ludovic Courtès
2af7e4a373
Update `THANKS'.
2012-12-09 23:35:15 +01:00
Ludovic Courtès
51c8d7909d
doc: Correct short name of --install' option of guix-package'.
...
* doc/guix.texi (Invoking guix-package): Fix short form of `--install'.
Reported by Andreas Enge <andreas@enge.fr >.
2012-12-09 23:35:03 +01:00
Ludovic Courtès
4ce823c424
daemon: Update to Nix 1.2-1-ge087bfe.
2012-12-09 14:54:01 +01:00
Ludovic Courtès
2d34fa4902
Update `TODO'.
2012-12-09 14:44:17 +01:00
Ludovic Courtès
09c95deb1e
Change email address in `AUTHORS'.
2012-12-09 14:42:30 +01:00
Ludovic Courtès
a0f16bb663
Update `AUTHORS'.
2012-12-08 19:21:47 +01:00
Nikita Karetnikov
838d78e3e0
Add (guix licenses).
...
* guix/licenses.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-08 19:17:02 +01:00
Ludovic Courtès
a4eabecd11
download: Fix the primary Savannah URL.
...
* guix/download.scm (%mirrors)[savannah]: Use
"http://download.savannah.gnu.org/releases/ " as the primary URL.
2012-12-07 22:32:03 +01:00
Nikita Karetnikov
6ad2697d23
distro: Add ACL.
...
* distro/packages/acl.scm: New file. Dependency on Perl added by
Ludovic.
* Makefile.am (MODULES): Add it.
2012-12-07 22:32:00 +01:00
Nikita Karetnikov
3d282f90f8
distro: Add Attr.
...
* distro/packages/attr.scm: New file. Dependency on Perl and
`patch-shebang' added by Ludovic.
* Makefile.am (MODULES): Add it.
2012-12-07 22:30:32 +01:00
Ludovic Courtès
e9f6d6dd45
doc: Add new dependencies in `README'.
...
* README (Hacking): Rename to...
(Requirements): ... this. Add the daemon's dependencies.
2012-12-06 22:54:10 +01:00
Ludovic Courtès
5c403e3518
daemon: Add more options.
...
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_BUILD_USERS_GROUP,
GUIX_OPT_CACHE_FAILURES, GUIX_OPT_LOSE_LOGS,
GUIX_OPT_DISABLE_STORE_OPTIMIZATION, GUIX_OPT_IMPERSONATE_LINUX_26):
New macros.
(options)["build-users-group", "cache-failures", "lose-logs",
"disable-store-optimization", "impersonate-linux-2.6"]: New options.
(parse_opt): Handle them.
2012-12-06 22:21:45 +01:00
Ludovic Courtès
29833b26eb
build: Update skip count in `tests/derivations.scm'.
...
* tests/derivations.scm: When %STORE if #f, skip 11 tests.
2012-12-06 00:07:17 +01:00
Ludovic Courtès
aca54b395e
build: Run distcheck' with --enable-daemon'.
...
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Add `--enable-daemon'.
2012-12-06 00:07:17 +01:00
Ludovic Courtès
351782e2f1
build: Add missing daemon header to the distribution.
...
* daemon.am (guix_daemon_headers): New variable.
(noinst_HEADERS): Add it.
2012-12-06 00:07:17 +01:00
Ludovic Courtès
d8eea3d2bc
build: Capture configure-time settings in (guix config).
...
* configure.ac: Compute and substitute `guix_localstatedir'.
* m4/guix.m4: Substitute `guix_system'.
* guix/config.scm.in (%store-directory, %store-directory, %system): New
variables.
* guix/store.scm (%nix-state-dir): Remove.
(%default-socket-path): Use %STATE-DIRECTORY as the default.
(%store-prefix): Use %STORE-DIRECTORY as the default.
* guix/utils.scm (%current-system): Default to %SYSTEM.
2012-12-06 00:07:17 +01:00
Ludovic Courtès
69cfce50db
build: Run all the tests against the just-built daemon.
...
* test-env.in: New file.
* configure.ac: Add it to `AC_CONFIG_FILES' and `commands-exec'.
* config-daemon.ac: Set and substitute `GUIX_TEST_ROOT'.
* Makefile.am (SCM_LOG_COMPILER, SH_LOG_COMPILER): Use it in lieu of
`pre-inst-env'.
* daemon.am (test_root): Remove
(AM_TESTS_ENVIRONMENT): Remove `TEST_ROOT'.
(clean-local): Use $(GUIX_TEST_ROOT); make files writable before
removing them.guix_test_root
* tests/guix-daemon.sh: Remove `NIX_' variable settings; don't launch
`guix-daemon'.
2012-12-06 00:07:08 +01:00
Ludovic Courtès
b980f0f9fd
tests: Remove hard-coded /nix/store.
...
* tests/utils.scm ("store-path-package-name"): Use (%store-prefix)
instead of a hard-coded "/nix/store".
2012-12-05 22:42:11 +01:00
Ludovic Courtès
f5c82e15e0
daemon: Add `list-runtime-roots' script.
...
* nix/scripts/list-runtime-roots.in: New file.
* config-daemon.ac: Add `AC_CONFIG_FILES' invocation for it.
* daemon.am (nodist_pkglibexec_SCRIPTS): New variable.
(AM_TESTS_ENVIRONMENT): Define `top_builddir'.
* tests/guix-daemon.sh: Export `NIX_ROOT_FINDER'.
* nix/sync-with-upstream: Substitute the path to the root finder in
libstore/gc.cc.
2012-12-05 16:29:28 +01:00
Ludovic Courtès
8b15ac6700
daemon: Disable use of chroots when support is lacking.
...
* nix/nix-daemon/guix-daemon.cc (options)[!HAVE_CHROOT]: Mention that
`--disable-chroot' has no effect.
(main)[!HAVE_CHROOT]: Set `useChroot' to false.
2012-12-05 15:22:28 +01:00
Nikita Karetnikov
22189ed117
Add (guix gnu-maintenance).
...
* guix/gnu-maintenance.scm: New file.
* Makefile.am (MODULES): Add it.
2012-12-05 14:56:25 +01:00
Ludovic Courtès
d23077dc5c
daemon: Add test.
...
* daemon.am (test_root, AM_TESTS_ENVIRONMENT): New variables.
(clean-local): New target.
* tests/guix-daemon.sh: New file.
2012-12-04 23:51:48 +01:00
Ludovic Courtès
2606bbcf91
build: daemon: Add missing feature tests.
...
* config-daemon.ac: Add feature tests needed for the daemon code. Taken
from Nix's `configure.ac'.
2012-12-04 23:51:48 +01:00
Ludovic Courtès
ca8dbb7d4e
build: daemon: Remove extraneous quotes in CPP macro `SYSTEM'.
...
* config-daemon.ac: Remove extraneous quotes in definition of `SYSTEM'.
2012-12-04 23:51:48 +01:00
Ludovic Courtès
0adb527600
daemon: Fix typo in libgcrypt bindings.
...
* nix/libutil/md5.h (MD5_Final): Pass RESBUF as the first argument to
`guix_hash_final'.
* nix/libutil/sha1.h (SHA1_Final): Likewise.
* nix/libutil/sha256.h (SHA256_Final): Likewise.
2012-12-04 23:51:48 +01:00
Ludovic Courtès
5f25049e9c
Merge branch 'master' into nix-integration
2012-12-04 23:51:31 +01:00
Ludovic Courtès
c7bdb1b9d1
guix-build: Don't connect to the daemon when run with --version' or --help'.
...
* guix-build.in (%store): Turn into a SRFI-39 parameter. Update users.
(guix-build): Set %STORE and call `open-connection' only after
`parse-options' has been called.
2012-12-04 23:50:20 +01:00
Ludovic Courtès
cd3ded4301
store: Honor $NIX_STORE_DIR and $NIX_STATE_DIR.
...
* guix/store.scm (%nix-state-dir): Honor $NIX_STATE_DIR.
(%store-prefix): Honor $NIX_STORE_DIR.
2012-12-04 23:48:21 +01:00
Ludovic Courtès
860a6f1ae0
derivations: Fix erroneous call to `add-to-store' for local files as input.
...
* guix/derivations.scm (derivation)[inputs]: Fix typo in call to
`add-to-store'.
* tests/derivations.scm ("derivation with local file as input"): New test.
* tests/packages.scm ("trivial with local file as input"): New test.
2012-12-04 23:46:50 +01:00
Ludovic Courtès
3036a01ff7
Augment `TODO'.
2012-12-04 22:04:03 +01:00
Ludovic Courtès
18d50d7621
distro: Add GNU lsh.
...
* distro/packages/lsh.scm,
distro/packages/patches/lsh-guile-compat.patch:
distro/packages/patches/lsh-no-root-login.patch:
distro/packages/patches/lsh-pam-service-name.patch: New files.
* Makefile.am (MODULES): Add lsh.scm.
(dist_patch_DATA): Add the above patches.
2012-12-04 22:03:21 +01:00
Nikita Karetnikov
02b80c3f65
distro: Add util-linux.
...
* distro/packages/linux.scm (util-linux): New variable.
2012-12-04 17:46:56 +01:00
Ludovic Courtès
686f14e8a4
distro: Add psmisc.
...
* distro/packages/linux.scm (psmisc): New variable.
2012-12-04 00:17:49 +01:00
Ludovic Courtès
b49ffe2d67
build: Add bootstrap' and sync-with-upstream' scripts.
...
* bootstrap, nix/sync-with-upstream: New files.
* Makefile.am (EXTRA_DIST): Add `bootstrap'.
* daemon.am (EXTRA_DIST): Add `nix/sync-with-upstream'.
2012-12-03 23:05:11 +01:00
Ludovic Courtès
e05385192c
build: Add Nix as a sub-module.
...
* .gitmodules, nix-upstream: New files.
2012-12-03 23:05:11 +01:00
Ludovic Courtès
c2033df432
build: Include a copy of Nix's libstore and daemon; build it.
...
* configure.ac: Call `AC_USE_SYSTEM_EXTENSIONS', and
`GUIX_SYSTEM_TYPE'. Add `--with-store-dir' option, and substitute
`storedir'. Include `config-daemon.ac'.
* config-daemon.ac: New file.
* Makefile.am [BUILD_DAEMON]: Include `daemon.am'.
* daemon.am: New file.
* m4/guix.m4 (GUIX_SYSTEM_TYPE): New macro.
* nix/libutil/gcrypt-hash.cc, nix/libutil/gcrypt-hash.hh,
nix/libutil/md5.h, nix/libutil/sha1.h, nix/libutil/sha256.h,
nix/nix-daemon/guix-daemon.cc, nix/nix-daemon/shared.hh: New files.
2012-12-03 23:05:08 +01:00
Ludovic Courtès
7eba5e6361
distro: make-bootstrap: Use `linux' module.
...
* distro/packages/make-bootstrap.scm: Use (distro packages linux). This
is a followup to 80fe5c6 .
2012-12-02 22:32:09 +01:00
Ludovic Courtès
967305e88b
distro: gnutls: Build sequentially.
...
* distro/packages/gnutls.scm (gnutls)[arguments]: New field.
2012-12-01 00:59:08 +01:00
Ludovic Courtès
3af4e05304
distro: guile-2.0: Update to 2.0.7.
...
* distro/packages/guile.scm (guile-2.0): Switch to 2.0.7.
(guile-2.0/fixed): Stay at 2.0.6.
2012-11-30 22:01:47 +01:00
Ludovic Courtès
fa29b19988
distro: Add `guile-2.0/fixed', which should rarely change.
...
* distro/packages/guile.scm (guile-2.0/fixed): New variable.
* distro/packages/base.scm (guile-final): Use it.
2012-11-30 21:37:41 +01:00
Nikita Karetnikov
6b345e06cd
distro: Import 'gettext' under a different name.
...
* distro/packages/nano.scm, distro/packages/wget.scm: Import 'gettext'
from (distro packages gettext) under 'guix:gettext'.
2012-11-28 00:27:44 +01:00
Ludovic Courtès
80fe5c6046
distro: linux-libre-headers: Move to (distro packages linux).
...
* distro/packages/base.scm (linux-libre-headers): Move to...
* distro/packages/linux.scm (linux-libre-headers): ... here.
2012-11-27 22:04:57 +01:00
Ludovic Courtès
fd76c904c7
distro: Add Linux-PAM.
...
* distro/packages/linux.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-27 21:56:37 +01:00
Ludovic Courtès
b40b259f12
download: Add kernel.org mirrors.
...
* guix/download.scm (%mirrors): Add `kernel.org' mirrors.
2012-11-27 21:55:53 +01:00
Ludovic Courtès
480943dd46
download: Keep only one slash when concatenating URIs.
...
* guix/build/download.scm (url-fetch)[uri-vicinity]: New procedure.
[maybe-expand-mirrors]: Use it.
2012-11-27 21:33:54 +01:00
Ludovic Courtès
5321f74f23
distro: flex: Fix module name.
...
* distro/packages/flex.scm: Change the module name to (distro packages
flex).
2012-11-27 21:33:00 +01:00
Nikita Karetnikov
501b16750a
distro: Add GNU Cpio.
...
* distro/packages/cpio.scm,
distro/packages/patches/cpio-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add 'cpio.scm'.
(dist_patch_DATA): Add 'cpio-gets-undeclared.patch'.
2012-11-25 22:45:55 +01:00
Nikita Karetnikov
b147f59f41
distro: Add GNU Time.
...
* distro/packages/time.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 22:42:34 +01:00
Nikita Karetnikov
6e6979c6f1
distro: Add GNU Which.
...
* distro/packages/which.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 22:41:38 +01:00
Ludovic Courtès
bdd7eb270d
build: Have `hydra.scm' return one job per package.
...
* hydra.scm (hydra-jobs): Return one job for each non-bootstrap package.
2012-11-25 17:12:46 +01:00
Ludovic Courtès
52bda18abf
packages: Add missing export.
...
* guix/packages.scm: Export `package-home-page'.
2012-11-25 16:55:35 +01:00
Ludovic Courtès
0b3651bc93
distro: Search bootstrap binaries and patches in %LOAD-PATH.
...
* Makefile.am (patchdir, bootstrapdir): Change to be sub-directories of
$(guilemoduledir).
(.scm.go): Remove `DISTRO_' environment variables.
* distro.scm (not-colon): Remove.
(%patch-path, %bootstrap-binaries-path): Default to sub-directories of
the entries in %LOAD-PATH.
* pre-inst-env.in: Remove definition of `DISTRO_' environment variables.
2012-11-25 16:28:52 +01:00
Nikita Karetnikov
fe7777c14b
distro: Add GNU Less.
...
* distro/packages/less.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 16:08:10 +01:00
Nikita Karetnikov
7f40d97d88
distro: Add GNU Nano.
...
* distro/packages/nano.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-25 16:08:10 +01:00
Ludovic Courtès
c80e7e55b3
doc: Mention the pronunciation of "Guix".
...
* README: Mention pronunciation of "Guix".
* doc/guix.texi (Introduction): Likewise.
2012-11-25 16:08:10 +01:00
Nikita Karetnikov
da7b042dd9
distro: Add GNU Wget.
...
* distro/packages/wget.scm: New file; patch-shebang phase added by
Ludovic Courtès.
* Makefile.am (MODULES): Add it.
2012-11-25 16:08:06 +01:00
Nikita Karetnikov
034cb8e781
distro: Add GNU Ddrescue.
...
* distro/packages/ddrescue.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-24 16:14:39 +01:00
Ludovic Courtès
a65e3306d1
doc: Update `README'.
...
* README: Update introductory summary. Point to Savannah instead of
Gitorious. Mention <bug-guix@gnu.org >.
(Guix & Nix): New section.
2012-11-24 15:20:05 +01:00
Nikita Karetnikov
f190f92f91
distro: Add GNU Gettext.
...
* distro/packages/gettext.scm,
distro/packages/patches/gettext-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add 'gettext.scm'.
(dist_patch_DATA): Add 'gettext-gets-undeclared.patch'.
2012-11-24 00:52:16 +01:00
Ludovic Courtès
ec5288609b
build: Change bug-report address; add URL.
...
* configure.ac: Change bug-report address in `AC_INIT'; add URL.
2012-11-24 00:36:36 +01:00
Nikita Karetnikov
5b2fd61868
distro: Add GNU Shishi.
...
* distro/packages/shishi.scm,
distro/packages/patches/shishi-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add 'shishi.scm'.
(dist_patch_DATA): Add 'shishi-gets-undeclared.patch'.
2012-11-24 00:35:33 +01:00
Nikita Karetnikov
36d4d49e69
distro: Move (distro packages libtool) to (distro packages autotools).
...
* distro/packages/autotools.scm (libtool): Add it.
* distro/packages/libtool.scm: Remove it.
* distro/packages/guile.scm (distro packages guile): Adjust accordingly.
* Makefile.am (MODULES): Adjust accordingly.
2012-11-22 22:37:20 +01:00
Nikita Karetnikov
80ffc7082c
distro: Add GNU Autoconf and GNU Automake.
...
* distro/packages/autotools.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-22 22:30:50 +01:00
Ludovic Courtès
e2b2c46693
distro: Add Flex.
...
* distro/packages/flex.scm,
distro/packages/patches/flex-bison-tests.patch: New files.
* Makefile.am (MODULES): Add `flex.scm'.
(dist_patch_DATA): Add `flex-bison-tests.patch'.
2012-11-22 18:22:48 +01:00
Ludovic Courtès
cf153fc472
distro: Add GNU Bison.
...
* distro/packages/bison.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-22 17:57:37 +01:00
Ludovic Courtès
30c40755fc
distro: Add GDBM.
...
* distro/packages/gdbm.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-22 17:56:35 +01:00
Nikita Karetnikov
0aa94f0ca4
distro: Add GNU Ed.
...
* distro/packages/ed.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-21 17:02:17 +01:00
Ludovic Courtès
3dc1970dda
doc: Document basic package definitions.
...
* doc/guix.texi (Programming Interface): Add introduction.
(Defining Packages): Populate.
2012-11-21 15:56:43 +01:00
Ludovic Courtès
dce3a40bae
build: Fix `hydra.scm' recipe.
...
* hydra.scm: Redirect the output port to the error port.
(package-job): Return a name/thunk pair.
(hydra-jobs)[system]: Use either the `system' key (a symbol) in
ARGUMENTS, or (%current-system)'.
2012-11-21 00:57:47 +01:00
Ludovic Courtès
5075e28305
guix-package: Extract version strings when installing a direct store path.
...
* guix-package.in (guix-package)[process-actions]: Extract the version
string from store paths.
* tests/guix-package.sh: Adjust accordingly.
2012-11-19 23:53:32 +01:00
Ludovic Courtès
ef1ee6b221
guix-build: Use `location->string'.
...
* guix-build.in (derivations-from-package-expressions): Use
`location->string'.
2012-11-19 23:41:17 +01:00
Ludovic Courtès
d9d0536340
guix-package: Record the correct version string in manifests.
...
* guix-package.in (guix-package)[find-package]: Return (package-version p),
not VERSION.
2012-11-19 23:21:54 +01:00
Ludovic Courtès
64fc89b6ec
guix-package: Add `--list-available'.
...
* guix-package.in (show-help, %options): Add `--list-available'.
(guix-package)[process-query]: Add support for `--list-available'.
* doc/guix.texi (Invoking guix-package): Document it.
* tests/guix-package.sh: Add test.
* guix/ui.scm (location->string): New procedure.
* guix/utils.scm: Export <location>.
2012-11-19 23:04:38 +01:00
Ludovic Courtès
ba326ce41b
distro: Add `fold-packages'.
...
* distro.scm (fold-packages): New procedure.
(find-packages-by-name): Use it instead of hand-written traversal;
remove `package?' checks from `right-package?'.
* tests/packages.scm ("fold-packages"): New test.
2012-11-19 23:04:38 +01:00
Ludovic Courtès
733b4130d7
guix-package: Add `--list-installed'.
...
* guix-package.in (show-help, %options): Add `--list-installed'.
(guix-package): Move main body to...
[process-actions]: ... here. New internal procedure.
[process-query]: New procedure.
* tests/guix-package.sh: Add tests for `--list-installed'.
* doc/guix.texi (Invoking guix-package): Document it.
2012-11-19 23:04:35 +01:00
Ludovic Courtès
c6f09dfade
guix-package: Fix typo.
...
* guix-package.in (guix-package)[find-package]: Don't use `_' as the
wildcard, to avoid collision with `gettext'.
2012-11-19 22:19:26 +01:00
Ludovic Courtès
fb9821f023
distro: Add GNU Zile.
...
* distro/packages/zile.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-19 21:46:31 +01:00
Ludovic Courtès
cc8e5e25b4
distro: Add GNU help2man.
...
* distro/packages/help2man.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-19 21:42:11 +01:00
Ludovic Courtès
1df895b00b
distro: Add GNU Pies and GNU Inetutils.
...
* distro/packages/system.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-18 18:42:29 +01:00
Ludovic Courtès
8c0e5b1e87
build: Add `hydra.scm'.
...
* hydra.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2012-11-18 18:35:26 +01:00
Ludovic Courtès
b6dd891c1c
doc: Add `ROADMAP'.
...
* ROADMAP: New file.
* Makefile.am (EXTRA_DIST): Add it.
2012-11-18 17:56:02 +01:00
Ludovic Courtès
6b8875c838
doc: Add `TODO'.
...
* TODO: New file.
* Makefile.am (EXTRA_DIST): Add it.
2012-11-18 17:45:48 +01:00
Ludovic Courtès
d38487e9ca
doc: Add a "Related software" section to `README'.
...
* README (Related software): New section.
2012-11-18 15:25:01 +01:00
Ludovic Courtès
f8348b91ad
Turn Guix into "GNU Guix".
...
* configure.ac: Change package name to "GNU Guix", and bug-report
address to `gnu-system-discuss@gnu.org '.
* doc/guix.texi: Replace "Guix" by "GNU Guix" in some places.
(Top, Introduction): Mention "for the GNU system".
* HACKING, README: Use "GNU Guix" instead of "Guix" in some places.
2012-11-18 15:22:00 +01:00
Ludovic Courtès
68c141f144
distro: Rebuild bootstrap Binutils and GCC.
...
These new binaries are built with the `--with-lib-path' and
`--with-local-prefix' flags, respectively, as introduced in commit
01d4540 .
* distro/packages/bootstrap.scm (%bootstrap-coreutils&co,
%bootstrap-glibc): Update URL.
(%bootstrap-binutils, %bootstrap-gcc): Update URL and hashes.
* build-aux/download.scm (file-name->uri): Update URL.
2012-11-16 00:26:34 +01:00
Ludovic Courtès
01d45404f6
distro: Configure ld and GCC to not look under /usr & co.
...
This fixes impurities with non-chroot builds on LFS-style distros.
* distro/packages/base.scm (binutils): Pass `--with-lib-path'.
(gcc-4.7): Pass `--with-local-prefix'.
* distro/packages/make-bootstrap.scm (%binutils-static): Pass
`--with-lib-path'.
2012-11-16 00:23:06 +01:00
Ludovic Courtès
ec4d308a9e
guix-download: Use code from (guix build download).
...
* guix-download.in (http-fetch, ftp-fetch): Remove.
(fetch-and-store): Replace `uri' parameter with `name', for the output
file name. Redirect the output of `fetch' to the error port.
(guix-download): Call `url-fetch' for all URI schemes except `file'.
Handle PATH equal to #f.
* guix/download.scm: Export `%mirrors'.
* tests/guix-download.sh: Change erroneous URL, because URLs at
example.com are all valid redirections.
2012-11-13 23:04:21 +01:00
Ludovic Courtès
352ec143de
guix-download: Add support for file:// URIs.
...
* guix-download.in (fetch-and-store): New procedure.
(guix-download): Use it to compute PATH. Call `add-to-store' when
a `file' URI scheme is used.
* Makefile.am (AM_TESTS_ENVIRONMENT): New variable.
* tests/guix-download.sh: Add test.
2012-11-13 22:58:43 +01:00
Ludovic Courtès
ecdb81e159
guix-download: Gracefully handle invalid URIs.
...
* guix-download.in (guix-download): Error out when `string->uri'
returns #f. Use `leave' when the scheme is unknown.
* tests/guix-download.sh: Add tests.
2012-11-13 22:15:59 +01:00
Ludovic Courtès
db32c281dd
distro: Add GNU Texinfo.
...
* distro/packages/texinfo.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-13 21:46:10 +01:00
Ludovic Courtès
7543f8653b
distro: Add GNU Libtasn1 and GnuTLS.
...
* distro/packages/gnutls.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-13 21:44:57 +01:00
Ludovic Courtès
2e65982725
distro: Add GNU Nettle.
...
* distro/packages/nettle.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-13 21:43:30 +01:00
Ludovic Courtès
c6eac7616c
distro: Add LZO.
...
* distro/packages/compression.scm (lzo): New variable.
2012-11-13 21:42:12 +01:00
Ludovic Courtès
92b8d1ea8b
tests: Make sure to use the bootstrap Guile.
...
* tests/builders.scm ("url-fetch", "gnu-build"): Pass `url-fetch'
#:guile %BOOTSTRAP-GUILE.
2012-11-13 00:40:29 +01:00
Ludovic Courtès
1dfb715df0
tests: Remove extraneous test.
...
* tests/derivations.scm ("build-expression->derivation for fixed-output
derivation"): Remove test. It is redundant with that in builders.scm,
and doesn't work out of the box with the statically-linked
%BOOTSTRAP-GUILE.
2012-11-13 00:34:56 +01:00
Ludovic Courtès
671d8f5e6f
build: Add $(top_builddir) to the load path.
...
* Makefile.am (DOWNLOAD_FILE): Add $(top_builddir) to the search path,
since that's where guix/config.scm is.
(.scm.go): Likewise.
2012-11-13 00:33:43 +01:00
Ludovic Courtès
25608d640a
distro: Patch libc to avoid accessing /etc/ld.so.cache and friends.
...
* distro/packages/base.scm (glibc): Apply `glibc-no-ld-so-cache.patch'.
(glibc-final): Inherit GLIBC's inputs.
* distro/packages/patches/glibc-no-ld-so-cache.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2012-11-13 00:23:43 +01:00
Ludovic Courtès
0db342a590
distro: Use `mirror://' URLs.
...
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.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/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-13 00:23:43 +01:00
Ludovic Courtès
94d222ad97
download: Add support for mirror:// URLs.
...
* guix/download.scm (%mirrors): New variable. Mirror lists taken from
Nixpkgs.
(url-fetch): New `mirrors' keyword parameter.
[builder]: Pass it.
* guix/build/download.scm (url-fetch): New `mirrors' keyword parameter.
[maybe-expand-mirrors]: New procedure.
[uri]: Use it.
2012-11-13 00:23:43 +01:00
Ludovic Courtès
270246defe
download: Follow HTTP redirections.
...
* guix/build/download.scm (http-fetch): Follow the redirection when CODE
is 302.
2012-11-13 00:23:43 +01:00
Ludovic Courtès
87f5d36630
Remove (guix http) and (guix ftp).
...
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-13 00:23:39 +01:00
Ludovic Courtès
62cab99c32
Add (guix download) and (guix build download).
...
* guix/download.scm, guix/build/download.scm: New files.
* Makefile.am (MODULES): Add them.
* tests/builders.scm ("url-fetch"): New test.
* distro/packages/bootstrap.scm (bootstrap-origin): Support
`url-fetch'.
* guix/snix.scm (snix-derivation->guix-package): Use `url-fetch' instead
of `http-fetch'.
2012-11-12 23:35:04 +01:00
Ludovic Courtès
ddc29a782e
Move base32 code to (guix base32).
...
* guix/utils.scm (bytevector-quintet-ref, bytevector-quintet-ref-right,
bytevector-quintet-length, bytevector-quintet-fold,
bytevector-quintet-fold-right, make-bytevector->base32-string,
%nix-base32-chars, %rfc4648-base32-chars, bytevector->base32-string,
bytevector->nix-base32-string, bytevector-quintet-set!,
bytevector-quintet-set-right!, base32-string-unfold,
base32-string-unfold-right, make-base32-string->bytevector,
base32-string->bytevector, nix-base32-string->bytevector): Move to...
* guix/base32.scm: ... here. New file.
* tests/utils.scm (%nix-hash, "bytevector->base32-string",
"base32-string->bytevector", "nix-base32-string->bytevector", "sha256
& bytevector->base32-string"): Move to...
* tests/base32.scm: ... here. New file
* guix-download.in, guix/derivations.scm, guix/packages.scm,
guix/snix.scm, tests/builders.scm, tests/derivations.scm: Adjust
accordingly.
* guix.scm (%public-modules): Add `base32'.
2012-11-11 22:33:28 +01:00
Ludovic Courtès
9e782349fe
tests: Choose a less expensive test for packages.
...
* tests/packages.scm (%bootstrap-inputs): Remove.
("GNU Hello"): Rename to...
("GNU Make, bootstrap"): ... this. Build GNU-MAKE-BOOT0 instead of
HELLO.
2012-11-09 23:59:11 +01:00
Ludovic Courtès
cfeb75954a
http: Add informative output.
...
* guix/build/http.scm (http-fetch): Emit message indicating the
download.
2012-11-09 00:21:18 +01:00
Ludovic Courtès
e722af7522
http: Check the HTTP response code, and bail if not 200.
...
* guix/build/http.scm (http-fetch): Check RESP's code; error out when
it's not 200.
2012-11-09 00:19:20 +01:00
Ludovic Courtès
7bdd1f0e3c
derivations: build-expression->derivation: Builder only refers to sources.
...
* guix/derivations.scm (build-expression->derivation)[source-path]: New
procedure.
[builder]: Pass only sources as references. This fixes a bug whereby
changing a fixed-output drv referred to by a builder would cause the
builder's hash to change, thereby leading to a full rebuild.
* tests/derivations.scm ("build-expression->derivation with a
fixed-output input"): New test.
2012-11-09 00:07:10 +01:00
Ludovic Courtès
813986ac09
derivations: Add tests relative to fixed-output derivations.
...
* tests/derivations.scm ("fixed-output derivation"): Add comment that
the reference to BUILDER is optional.
("fixed-output derivation: output paths are equal",
"derivation with a fixed-output input",
"build-expression->derivation: same fixed-output path"): New tests.
2012-11-08 23:55:12 +01:00
Ludovic Courtès
c4c7406b90
store: Document add-to-store' hack for fixed?'.
...
* guix/store.scm (add-to-store): Document that `fixed?' must be #t.
2012-11-08 00:26:13 +01:00
Ludovic Courtès
a3aa25f83d
guix-download: Print the hash of the file's contents, no that of the path.
...
* guix-download.in (guix-download): Display the hash of the contents of
PATH, not the path hash. Also, call `add-to-store' with FIXED? = #t.
2012-11-08 00:25:26 +01:00
Ludovic Courtès
37d19403e7
guix-download: Error out when the HTTP response code is not 200.
...
* guix-download.in (http-fetch): Leave with an error message when
RESPONSE's code is not 200.
* tests/guix-download.sh: New file.
* Makefile.am (TESTS): Add it.
2012-11-08 00:13:25 +01:00
Ludovic Courtès
912209ee61
guix-build: Error out when `-S' used for source-less package.
...
* guix-build.in (derivations-from-package-expressions): Leave with an
error message when SOURCE? is #t and P has no source.
* tests/guix-build.sh: Add test.
2012-11-07 23:44:38 +01:00
Ludovic Courtès
eeaf44276c
doc: Document the features and `guix-package'.
...
* doc/guix.texi: Change the category to "Package management". Add an
@direntry for "Invoking guix-package".
(Package Management): New chapter.
2012-11-07 19:27:42 +01:00
Ludovic Courtès
9518856b9b
guix-package: Fix handling of the PACKAGE:OUTPUT syntax.
...
* guix-package.in (guix-package)[find-package]: Return the correct NAME
and SUB-DRV when NAME contains #\:.
* tests/guix-package.sh (profile): Add test.
2012-11-07 19:14:22 +01:00
Ludovic Courtès
1227fabb65
guix-package: Fix invalid module use.
...
* guix-package.in: Use (distro packages guile), not (... base).
2012-11-07 19:13:10 +01:00
Ludovic Courtès
74fe2df2ad
build: Remove now unnecessary dependency of downloads on guix/utils.go.
...
* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz,
distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
Remove dependency on guix/utils.go.
2012-11-07 18:00:16 +01:00
Ludovic Courtès
c78bd12b44
doc: Document `guix-build'.
...
* doc/guix.texi (Invoking guix-build): Populate.
2012-11-07 17:07:15 +01:00
Ludovic Courtès
d3c9a1dae8
doc: Remove unnecessary @ifinfo.
...
* doc/guix.texi: Remove @ifinfo around @dir{category,entry}. Suggested
by Karl Berry <karl@freefriends.org >.
2012-11-07 16:45:11 +01:00
Ludovic Courtès
8ba60d7b65
distro: Move bootstrap tarball packages to (distro packages make-bootstrap).
...
* distro/packages/base.scm (binutils-final): Make public.
(static-package, %bash-static, %static-inputs, %static-binaries,
%binutils-static, %binutils-static-stripped, %glibc-stripped,
%gcc-static, %gcc-stripped, %guile-static, %guile-static-stripped,
tarball-package, %bootstrap-binaries-tarball,
%binutils-bootstrap-tarball, %glibc-bootstrap-tarball,
%guile-bootstrap-tarball): Move to...
* distro/packages/make-bootstrap.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
2012-11-06 22:55:44 +01:00
Ludovic Courtès
ce1ef15b25
distro: bash-final: Link with `-static-libgcc'.
...
* distro/packages/base.scm (bash-final): Pass through
`static-libgcc-package'.
2012-11-05 23:51:43 +01:00
Ludovic Courtès
53dcd5eea1
build-system/gnu: Add `static-libgcc-package' & supporting procedure.
...
* guix/build-system/gnu.scm (package-with-extra-configure-variable,
static-libgcc-package): New procedures.
2012-11-05 23:51:09 +01:00
Ludovic Courtès
bca114d528
distro: gcc: Don't add a RUNPATH to GCC when using `-static-libgcc'.
...
* distro/packages/base.scm (gcc-4.7)[LIB_SPEC]: Add a `-rpath' to GCC
only when !static and !static-libgcc.
2012-11-05 23:51:07 +01:00
Ludovic Courtès
4500581a7c
distro: readline: Allow stripping of the libraires.
...
* distro/packages/readline.scm (readline)[arguments]: Add `post-install'
phase to make libraries writable.
2012-11-05 23:51:01 +01:00
Ludovic Courtès
0af2c24ef7
utils: Add default-keyword-arguments' and substitute-keyword-arguments'.
...
* distro/packages/base.scm (default-keyword-arguments,
substitute-keyword-arguments): Move to...
* guix/utils.scm: ... here.
2012-11-05 23:50:57 +01:00
Ludovic Courtès
a48dddfe9c
distro: Add missing `package-with-bootstrap-guile'.
...
* distro/packages/base.scm (binutils-final): Add missing
`package-with-bootstrap-guile'.
2012-11-05 00:28:41 +01:00
Ludovic Courtès
d1acf1fd4a
distro: recutils: Comment out optional dependencies.
...
* distro/packages/recutils.scm (recutils): Comment out optional
dependencies not packaged here.
2012-11-05 00:28:41 +01:00
Ludovic Courtès
8d1939e4d0
distro: Add GnuPG and companion libraries.
...
* distro/packages/gnupg.scm: New file.
* Makefile.am (MODULES): Add it.
2012-11-05 00:28:41 +01:00
Ludovic Courtès
6a92093dcd
distro: Add zlib.
...
* distro/packages/compression.scm (zlib): New variable.
2012-11-05 00:28:37 +01:00
Ludovic Courtès
a268f085db
distro: Add (distro packages compression).
...
* distro/packages/base.scm (gzip, bzip2, xz): Move to...
* distro/packages/compression.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
2012-11-04 23:16:58 +01:00
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
59b775cca9
doc: Add "Adding new packages" in `HACKING'.
...
* HACKING (Adding new packages): New section.
2012-11-04 19:45:40 +01:00
Ludovic Courtès
10226c05b1
Add (guix snix) and the `guix-import' command.
...
* guix/snix.scm, tests/snix.scm, guix-import.in: New files.
* configure.ac: Output `guix-import' and make it executable.
* Makefile.am (bin_SCRIPTS): Add `guix-import'.
(MODULES): Add `guix/snix.scm'.
(TESTS): Add `tests/snix.scm'.
2012-11-04 19:38:31 +01:00
Ludovic Courtès
5901471cec
guix-package: Remove extraneous procedures.
...
* guix-package.in (_, N_): Remove.
2012-11-04 18:19:28 +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
6709752fe7
release.nix: Pass --with-libgcrypt-prefix' in the tarball' job.
...
* release.nix (jobs.tarball)[configureFlags]: Pass
`--with-libgcrypt-prefix'.
2012-11-04 13:03:15 +01:00
Ludovic Courtès
9b48fb88ca
utils: Add `package-name->name+version'.
...
* guix/utils.scm (package-name->name+version): New procedure.
* guix-package.in (guix-package)[find-package]: Use it.
* tests/utils.scm ("package-name->name+version"): New test.
2012-11-04 01:29:18 +01:00
Ludovic Courtès
d388c2c435
build: Require GNU libgcrypt.
...
* guix/utils.scm (sha256): Remove Coreutils- and libchop-based
implementations.
* README: Update accordingly.
* m4/guix.m4: New file.
* configure.ac: Use `GUIX_ASSERT_LIBGCRYPT_USABLE'. Set and substitute
`LIBGCRYPT_PREFIX'.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Pass
`--with-libgcrypt-prefix=$(LIBGCRYPT_PREFIX)'.
2012-11-03 21:49:54 +01:00
Ludovic Courtès
1275baeba7
guix-package: Use more (guix ui) features.
...
* guix-package.in (leave): Remove.
(guix-package): Wrap body in `with-error-handling'.
2012-11-03 21:23:16 +01:00
Ludovic Courtès
cdd5d6f95f
ui: Factorize `--version'.
...
* guix/ui.scm (show-version-and-exit): New procedure.
* guix-build.in (show-version): Remove.
(%options)["version"]: Use `show-version-and-exit'.
* guix-download.in: Likewise.
* guix-package.in: Likewise.
2012-11-03 21:19:43 +01:00
Ludovic Courtès
00e219d1c9
build: Produce (guix config) instead of using compile-time tricks.
...
* guix/config.scm.in: New file.
* guix/utils.scm: Use it.
(%libgcrypt): Remove.
(%nixpkgs-directory): Don't capture the compile-time $NIXPKGS; use
%NIXPKGS instead.
(nixpkgs-derivation): Use %NIX-INSTANTIATE.
* pre-inst-env.in (NIX_INSTANTIATE, NIXPKGS, LIBGCRYPT): Remove.
* configure.ac: Emit `guix/config.scm'.
* Makefile.am (GOBJECTS): Add `guix/config.go'.
(nobase_nodist_guilemodule_DATA): Add `guix/config.scm'.
2012-11-03 21:11:28 +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
81dbd783bd
tests: Run without substitutes.
...
* tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set
#:use-substitutes? #f for %STORE.
2012-11-02 22:38:52 +01:00
Ludovic Courtès
0afdc48532
Add a preliminary `guix-package' command-line tool.
...
* guix-package.in, tests/guix-package.sh: New files.
* configure.ac: Output `guix-package'.
* Makefile.am (TESTS): Add `tests/guix-package.sh'.
(bin_SCRIPTS): Add `guix-package'.
2012-11-01 01:46:15 +01:00
Ludovic Courtès
e3d741065e
store: Add `store-path-package-name'.
...
* guix/store.scm (store-path-package-name): New procedure.
* tests/utils.scm ("store-path-package-name"): New test.
2012-11-01 01:39:23 +01:00
Ludovic Courtès
07d18f39cc
utils: Remove stuff committed by error.
...
This was wrongfully committed in df1fab58 .
* guix/utils.scm (hash-set-proc, hash-ref*, memoizing-lambda): Remove.
2012-11-01 01:35:00 +01:00
Ludovic Courtès
97298ffae9
build: Add unit test for the `guix-build' command.
...
* tests/guix-build.sh: New file.
* Makefile.am (TESTS): Add it.
(LOG_COMPILER): Rename to...
(SCM_LOG_COMPILER): ... this. Move flags to...
(AM_SCM_LOG_FLAGS): ... this.
(TEST_EXTENSIONS, SH_LOG_COMPILER, AM_SH_LOG_FLAGS): New variables.
2012-11-01 00:52:46 +01:00
Ludovic Courtès
073c34d72f
Add (guix ui).
...
* guix/ui.scm: New file.
* Makefile.am (MODULES): Add it.
* po/POTFILES.in: Add it.
* guix-build.in: Use it.
(_, N_, leave): Remove.
(guix-build): Use `with-error-handling' instead of the `guard' form.
* guix-download.in: Use it.
(_, N_, leave): Remove.
2012-11-01 00:52:44 +01:00
Ludovic Courtès
111111d046
build-system/gnu: Distinguish between imported modules and used modules.
...
* guix/build-system/gnu.scm (gnu-build): Add the `imported-modules'
keyword parameter. Pass it to `build-expression->derivation'.
2012-10-31 17:53:59 +01:00
Ludovic Courtès
f03da4a008
release.nix: Use --no-substitutes' in distro.hello'.
...
* release.nix (distro.hello): Use `guix-build --no-substitutes', to
avoid failures due to unavailable stale substitutes on
hydra.nixos.org.
2012-10-31 00:22:39 +01:00
Ludovic Courtès
34811f02bf
guix-build: Add `--root'.
...
* guix/store.scm (add-indirect-root): New operation.
* guix-build.in (show-help): Document `--root'.
(%options): Add `--root'.
(guix-build)[register-root]: New procedure. Call it when `--root' is
passed.
2012-10-30 00:20:53 +01:00
Ludovic Courtès
c8c88afaa1
Add (guix build union).
...
* guix/build/union.scm, tests/union.scm: New files.
* Makefile.am (MODULES): Add `guix/build/union.scm'.
(TESTS): Add `tests/union.scm'.
2012-10-29 22:39:46 +01:00
Ludovic Courtès
48da001fd9
release.nix: Change `distro.hello' to produce something.
...
* release.nix (distro.hello)[buildPhase]: Tee the log to $out. Add a
`name' attribute; remove `buildInputs' and instead use the full path
to `guix-build'.
2012-10-28 02:02:04 +02: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
8f3ecbd715
tests: Use our own bootstrap tools.
...
* tests/builders.scm (%bootstrap-inputs): Use %BOOT0-INPUTS from the distro.
* tests/packages.scm (%bootstrap-inputs): Likewise.
* tests/derivations.scm (%coreutils): Alias for %BOOTSTRAP-COREUTILS&CO.
2012-10-28 01:58:39 +02:00
Ludovic Courtès
9144af5aa7
release.nix: Add a `distro.hello' job.
...
* release.nix (distro.hello): New job.
2012-10-27 23:19:46 +02:00
Ludovic Courtès
5992f213d7
build: Preserve the executable bit of bootstrap binaries.
...
* Makefile.am (install-data-hook): New target.
2012-10-27 23:18:08 +02:00
Ludovic Courtès
b8605698b8
build: Make sure scripts know where to find their modules.
...
* guix-build.in, guix-download.in: Define `prefix' and `datarootdir', so
that `guilemoduledir' expands to something meaningful.
2012-10-27 22:52:13 +02:00
Ludovic Courtès
1c52c42fe2
release.nix: Pre-download the Guile bootstrap tarball.
...
* release.nix (bootstrap_guile): New variable.
(build)[preBuild]: New attribute.
2012-10-27 22:45:54 +02:00
Ludovic Courtès
735bb2af10
build: Fix out-of-source-tree builds.
...
* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz,
distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
Make the target's parent directory.
* pre-inst-env.in (DISTRO_BOOTSTRAP_PATH): Add the builddir-relative
directory.
2012-10-27 22:37:49 +02:00
Ludovic Courtès
a9f60c421b
distro: Change $DISTRO_{PATCH,BOOTSTRAP}_DIRECTORY to search paths.
...
* distro.scm (not-colon): New variable.
(%patch-directory): Rename to...
(%patch-path): ... this. Turn into a list. Expect $DISTRO_PATCH_PATH
to be a colon-separated search path.
(%bootstrap-binaries-directory): Rename to...
(%bootstrap-binaries-path): ... this. Likewise.
(search-patch, search-bootstrap-binary): Adjust accordingly.
* pre-inst-env.in: Change to use `DISTRO_PATCH_PATH' and
`DISTRO_BOOTSTRAP_PATH'.
2012-10-27 22:30:42 +02:00
Ludovic Courtès
cc9abfd0f4
release.nix: Set succeed-on-failure and build-out-source-tree.
...
* release.nix: Define `succeedOnFailure', `keepBuildDirectory', and
`buildOutOfSourceTree'.
(build): Inherit them.
2012-10-27 15:32:40 +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
fc2f38023b
build: Use `pre-inst-env' to compile the source.
...
* Makefile.am (.scm.go): Use `pre-inst-env' instead of re-defining the
environment variables, except for `DISTRO_INSTALLED_PATCH_DIRECTORY'
and `DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY'.
2012-10-27 15:32:39 +02:00
Ludovic Courtès
0778385802
guix-build: Gracefully handle `&package-input-error' conditions.
...
* guix/packages.scm: Export `package-error?' and `package-input-error?'.
* guix-build.in (guix-build): Catch `&package-input-error' conditions,
print a human-readable message, and exit.
2012-10-27 14:56:46 +02:00
Ludovic Courtès
5e6c90121f
location: Start column numbers at 1.
...
* guix/utils.scm (source-properties->location): Use COL + 1.
2012-10-27 14:53:47 +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
450ccdc3aa
doc: Add `HACKING'.
...
* HACKING: New file.
* Makefile.am (EXTRA_DIST): Add it.
2012-10-25 23:44:27 +02:00
Ludovic Courtès
fbc93bedff
Add a system' parameter to nixpkgs-derivation'.
...
* guix/utils.scm (nixpkgs-derivation): Add a `system' parameter. Pass
it in the `nix-instantiate' invocation.
2012-10-25 23:42:06 +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
ae39d1b233
derivations: Make sure build-expression->derivation' & co. pass system'.
...
* guix/derivations.scm (imported-files): Call
`build-expression->derivation' with SYSTEM, not (%current-system).
(build-expression->derivation): Pass SYSTEM to `imported-modules' and
`compiled-modules'.
2012-10-25 23:14:27 +02:00
Ludovic Courtès
b272c47433
derivations: Pass the derivation of guile-for-build to `imported-files' & co.
...
* guix/derivations.scm (%guile-for-build): Initialize to #f.
(imported-files, imported-modules, compiled-modules): Add `guile'
keyword parameter. Pass it down to `build-expression->derivation'.
(build-expression->derivation)[guile-drv]: New variable. Pass it as
the #:guile parameter for `imported-modules' and `compiled-modules'.
* tests/derivations.scm: Set %GUILE-FOR-BUILD to the derivation of
%BOOTSTRAP-GUILE.
2012-10-25 18:03:48 +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
c52a5bf09a
Add `guix-download'.
...
* guix-download.in: New file.
* configure.ac: Emit `guix-download' and make it executable.
* Makefile.am (bin_SCRIPTS): Add `guix-download'.
* po/POTFILES.in: Add `guix-download.in'.
2012-10-25 00:58:37 +02:00
Ludovic Courtès
82058eff59
store: Add `query-path-hash'.
...
* guix/store.scm (write-arg, read-arg): Add `base16' literal and
corresponding rule.
(query-path-hash): New operation.
* tests/derivations.scm ("fixed-output derivation"): Check whether
`query-path-hash' returns a bytevector.
2012-10-24 23:52:15 +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
692c6c1576
guix-build: Change --local-build' to --no-substitutes'.
...
* guix-build.in (%default-options): Add `substitutes?'.
(show-help): Change `--local-build' to `--no-substitutes'.
(guix-build): Adjust accordingly.
2012-10-24 15:01:16 +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
d90248844b
derivations: Compile the #:modules passed to `build-expression->derivation'.
...
* guix/derivations.scm (imported-files)[parent-dirs]: Move to...
(parent-directories): ... here. New procedure.
(compiled-modules): New procedure.
(build-expression->derivation): Use it.
* tests/derivations.scm ("build-expression->derivation with modules"):
New test.
2012-10-24 00:09:25 +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
592ef6c88f
packages: Add support for system-dependent inputs.
...
* guix/packages.scm (package-derivation)[intern]: New procedure. Pass
#t as the `recursive?' argument, instead of #f.
[expand-input]: New procedure, with code formerly in the body.
Support inputs where the input is a procedure returning a file name or
an <origin>.
Use `expand-input' in the body.
* tests/packages.scm ("trivial with system-dependent input"): New test.
2012-10-21 17:52:16 +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
5cc3061673
guix-build: Add `--system'.
...
* guix-build.in (derivations-from-package-expressions): New `system'
parameter. Pass it to `package-derivation'.
(%default-options): Add `system' pair.
(show-help): Describe `--system'.
(%options): Add it.
(guix-build): Check the `system' pair in OPTS; pass it to
`derivations-from-package-expressions' and `package-derivation'.
2012-10-18 23:46:10 +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
d14ecda913
http/ftp: Tweak to avoid depending on libc's NSS.
...
* guix/build/http.scm (open-connection-for-uri): New procedure.
(http-fetch): Use it. Pass the result as a #:port argument to
`http-get'.
Add hack to modify the `set-port-encoding!' binding in (web response).
* guix/ftp-client.scm (ftp-open): Add optional `port' parameter,
defaulting to 21. When calling `getaddrinfo', convert PORT to a
string and pass AI_NUMERICSERV when PORT is a number.
2012-10-18 22:32:23 +02:00
Ludovic Courtès
1c3972daa8
guix-build: Add `--local-build'.
...
* guix-build.in (show-help): Add `--local-build'.
(%options): Likewise.
(guix-build): Pass `set-build-options' the #:use-substitutes? argument
accordingly.
2012-10-18 22:32:21 +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
4c261f4169
utils: Add `find-files'.
...
* guix/build/utils.scm (find-files): New procedure.
2012-10-17 23:25:25 +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
Ludovic Courtès
7172116ca5
build-system/gnu: Pass the system type to the builder.
...
* guix/build-system/gnu.scm (gnu-build)[builder]: Pass SYSTEM to
`gnu-build' as a keyword argument.
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
9b9b6f3d51
build: Use `pre-inst-env' to run tests.
...
* Makefile.am (TESTS_ENVIRONMENT): Remove.
(LOG_COMPILER): Use `pre-inst-env'.
2012-10-17 23:25:23 +02:00
Ludovic Courtès
8587b54268
release.nix: Add dependency on GNU Texinfo.
...
* release.nix (tarball)[buildNativeInputs]: Add `texinfo'.
2012-10-17 16:16:45 +02:00
Ludovic Courtès
91133c2d71
utils: Add fold-port-matches' and remove-store-references'.
...
* guix/build/utils.scm (fold-port-matches, remove-store-references): New
procedures.
* tests/build-utils.scm ("fold-port-matches", "fold-port-matches,
trickier", "fold-port-matches, with unmatched chars"): New tests.
2012-10-16 23:01:01 +02:00
Ludovic Courtès
dcd7290654
utils: Add `with-atomic-file-replacement'.
...
* guix/build/utils.scm (with-atomic-file-replacement): New procedure.
(substitute): Use it.
2012-10-16 17:31:16 +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
4004f95379
ftp-client: Try all the addresses returned by `getaddrinfo'.
...
* guix/ftp-client.scm (ftp-open): Upon connection failure, try the other
addresses returned by `getaddrinfo'.
2012-10-13 21:18:16 +02:00
Ludovic Courtès
568717fd90
doc: Add the stub of a manual.
...
* doc/guix.texi: New file.
* doc/fdl-1.3.texi: New file, copied from Gnulib.
* Makefile.am (info_TEXINFOS): New variable.
(EXTRA_DIST): Add `doc/fdl-1.3.texi'.
2012-10-13 16:05:01 +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
ad8526466c
Remove non-existent module from (guix).
...
* guix.scm (%public-modules): Remove `snix', since that modules doesn't
exist yet.
2012-10-08 23:13:51 +02:00
Ludovic Courtès
e4588af969
packages: Fix and optimize memoization of `package-derivation'.
...
* guix/packages.scm (%derivation-cache): Pass an initial size of 100.
(cache): Use `hashq-set!', and use a SYSTEM/DRV pair as the value.
(cached-derivation): Update accordingly.
2012-10-08 22:07:19 +02:00
Ludovic Courtès
ead1f1086d
packages: Micro-optimize `package-derivation'.
...
* guix/packages.scm (package-derivation): Move `cache' call before the
traversal of PACKAGE's inputs.
2012-10-08 21:57:14 +02:00
Ludovic Courtès
df7bbd3813
derivations: Set input port to UTF-8 in `read-derivation'.
...
* guix/derivations.scm (read-derivation): Set DRV-PORT's encoding to
UTF-8.
2012-10-07 22:28:07 +02:00
Ludovic Courtès
58ddf10ea3
Update the (guix) module.
...
* guix.scm (%public-modules): Update list of current second-level
modules.
2012-10-07 22:26:55 +02:00
Ludovic Courtès
14da91e2f0
tests: Use bootstrap and Nixpkgs inputs to be less costly.
...
* tests/builders.scm (%bootstrap-inputs, %bootstrap-guile): New
variables.
("gnu-build"): Use them, by setting `#:implicit-inputs? #f' and `#:guile'.
* tests/packages.scm (%bootstrap-inputs, %bootstrap-guile): New
variables.
("trivial"): Pass `#:guile %bootstrap-guile'.
("GNU Hello"): Use `package-with-explicit-inputs' to use
%BOOTSTRAP-GUILE and %BOOTSTRAP-INPUTS.
2012-10-07 22:24:59 +02:00
Ludovic Courtès
81c7948d9a
build-system/{gnu,trivial-build}: Fix handling of #:guile argument.
...
* guix/build-system/gnu.scm (gnu-build)[guile-for-build]: Check whether
GUILE matches string? before checking whether it matches
derivation-path?.
* guix/build-system/trivial.scm (trivial-build)[guile-for-build]:
Likewise.
2012-10-07 22:22:27 +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
12d5aa0f5a
build-system/{gnu,trivial}: Add a `#:guile' keyword parameter.
...
* guix/build-system/gnu.scm (package-with-explicit-inputs): New `guile'
keyword parameter. Add it to P's arguments, and pass it in recursive
calls.
(gnu-build): New `guile' keyword parameter; new `guile-for-build'
variable. Pass it as the `#:guile-for-build' parameter of
`build-expression->derivation'.
* guix/build-system/trivial.scm (trivial-build): Likewise.
2012-10-06 01:25:17 +02:00
Ludovic Courtès
db1a15314d
Support build-cores = 0; change `guix-build' to default to 0.
...
* guix/build/gnu-build-system.scm (%parallel-job-count): New variable.
(build, check): Use it instead of $NIX_BUILD_CORES.
* guix-build.in (guix-build): Default to 0 for the #:build-cores option.
2012-10-05 23:21:09 +02:00
Ludovic Courtès
7da7ae937e
Augment `README'.
...
* README (Hacking): Mention `--with-nixpkgs'. List the autotools and
Gettext, as suggested by Nikita Karetnikov <nikita.karetnikov@gmail.com >.
2012-10-05 00:19:29 +02:00
Ludovic Courtès
49feac7a54
distro: Fix typo in warning message.
...
* distro.scm (package-files): Add missing newline in warning message.
2012-10-04 23:12:41 +02:00
Ludovic Courtès
f4544767b4
Add `pre-inst-env' script.
...
* pre-inst-env.in: New file.
* configure.ac: Add it to `AC_CONFIG_FILES' and `AC_CONFIG_COMMANDS'.
2012-10-04 23:12:15 +02:00
Ludovic Courtès
ab90f87c41
Fix and update `POTFILES.in'.
...
* po/POTFILES.in: Update.
2012-10-04 23:10:57 +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
be13fbfa83
Add (guix build-system trivial).
...
* guix/build-system/trivial.scm: New file.
* Makefile.am (MODULES): Add it.
* tests/packages.scm ("trivial"): New test.
* guix/packages.scm (package-derivation): Allow SOURCE to be #f.
2012-09-10 22:47:10 +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
2d14ef0f2c
build-system/gnu: Fix `#:path-exclusions' handling.
...
* guix/build/gnu-build-system.scm (set-paths)[relevant-input-directories]:
New procedure. Use it. This fixes #:path-exclusions handling.
2012-09-06 22:58:43 +02:00
Ludovic Courtès
9d9ef458e8
utils: Make `set-path-environment-variable' verbose.
...
* guix/build/utils.scm (set-path-environment-variable): Print ENV-VAR
and its value.
2012-09-06 22:57:46 +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
dc1045be7d
packages: Accept <origin> as package inputs.
...
* guix/packages.scm (package-derivation): Accept use of an <origin> as
an input.
2012-09-06 00:00:00 +02:00
Ludovic Courtès
1f34bda1e2
build-system/gnu: Relax location handling in `package-with-explicit-inputs'.
...
* guix/build-system/gnu.scm (package-with-explicit-inputs): Convert LOC
when it is a source-property list.
2012-09-05 23:59:23 +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
2847050a61
packages: Add `package-full-name'.
...
* guix/packages.scm (package-full-name): New procedure.
(package-derivation): Use it.
2012-09-05 19:01:47 +02:00
Ludovic Courtès
609354bf0a
guix-build: Add `--derivations'.
...
* guix-build.in (show-help): Add `--derivations'.
(%options): Likewise.
(guix-build): Handle it.
2012-09-04 23:43:24 +02:00
Ludovic Courtès
5dba31494e
guix-build: Add `--source'.
...
* guix-build.in (derivations-from-package-expressions): Add `source?'
parameter. Honor it.
(show-help): Add `--source'.
(%options): Likewise.
(guix-build): Honor `--source'.
2012-09-04 23:42:06 +02:00
Ludovic Courtès
ff352cfb97
Move <location> to (guix utils).
...
* guix/packages.scm (<location>, location): Move to...
* guix/utils.scm: ... here.
2012-09-03 01:07:01 +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
113aef68fb
packages: Add `package-transitive-propagated-inputs'.
...
* guix/packages.scm (transitive-inputs): New procedure.
(package-transitive-inputs): Rewrite in terms of `transitive-inputs'.
(package-transitive-propagated-inputs): New procedure.
2012-09-02 19:58:03 +02:00
Ludovic Courtès
a2ebaddda7
packages: Cache the result of `package-derivation'.
...
* guix/packages.scm (%derivation-cache): New variable.
(cache, cached-derivation): New procedures.
(package-derivation): Use them.
2012-09-02 19:40:08 +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
946b72c924
packages: Add a printer for <package>.
...
* guix/packages.scm (<package>): Add record printer.
2012-09-02 15:41:52 +02:00
Ludovic Courtès
aaa848f3af
Optimize write-derivation' and derivation-path->output-path'.
...
* guix/derivations.scm (write-derivation): Explicitly use
`simple-format'.
(derivation-path->output-path): Memoize.
2012-09-02 01:51:52 +02:00
Ludovic Courtès
f39bd08ad2
Optimize `store-path?'.
...
* guix/store.scm (store-path?): Check with `string-prefix?' instead of a
regexp.
2012-09-01 23:38:28 +02:00
Ludovic Courtès
d118c548b5
build-system/gnu: Really apply patches.
...
* guix/build/gnu-build-system.scm (patch): Use `--input FILE', not just
`FILE'.
2012-09-01 19:21:33 +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
6dd7787c39
Add a guile-for-build' parameter to build-expression->derivation'.
...
* guix/derivations.scm (%guile-for-build): Use `nixpkgs-derivation*'
instead of `nixpkgs-derivation'.
(build-expression->derivation): New `guile-for-build' keyword
parameter. Use it.
2012-09-01 11:45:52 +02:00
Ludovic Courtès
4c1eddf766
Add an env-vars' keyword parameter to build-expression->derivation'.
...
* guix/derivations.scm (build-expression->derivation): New `env-vars'
keyword parameter; default to '(). Use it.
2012-09-01 11:33:20 +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
877217b85a
build-system/gnu: Honor the patch-shebangs?' and strip-binaries?' parameters.
...
* guix/build/gnu-build-system.scm (patch-shebangs): Honor
PATCH-SHEBANGS?.
(strip): Honor STRIP-BINARIES?. Display a message from `strip-dir'.
2012-08-31 23:58:21 +02:00
Ludovic Courtès
8759a648ba
guix-build: Fix the "unrecognized option" error message.
...
* guix-build.in (guix-build): Show the option name when an unrecognized
option is passed.
2012-08-31 17:05:34 +02:00
Ludovic Courtès
e815763e69
build-system/gnu: Add a `strip' phase.
...
* guix/build/gnu-build-system.scm (strip): New procedure.
(%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build): New `strip-binaries?',
`strip-flags', and `strip-directories' keyword parameters. Pass them
to BUILDER.
2012-08-31 17:04:53 +02:00
Ludovic Courtès
84209975fd
build-system/gnu: Always invoke `configure' with a relative path.
...
* guix/build/gnu-build-system.scm (configure): Change SRCDIR to always
be a relative path.
2012-08-30 23:30:42 +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
dcd60f4398
define-record-type*: Add the `inherit' syntactic constructor keyword.
...
* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: New
`type' parameter. Add the `inherit' keyword and corresponding support
code.
* tests/utils.scm ("define-record-type* & inherit", "define-record-type*
& inherit & letrec* behavior"): New tests.
2012-08-30 00:18:50 +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
Cyprien Nicolas (fulax)
73f9a978ef
configure.ac: Make 'guild' configure check fatal, otherwise one gets 'compile: command not found' during make
2012-08-27 15:44:32 +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
8773648e35
utils: Change `substitute*' to accept a list of files to patch.
...
* guix/build/utils.scm (substitute*): Support a list of files as the
first argument.
2012-08-25 13:12:45 +02:00
Ludovic Courtès
22b5d9c9a5
build-system/gnu: Add `out-of-source?' keyword parameter.
...
* guix/build/gnu-build-system.scm (configure): Add an `out-of-source?'
keyword parameter; build out-of-source-tree when #t.
* guix/build-system/gnu.scm (gnu-build): Add `out-of-source?' keyword
parameter. Pass it in BUILDER.
2012-08-23 23:13:41 +02:00
Ludovic Courtès
d36622dc44
packages: Raise an error condition upon invalid input.
...
* guix/packages.scm (&package-error, &package-input-error): New
condition types.
(package-derivation): Raise a `&package-input-error' when no match is
made.
2012-08-23 23:09:13 +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
2dda7734ba
build: Bump version number.
...
* configure.ac: Switch to version 0.1.
2012-08-22 17:25:47 +02:00
Ludovic Courtès
3abaf0c440
Add `close-connection'.
...
* guix/store.scm (close-connection): New procedure.
2012-08-22 17:25:47 +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
fc484f605c
build-system/gnu: Augment $PATH with $out for `patch-shebangs'.
...
* guix/build/gnu-build-system.scm (patch-shebangs): Add BINDIRS to
$PATH, and pass that to `patch-shebang'.
2012-08-19 23:05:04 +02:00
Ludovic Courtès
525a59d6d3
utils: Add a path' argument to patch-shebang'.
...
* guix/build/utils.scm (patch-shebang): Add an optional `path'
parameter. Change SHEBANG-RX to match the whole interpreter file
name. Don't patch when BIN and CMD are the same. Add docstring.
2012-08-19 23:04:03 +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
437fd80992
build-system/gnu: Add a `patch-shebangs' phase.
...
* guix/build/gnu-build-system.scm (patch-shebangs): New procedure.
(%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build): New `patch-shebangs?' keyword
parameter. Pass it to the builder's `gnu-build'.
2012-08-19 17:54:54 +02:00
Ludovic Courtès
ebe2f31f19
utils: Add `patch-shebang'.
...
* guix/build/utils.scm (search-path-as-string->list): New procedure.
(dump-port, patch-shebang): New procedures.
2012-08-19 17:41:30 +02:00
Ludovic Courtès
ad102c4683
release.nix: Add dependency on GNU libgcrypt.
...
* release.nix (build)[configureFlags]: Add `--with-libgcrypt-prefix'.
2012-08-17 10:45:49 +02:00
Ludovic Courtès
3a310cc017
build: Add `--with-libgcrypt-prefix'; capture the path to libgcrypt.
...
* configure.ac: Add `--with-libgcrypt-prefix'. Substitute `LIBGCRYPT'.
* Makefile.am (.scm.go): Pass $(LIBGCRYPT).
* guix/utils.scm (%libgcrypt): New variable.
(sha256): Use it.
2012-08-17 10:41:27 +02:00
Ludovic Courtès
93a0a8b3fd
packages: Add all non-derivation paths to the store.
...
* guix/packages.scm (package-derivation): Add all non-derivation paths
to the store.
2012-08-16 19:00:49 +02:00
Ludovic Courtès
cf56996046
packages: Allow store paths as inputs.
...
* guix/packages.scm (package-derivation): Allow non-derivation store
paths as inputs.
2012-08-16 18:48:03 +02:00
Ludovic Courtès
10d8289861
release.nix: Build out of chroot.
...
* release.nix: Add `preConfigure' and `__noChroot' attributes.
2012-08-14 18:52:41 +02:00
Ludovic Courtès
437e0729d8
build: Pass the right flags for "make distcheck".
...
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): New variable.
* configure.ac: Define and substitute `NIX_PREFIX'.
2012-08-14 18:50:36 +02:00
Ludovic Courtès
d95c0113c9
build: Add `test.drv' to the distribution.
...
* Makefile.am (EXTRA_DIST): Add `tests/test.drv'.
2012-08-14 18:44:52 +02:00
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
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
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
d26ad5e45b
derivation: Remove duplicate inputs.
...
* guix/derivations.scm (derivation): Remove duplicates from INPUT.
2012-06-29 00:27:32 +02:00
Ludovic Courtès
5791d3b696
build-system/gnu: Add GNU Awk to the standard inputs.
...
* guix/build-system/gnu.scm (%standard-inputs): Add GNU Awk.
2012-06-28 23:46:00 +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
35f3c5f5ad
Track the source location of packages.
...
* guix/packages.scm (<location>): New record type.
(location, source-properties->location): New procedures.
(<package>)[location]: New field.
* tests/packages.scm ("GNU Hello"): Test `package-location'.
2012-06-28 23:15:24 +02:00
Ludovic Courtès
dba6b34bdd
Add a sha256 fallback that uses Coreutils instead of libchop.
...
* guix/utils.scm (compile-time-value): Move to the top.
(sha256): Add an implementation that uses Coreutils, for when libchop
is unavailable.
2012-06-28 22:57:40 +02:00
Ludovic Courtès
900f726734
Introduce `compile-time-value' and use it.
...
* guix/utils.scm (compile-time-value): New macro.
(%nixpkgs-directory): Use it.
* guix/build-system/gnu.scm (%standard-inputs): Likewise.
2012-06-28 22:38:09 +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
Ludovic Courtès
e1e8874ee8
build-system/gnu: Have configure-flags' and make-flags' evaluated.
...
* guix/build-system/gnu.scm (gnu-build): Double-quote the default value
of MAKE-FLAGS and CONFIGURE-FLAGS. Don't quote them in BUILDER.
2012-06-28 01:18:15 +02:00
Ludovic Courtès
04a0b857d8
build: Define $NIXPKGS when compiling.
...
* Makefile.am (.scm.go): Define $NIXPKGS.
2012-06-28 00:53:13 +02:00
Ludovic Courtès
208f7cd155
Abstract build systems.
...
* Makefile.am (MODULES): Add `guix/build-system.scm' and
`guix/build-system/gnu.scm'. Remove `guix/gnu-build-system.scm'.
* guix/build-system.scm: New file.
* guix/gnu-build-system.scm: Rename to...
* guix/build-system/gnu.scm: ... this.
(gnu-build-system): New variable.
* tests/builders.scm: Adjust `use-module' clauses.
("gnu-build-system"): New test.
2012-06-27 23:58:07 +02:00
Ludovic Courtès
72d869634b
Add `define-record-type*'.
...
* guix/utils.scm (define-record-type*): New macro.
* tests/utils.scm ("define-record-type*"): New test.
2012-06-27 23:40:12 +02:00
Ludovic Courtès
0d56a551bf
build-expression->derivation: Move module forms at the top-level.
...
* guix/derivations.scm (build-expression->derivation)[module-form?]: New
procedure.
[prologue]: Add any form of EXP that matches MODULE-FORM?.
[builder]: Remove any MODULE-FORM? from EXP.
2012-06-17 16:43:40 +02:00
Ludovic Courtès
5dcfdcaa79
gnu-build-system: Structure as a customizable sequence of phases.
...
* guix/build/gnu-build-system.scm (set-paths, build, check, install):
New procedures.
(unpack): Make `source' a keyword arg; add `#:allow-other-keys'.
(configure): Likewise.
(%standard-phases): New variable.
(gnu-build): Make `source', `outputs', and `inputs' keyword arguments;
add `phases' keyword argument; #:allow-other-keys; add rest arguments
`args'. Invoke each of PHASES in order within `every'.
* guix/gnu-build-system.scm (gnu-build): Add `make-flags' and `phases'
keyword arguments. Update builder's `gnu-build' call to match the new
convention.
2012-06-16 17:02:19 +02:00
Ludovic Courtès
3ab892fffe
gnu-build-system: Add GNU Diffutils and GNU Path to the standard inputs.
...
* guix/gnu-build-system.scm (%standard-inputs): Add Diffutils and Patch.
2012-06-16 16:48:14 +02:00
Ludovic Courtès
db393b333f
build-expression->derivation: Have the build fail when EXP returns #f.
...
* guix/derivations.scm (build-expression->derivation)[builder]: Pass the
result of EXP to `exit'.
* tests/derivations.scm ("build-expression->derivation with expression
returning #f"): New test.
2012-06-16 16:46:29 +02:00
Ludovic Courtès
9f55cf8d56
Remove leftover debugging expressions.
...
* guix/build/utils.scm (directory-exists?): Remove leftover debugging
expressions.
2012-06-16 16:16:16 +02:00
Ludovic Courtès
dcee50c114
store: Wait for the server to be done sending output.
...
* guix/store.scm (current-build-output-port): New variable.
(process-stderr): Add docstring. Always return #f, except upon
%STDERR-LAST. Upon %STDERR-NEXT, write to
`current-build-output-port', not `current-error-port'.
(set-build-options): Loop until `process-stderr' returns true.
(define-operation): Likewise.
(build-derivations): Update docstring to mention that it's
synchronous.
2012-06-16 16:13:12 +02:00
Ludovic Courtès
73d9659697
build: Be cross-compilation-ready.
...
* Makefile.am (.scm.go): Pass `--target=$(host)'.
* configure.ac: Use `AC_CANONICAL_HOST'.
2012-06-15 10:11:29 +02:00
Ludovic Courtès
48e8333d91
build: Provide the right include path when building modules.
...
* Makefile.am (.scm.go): Add missing `-L $(top_srcdir)'.
2012-06-15 10:04:38 +02:00
Ludovic Courtès
1273d44ac7
Build (guix) last.
...
* Makefile.am (MODULES): Move `guix.scm' last.
2012-06-15 10:03:08 +02:00
Ludovic Courtès
af51c820b1
Add a build system.
...
* configure.ac, Makefile.am: New files.
2012-06-13 18:01:25 +02:00
Ludovic Courtès
2acb2cb6d0
Change `build-expression->derivation' to support sub-derivation inputs.
...
* guix/derivations.scm (build-expression->derivation): Change to expect
INPUTS to have the form (NAME DRV-PATH SUB-DRV) or (NAME DRV-PATH),
instead of (NAME . DRV-PATH). Update callers accordingly.
* guix/gnu-build-system.scm, tests/builders.scm, tests/derivations.scm:
Update accordingly.
2012-06-13 17:21:27 +02:00
Ludovic Courtès
c36db98c8e
Add supporting tools for the GNU Build System.
...
* guix/derivations.scm (build-expression->derivation): Add all of INPUTS
as inputs to the final derivation.
* guix/build/gnu-build-system.scm, guix/build/utils.scm,
guix/gnu-build-system.scm: New files.
* tests/builders.scm ("gnu-build"): New test.
2012-06-13 17:03:34 +02:00
Ludovic Courtès
bcdd83ec69
Fix the order of the derivation's sources in `derivation-hash'.
...
* guix/derivations.scm (derivation-hash): Sort SOURCES alphabetically as
well.
2012-06-13 16:45:54 +02:00
Ludovic Courtès
224f7ad6a3
Fix `imported-files' for files with a common prefix.
...
* guix/derivations.scm (imported-files)[builder]: For TAIL, check
whether it exists before (mkdir TAIL).
* tests/derivations.scm ("imported-files"): Add file with a common
prefix.
2012-06-12 23:30:00 +02:00
Ludovic Courtès
d1b1c4249a
Add `add-to-store' test for flat files.
...
* tests/derivations.scm ("add-to-store, flat"): New test.
2012-06-12 00:19:04 +02:00
Ludovic Courtès
3eb982377e
Augment build-expression->derivation' with #:modules; add http-fetch'.
...
* guix/derivations.scm (imported-modules): New procedure.
(build-expression->derivation): New keyword argument `modules'.
Use `imported-modules' when MODULES is non-empty, and pass it with
`-L' to GUILE.
* guix/build/http.scm, guix/http.scm, tests/builders.scm: New files.
2012-06-12 00:18:14 +02:00
Ludovic Courtès
99634e3ff4
Add `imported-files'.
...
* guix/derivations.scm (imported-files): New procedure.
(build-expression->derivation): Correctly handle inputs that are
sources and not derivation paths.
* tests/derivations.scm ("imported-files"): New test.
2012-06-11 23:12:55 +02:00
Ludovic Courtès
0e383c76ce
Fix the `build-expression->derivation' fixed-output test.
...
* tests/derivations.scm ("build-expression->derivation"): Fix the
builder to actually pass a bytevector to `put-bytevector'.
2012-06-11 23:02:39 +02:00
Ludovic Courtès
9809055707
Add a `%current-system' fluid.
...
* guix/utils.scm (gnu-triplet->nix-system): New procedure.
(%current-system): New variable.
* tests/utils.scm ("gnu-triplet->nix-system"): New test.
* tests/derivations.scm (%current-system): Remove. Update users to
use (%current-system) instead.
2012-06-11 21:50:17 +02:00
Ludovic Courtès
b37eb5ede6
Add `add-to-store' with recursive directory storage.
...
* guix/store.scm (write-file): Implement directory recursive dump.
(add-to-store): Fix the parameter list.
* tests/derivations.scm (directory-contents): New procedure.
("add-to-store, recursive"): New test.
2012-06-10 22:43:02 +02:00
Ludovic Courtès
81095052a8
tests: Don't hard-code the system type.
...
* tests/derivations.scm (%current-system): New variable. Replace
occurrences of "x86_64-linux" by %CURRENT-SYSTEM.
2012-06-10 15:34:46 +02:00
Ludovic Courtès
9bc07f4df0
Add multiple-output support to `build-expression->derivation'.
...
* guix/derivations.scm (build-expression->derivation): Add `outputs'
keyword parameter; pass it to `derivation'. Define `%outputs' in the
prologue.
* tests/derivations.scm ("build-expression->derivation with two
outputs"): New test.
2012-06-09 23:16:55 +02:00
Ludovic Courtès
7946c4e710
Add `derivation' test for multiple-output derivations.
...
* tests/derivations.scm ("multiple-output derivation"): New test.
2012-06-09 21:52:31 +02:00
Ludovic Courtès
af7f9e5f13
Sort environment variables alphabetically in `derivation'.
...
* guix/derivations.scm (derivation)[env-vars-with-empty-outputs]: Sort
the result alphabetically.
* tests/derivations.scm ("build derivation with 1 source"): Add
environment variables.
2012-06-09 21:50:30 +02:00
Ludovic Courtès
26b969dee0
Add support for fixed-output derivations in `build-expression->derivation'.
...
* guix/derivations.scm (build-expression->derivation): Pass HASH and
HASH-ALGO to `derivation'.
* tests/derivations.scm ("build-expression->derivation for fixed-output
derivation"): New test.
2012-06-09 18:52:16 +02:00
Ludovic Courtès
749c656755
Add support for fixed-output derivations.
...
* guix/derivations.scm (read-derivation)[outputs->alist]: For
fixed-outputs, convert HASH with `base16-string->bytevector'.
(write-derivation): Likewise, convert HASH-ALGO to a string and HASH
to a base16 string.
(derivation-hash): Expect HASH to be a bytevector, not a string;
convert HASH with `bytevector->base16-string'.
* tests/derivations.scm ("fixed-output derivation"): New test.
2012-06-09 18:49:19 +02:00
Ludovic Courtès
6d800a80ea
Add `base16-string->bytevector'.
...
* guix/utils.scm (base16-string->bytevector): New procedure.
* tests/utils.scm ("bytevector->base16-string->bytevector"): New test.
2012-06-09 16:34:18 +02:00
Ludovic Courtès
c8369cacce
Add base32-string->bytevector' and nix-base32-string->bytevector'.
...
* guix/utils.scm (bytevector-quintet-set!,
bytevector-quintet-set-right!, base32-string-unfold,
base32-string-unfold-right, make-base32-string->bytevector,
base32-string->bytevector, nix-base32-string->bytevector): New
procedures.
* tests/utils.scm ("base32-string->bytevector",
"nix-base32-string->bytevector"): New tests.
2012-06-09 15:25:51 +02:00
Ludovic Courtès
4255d4e3c5
Augment `README'.
2012-06-08 23:13:33 +02:00
Ludovic Courtès
d9085c23c4
Add `build-expression->derivation'.
...
* guix/derivations.scm (%guile-for-build): New parameter.
(build-expression->derivation): New procedure.
* tests/derivations.scm ("build-expression->derivation without inputs",
"build-expression->derivation with one input"): New tests.
2012-06-08 21:31:01 +02:00
Ludovic Courtès
de4c3f26cb
Allow derivations with input derivations.
...
* guix/derivations.scm (derivation-path->output-path): New procedure.
(derivation-hash): Call `memoize'. In the fixed-output case, convert
HASH-ALGO to a string. In the other case, sort inputs in the
alphabetical order of their hex hash. For inputs with no sub-drvs,
add "out" as the sub-drv.
* guix/utils.scm (%nixpkgs-directory): New parameter.
(nixpkgs-derivation, memoize): New procedures.
* tests/derivations.scm ("build derivation with 1 source"): Remove
useless shebang.
(%coreutils): New variable.
("build derivation with coreutils"): New test.
2012-06-07 23:15:00 +02:00
Ludovic Courtès
087602b687
Fix the order of environment variables in `derivation'.
...
* guix/derivations.scm (derivation)[env-vars-with-empty-outputs]:
Prepend new environment variables (as expected by Nix), and add them
to E.
2012-06-07 01:51:24 +02:00
Ludovic Courtès
fd96bc05c2
SRFI-64: Remove use of (ice-9 syntax-case).
...
* srfi/srfi-64.upstream.scm [guile]: Remove use of (ice-9 syntax-case).
2012-06-05 11:21:13 +02:00
Ludovic Courtès
33594aa489
tests: Look up test.drv' using search-path'.
...
* tests/derivations.scm ("parse & export"): Use `search-path' to find
`test.drv'.
2012-06-05 11:18:20 +02:00
Ludovic Courtès
fb3eec8301
Test the `build-derivations' operation.
...
* guix/derivations.scm (derivation): Return DRV as a second value.
* tests/derivations.scm ("build derivation with 1 source"): New test.
2012-06-05 00:04:07 +02:00
Ludovic Courtès
b7a7f59847
Add the usual top-level files.
2012-06-03 23:46:56 +02:00
Ludovic Courtès
26bbbb9520
First stab at the `derivation' primitive.
...
* guix/store.scm (%store-prefix): New parameter.
(store-path?, derivation-path?): New procedures.
* guix/derivations.scm (write-derivation): Pass SOURCES through
`object->string'.
(compressed-hash, store-path, output-path, derivation): New
procedures.
* tests/derivations.scm (%store): New global variable.
("derivation with no inputs"): New test.
2012-06-03 23:32:06 +02:00
Ludovic Courtès
38b3122afb
Add `bytevector->base16-string'.
...
* guix/utils.scm (bytevector->base16-string): New procedure.
2012-06-03 23:27:18 +02:00
Ludovic Courtès
f9c7080aa3
Fix `bytevector->nix-base32-string'.
...
* guix/utils.scm (bytevector-quintet-ref-right,
bytevector-quintet-fold): New procedures.
(bytevector-quintet-fold-right): Add `quintet-fold' parameter; use it
instead of `bytevector-quintet-fold'.
(bytevector->base32-string): Pass BYTEVECTOR-QUINTET-FOLD as the
first parameter.
(bytevector->nix-base32-string): Pass BYTEVECTOR-QUINTET-FOLD-RIGHT as
the first parameter.
* tests/utils.scm ("sha256 & bytevector->nix-base32-string"): New test.
2012-06-03 22:39:26 +02:00
Ludovic Courtès
d0a92b7531
Move `sha256' to (guix utils).
...
* guix/derivations.scm (sha256): Move to...
* guix/utils.scm (sha256): ... here.
2012-06-03 20:26:45 +02:00
Ludovic Courtès
e87088c9d5
store: Raise error conditions upon protocol errors.
...
* guix/store.scm (&nix-error, &nix-protocol-error): New SRFI-35
condition types.
(process-stderr): Raise an error condition upon protocol errors
instead of returning to the caller. This allows the connection to be
reused for further interactions.
2012-06-02 23:18:45 +02:00
Ludovic Courtès
e3deeebb27
Add (guix utils), with `bytevector->base32-string'.
...
* guix/utils.scm, tests/utils.scm: New files.
2012-06-01 23:30:16 +02:00
Ludovic Courtès
69f90f5c81
Use libchop for cryptographic hashes and related.
...
* guix/derivations.scm (sha256): Rewrite using libchop's
`bytevector-hash'.
(derivation-hash): Add docstring.
2012-06-01 23:30:14 +02:00
Ludovic Courtès
341c6fdd82
Add unit test for derivation parsing and output.
...
* guix/derivations.scm: Export `read-derivation' and `write-derivation'.
* srfi/srfi-64.scm, srfi/srfi-64.upstream.scm: New files, from libchop.
* tests/derivations.scm, tests/test.drv: New files.
2012-04-19 23:09:55 +02:00
Ludovic Courtès
1054857d7a
Add `.gitignore'.
2012-04-18 23:34:19 +02:00
Ludovic Courtès
77d3cf087d
Split (guix) in (guix store) and (guix derivations).
...
* guix.scm: Move contents to other files. Just aggregate these.
* guix/derivations.scm, guix/store.scm: New files.
2012-04-18 23:34:12 +02:00
Ludovic Courtès
207cba8114
Initial commit.
2012-04-18 23:21:11 +02:00