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