1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-07 18:54:06 +02:00

Compare commits

..

1255 Commits

Author SHA1 Message Date
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
405 changed files with 42382 additions and 26231 deletions
+21
View File
@@ -0,0 +1,21 @@
;; Per-directory local variables for GNU Emacs 23 and later.
((nil . ((fill-column . 78)
(tab-width . 8)))
(c-mode . ((c-file-style . "gnu")))
(scheme-mode
.
((indent-tabs-mode . nil)
(eval . (put 'test-assert 'scheme-indent-function 1))
(eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'call-with-input-string 'scheme-indent-function 1))
(eval . (put 'guard 'scheme-indent-function 1))
(eval . (put 'lambda* 'scheme-indent-function 1))
(eval . (put 'substitute* 'scheme-indent-function 1))
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 1))
(eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
(eval . (put 'with-error-handling 'scheme-indent-function 0))))
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
(texinfo-mode . ((indent-tabs-mode . nil)
(fill-column . 72))))
+75
View File
@@ -0,0 +1,75 @@
*~
,*
*.tmp
*.go
tmp
*.log
/build-aux
/configure
Makefile.in
Makefile
/autom4te.cache
config.cache
/aclocal.m4
/config.status
/ABOUT-NLS
/m4/ChangeLog
/m4/gettext.m4
/m4/iconv.m4
/m4/lib-ld.m4
/m4/lib-link.m4
/m4/lib-prefix.m4
/m4/nls.m4
/m4/po.m4
/m4/progtest.m4
/po/ChangeLog
/po/Makefile.in.in
/po/POTFILES
/po/Rules-quot
/po/boldquot.sed
/po/en@boldquot.header
/po/en@quot.header
/po/insert-header.sin
/po/quot.sed
/po/remove-potcdate.sin
/po/stamp-po
/po/guix.pot
/tests/*.trs
/INSTALL
/m4/*
/pre-inst-env
/doc/.dirstamp
/doc/guix.info
/doc/guix.pdf
/doc/stamp-vti
/doc/version.texi
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
/gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
/guix/config.scm
/nix/nix-daemon/nix-daemon.cc
/nix/config.h
/nix/config.h.in
stamp-h[0-9]
/nix/AUTHORS
/nix/COPYING
/libformat.a
/libstore.a
/libutil.a
/guix-daemon
/test-tmp
/nix/scripts/list-runtime-roots
/test-env
/nix/nix-setuid-helper/nix-setuid-helper.cc
/scripts/guix
/doc/guix.aux
/doc/guix.cp
/doc/guix.cps
/doc/guix.fn
/doc/guix.fns
/doc/guix.ky
/doc/guix.pg
/doc/guix.toc
/doc/guix.tp
/doc/guix.vr
/doc/guix.vrs
/nix/scripts/substitute-binary
+3
View File
@@ -0,0 +1,3 @@
[submodule "nix-upstream"]
path = nix-upstream
url = http://github.com/NixOS/nix.git
+15
View File
@@ -0,0 +1,15 @@
GNU Guix is consists of Scheme code that implements the deployment model
of the Nix package management tool. In fact, it currently talks to a
build daemon whose code comes from Nix (see the manual for details.)
Nix was initially written by Eelco Dolstra; other people have been
contributing to it. See `nix/AUTHORS' for details.
GNU Guix was initiated by Ludovic Courtès <ludo@gnu.org>, but it would
not be what it is without the contributions of the following people (in
alphabetical order):
Andreas Enge <andreas@enge.fr>
Nikita Karetnikov <nikita@karetnikov.org>
Cyril Roelandt <tipecaml@gmail.com>
Mark H. Weaver <mhw@netris.org>
+674
View File
@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+4
View File
@@ -0,0 +1,4 @@
Normally a ChangeLog is generated at "make dist" time and available in
source tarballs.
If not, see the Git commit log at <http://git.sv.gnu.org/cgit/guix.git/>.
+203
View File
@@ -0,0 +1,203 @@
-*- mode: org; coding: utf-8; -*-
#+TITLE: Hacking GNU Guix and Its Incredible Distro
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* Running Guix before it is installed
Command-line tools can be used even if you have not run "make install".
To do that, prefix each command with ./pre-inst-env, as in:
./pre-inst-env guix-build --help
Similarly, for a Guile session using the Guix modules:
./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
The pre-inst-env script sets up all the environment variables
necessary to support this.
* The Perfect Setup
The Perfect Setup to hack on Guix is basically the perfect setup used
for Guile hacking (info "(guile) Using Guile in Emacs"). First, you
need more than an editor, you need [[http://www.gnu.org/software/emacs][Emacs]], empowered by the wonderful
[[http://nongnu.org/geiser/][Geiser]].
Geiser allows for interactive and incremental development from within
Emacs: code compilation and evaluation from within buffers, access to
on-line documentation (docstrings), context-sensitive completion, M-. to
jump to an object definition, a REPL to try out your code, and more.
To actually edit the code, Emacs already has a neat Scheme mode. But in
addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Paredit]]. It provides facilities to
directly operate on the syntax tree, such as raising an s-expression or
wrapping it, swallowing or rejecting the following s-expression, etc.
* Adding new packages
Package recipes in Guix look like this:
#+BEGIN_SRC scheme
(package
(name "nettle")
(version "2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/nettle/nettle-"
version ".tar.gz"))
(sha256
(base32
"0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa"))))
(build-system gnu-build-system)
(inputs `(("m4" ,m4)))
(propagated-inputs `(("gmp" ,gmp)))
(home-page
"http://www.lysator.liu.se/~nisse/nettle/")
(synopsis "GNU Nettle, a cryptographic library")
(description
"Nettle is a cryptographic library...")
(license gpl2+))
#+END_SRC
Such a recipe can be written by hand, and then tested by running
./pre-inst-env guix-build nettle.
When writing the recipe, the base32-encoded SHA256 hash of the source
code tarball, which can be seen in the example above, can be obtained by
running:
guix-download http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz
Alternatively, it is possible to semi-automatically import recipes from
the [[http://nixos.org/nixpkgs/][Nixpkgs]] software distribution using this command:
guix-import /path/to/nixpkgs/checkout nettle
The command automatically fetches and converts to Guix the “Nix
expression” of Nettle.
* Porting the Guix distro on a new platform
** Introduction
Unlike Make or similar build tools, Guix requires absolutely /all/ the
dependencies of a build process to be specified.
For a user-land software distribution, that means that the process that
builds GCC (then used to build all other programs) must itself be
specified; and the process to build the C library to build that GCC; and
the process to build the GCC to build that library; and... See the
problem? Chicken-and-egg.
To break that cycle, the distro starts from a set of pre-built
binariesusually referred to as “bootstrap binaries.” These include
statically-linked versions of Guile, GCC, Coreutils, Make, Grep, sed,
etc., and the GNU C Library.
This section describes how to build those bootstrap binaries when
porting to a new platform.
** When the platform is supported by Nixpkgs
In that case, the easiest thing is to bootstrap the distro using
binaries from Nixpkgs.
To do that, you need to comment out the definitions of
%bootstrap-guile and %bootstrap-inputs in distro/packages/bootstrap.scm
to force the use of Nixpkgs derivations. For instance, when porting to
i686-linux, you should redefine these variables along these lines:
#+BEGIN_SRC scheme
(define %bootstrap-guile
(nixpkgs-derivation "guile" "i686-linux"))
(define %bootstrap-inputs
(compile-time-value
`(("libc" ,(nixpkgs-derivation "glibc" "i686-linux"))
,@(map (lambda (name)
(list name (nixpkgs-derivation name "i686-linux")))
'("gnutar" "gzip" "bzip2" "xz" "patch"
"coreutils" "gnused" "gnugrep" "bash"
"gawk" ; used by `config.status'
"gcc" "binutils")))))
#+END_SRC
That should allow the distro to be bootstrapped.
Then, the tarballs containing the initial binaries of Guile, Coreutils,
GCC, libc, etc. need to be built. To that end, run the following
commands:
#+BEGIN_SRC sh
./pre-inst-env guix-build -K \
-e '(@ (gnu packages make-bootstrap) %bootstrap-tarballs)' \
--system=i686-linux
#+END_SRC
These should build tarballs containing statically-linked tools usable on
that system.
In the source tree, you need to install binaries for mkdir, bash,
tar, and xz under distro/packages/bootstrap/i686-linux. These
binaries can be extracted from the static-binaries tarball built above.
A rule for distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
needs to be added in Makefile.am, with the appropriate hexadecimal
vrepresentation of its SHA256 hash.
You may then revert your changes to bootstrap.scm. For the variables
%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc,
and %bootstrap-gcc, the expected SHA256 of the corresponding tarballs
for i686-linux (built above) must be added.
This should be enough to bootstrap the distro without resorting to
Nixpkgs.
** When the platform is *not* supported by Nixpkgs
In that case, the bootstrap binaries should be built using whatever
tools are available on the target platform. That is, the tarballs and
binaries show above must first be built manually, using the available
tools.
They should have the same properties as those built by the Guix recipes
shown above. For example, all the binaries (except for glibc) must be
statically-linked; the bootstrap Guile must be relocatable (see patch in
the Guix distro); the static-binaries tarball must contain the same
programs (Coreutils, Grep, sed, Awk, etc.); and so on.
* Commit Access
Development is done using the Git distributed version control system. Thus,
access to the repository is not strictly necessary. We welcome contributions
in the form of patches as produced by git format-patch sent to
bug-guix@gnu.org.
However, for frequent contributors, having write access to the repository is
convenient. When you get commit access, please make sure to follow the policy
below (discussions of the policy can take place on bug-guix@gnu.org.)
Non-trivial patches should always be posted to bug-guix@gnu.org (trivial
patches include fixing typos, etc.)
For patches that just add a new package, and a simple one, its OK to commit,
if youre confident (which means you successfully built it in a chroot setup.)
Likewise for package upgrades. We have a mailing list for commit
notifications (guix-commits@gnu.org), so people can notice. Before pushing
your changes, make sure to run git pull --rebase.
For anything else, please post to bug-guix@gnu.org and leave time for a
review, without committing anything. If you didnt receive any reply
after two weeks, and if youre confident, its OK to commit.
That last part is subject to being adjusted, allowing individuals to commit
directly on non-controversial changes on parts theyre familiar with.
+438
View File
@@ -0,0 +1,438 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
bin_SCRIPTS = \
scripts/guix
nodist_noinst_SCRIPTS = \
pre-inst-env \
test-env
MODULES = \
guix/scripts/build.scm \
guix/scripts/download.scm \
guix/scripts/import.scm \
guix/scripts/package.scm \
guix/scripts/gc.scm \
guix/scripts/hash.scm \
guix/scripts/pull.scm \
guix/scripts/substitute-binary.scm \
guix/scripts/refresh.scm \
guix/base32.scm \
guix/records.scm \
guix/utils.scm \
guix/serialization.scm \
guix/nar.scm \
guix/derivations.scm \
guix/download.scm \
guix/gnu-maintenance.scm \
guix/licenses.scm \
guix/build-system.scm \
guix/build-system/cmake.scm \
guix/build-system/gnu.scm \
guix/build-system/perl.scm \
guix/build-system/python.scm \
guix/build-system/trivial.scm \
guix/ftp-client.scm \
guix/web.scm \
guix/gnupg.scm \
guix/store.scm \
guix/ui.scm \
guix/build/download.scm \
guix/build/cmake-build-system.scm \
guix/build/gnu-build-system.scm \
guix/build/perl-build-system.scm \
guix/build/python-build-system.scm \
guix/build/utils.scm \
guix/build/union.scm \
guix/build/rpath.scm \
guix/packages.scm \
guix/snix.scm \
guix.scm \
gnu/packages.scm \
gnu/packages/acl.scm \
gnu/packages/algebra.scm \
gnu/packages/aspell.scm \
gnu/packages/attr.scm \
gnu/packages/autotools.scm \
gnu/packages/avahi.scm \
gnu/packages/base.scm \
gnu/packages/bash.scm \
gnu/packages/bdb.scm \
gnu/packages/bdw-gc.scm \
gnu/packages/bison.scm \
gnu/packages/bootstrap.scm \
gnu/packages/cdrom.scm \
gnu/packages/cflow.scm \
gnu/packages/check.scm \
gnu/packages/cmake.scm \
gnu/packages/compression.scm \
gnu/packages/cpio.scm \
gnu/packages/cppi.scm \
gnu/packages/cross-base.scm \
gnu/packages/cryptsetup.scm \
gnu/packages/curl.scm \
gnu/packages/cyrus-sasl.scm \
gnu/packages/dejagnu.scm \
gnu/packages/ddrescue.scm \
gnu/packages/dwm.scm \
gnu/packages/ed.scm \
gnu/packages/emacs.scm \
gnu/packages/fdisk.scm \
gnu/packages/file.scm \
gnu/packages/flex.scm \
gnu/packages/fontutils.scm \
gnu/packages/freeipmi.scm \
gnu/packages/gawk.scm \
gnu/packages/gcc.scm \
gnu/packages/gdb.scm \
gnu/packages/gdbm.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/gtk.scm \
gnu/packages/guile.scm \
gnu/packages/gv.scm \
gnu/packages/help2man.scm \
gnu/packages/hugs.scm \
gnu/packages/icu4c.scm \
gnu/packages/idutils.scm \
gnu/packages/indent.scm \
gnu/packages/irssi.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
gnu/packages/lesstif.scm \
gnu/packages/libapr.scm \
gnu/packages/libdaemon.scm \
gnu/packages/libevent.scm \
gnu/packages/libffi.scm \
gnu/packages/libidn.scm \
gnu/packages/libjpeg.scm \
gnu/packages/libphidget.scm \
gnu/packages/libpng.scm \
gnu/packages/libsigsegv.scm \
gnu/packages/libtiff.scm \
gnu/packages/libunistring.scm \
gnu/packages/libusb.scm \
gnu/packages/libunwind.scm \
gnu/packages/linux.scm \
gnu/packages/linux-initrd.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
gnu/packages/lua.scm \
gnu/packages/lvm.scm \
gnu/packages/m4.scm \
gnu/packages/mailutils.scm \
gnu/packages/make-bootstrap.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/mp3.scm \
gnu/packages/multiprecision.scm \
gnu/packages/mysql.scm \
gnu/packages/nano.scm \
gnu/packages/ncurses.scm \
gnu/packages/netpbm.scm \
gnu/packages/nettle.scm \
gnu/packages/ocaml.scm \
gnu/packages/oggvorbis.scm \
gnu/packages/openldap.scm \
gnu/packages/openssl.scm \
gnu/packages/parted.scm \
gnu/packages/patchelf.scm \
gnu/packages/pcre.scm \
gnu/packages/pdf.scm \
gnu/packages/perl.scm \
gnu/packages/pkg-config.scm \
gnu/packages/popt.scm \
gnu/packages/pth.scm \
gnu/packages/python.scm \
gnu/packages/qemu.scm \
gnu/packages/ratpoison.scm \
gnu/packages/readline.scm \
gnu/packages/recutils.scm \
gnu/packages/rsync.scm \
gnu/packages/samba.scm \
gnu/packages/scheme.scm \
gnu/packages/screen.scm \
gnu/packages/shishi.scm \
gnu/packages/smalltalk.scm \
gnu/packages/sqlite.scm \
gnu/packages/ssh.scm \
gnu/packages/subversion.scm \
gnu/packages/system.scm \
gnu/packages/tcl.scm \
gnu/packages/tcsh.scm \
gnu/packages/texinfo.scm \
gnu/packages/texlive.scm \
gnu/packages/time.scm \
gnu/packages/tmux.scm \
gnu/packages/tor.scm \
gnu/packages/version-control.scm \
gnu/packages/vim.scm \
gnu/packages/vpn.scm \
gnu/packages/w3m.scm \
gnu/packages/wdiff.scm \
gnu/packages/wget.scm \
gnu/packages/which.scm \
gnu/packages/xml.scm \
gnu/packages/xorg.scm \
gnu/packages/zile.scm \
gnu/packages/zip.scm \
gnu/system/vm.scm
# Because of the autoload hack in (guix build download), we must build it
# first to avoid errors on systems where (gnutls) is unavailable.
guix/scripts/download.go: guix/build/download.go
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go
nobase_dist_guilemodule_DATA = $(MODULES)
patchdir = $(guilemoduledir)/gnu/packages/patches
dist_patch_DATA = \
gnu/packages/patches/automake-skip-amhello-tests.patch \
gnu/packages/patches/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/emacs-configure-sh.patch \
gnu/packages/patches/findutils-absolute-paths.patch \
gnu/packages/patches/flac-fix-memcmp-not-declared.patch \
gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \
gnu/packages/patches/gettext-gets-undeclared.patch \
gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
gnu/packages/patches/glib-tests-timezone.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-no-ld-so-cache.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
gnu/packages/patches/guile-default-utf8.patch \
gnu/packages/patches/guile-linux-syscalls.patch \
gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/libapr-skip-getservbyname-test.patch \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libtool-skip-tests.patch \
gnu/packages/patches/lsh-guile-compat.patch \
gnu/packages/patches/lsh-no-root-login.patch \
gnu/packages/patches/lsh-pam-service-name.patch \
gnu/packages/patches/m4-gets-undeclared.patch \
gnu/packages/patches/m4-readlink-EINVAL.patch \
gnu/packages/patches/m4-s_isdir.patch \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mcron-install.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/python-fix-dbm.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/qemu-multiple-smb-shares.patch \
gnu/packages/patches/readline-link-ncurses.patch \
gnu/packages/patches/scheme48-tests.patch \
gnu/packages/patches/tar-gets-undeclared.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/xpdf-constchar.patch
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
dist_bootstrap_x86_64_linux_DATA = \
gnu/packages/bootstrap/x86_64-linux/bash \
gnu/packages/bootstrap/x86_64-linux/mkdir \
gnu/packages/bootstrap/x86_64-linux/tar \
gnu/packages/bootstrap/x86_64-linux/xz
dist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/bash \
gnu/packages/bootstrap/i686-linux/mkdir \
gnu/packages/bootstrap/i686-linux/tar \
gnu/packages/bootstrap/i686-linux/xz
# Big bootstrap binaries are not included in the tarball. Instead, they
# are downloaded.
nodist_bootstrap_x86_64_linux_DATA = \
gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
nodist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
# Those files must remain executable, so they remain executable once
# imported into the store.
install-data-hook:
chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
DISTCLEANFILES = \
$(nodist_bootstrap_x86_64_linux_DATA) \
$(nodist_bootstrap_i686_linux_DATA)
# Method to download a file from an external source.
DOWNLOAD_FILE = \
GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
$(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \
"$(top_srcdir)/build-aux/download.scm"
gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c"
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c"
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
SCM_TESTS = \
tests/base32.scm \
tests/builders.scm \
tests/derivations.scm \
tests/ui.scm \
tests/records.scm \
tests/utils.scm \
tests/build-utils.scm \
tests/packages.scm \
tests/snix.scm \
tests/store.scm \
tests/nar.scm \
tests/union.scm
SH_TESTS = \
tests/guix-build.sh \
tests/guix-download.sh \
tests/guix-gc.sh \
tests/guix-hash.sh \
tests/guix-package.sh
TESTS = $(SCM_TESTS) $(SH_TESTS)
TEST_EXTENSIONS = .scm .sh
AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)"
SCM_LOG_COMPILER = $(top_builddir)/test-env $(GUILE)
AM_SCM_LOG_FLAGS = --no-auto-compile -L "$(top_srcdir)"
SH_LOG_COMPILER = $(top_builddir)/test-env $(SHELL)
AM_SH_LOG_FLAGS = -x -e
# Make sure `tests/guix-gc.sh' runs last, after all the others. Otherwise it
# could end up removing files from the store while they are being used by
# other instances of the daemon.
tests/guix-gc.log: \
$(patsubst %.sh,%.log,$(filter-out tests/guix-gc.sh,$(SH_TESTS))) \
$(SCM_TESTS:%.scm=%.log)
EXTRA_DIST = \
HACKING \
ROADMAP \
TODO \
.dir-locals.el \
hydra.scm \
build-aux/download.scm \
build-aux/sync-synopses.scm \
srfi/srfi-64.scm \
srfi/srfi-64.upstream.scm \
tests/test.drv \
build-aux/config.rpath \
bootstrap \
release.nix \
$(TESTS)
CLEANFILES = \
$(GOBJECTS) \
$(SCM_TESTS:tests/%.scm=%.log)
AM_V_GUILEC = $(AM_V_GUILEC_$(V))
AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
AM_V_GUILEC_0 = @echo " GUILEC" $@;
# XXX: Use the C locale for when Guile lacks
# <http://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=e2c6bf3866d1186c60bacfbd4fe5037087ee5e3f>.
.scm.go:
$(AM_V_GUILEC)$(MKDIR_P) `dirname "$@"` ; \
LC_ALL=C \
$(top_builddir)/pre-inst-env \
$(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)" \
-Wformat -Wunbound-variable -Warity-mismatch \
--target="$(host)" \
-o "$@" "$<"
SUFFIXES = .go
# Make sure source files are installed first, so that the mtime of
# installed compiled files is greater than that of installed source
# files. See
# <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html>
# for details.
guix_install_go_files = install-nobase_nodist_guilemoduleDATA
$(guix_install_go_files): install-nobase_dist_guilemoduleDATA
SUBDIRS = po
info_TEXINFOS = doc/guix.texi
EXTRA_DIST += doc/fdl-1.3.texi
if BUILD_DAEMON
include daemon.am
endif BUILD_DAEMON
ACLOCAL_AMFLAGS = -I m4
AM_DISTCHECK_CONFIGURE_FLAGS = \
--with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \
--with-nix-prefix="$(NIX_PREFIX)" \
--enable-daemon
dist-hook: sync-synopses gen-ChangeLog assert-no-store-file-names
sync-synopses:
-$(top_builddir)/pre-inst-env $(GUILE) \
$(top_srcdir)/build-aux/sync-synopses.scm
gen-ChangeLog:
if test -d .git; then \
$(top_srcdir)/build-aux/gitlog-to-changelog \
> $(distdir)/cl-t; \
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
# Make sure we're not shipping a file that embeds a local /nix/store file name.
assert-no-store-file-names:
if grep -r --exclude=*.texi --exclude=*.info \
"$(storedir)/[a-z0-9]{32}-" $(distdir) ; \
then \
echo "error: store file names embedded in the distribution" >&2 ; \
exit 1 ; \
fi
.PHONY: sync-synopses gen-ChangeLog assert-no-store-file-names
+126
View File
@@ -0,0 +1,126 @@
-*- org -*-
#+TITLE: Guix NEWS history of user-visible changes
#+STARTUP: content hidestars
Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.2 (since 0.1)
** Package management
*** Guix commands are now sub-commands of the “guix” program
Instead of typing “guix-package”, one now has to type “guix package”, and so
on. This has allowed us to homogenize the user interface and initial program
setup, and to allow commands to be upgradable through “guix pull”.
*** New “guix package --upgrade” option
As the name implies, this option atomically upgrades all the packages
installed in a profile or the set of packages matching a given regexp.
See “Invoking guix package” in the manual.
*** New “guix package --search” option
Performs a full text search in package synopses and descriptions, and returns
the matching packages in recutils format. See “Invoking guix package” in the
manual, for details.
*** New “guix pull” command
The command pulls the latest version of Guixboth the package management
modules and the distribution. See the manual for details.
*** New binary substituter
The “substituter” mechanism allows pre-built binaries to be transparently
downloaded instead of performing a build locally. Currently binaries are
available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. The
distribution is continuously built and binaries are made available from there.
See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
available binary packages.
*** New “guix refresh” command
The command is used by Guix maintainers. It automatically updates the
distribution to the latest upstream releases of GNU software.
*** New “guix hash” command
Convenience command to compute the hash of a file. See the manual for
details.
*** Nix daemon code updated
The daemon code from Nix, used by the guix-daemon command, has been updated
to current Nix master.
** Programming interfaces
*** (guix download) now supports HTTPS, using GnuTLS
It allows package source tarballs to be retrieved over HTTPS.
*** New native-search-path and search-path package fields
Packages can define in their native-search-path field environment variables
that define search paths and need to be set for proper functioning of the
package. For instance, GCC has CPATH and LIBRARY_PATH in its
native-search-path, Perl has PERL5LIB, Python has PYTHONPATH, etc.
These environment variables are automatically set when building a package that
uses one of these.
*** Package inputs can be a function of the target system type
The inputs field of a package can now be conditional on the value of
(%current-system). This is useful for packages that take system-dependent
tarballs as inputs, such as GNU/MIT Scheme.
*** New build systems
The perl-build-system, python-build-system, and cmake-build-system have
been added. They implement the standard build systems for Perl, Python, and
CMake packages.
*** Tools to build Linux initrds, QEMU images, and more
The (gnu packages linux-initrd) module provides a procedure to build a Linux
initrd (“initial RAM disk”). The initrd embeds Guile, which is used to
evaluate the given expression. The example below returns an initrd that
mounts the /proc file system and starts a REPL:
(expression->initrd
'(begin
(mkdir "/proc")
(mount "none" "/proc" "proc")
((@ (system repl repl) start-repl))))
More examples in the linux-initrd.scm file.
Experimental interfaces to produce and use QEMU images are provided by the
(gnu system vm) module. For instance, the
expression->derivation-in-linux-vm evaluates the given Scheme expression in
a QEMU virtual machine running the Linux kernel and Guile.
** GNU distribution
Many updates and additions have been made to the distribution. Here are the
highlights.
*** Major updates
GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
Coreutils 8.20, GDB 7.6, Texinfo 5.1.
*** Noteworthy new packages
TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
CHICKEN, Scheme48, Hugs, Python, Lua, Samba.
+149 -3
View File
@@ -1,3 +1,149 @@
This “orphan” branch contains the keyring of the Guix project: the OpenPGP
public keys of all the Guix committers ever. It is used to verify signatures
on Guix commits. We only ever add new keys here.
-*- mode: org -*-
[[http://www.gnu.org/software/guix/][GNU Guix]] (IPA: /ɡiːks/) is a purely functional package manager, and
associated free software distribution, for the [[http://www.gnu.org/gnu/gnu.html][GNU system]]. In addition
to standard package management features, Guix supports transactional
upgrades and roll-backs, unprivileged package management, per-user
profiles, and garbage collection.
It provides [[http://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded
domain-specific languages (EDSLs) to describe how packages are to be
built and composed.
A user-land free software distribution for GNU/Linux comes as part of
Guix.
Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
* Requirements
GNU Guix currently depends on the following packages:
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]]
- [[http://gnupg.org/][GNU libgcrypt]]
Unless `--disable-daemon' was passed, the following packages are needed:
- [[http://sqlite.org/][SQLite 3]]
- [[http://www.bzip.org][libbz2]]
- [[http://gcc.gnu.org][GCC's g++]]
When `--disable-daemon' was passed, you instead need the following:
- [[http://nixos.org/nix/][Nix]]
Optionally, packages from Nixpkgs may be transparently reused from Guix.
For this to work, you need to have a checkout of the Nixpkgs repository;
the `--with-nixpkgs' option allows you to let `configure' know where the
Nixpkgs checkout is.
- [[http://nixos.org/nixpkgs/][Nixpkgs]]
When building Guix from a checkout, the following packages are also
required:
- [[http://www.gnu.org/software/autoconf/][GNU Autoconf]]
- [[http://www.gnu.org/software/automake/][GNU Automake]]
- [[http://www.gnu.org/software/gettext/][GNU Gettext]]
The "autoreconf -vi" command can be used to generate the build system
infrastructure; it reports an error if an inappropriate version of the
above packages is being used.
* Installing Guix from Guix
You can re-build and re-install Guix using a system that already runs Guix.
To do so:
- install the dependencies (see 'Requirements' above) using Guix
- re-run the configure script passing it the option
`--with-libgcrypt-prefix=$HOME/.guix-profile/'
- run "make" and "make install"
* How It Works
Guix does the high-level preparation of a /derivation/. A derivation is
the promise of a build; it is stored as a text file under
=/nix/store/xxx.drv=. The (guix derivations) module provides the
`derivation' primitive, as well as higher-level wrappers such as
`build-expression->derivation'.
Guix does remote procedure calls (RPCs) to the Guix or Nix daemon (the
=guix-daemon= or =nix-daemon= command), which in turn performs builds
and accesses to the Nix store on its behalf. The RPCs are implemented
in the (guix store) module.
* Installing Guix as non-root
The Guix daemon allows software builds to be performed under alternate
user accounts, which are normally created specifically for this
purpose. For instance, you may have a pool of accounts in the
=guixbuild= group, and then you can instruct =guix-daemon= to use them
like this:
$ guix-daemon --build-users-group=guixbuild
However, unless it is run as root, =guix-daemon= cannot switch users.
In that case, it falls back to using a setuid-root helper program call
=nix-setuid-helper=. That program is not setuid-root by default when
you install it; instead you should run a command along these lines
(assuming Guix is installed under /usr/local):
# chown root.root /usr/local/libexec/nix-setuid-helper
# chmod 4755 /usr/local/libexec/nix-setuid-helper
* Contact
GNU Guix is hosted at https://savannah.gnu.org/projects/guix/.
Please email <bug-guix@gnu.org> for bug reports or questions regarding
Guix and its distribution; email <gnu-system-discuss@gnu.org> for
general issues regarding the GNU system.
Join #guix on irc.freenode.net.
* Guix & Nix
GNU Guix is based on [[http://nixos.org/nix/][the Nix package manager]]. It implements the same
package deployment paradigm, and in fact it reuses some of its code.
Yet, different engineering decisions were made for Guix, as described
below.
Nix is really two things: a package build tool, implemented by a library
and daemon, and a special-purpose programming language. GNU Guix relies
on the former, but uses Scheme as a replacement for the latter.
Using Scheme instead of a specific language allows us to get all the
features and tooling that come with Guile (compiler, debugger, REPL,
Unicode, libraries, etc.) And it means that we have a general-purpose
language, on top of which we can have embedded domain-specific languages
(EDSLs), such as the one used to define packages. This broadens what
can be done in package recipes themselves, and what can be done around them.
Technically, Guix makes remote procedure calls to the nix-worker
daemon to perform operations on the store. At the lowest level, Nix
“derivations” represent promises of a build, stored in .drv files in
the store. Guix produces such derivations, which are then interpreted
by the daemon to perform the build. Thus, Guix derivations can use
derivations produced by Nix (and vice versa).
With Nix and the [[http://nixos.org/nixpkgs][Nixpkgs]] distribution, package composition happens at
the Nix language level, but builders are usually written in Bash.
Conversely, Guix encourages the use of Scheme for both package
composition and builders. Likewise, the core functionality of Nix is
written in C++ and Perl; Guix relies on some of the original C++ code,
but exposes all the API as Scheme.
* Related software
- [[http://nixos.org][Nix, Nixpkgs, and NixOS]], functional package manager and associated
software distribution, are the inspiration of Guix
- [[http://www.gnu.org/software/stow/][GNU Stow]] builds around the idea of one directory per prefix, and a
symlink tree to create user environments
- [[http://www.pvv.ntnu.no/~arnej/store/storedoc_6.html][STORE]] shares the same idea
- [[https://live.gnome.org/OSTree/][GNOME's OSTree]] allows bootable system images to be built from a
specified set of packages
- The [[http://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software
distribution; unlike Guix, it relies on core tools available on the
host system
+64
View File
@@ -0,0 +1,64 @@
-*- mode: org; coding: utf-8; -*-
#+TITLE: Tentative GNU Guix Road Map
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
The goals of the GNU Guix project are two-fold:
- to build a purely functional package manager, based on Nix and
Guile;
- to use it to build a practical 100% free software distribution of
GNU/Linux and possibly other GNU variants, with a focus on the
promotion and tight integration of GNU components.
This documents lists tentative milestones toward these goals.
* GNU Guix 0.1: Jan. 2013 (was: Dec. 2012)
** basic package management facilities
Including install, upgrade, remove, roll-back, and search.
** self-contained user-land distribution
- GNU/Linux-only, i686 and x86_64; optionally mipsel64
- ~100 non-X11 packages
** maybe integrated Nix code
* GNU Guix 0.2: Feb./Mar. 2013
** improved package management features
- user-environment hooks
- sophisticated handling of collisions when building a union (package
priorities, etc.)
** [[file:TODO::*add%20guix-pull][guix-pull tool]] to quickly update Guix and GNU for normal users
** support for fetching pre-built binaries
- this is known as the "binary-cache substituter" in Nix parlance
** auto-update facility available for GNU packages
** more packages
- Xorg
- Emacs
* GNU Guix 0.9: June 2013
** bootable GNU/Linux-Libre distro
** high-level OS configuration descriptive EDSL, à la NixOS
* GNU Guix 1.0: September 2013 (GNU anniversary release)
** bootable GNU/Linux-Libre distro with non-GUI installer
** usable for a range of hacker-style uses
-170
View File
@@ -1,170 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ZPFE
=c1wa
-----END PGP PUBLIC KEY BLOCK-----
-52
View File
@@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
fCnIDNs57Q==
=JaPp
-----END PGP PUBLIC KEY BLOCK-----
+13
View File
@@ -0,0 +1,13 @@
A big thanks to Eelco Dolstra, who designed and implemented Nix.
Transposing functional programming discipline to package management
proved to be inspiring and fruitful.
Thanks to the following people who contributed to GNU Guix through
suggestions, bug reports, patches, or general infrastructure help:
Lluís Batlle i Rossell <viric@viric.name>
Daniel Clark <dclark@pobox.com>
Aleix Conchillo Flaqué <aconchillo@gmail.com>
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
Jason Self <jself@gnu.org>
Alen Skondro <askondro@gmail.com>
+149
View File
@@ -0,0 +1,149 @@
-*- mode: org; coding: utf-8; -*-
#+TITLE: What's left to do?
#+STARTUP: content hidestars
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* integrate needed Nix code
** Remove dependency on OpenSSL
The openssl command-line tool is used in libstore to sign store paths
to be exported, and to check such signatures. The signing keys are
usually in /etc/nix/signing-key.{pub,sec}. They are a PKCS#8-encoded
X.509 SubjectPublicKeyInfo. These can be decoded with the [[http://lists.gnu.org/archive/html/help-gnutls/2012-12/msg00012.html][C API of
GnuTLS]], but not yet with its Guile bindings. Theres also
gnutls_privkey_sign_data to sign, and related functions.
** Add `guix publish' to publish the store using Guile's web server
Generate narinfos and nars on the fly, upon HTTP GET requests.
Ideally, extend .nix-cache-info to include the server's public key, and also
reply to requests for .narinfo.sig.
Optionally, use Guile-Avahi to publish the service.
** MAYBE Add a substituter that uses the GNUnet DHT
Would be neat if binaries could be pushed to and pulled from the GNUnet
DHT. Guix users would sign their binaries, and define which binaries
they trust.
** Add a remote build hook
Like scripts/build-remote.pl in Nix.
* user interface
** Add a package.el (Emacs) back-end
Unfortunately package.el is monolithic, so most likely wed have to
write a new one based on it, as opposed to actually using it.
* extend <origin>
** add OpenPGP signatures:
(origin
(method http-fetch)
(uri "http://.../foo.tgz")
(signature-uri (string-append uri ".sig"))
(signer-openpgp-fingerprint "..."))
** allow <origin> to be a derivation/package or a file
* extend <package>
** add a user-environment-hook
This should specify builder code to be run when building a user
environment with guix-package. For instance, Texinfos hook would
create a new dir.
** add patches there
** extend propagated-build-inputs with support for multiple outputs
#+BEGIN_SRC scheme
(outputs '("out" "include"))
(propagated-build-inputs
`(((("i1" ,p1 "o1")
("i2" ,p2))
=> "include")
("i3" ,p3)))
#+END_SRC
* synchronize package descriptions with GSRC and/or the [[http://directory.fsf.org][FSD]]
Meta-data for GNU packages, including descriptions and synopses, can be
dumped from the FSD:
http://directory.fsf.org/wiki?title=GNU/Export&action=purge .
We could periodically synchronize with that.
* support cross-compilation
Implement package-cross-derivation, and add the corresponding code in
gnu-build-system. Then, actually bootstrap a cross-compilation
environmente.g., a cross-GNU environment.
* add a guildhall build system
The Guildhall is Guiles packaging system. It should be easy to add a
guildhall-build-system that does the right thing based on guildhall
recipes.
* gnu-build-system: produce a debug derivation
Set a .gnu_debuglink in the main derivations to point to the sibling
file name (only the basename, to not retain a dependency on the debug
derivation.)
For /nix/store/xyz-foobar/bin/foo, we should have
/nix/store/abc-foobar-debug/lib/nix/store/xyz-foobar/bin/foo.debug (info
"(gdb) Separate Debug Files").
Users should have a default GDB setting with ~/.guix-profile/lib/debug
as their debug-file-directory.
* build-expression->derivation: define `%system' in the builder
Would allow build expressions to have system-dependent code, like
`glibc-dynamic-linker'.
* add allowed-references in <package>
[[file:~/src/nix/src/libstore/build.cc::if%20(drv.env.find("allowedReferences")%20!%3D%20drv.env.end())%20{][See how Nix implements that internally]].
* union
Support sophisticated collision handling when building a union: check
whether the colliding files are identical, honor per-package priorities,
etc.
* guix package
** add --list-generations, and --delete-generations
* guix build utils
** MAYBE Change ld-wrapper to add RPATH for libs passed by file name
** MAYBE Add equivalent to chrpath that uses [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]]
** MAYBE Add a hash-rewriting thing for deep dependency replacement without rebuild
See [[https://github.com/NixOS/nixpkgs/commit/d1662d715514e6ef9d3dc29f132f1b3d8e608a18][Shea Levy's `replace-dependency' in Nixpkgs]].
* distro
** port to new GNU/Linux platforms, notably mipsel64-linux
** port to GNU/Hurd, aka. i686-gnu
Problems include that current glibc releases do not build on GNU/Hurd.
In addition, there havent been stable releases of GNU Mach, MiG, and
Hurd, which would be a pre-condition.
** make a bootable GNU/Linux-Libre distro, with OS configuration EDSL
Similar in spirit to /etc/nixos/configuration.nix.
-110
View File
@@ -1,110 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=EyBc
-----END PGP PUBLIC KEY BLOCK-----
-112
View File
@@ -1,112 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
aqt8u5BPGC7qb6oikKM=
=X0wP
-----END PGP PUBLIC KEY BLOCK-----
-22
View File
@@ -1,22 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEW9wl+BYJKwYBBAHaRw8BAQdAurhrcJpShB9c6LjA10W25nH06B7+rC7Nha1V
ba9Jo3G0IkFsZXggVm9uZyA8YWxleHZvbmcxOTk1QGdtYWlsLmNvbT6IlgQTFggA
PgIbAQULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBOx5gmSisiCOEHk4nl/xWAk6
4/s4BQJb3CnABQkCL/NKAAoJEF/xWAk64/s4bHEA/RYaH1dxst2MIVuHZQg0VWuj
m7cWKTqzUasHhAkEi83eAQDq3b0LI5bPo5H2eYmeoULDUTJpuihi692H0luJRi6O
B4h1BBAWCAAdFiEEqH9mXV5BNBTOWlOF865L2yPs2hsFAlvcUbYACgkQ865L2yPs
2hsKdAD/XSsEETKmG5H597axepu6zUi8VnzEXRgUGMz4Gh1S9PkBALnlSMINOACE
2nMLnJnPrn3mebMZPLCvFJ/OMW1ugvUFuDMEW9wm0RYJKwYBBAHaRw8BAQdAk2ez
QR8X4VTHUVUiUDCeiBqnQaQWT5hq0Uj+p3VxaC6I9QQYFggAJgIbAhYhBOx5gmSi
siCOEHk4nl/xWAk64/s4BQJb3CnTBQkCL/JwAIF2IAQZFggAHRYhBDBvy48sAcJd
KdMFVmHvUC72AlLyBQJb3CbRAAoJEGHvUC72AlLyAtwA/j8hOb1n52PJ+ql+vYfN
E7dG7KAnN3yUW2NOAMkiN/qzAP4/QTDzBX1l0V6EUo8m6ozQFRLsDTYbEmb9OXrX
vCrpCAkQX/FYCTrj+zhWcAD/XFQnM1bdBKGnMxxI8fQRteaRS4WGt4qhW+CrJ6Jp
DIQBAKtU4vXg9hWlgHgvKXqSEEFm8HyGh/9jx/OoJSfKiLUHuDgEW9wm8BIKKwYB
BAGXVQEFAQEHQHWQ4hmlimFlV1kHTzNeEZ7OH1YxL8GtF5fSNeC2iAB+AwEIB4h+
BBgWCAAmAhsMFiEE7HmCZKKyII4QeTieX/FYCTrj+zgFAlvcKeoFCQIv8lAACgkQ
X/FYCTrj+zhYEgEAqflYQ6CHMbxZfiG1shTFx6rj7RjD9FqzN2bgefw4dDIA/20a
jPZhWiOxJFj8dk+LST8x8vTktqIJwnsNy0rxeugN
=bApJ
-----END PGP PUBLIC KEY BLOCK-----
-44
View File
@@ -1,44 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=E8mu
-----END PGP PUBLIC KEY BLOCK-----
-81
View File
@@ -1,81 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=SWD4
-----END PGP PUBLIC KEY BLOCK-----
-43
View File
@@ -1,43 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
y63vnx/jt5aE6zbSm/QZPTxn3hSVmA7zdw==
=IApS
-----END PGP PUBLIC KEY BLOCK-----
-122
View File
@@ -1,122 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
CitZrazL0TshmAveJ+txLlujAB+TQb4=
=tjy+
-----END PGP PUBLIC KEY BLOCK-----
-60
View File
@@ -1,60 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=OQSj
-----END PGP PUBLIC KEY BLOCK-----
-157
View File
@@ -1,157 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
9REKVGCYlTkgaMg=
=Y6Uz
-----END PGP PUBLIC KEY BLOCK-----
-174
View File
@@ -1,174 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=4xbz
-----END PGP PUBLIC KEY BLOCK-----
-62
View File
@@ -1,62 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
I2E7RxUJVs3RxJoJtA==
=7Bob
-----END PGP PUBLIC KEY BLOCK-----
-451
View File
@@ -1,451 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Oc/V3vQolFE5pC2nGyryCb7aTemCGYZ3euQbAHpSKC7IDSVs7VI+eYVTPT+spJeY
xf7ZeGDiHApCqnL/z2lNX45CKPgHaV137QgLWLLwWGxkIf8xAK2ags0n5Q73LPT2
dyPzcnhAN6sipjDEwamgr4lbZAkzQoIYKo9d4ao26g9jF8SeFH0PPPJyYGNKxSGV
abKZYTTpPI6UgtZaKpmRlshYmwGWLokCMwQQAQgAHRYhBHoYgH8QCkVwxZaEIH5O
ZchyC3BrBQJebYIoAAoJEH5OZchyC3BrtqYQAJfwdA9el3n6wNC/q4GfRFD/tg43
Qnh5PBAyL7LJ8L47ffAQ+MQgL2anGHbKIAXpUd+8j9/Wuxpf1Catp5ZqHv/PCTwT
yb2Xbb5INTHSrRH3FZaUOQ2+krnoQs0iBXHYZ9tluFu0QGR3j/byW0MY87nF5Dvy
3rEXBiZXA8K7VmXdqH1ergGtQJuR8aHX52P7s8kXI/60AcKtTjApKkvKvRbv2WJF
AszEx8LO06cWJk7V4RsQyw+b9fW2nesD1fSjTCsVDXQNujW/G4twqL6Nwgk0qpj/
diZwuVnPt0i47Ma0i71nXwdCWBEX3p0TfbgR7wI6XX+sEHpTQkWxs6085jhwIrwX
sde5vu7wOMgNDN/mmt4Cp6yQkqDmefJWt8wSFk3XAZDJFd8PMqjL+pOAwWKBfpYY
euKGy5+du7IL1btXlY/leWLIuemHGdOlXQX/7qvWbfp0zYqO2IEsR86vlL/UbRzB
de6lamiJzpxmzJ9zPxq6Ez4KDuxvk2T147Z7HwNzK+7ooh2u4t913DOToOnGleUM
Xz6VhAIpzYJPH8O+wXnWonPMNjq4FJAQ2KuGBdPnwPR9FhQtoPMbR+52hspxsZRP
BZkF9oFKBp22fCUAmqFAE7ss96AAykFU09IFoRrLd3qVWrWaTYkl38cZXlgQ+kL2
lWrwur3iEVDC01++tCtBbWluIEJhbmRhbGkgPGFiYW5kYWxpQGNzY2x1Yi51d2F0
ZXJsb28uY2E+iQJVBBMBCAA/AhsBBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgBYh
BL5ic3OOYW1tGzoI6KIaAgJIgWEDBQJecqebBQkHhWfIAAoJEKIaAgJIgWEDHDYQ
AJ66mn59KBnTcCYO3YaQ4YYggRIfTVPYvW7xsnTTn64Hiu+xwaUz9rQRFJCocf61
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
=T+4B
-----END PGP PUBLIC KEY BLOCK-----
-125
View File
@@ -1,125 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
gec=
=fLn6
-----END PGP PUBLIC KEY BLOCK-----
-29
View File
@@ -1,29 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFgAga0BCADIY78eSt/I4vGPo/UMBMQhcM8O2tptvlN0B2F6Z8sDAOwgWnQp
d0x2AVM8I39VymnmbEQfWf/Y0U9XJqrmOz91NreTsZUsR9BSZy1fVIUbdoQTI8m8
CGpjDBnloX+cQwwDPDS2RL2/a0rZciXUMunVvM/o2zLHUIyO/GeoqKN5mU4d4nZY
PHtBOBpmzfvfyZLM1uyu/flbKGFqW0uKmS8MQWhyUdvIsiAU/Aofuf0dVp2C/Z5w
01Vyw38fReZ20onxbabSjLrOT+K6vzrV/9P+6435Ptoek+5BoQX50f+cMYq4d2rE
2PBenDy4xAloL/qOUj6XqwW9ZWAkLLiqYiJdABEBAAG0LkZlZGVyaWNvIEJlZmZh
IChOb25lKSA8YmVmZmFAZmJlbmdpbmVlcmluZy5jaD6JATgEEwECACIFAlgAga0C
GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEFiTbg4vG1pMn44IAMKLId+i
81Qp15Tn+VQQqxp5hI5IK2UpkzD4TnjAfX2AO9ao5fyCGKU0tWopUY4xjtU/YH9C
A9eqfmo46PTU5AFssfTly9sxtNGKhWhViBlfNHH19W3I4eF7OwN1tRon/QacCDkj
iUwElyE03/H/IPk5TB25tRmqpcoM4VrHjLIkVvmQOFOeItFKWg6jARY0x09KcHKp
P+Q3SVdS+3JTrO97xhMjAaPByiRgrjGCYTnh9MIPl/ANJFIlJVx8R1ZqeGUJBd2E
Or6RkG34WpSC/tdfI9vxajlAHAUAIoUNq6Jn7LvVLGcnZXcoE4gU8oBtXkr79SUd
42S6HC+S/XeRHfy5AQ0EWACBrQEIAMsqA2oLmPYfdE1uhsOfDDrt72Lx7BADKqhz
k8Nqny45ISPe03MjOkVUwuClceuZDGByZ/u7fslcWvAzcjcLDO4thWj1a9s1PUmH
5evVBfFQNaHaZ5gdRdIuE+O/Vkv+pbbcR1zckBSj4PCZCBF2rQgukxNaeRB4rTAC
0VgozLRK/OgDV8nyCA/0Lx1GAFoUj+KgIIUI0mPQzPuCMJHBoOVoWQit9qANTQN0
89P/6r8dj/3AVPnUmnpENul1gtxa2k7ck9F9hH7ePD3djL2tYtQcH720eqrV70Kd
gSp7Q/N4Kujw7b9RgNmo2cUuTkRfiqR+grp7XR9BD552haU8a5EAEQEAAYkBHwQY
AQIACQUCWACBrQIbDAAKCRBYk24OLxtaTBr5B/4vmneqSuuMYmWcurgk2sv+WKky
81Q0z4OkXfwBVz+H6wdpmij0de6ZMbFqD6GjtsAMmEXKdQtbElcryibSXJSCcF6z
d534yOdkC0ptOH09thCE8SoZQ6QLQ+wkcqqCBQSNujN+TNG3L7a50p91wLg1AXYX
F+cOJ2bND8p3g5RjxGk4EEjTHycc9BMA1SRvAZsJG7WB63q1oKPwdVPy7FnNvV6H
OR1DJeh4Fkmq0cJCoQ6AOQ4AhVBRXv74XT+rnjVblT3ISSEyneF4IfsztGboIzac
7M/2czPyFWuID9mjiEcRbormFsV0Pz3huJ4AMlmCb/96ZKPAWQYVa7EmPy5Q
=SMJ5
-----END PGP PUBLIC KEY BLOCK-----
-29
View File
@@ -1,29 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFhmClEBCACWlMzAd3Nm5WD8wwVcZB4mMGJNK41tOKvFxLTpQBuVLSU8Oebv
zzJx6cWTAylqMOEtI1K4q3BtxvQ9L7ofkY/N8tVRO0zSTjFhYaFYrpNAF4TY5pSa
RTjeCp1FOU+2dR50LC7ev3p8TWSDPITdzXAhTBPRNIy1zBRNo/2FkwHktSov3W51
Ej9f/g5iIuy2yVSwPzqxynXErgmwILXa3j40ZYXj1jEFeBoeLGzSPVbeFLknvS8B
4yMx6JLVvvK+IilKzFZ97kFcnYVVx8HvyyZZLYwGapI0BSWSK4GWt1SBt4KVEREZ
38SVtyGsCSX5PBBzv/zy+gO3HOsrXGzz0RbdABEBAAG0JkJlbiBXb29kY3JvZnQg
PGRvbnR0cnVzdGJlbkBnbWFpbC5jb20+iQE3BBMBCAAhBQJYZgpRAhsDBQsJCAcC
BhUICQoLAgQWAgMBAh4BAheAAAoJECpq2fSqwg32OuEH/iMyKHsHrS4upCAl+JBy
Bq4H7MWnZQYC/f4hc1RX1WKnVYZRYuX4GTZYR+sE3J60kpdhv3ZPby5Q8mNyZXkH
wf3sF8oNpqWK5LVdM32UChMQK7L7VTkMNG7lPAq1hfS0iLiaaDN366iQNv62u4eB
8dw933877jkeobr8hnTaBNmUf2s9eJm23Cmk81DNaEFLsIvVMEcmuiz4x8rLYG+7
o8usK7n684OI2DV0k90Xn876VZtFUg9PDxnHixlvzETo2D+C6HIIx8660YJHnogr
jNEP6Wj0CT1MoiZ/dMZepY1k+uNeyreSuXv2w/Y2qzbRM34ccXArYNyFV/a5KyAJ
i9e5AQ0EWGYKUQEIAMAnzONTpBbvK9KZ2cHh+zwAF83VDl3V6EVANbQWBV39V7Rh
+Dmpuro9RqZ5VyGD94nFyeUUIFUO8Uy8wT9CW9A7FD1zFe38bhb7oC0K1XeGYm/0
WMadUb3Zp42T2KCbWN4agH9B3CwhJ/WJEM5fRpTfGq2HMq5LGlLs0AlPCli582MJ
81tmoSzdnauVdtm+4llWCk/trpCag5TUed1pHFooOKIqSDmCnLei2cuXODj5Bdt1
O3yTErBRLZcHc/Ep32DYNDqlbyeWL1KDHj4Ckc4ietX/jqpExko/RuCIhBR1niKA
AYT3P31p82oPvX9Mz4Ro5nbdzeYfjODCljp3+AMAEQEAAYkBHwQYAQgACQUCWGYK
UQIbDAAKCRAqatn0qsIN9mn0B/48T6WI2PDGn79woGBoG6VWvV3JWrXW+tA45Zy/
XVEdSuDvFhMHZYwlFMr3ckhaX5Zi7NuHATIwONekIjtLusf8ievFbR4Ez4DzoN8h
FSe00vh0C0xaOzEkufPjanbtyVCfJgGPdHJ8alB4Wxq6INvg/UBrRW4sqEikaogk
52VCdLtLp5MnhJkmMIn0BvHkOyFs2DdKa/uld85cBwLiwSQpi4nj8EVIG77gYR5S
lSmS9m65DZYp2/r2x9b8uqkc40a/USdpP/M41Kj67iHnYcQrl6/9O2i1dYMONBql
60488V4ArDgWSZn3X5jO45flYE2S1mUc3vzfRl02Ms/JV+u5
=mgGB
-----END PGP PUBLIC KEY BLOCK-----
-185
View File
@@ -1,185 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ugGwG9zObyWr6mj4fFA8ureXYA==
=1FKf
-----END PGP PUBLIC KEY BLOCK-----
Executable
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh
# Import missing source files and create the build system.
set -e -x
top_srcdir="$PWD"
export top_srcdir
git submodule init
git submodule update
./nix/sync-with-upstream
exec autoreconf -vfi
-51
View File
@@ -1,51 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
S96bMw==
=UgjY
-----END PGP PUBLIC KEY BLOCK-----
-52
View File
@@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ihtSniwGIQ==
=75zi
-----END PGP PUBLIC KEY BLOCK-----
-31
View File
@@ -1,31 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBF8JTDABCADIOK7ciRg/PGLYj8MRQa5SLuAgrcrJITXUI9cKOfJGtTJPGzLL
LrDD8RmkOU82GY3lFjkQ+MzQApT1NtBJe700G+kPhBGoSiDZCsEMJp0EepA+RhOH
EOybYHT5b83o3Yh1hfKnhJLhMfUmexuvwhxZs7baHSKnUAq0pJzv/YtyGYX7uqiM
50JmEoLazXrRyl61clofOfGgFid4BQssV+IeTb0v5r7l4Qv5PU1XQqvO30Hk8+2x
y/pBv0uJuNJUqtiaORm0caJjLp0rc76/E945Jh8n6e/NEOnmWDcgMf6RnkSTmE7I
LvjrlOzGSGFD9I5WyGQD8NvpXlNP3wNFnV07ABEBAAG0LkJyZXR0IEdpbGlvIChQ
cml2YXRlIEdQRyBLZXkpIDxicmV0dGdAZ251Lm9yZz6JAVQEEwEIAD4WIQToKsAm
ldb/AkPKHlz2xS3RuifLhwUCXwlMMAIbAwUJA8JnAAULCQgHAgYVCgkICwIEFgID
AQIeAQIXgAAKCRD2xS3RuifLh75SB/9JZa+c7SWBk1GHIfIjBPJEKhX6fIjDvaH+
dQQY0BWnE79mFrZCbPBtnRKohnGvAwWbYR5xsJrJimsme+PmDoqRCWtbeFS6QIJx
Ig6iPBA/E7sSfbs6zaFz8E09AZt6xUWhFLMZNkuLU8JWFz8I/8jL32C3hRW/MKGe
h4BypjUzVBVsKDwWOAoYsKZHuhQF5gzQrh96AqTgMh/gzCR5Q78fxF335arht9c2
5WoXiYJn/NHeSNi12vQ2DtqhrkUWmN+dMbOGddaEk7JFbpmZhCUQFeK0LHyMnXCt
nyKVWcC0br/LtvyXr+W7dyA6SJ6xpEb72jqIi9GAw5pA1fTxapTruQENBF8JTDAB
CADBF+D4xd81wkxcyQlP8dhE+0NW269Y31pNx/qAZKVEzBbTqmrXWHSGf8CVZLJT
5oVOmC3nMIwRo/GuK7VTjRj7PruBcXpbqzuvMAk44SGtQIk81xca1+xrQT8xAs/+
fimxSgYeG5AoB6e+5KxHv7SjqwXjU3WE7gqz5lcUk5kBPfjo0UtzhReK3FePxcjF
NFNr3CCnNST6g6y70Nno89bKd0XcgwYtuwapVBxo9FSZza826+rj0UMsg+XCcerI
Yz6KREFb8hkkHi9zGSLgP26ONyFmYxM8qvfoDnHAjmuqlGFE00WTAh+qIIEFOzd+
GPgbM7xYHCbdXPOQZ+z2ZK9LABEBAAGJATwEGAEIACYWIQToKsAmldb/AkPKHlz2
xS3RuifLhwUCXwlMMAIbDAUJA8JnAAAKCRD2xS3RuifLh5LYB/9BArNzn//eTeDr
HyOBYpaoo8uF6k5k9Bsm4A8shr8uSagaj7JvOKiQM7Xp+loIVwJ2kUbM6dzY0Opn
SNlcr7cmP/a4LpRqDbdJVQidL+YeYuhjSdk49zmtA6fJ4KzMUZvc9wLQCRy6LHm7
zgc0Z3kYfuIY4tLIjkesuz3CzCS2sCYyHZWkuIDk2Y0S/unH16EsoFWzbl+hUL7C
kL8wTjBe6Ha1gcThdY0UaiSZBqLsRXHZWy9imOYyKZ6SO0K331MEyaOjS+/PAwbI
hE5/QrslksZwfdvMuL5mhI/RqEW/Ngzxg2LHjqdoUq0rk4aEiQ3zoeQSY4xY5rTe
o+dOFmwC
=xoG7
-----END PGP PUBLIC KEY BLOCK-----
-347
View File
@@ -1,347 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ifj+ccdGYpikfv7KOzn2dvte
=lIl+
-----END PGP PUBLIC KEY BLOCK-----
+67
View File
@@ -0,0 +1,67 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Download a binary file from an external source.
;;;
(use-modules (ice-9 match)
(web uri)
(web client)
(rnrs io ports)
(srfi srfi-11)
(guix utils))
(define %url-base
"http://alpha.gnu.org/gnu/guix/bootstrap"
;; Alternately:
;;"http://www.fdn.fr/~lcourtes/software/guix/packages"
)
;; XXX: Work around <http://bugs.gnu.org/13095>, present in Guile
;; up to 2.0.7.
(module-define! (resolve-module '(web client))
'shutdown (const #f))
(define (file-name->uri file)
"Return the URI for FILE."
(match (string-tokenize file (char-set-complement (char-set #\/)))
((_ ... system basename)
(string->uri (string-append %url-base "/" system
"/20130105/" basename)))))
(match (command-line)
((_ file expected-hash)
(let ((uri (file-name->uri file)))
(format #t "downloading file `~a' from `~a'...~%"
file (uri->string uri))
(let*-values (((resp data) (http-get uri #:decode-body? #f))
((hash) (bytevector->base16-string (sha256 data)))
((part) (string-append file ".part")))
(if (string=? expected-hash hash)
(begin
(call-with-output-file part
(lambda (port)
(put-bytevector port data)))
(rename-file part file))
(begin
(format (current-error-port)
"file at `~a' has SHA256 ~a; expected ~a~%"
(uri->string uri) hash expected-hash)
(exit 1)))))))
+432
View File
@@ -0,0 +1,432 @@
eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
& eval 'exec perl -wS "$0" $argv:q'
if 0;
# Convert git log output to ChangeLog format.
my $VERSION = '2012-07-29 06:11'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
# Copyright (C) 2008-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Written by Jim Meyering
use strict;
use warnings;
use Getopt::Long;
use POSIX qw(strftime);
(my $ME = $0) =~ s|.*/||;
# use File::Coda; # http://meyering.net/code/Coda/
END {
defined fileno STDOUT or return;
close STDOUT and return;
warn "$ME: failed to close standard output: $!\n";
$? ||= 1;
}
sub usage ($)
{
my ($exit_code) = @_;
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
print $STREAM "Try '$ME --help' for more information.\n";
}
else
{
print $STREAM <<EOF;
Usage: $ME [OPTIONS] [ARGS]
Convert git log output to ChangeLog format. If present, any ARGS
are passed to "git log". To avoid ARGS being parsed as options to
$ME, they may be preceded by '--'.
OPTIONS:
--amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that
makes a change to SHA1's commit log text or metadata.
--append-dot append a dot to the first line of each commit message if
there is no other punctuation or blank at the end.
--no-cluster never cluster commit messages under the same date/author
header; the default is to cluster adjacent commit messages
if their headers are the same and neither commit message
contains multiple paragraphs.
--srcdir=DIR the root of the source tree, from which the .git/
directory can be derived.
--since=DATE convert only the logs since DATE;
the default is to convert all log entries.
--format=FMT set format string for commit subject and body;
see 'man git-log' for the list of format metacharacters;
the default is '%s%n%b%n'
--strip-tab remove one additional leading TAB from commit message lines.
--strip-cherry-pick remove data inserted by "git cherry-pick";
this includes the "cherry picked from commit ..." line,
and the possible final "Conflicts:" paragraph.
--help display this help and exit
--version output version information and exit
EXAMPLE:
$ME --since=2008-01-01 > ChangeLog
$ME -- -n 5 foo > last-5-commits-to-branch-foo
SPECIAL SYNTAX:
The following types of strings are interpreted specially when they appear
at the beginning of a log message line. They are not copied to the output.
Copyright-paperwork-exempt: Yes
Append the "(tiny change)" notation to the usual "date name email"
ChangeLog header to mark a change that does not require a copyright
assignment.
Co-authored-by: Joe User <user\@example.com>
List the specified name and email address on a second
ChangeLog header, denoting a co-author.
Signed-off-by: Joe User <user\@example.com>
These lines are simply elided.
In a FILE specified via --amend, comment lines (starting with "#") are ignored.
FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
a line) referring to a commit in the current project, and CODE refers to one
or more consecutive lines of Perl code. Pairs must be separated by one or
more blank line.
Here is sample input for use with --amend=FILE, from coreutils:
3a169f4c5d9159283548178668d2fae6fced3030
# fix typo in title:
s/all tile types/all file types/
1379ed974f1fa39b12e2ffab18b3f7a607082202
# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
# Change the author to be Paul. Note the escaped "@":
s,Jim .*>,Paul Eggert <eggert\\\@cs.ucla.edu>,
EOF
}
exit $exit_code;
}
# If the string $S is a well-behaved file name, simply return it.
# If it contains white space, quotes, etc., quote it, and return the new string.
sub shell_quote($)
{
my ($s) = @_;
if ($s =~ m![^\w+/.,-]!)
{
# Convert each single quote to '\''
$s =~ s/\'/\'\\\'\'/g;
# Then single quote the string.
$s = "'$s'";
}
return $s;
}
sub quoted_cmd(@)
{
return join (' ', map {shell_quote $_} @_);
}
# Parse file F.
# Comment lines (starting with "#") are ignored.
# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1
# (alone on a line) referring to a commit in the current project, and
# CODE refers to one or more consecutive lines of Perl code.
# Pairs must be separated by one or more blank line.
sub parse_amend_file($)
{
my ($f) = @_;
open F, '<', $f
or die "$ME: $f: failed to open for reading: $!\n";
my $fail;
my $h = {};
my $in_code = 0;
my $sha;
while (defined (my $line = <F>))
{
$line =~ /^\#/
and next;
chomp $line;
$line eq ''
and $in_code = 0, next;
if (!$in_code)
{
$line =~ /^([0-9a-fA-F]{40})$/
or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
$fail = 1, next;
$sha = lc $1;
$in_code = 1;
exists $h->{$sha}
and (warn "$ME: $f:$.: duplicate SHA1\n"),
$fail = 1, next;
}
else
{
$h->{$sha} ||= '';
$h->{$sha} .= "$line\n";
}
}
close F;
$fail
and exit 1;
return $h;
}
# git_dir_option $SRCDIR
#
# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
# is undef). Return as a list (0 or 1 element).
sub git_dir_option($)
{
my ($srcdir) = @_;
my @res = ();
if (defined $srcdir)
{
my $qdir = shell_quote $srcdir;
my $cmd = "cd $qdir && git rev-parse --show-toplevel";
my $qcmd = shell_quote $cmd;
my $git_dir = qx($cmd);
defined $git_dir
or die "$ME: cannot run $qcmd: $!\n";
$? == 0
or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
chomp $git_dir;
push @res, "--git-dir=$git_dir/.git";
}
@res;
}
{
my $since_date;
my $format_string = '%s%n%b%n';
my $amend_file;
my $append_dot = 0;
my $cluster = 1;
my $strip_tab = 0;
my $strip_cherry_pick = 0;
my $srcdir;
GetOptions
(
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
'since=s' => \$since_date,
'format=s' => \$format_string,
'amend=s' => \$amend_file,
'append-dot' => \$append_dot,
'cluster!' => \$cluster,
'strip-tab' => \$strip_tab,
'strip-cherry-pick' => \$strip_cherry_pick,
'srcdir=s' => \$srcdir,
) or usage 1;
defined $since_date
and unshift @ARGV, "--since=$since_date";
# This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
# that makes a correction in the log or attribution of that commit.
my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
my @cmd = ('git',
git_dir_option $srcdir,
qw(log --log-size),
'--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV);
open PIPE, '-|', @cmd
or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
. "(Is your Git too old? Version 1.5.1 or later is required.)\n");
my $prev_multi_paragraph;
my $prev_date_line = '';
my @prev_coauthors = ();
while (1)
{
defined (my $in = <PIPE>)
or last;
$in =~ /^log size (\d+)$/
or die "$ME:$.: Invalid line (expected log size):\n$in";
my $log_nbytes = $1;
my $log;
my $n_read = read PIPE, $log, $log_nbytes;
$n_read == $log_nbytes
or die "$ME:$.: unexpected EOF\n";
# Extract leading hash.
my ($sha, $rest) = split ':', $log, 2;
defined $sha
or die "$ME:$.: malformed log entry\n";
$sha =~ /^[0-9a-fA-F]{40}$/
or die "$ME:$.: invalid SHA1: $sha\n";
# If this commit's log requires any transformation, do it now.
my $code = $amend_code->{$sha};
if (defined $code)
{
eval 'use Safe';
my $s = new Safe;
# Put the unpreprocessed entry into "$_".
$_ = $rest;
# Let $code operate on it, safely.
my $r = $s->reval("$code")
or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n";
# Note that we've used this entry.
delete $amend_code->{$sha};
# Update $rest upon success.
$rest = $_;
}
# Remove lines inserted by "git cherry-pick".
if ($strip_cherry_pick)
{
$rest =~ s/^\s*Conflicts:\n.*//sm;
$rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
}
my @line = split "\n", $rest;
my $author_line = shift @line;
defined $author_line
or die "$ME:$.: unexpected EOF\n";
$author_line =~ /^(\d+) (.*>)$/
or die "$ME:$.: Invalid line "
. "(expected date/author/email):\n$author_line\n";
# Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
# `(tiny change)' annotation.
my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
? ' (tiny change)' : '');
my $date_line = sprintf "%s %s$tiny\n",
strftime ("%F", localtime ($1)), $2;
my @coauthors = grep /^Co-authored-by:.*$/, @line;
# Omit meta-data lines we've already interpreted.
@line = grep !/^(?:Signed-off-by:[ ].*>$
|Co-authored-by:[ ]
|Copyright-paperwork-exempt:[ ]
)/x, @line;
# Remove leading and trailing blank lines.
if (@line)
{
while ($line[0] =~ /^\s*$/) { shift @line; }
while ($line[$#line] =~ /^\s*$/) { pop @line; }
}
# Record whether there are two or more paragraphs.
my $multi_paragraph = grep /^\s*$/, @line;
# Format 'Co-authored-by: A U Thor <email@example.com>' lines in
# standard multi-author ChangeLog format.
for (@coauthors)
{
s/^Co-authored-by:\s*/\t /;
s/\s*</ </;
/<.*?@.*\..*>/
or warn "$ME: warning: missing email address for "
. substr ($_, 5) . "\n";
}
# If clustering of commit messages has been disabled, if this header
# would be different from the previous date/name/email/coauthors header,
# or if this or the previous entry consists of two or more paragraphs,
# then print the header.
if ( ! $cluster
|| $date_line ne $prev_date_line
|| "@coauthors" ne "@prev_coauthors"
|| $multi_paragraph
|| $prev_multi_paragraph)
{
$prev_date_line eq ''
or print "\n";
print $date_line;
@coauthors
and print join ("\n", @coauthors), "\n";
}
$prev_date_line = $date_line;
@prev_coauthors = @coauthors;
$prev_multi_paragraph = $multi_paragraph;
# If there were any lines
if (@line == 0)
{
warn "$ME: warning: empty commit message:\n $date_line\n";
}
else
{
if ($append_dot)
{
# If the first line of the message has enough room, then
if (length $line[0] < 72)
{
# append a dot if there is no other punctuation or blank
# at the end.
$line[0] =~ /[[:punct:]\s]$/
or $line[0] .= '.';
}
}
# Remove one additional leading TAB from each line.
$strip_tab
and map { s/^\t// } @line;
# Prefix each non-empty line with a TAB.
@line = map { length $_ ? "\t$_" : '' } @line;
print "\n", join ("\n", @line), "\n";
}
defined ($in = <PIPE>)
or last;
$in ne "\n"
and die "$ME:$.: unexpected line:\n$in";
}
close PIPE
or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
# FIXME-someday: include $PROCESS_STATUS in the diagnostic
# Complain about any unused entry in the --amend=F specified file.
my $fail = 0;
foreach my $sha (keys %$amend_code)
{
warn "$ME:$amend_file: unused entry: $sha\n";
$fail = 1;
}
exit $fail;
}
# Local Variables:
# mode: perl
# indent-tabs-mode: nil
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "'; # UTC"
# End:
+62
View File
@@ -0,0 +1,62 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Report synopses that defer from those found in the GNU Womb.
;;;
(use-modules (guix gnu-maintenance)
(guix packages)
(guix utils)
(guix ui)
(gnu packages)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
(define official
;; GNU package descriptors from the Womb.
(official-gnu-packages))
(define gnus
;; GNU packages available in the distro.
(let ((lookup (lambda (p)
(find (lambda (descriptor)
(equal? (gnu-package-name descriptor)
(package-name p)))
official))))
(fold-packages (lambda (package result)
(or (and=> (lookup package)
(cut alist-cons package <> result))
result))
'())))
;; Iterate over GNU packages. Report those whose synopsis defers from that
;; found upstream.
(for-each (match-lambda
((package . descriptor)
(let ((upstream (gnu-package-doc-summary descriptor))
(downstream (package-synopsis package))
(loc (or (package-field-location package 'synopsis)
(package-location package))))
(unless (and upstream (string=? upstream downstream))
(format (guix-warning-port)
"~a: ~a: proposed synopsis: ~s~%"
(location->string loc) (package-name package)
upstream)))))
gnus)
-62
View File
@@ -1,62 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
hOlob5tziejTU0hW0XIRXlXKukgc+7F4b/bIGgI=
=Y7wf
-----END PGP PUBLIC KEY BLOCK-----
-3843
View File
File diff suppressed because it is too large Load Diff
-1497
View File
File diff suppressed because it is too large Load Diff
-50
View File
@@ -1,50 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
YF3ov6wO
=3+Zu
-----END PGP PUBLIC KEY BLOCK-----
+110
View File
@@ -0,0 +1,110 @@
dnl -*- Autoconf -*- fragment for the C++ daemon.
AC_MSG_CHECKING([whether to build daemon])
AC_MSG_RESULT([$guix_build_daemon])
dnl C++ environment. This macro must be used unconditionnaly.
AC_PROG_CXX
if test "x$guix_build_daemon" = "xyes"; then
AC_PROG_RANLIB
AC_CONFIG_HEADER([nix/config.h])
dnl Decompressors, for use by the substituter.
AC_PATH_PROG([GZIP], [gzip])
AC_PATH_PROG([BZIP2], [bzip2])
AC_PATH_PROG([XZ], [xz])
AC_SUBST([GZIP])
AC_SUBST([BZIP2])
AC_SUBST([XZ])
dnl Use 64-bit file system calls so that we can support files > 2 GiB.
AC_SYS_LARGEFILE
dnl Look for libbz2, a required dependency.
AC_CHECK_LIB([bz2], [BZ2_bzWriteOpen], [true],
[AC_MSG_ERROR([Guix requires libbz2, which is part of bzip2. See http://www.bzip.org/.])])
AC_CHECK_HEADERS([bzlib.h], [true],
[AC_MSG_ERROR([Guix requires libbz2, which is part of bzip2. See http://www.bzip.org/.])])
dnl Look for SQLite, a required dependency.
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.19])
AC_DEFINE([NIX_VERSION], ["0.0.0"], [Fake Nix version number.])
AC_DEFINE_UNQUOTED([SYSTEM], ["$guix_system"],
[Guix host system type--i.e., platform and OS kernel tuple.])
case "$LIBGCRYPT_PREFIX" in
no)
LIBGCRYPT_CFLAGS=""
LIBGCRYPT_LIBS=""
;;
*)
LIBGCRYPT_CFLAGS="-I$LIBGCRYPT_PREFIX/include"
LIBGCRYPT_LIBS="-L$LIBGCRYPT_PREFIX/lib -lgcrypt"
;;
esac
AC_SUBST([LIBGCRYPT_CFLAGS])
AC_SUBST([LIBGCRYPT_LIBS])
save_CFLAGS="$CFLAGS"
save_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
LDFLAGS="$LDFLAGS $LIBGCRYPT_LDFLAGS"
have_gcrypt=yes
AC_CHECK_LIB([gcrypt], [gcry_md_open], [:], [have_gcrypt=no])
AC_CHECK_HEADER([gcrypt.h], [:], [have_gcrypt=no])
if test "x$have_gcrypt" != "xyes"; then
AC_MSG_ERROR([GNU libgcrypt not found; please install it.])
fi
CFLAGS="$save_CFLAGS"
LDFLAGS="$save_LDFLAGS"
dnl Chroot support.
AC_CHECK_FUNCS([chroot unshare])
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h])
dnl Check for lutimes, optionally used for changing the mtime of
dnl symlinks.
AC_CHECK_FUNCS([lutimes])
dnl Check whether the store optimiser can optimise symlinks.
AC_MSG_CHECKING([whether it is possible to create a link to a symlink])
ln -s bla tmp_link
if ln tmp_link tmp_link2 2> /dev/null; then
AC_MSG_RESULT(yes)
AC_DEFINE(CAN_LINK_SYMLINK, 1, [Whether link() works on symlinks.])
else
AC_MSG_RESULT(no)
fi
rm -f tmp_link tmp_link2
dnl Check for <locale>.
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS([locale])
AC_LANG_POP(C++)
dnl Check whether we have the `personality' syscall, which allows us
dnl to do i686-linux builds on x86_64-linux machines.
AC_CHECK_HEADERS([sys/personality.h])
dnl Check for <linux/fs.h> (for immutable file support).
AC_CHECK_HEADERS([linux/fs.h])
dnl Temporary directory used to store the daemon's data.
AC_MSG_CHECKING([for unit test root])
GUIX_TEST_ROOT="`pwd`/test-tmp"
AC_MSG_RESULT([$GUIX_TEST_ROOT])
AC_SUBST([GUIX_TEST_ROOT])
AC_CONFIG_FILES([nix/scripts/list-runtime-roots],
[chmod +x nix/scripts/list-runtime-roots])
AC_CONFIG_FILES([nix/scripts/substitute-binary],
[chmod +x nix/scripts/substitute-binary])
fi
AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"])
+127
View File
@@ -0,0 +1,127 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
AC_INIT([GNU Guix], [0.2], [bug-guix@gnu.org], [guix],
[http://gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
color-tests parallel-tests])
AC_CONFIG_SRCDIR([guix.scm])
AC_CONFIG_MACRO_DIR([m4])
dnl For the C++ code. This must be used early.
AC_USE_SYSTEM_EXTENSIONS
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.18.1])
guilemoduledir="${datarootdir}/guile/site/2.0"
AC_SUBST([guilemoduledir])
GUIX_SYSTEM_TYPE
AC_ARG_WITH(store-dir,
AC_HELP_STRING([--with-store-dir=PATH],
[path of the store (defaults to /nix/store)]),
[storedir="$withval"],
[storedir="/nix/store"])
AC_SUBST(storedir)
AC_ARG_ENABLE([daemon],
[AS_HELP_STRING([--disable-daemon], [build the Nix daemon (C++)])],
[guix_build_daemon="$enableval"],
[guix_build_daemon="yes"])
# Prepare a version of $localstatedir that does not contain references
# to shell variables.
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|/usr/local|g"`"
AC_SUBST([guix_localstatedir])
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.5])
AC_PATH_PROG([GUILE], [guile])
AC_PATH_PROG([GUILD], [guild])
if test "x$GUILD" = "x"; then
AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
fi
dnl Make sure we have a full-fledged Guile.
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
AC_ARG_WITH([nix-prefix],
[AS_HELP_STRING([--with-nix-prefix=DIR], [search for Nix in DIR])],
[case "$withval" in
yes|no) ;;
*)
NIX_PREFIX="$withval"
PATH="$NIX_PREFIX/bin:$PATH"; export PATH
AC_SUBST([NIX_PREFIX])
;;
esac],
[])
AC_PATH_PROG([NIX_INSTANTIATE], [nix-instantiate])
AC_PATH_PROG([NIX_HASH], [nix-hash])
if test "x$guix_build_daemon$NIX_INSTANTIATE$NIX_HASH" = "xno"; then
AC_MSG_ERROR([Nix programs not found; please install Nix or use `--with-nix-prefix'.])
fi
if test "x$NIX_INSTANTIATE" = "x"; then
# This program is an optional dependency, so we just want it to be
# taken from $PATH if it's not available right now.
NIX_INSTANTIATE="nix-instantiate"
fi
AC_ARG_WITH([nixpkgs],
[AS_HELP_STRING([--with-nixpkgs=DIR], [search for Nixpkgs in DIR])],
[case "$withval" in
yes|no) AC_MSG_ERROR([Please use `--with-nixpkgs=DIR'.]);;
*) NIXPKGS="$withval";;
esac],
[])
AC_MSG_CHECKING([for Nixpkgs source tree])
if test -f "$NIXPKGS/default.nix"; then
AC_MSG_RESULT([$NIXPKGS])
AC_SUBST([NIXPKGS])
else
AC_MSG_RESULT([not found])
fi
AC_ARG_WITH([libgcrypt-prefix],
[AS_HELP_STRING([--with-libgcrypt-prefix=DIR], [search for GNU libgcrypt in DIR])],
[case "$withval" in
yes|no)
LIBGCRYPT="libgcrypt"
LIBGCRYPT_PREFIX="no"
;;
*)
LIBGCRYPT="$withval/lib/libgcrypt"
LIBGCRYPT_PREFIX="$withval"
;;
esac],
[LIBGCRYPT="libgcrypt"])
dnl Library name suitable for `dynamic-link'.
AC_MSG_CHECKING([for libgcrypt shared library name])
AC_MSG_RESULT([$LIBGCRYPT])
AC_SUBST([LIBGCRYPT])
AC_SUBST([LIBGCRYPT_PREFIX])
GUIX_ASSERT_LIBGCRYPT_USABLE
AC_CACHE_SAVE
m4_include([config-daemon.ac])
AC_CONFIG_FILES([Makefile
po/Makefile.in
guix/config.scm])
AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_CONFIG_FILES([test-env], [chmod +x test-env])
AC_OUTPUT
-18
View File
@@ -1,18 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEZ0yjARYJKwYBBAHaRw8BAQdASb8faq1fGlD3J0HchEAWmPqxndmew1tN+Ajr
bSU0Q77NKENheWV0YW5vIFNhbnRvcyA8Y3NhbnRvc2JAaW52ZW50YXRpLm9yZz7C
mAQTFgoAQQIbAwUJBaOagAULCQgHAwUVCgkICwUWAgMBAAIeBQIXgBYhBMy4GEL5
1wWOzWc3er9c3032v2aCBQJnTLA+AhkBAAoJEL9c3032v2aCVAEA+L3wQPom76o/
jlydTly+r0X5WLWHoeRdUMMGx02PGrAA/2FwlT662UR4nZOZEpdhHTX0ZGmECjZH
p1uczk+/LmIGzTBDYXlldGFubyBTYW50b3MgKENOUlMpIDxjYXlldGFuby5zYW50
b3NAY25ycy5mcj7ClgQTFgoAPhYhBMy4GEL51wWOzWc3er9c3032v2aCBQJnTKNQ
AhsDBQkFo5qABQsJCAcDBRUKCQgLBRYCAwEAAh4FAheAAAoJEL9c3032v2aCrjsA
/0pNCd77Sp7GplttQch/moMqrbFs4+tMzpH1ngdQuD5kAPwO+/fyfFikd2B9EsIB
kGRLXDma5yWva/Fo5XTwDh3pC844BGdMowESCisGAQQBl1UBBQEBB0DPAWdwxi64
FdJfNmqisLmZRuoPABUOP5Y+OeNpK68SDgMBCAfCfgQYFgoAJhYhBMy4GEL51wWO
zWc3er9c3032v2aCBQJnTKMBAhsMBQkFo5qAAAoJEL9c3032v2aCMQUBAMMuMNqW
9097k+E3t2YRjzCUGkC2C9K/YEfkyDKEC+LXAQCfUXE40rKiGht30uThgc8S26NU
RgxOMjDlmYbHyOaCAw==
=1inp
-----END PGP PUBLIC KEY BLOCK-----
-87
View File
@@ -1,87 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
zFSe3XJZdVySGA/VQBO4ghC+7ZCXT/BlpjZ/lw74SVik/DMADD4H60HlBLWC15SO
EE1IYCA5QGbP3KE9+zp4jf5XoAHiRLwepiFoJb6x2BqmbWV5ShAvtT/nZ4R1YDoy
9432Unb9lSDWk0pVaIG/ZGKIt3Liql5ZDyoAb1TEx3xeK8yXaYeMtoREGFIuBsvN
8W5CYtmvd1FmuQQmNJbKRMjWWoH8mNmsf+UlOMgTcBb1O0WgdiJmj6M45mm8eU1c
4L/c0S26Tu+BOgkIUSOfAFViUG/8RciYH2kCd2QH7gg9h94UH7bBc5AqEZiTf1OA
XI7VkWtMdjDVxU5sj8bDUqSGP8nFAuNJLt5Zv0ub+1BLJpmOMCwDZornVumVsssq
QKJ/3yE/xcboNoVYlCIxPIK2uI3FIOhGdM9eNlCo9mGnqlKjXyY0G1T1hKx4Jqao
s9SQOSPJHRse2lN9gX7mBWa9/uXilztenEGTAe8ZyimW1VhTNqZLZCpbP4TLJPx1
dnsDrAPr6afSMaS2uCl7zLq3KT3132PfCn9u3rQyQ2hyaXN0b3BoZXIgTGVtbWVy
IFdlYmJlciA8Y3dlYmJlckBkdXN0eWNsb3VkLm9yZz6JAk4EEwEIADgWIQRRCoYo
4qd2eI+McJxLwCWSX/j00wUCWiXx2QIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIX
gAAKCRBLwCWSX/j008nJD/4rWJrf6jEd2OXAIvDlGere1lVS+bXWIyBNPaKCu8rF
tlnJ83Tik3ejguPPQD6bFnmY/sZiuUoKKR+KQD2Q3mmB1lT8pmvFca3jpM69aeFv
/66JNs14h9JWgikwJSJansnAQjIhgAvfXPQpdrLs2YMSuEtDjWe/uTZtU3Czvmv7
QialMH55RCy94jO5xxYaVdMoVX43mf3oMMXyyOfc5BrYN4JDroW2g53Fq6d04Bf0
Ce0De2ltaCEOVYbGyiNlfTrmkCIySkuCFsSCQeU6od1HjVr/IvkaBYuh4kBiki6v
21BXNOpQ6ymD/4JT5iPGh6Omi0bJkLrWykPAICyDjpOZ56ZNxnD2gDN86ylzmNDE
/64E33jNtf0cCUg0I8z8XdLZwj75FkdnfBEQ+Mj6y+U2tb+pdQkxdCqP+HpQ+rUP
BoynrO1i0/Cxpejk4L0y39kKM/ROYWhCnqiMzzif6xyfbnmsyVjqW/rrK2o7uqZa
fk7yrvRhi89WuV3y/i2KZONsp21bCl0ivMS0wYeHK4pNNJSovseidL1S5m8HHw+g
ELPSGuqREyxTi+AjnUyAx51fygRtOf3x1OsrSED5dQZie4qyZ5eJfRxo4cx17bVA
Hs/HbIJcWrSYCM0yQ5LPk3mRzuHHIPgt5/3OlF8s1hH9ao2veHkO3XstMKd45NqD
h7kCDQRRL/HPARAA3QJXDGWWHdGT4eL6bU81IkbnkuxP4kBNklto5xKNpDvhv5CG
s/1TzcOKfNdr49SUXYK0HfexfEzW7soIf0E8RqGhs3vPj0Qjn37lbdPMAnZkLTIB
s+M3JSZUPJcIl3kMpgu5SK5X5w8UY/vSwhGWqoLV0Jx1jtPCuUkvbn8YkSOS73bu
GORR2B9HV+PlRJE3hffuDVe84/T3DGTrR+ZAPxjrCDr3LOZ9rK9o1TzHN/xf/VO5
egYctXcQuRfGsED7ifE50w6Kn/5zYj6uqYcPRObRfbao1Itmy259OEWSW7iXnKGr
lA0lPWY3U5gAW40CoP0tvducE5iUK23WvsWms4nfzaOWSII62y8X4axvz4cVPkaJ
j+LVmR40r3vscH5IGMYrAwGKxIATQfrSbnqii7LJxeQfsp1ea9tbVbxp6hAsBzuU
I69EttHesrydAuYpiaCSavl90MhpSvbgg8CXK6ZM2aaXnRWXngkNLUkHdRBzV5CO
v9z46wzffJTG+sjWSUv7nYDxio6o+SmzhICr49j9glyTs7zp1fCnLtzApm9Cm4ZN
nK4HA/WoZhP2RJj11u4ehYV+dc43+UYX6Dk7kjeLzK4tWylXa+nsXKuLLP6V7NrN
LcYxeJ3Hi36OjcIbv0ZyDwaLMe+0fL/Cr68VsO1zN7d6okYg6bELmQMNh7cAEQEA
AYkCHwQYAQIACQUCUS/xzwIbDAAKCRBLwCWSX/j002GAEAC/+qV0fRL3UimD+5AK
RJgBwTCLKU46LxvIh//Pf20n8O6TaHbloaUPCN1Eel4114UQgwOMNPTfmE4vdreg
ZgQgMqHXCOjMhHNPwVseuB7wV+XMTmIwN+woBapLQm+i5gMdfpA7G6cAoBVAcjad
Na2qshdtATsrzDFByN9jKbyjW/EhrCbmaoKMzN7HaWs6/kGNWlrp6vrZ7Hhm6trP
u+aD++vopHXm7JhVR5ViQjYopin3Z/oyRW43gDl6rapqETu1sbhawdijDjv3ncWA
caj04RRzvAxSAHltlrmufXW+1kqndIT96kLUTP/dQZgfg2Qk/gZDVOWvWksT3tdd
zM1HhM7P4PvIXC2eudSeqa+w5zuDTktG861uNJaMAAJ+t7Hvij97U/5H16zag1Ee
Wkoh8Y8tSSZO2jr8ZZ6S/4Wl9yHLoEFU9qIXMzr1mo1yrGGnP+l4H1U2gG/OqgS7
/+I9qKyRJ8bCcnep6k3qYsiZSc6F3ONeldnD42GYnj2Si0pJbAqrdCXFZh2qBuKM
uBg+F4ZBhAeDDch5fjCVK31kaG9E0iXyrNNPx0vcx4lauqrBLsOGix6jZxwsTOPE
UST7LwWsSdwXI61YClCYV0Ry1qR55q119MVcoWrF0Kho17vNkzC5hg0dQ40V9l/Y
kLEjOoXNOJGMcTcKP6qdP2Aohg==
=vgxe
-----END PGP PUBLIC KEY BLOCK-----
+181
View File
@@ -0,0 +1,181 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
#
# Integration of the `guix-daemon' code taken from upstream Nix.
#
BUILT_SOURCES = nix/libstore/schema.sql.hh
CLEANFILES += $(BUILT_SOURCES)
noinst_LIBRARIES = libformat.a libutil.a libstore.a
libformat_a_SOURCES = \
nix/boost/format/free_funcs.cc \
nix/boost/format/parsing.cc \
nix/boost/format/format_implementation.cc
libformat_headers = \
nix/boost/weak_ptr.hpp \
nix/boost/throw_exception.hpp \
nix/boost/checked_delete.hpp \
nix/boost/shared_ptr.hpp \
nix/boost/format.hpp \
nix/boost/assert.hpp \
nix/boost/format/macros_default.hpp \
nix/boost/format/format_fwd.hpp \
nix/boost/format/format_class.hpp \
nix/boost/format/exceptions.hpp \
nix/boost/format/group.hpp \
nix/boost/format/feed_args.hpp \
nix/boost/format/internals_fwd.hpp \
nix/boost/format/internals.hpp \
nix/boost/detail/workaround.hpp \
nix/boost/detail/shared_count.hpp \
nix/boost/enable_shared_from_this.hpp
libformat_a_CPPFLAGS = \
-I$(top_srcdir)/nix
libutil_a_SOURCES = \
nix/libutil/archive.cc \
nix/libutil/serialise.cc \
nix/libutil/util.cc \
nix/libutil/xml-writer.cc \
nix/libutil/hash.cc \
nix/libutil/gcrypt-hash.cc
libutil_headers = \
nix/libutil/hash.hh \
nix/libutil/serialise.hh \
nix/libutil/xml-writer.hh \
nix/libutil/util.hh \
nix/libutil/archive.hh \
nix/libutil/types.hh \
nix/libutil/gcrypt-hash.hh \
nix/libutil/md5.h \
nix/libutil/sha1.h \
nix/libutil/sha256.h
libutil_a_CPPFLAGS = \
-I$(top_builddir)/nix \
-I$(top_srcdir)/nix/libutil \
$(libformat_a_CPPFLAGS)
libstore_a_SOURCES = \
nix/libstore/gc.cc \
nix/libstore/globals.cc \
nix/libstore/misc.cc \
nix/libstore/references.cc \
nix/libstore/store-api.cc \
nix/libstore/optimise-store.cc \
nix/libstore/local-store.cc \
nix/libstore/remote-store.cc \
nix/libstore/build.cc \
nix/libstore/pathlocks.cc \
nix/libstore/derivations.cc
libstore_headers = \
nix/libstore/references.hh \
nix/libstore/pathlocks.hh \
nix/libstore/globals.hh \
nix/libstore/schema.sql.hh \
nix/libstore/worker-protocol.hh \
nix/libstore/remote-store.hh \
nix/libstore/derivations.hh \
nix/libstore/misc.hh \
nix/libstore/local-store.hh \
nix/libstore/store-api.hh
libstore_a_CPPFLAGS = \
$(libutil_a_CPPFLAGS) \
-I$(top_srcdir)/nix/libstore \
-I$(top_builddir)/nix/libstore \
-DNIX_STORE_DIR=\"$(storedir)\" \
-DNIX_DATA_DIR=\"$(datadir)\" \
-DNIX_STATE_DIR=\"$(localstatedir)/nix\" \
-DNIX_LOG_DIR=\"$(localstatedir)/log/nix\" \
-DNIX_CONF_DIR=\"$(sysconfdir)/nix\" \
-DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
-DNIX_BIN_DIR=\"$(bindir)\" \
-DOPENSSL_PATH="\"openssl\""
libstore_a_CXXFLAGS = \
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
bin_PROGRAMS = guix-daemon
guix_daemon_SOURCES = \
nix/nix-daemon/nix-daemon.cc \
nix/nix-daemon/guix-daemon.cc
guix_daemon_CPPFLAGS = \
$(libutil_a_CPPFLAGS) \
-I$(top_srcdir)/nix/libstore
guix_daemon_LDADD = \
libstore.a libutil.a libformat.a -lbz2 \
$(SQLITE3_LIBS) $(LIBGCRYPT_LIBS)
guix_daemon_headers = \
nix/nix-daemon/shared.hh
libexec_PROGRAMS = nix-setuid-helper
nix_setuid_helper_SOURCES = \
nix/nix-setuid-helper/nix-setuid-helper.cc
nix_setuid_helper_CPPFLAGS = \
$(libutil_a_CPPFLAGS)
nix_setuid_helper_LDADD = \
libutil.a libformat.a
noinst_HEADERS = \
$(libformat_headers) $(libutil_headers) $(libstore_headers) \
$(guix_daemon_headers)
nix/libstore/schema.sql.hh: nix/libstore/schema.sql
$(GUILE) --no-auto-compile -c \
"(use-modules (rnrs io ports)) \
(call-with-output-file \"$@\" \
(lambda (out) \
(call-with-input-file \"$^\" \
(lambda (in) \
(write (get-string-all in) out)))))"
nodist_pkglibexec_SCRIPTS = \
nix/scripts/list-runtime-roots \
nix/scripts/substitute-binary
EXTRA_DIST += \
nix/sync-with-upstream \
nix/libstore/schema.sql \
nix/AUTHORS \
nix/COPYING
AM_TESTS_ENVIRONMENT += \
top_builddir="$(abs_top_builddir)"
TESTS += \
tests/guix-daemon.sh
clean-local:
-if test -d "$(GUIX_TEST_ROOT)"; then \
find "$(GUIX_TEST_ROOT)" | xargs chmod +w; \
fi
-rm -rf "$(GUIX_TEST_ROOT)"
-80
View File
@@ -1,80 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFdy7hcBCADVEu5TASK0hqclCFwmLNdKBnnvn9utai2q/9vQsheQ6fbZEh+x
PoyvEpg7icr5keR52unWN1IJe9mXoRXJIeULK5D/FsEvhuiaVg8kpCfcf6d8OvDS
lyB58z1eHczcHLYM7uGWf35Cz2SWdTzMsNlHbUZ/EvFx8ygZcQBfRbcLZ/VEpFiS
BeknhCTPEn/lUeqbN2K7INSV8Rfy8ohs+1fv4EwtADIE1OZaA0FtHL2YXQivkv9C
B84xra4t+mmShls3+W6Bb11PgD0XxlAIpwijZ3dgwOAjyZGbUNm7zvGYOYoxcLxF
NzqOvoyK3eCLogjMXSD8hWPjqILGsL6v0k8hABEBAAG0LERhbm55IE1pbG9zYXZs
amV2aWMgPGRhbm55bUBzY3JhdGNocG9zdC5vcmc+iQFUBBMBCAA+AhsvBQsJCAcC
BhUICQoLAgQWAgMBAh4BAheAFiEEKVr5kW9G+KE0sCnagIY4QvD+2DsFAlzFm80F
CQctSbYACgkQgIY4QvD+2Ds30Qf9ELwwO8Arotl4v6uxpKLGNlWcWQ2NdeYRDUxx
+1DwNIaHDeKbxYmuXeI+qbeFrBZ9bgolzPMhe+EOGsyUZcTDTxlcGhQ/81YX+uF0
4BV5dzz/1UcAM+CJKL6GXYVnbkKekvaWVXxJbGikpP3FNSTfH3LkQ4ThZfgj2qVc
QsIo1uZyrOUZxUvI8YTyzAlcs/vzzhfxKyqbZC1qynkQUCSoSlpeqCQCavK5zjlP
6pKH93j2fVIkna/tTy3PvDlTMEnaZqy+sLbEUNRQAOP+cZDYAScEzF/mbV0w2Zob
KiQrhxx8NTsUxhbrNOQSMXA1fAWkF4/61LmwIsukS8aTvtfDvIkBNwQTAQgAIQUC
V3LuFwIbLwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRCAhjhC8P7YOwIyB/4z
gFuCoc0VukHIQgvBBbYFiBvLJ/1fz/TCd8h6wdV+qNYXu99dw9DuVQlSTKFQDfHm
kraUqrs2ItLvpOIgeqwksatRIUrKVPkJebqy6R7hkRgeNFGkF1KvUz5rtmiGPxex
Igf3R+Vpd5Nu9w4fPzThwYECI8zWqhV8JdAlSU+CQC2dL1EnMLsxnaWafrbyS/OA
l5dQBWem6ySaBzx/1UjJ081yKdYSwmRmia0x+KKHDPFcIgRyK5h5dGkSVPcqsYyS
z3GIwSF26paQfQCxfONlAe5RCleK8tN0uNjCeCeqf0i88dIOzWIzMtXJRyJcURE9
Ufs8JYzGHTr3u4RmsGmOiQIzBBMBCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UF
Alp6IjMACgkQCQsRmT2a67VZlhAAlKd8IyH1FZhUrsl+3XKxzVeIa/KX3wBiEXeM
pjXqTMf9V7tNoH+b0Yqbtb0vzEkwn9wZIU9c3iZAEDbYIewTHKmw6KI1j2ICWH+t
oaiR/ZFSmb3O0WnB0N9oihPYikJuZNXv1Mk8maG0as9C8/dT1rJB4hOG/sbg5OZW
+L7/tVtFPz1iOMYkU0WGJAcuHxr1hHKZkoDnsSPvXXMbhTz9/VaKiKZ/i5TZXZ5U
2pCtsp9MTu9ZbMT9hQjS53MRUDNtv0UtVXeyiELej/A6FirXEvXOGkqNfcah3naG
7CMX++k77erBvKKk0pUjuhH9v9itu/93lIC3MtElJsFF8tjyM0zqq/y6BjxFxeIR
6ZjCe2Kk2izdRTIfWah5pzUogdTx91c9aQ0K8nz/ojHVZQqLVadBzECKtg+hH3Zy
ybCwrHa4Yylrn1F23NSlJHGuPI0nTl+ZrShspG8OUgff3B8exDtl/MJ36O4ufiEO
kcQHOF+IVWd958qEi/pxHRKk8CJv7Bko7mMNT8KOpn+dADnGfueX4XTCPUnCYex/
2uzkRSwFvuGUuHLHUbfPTUGTTccszsv2I6yhEIFMTNAcgDELnV9hCPPPjihkgZ/y
cJMHD6zrbX4AagRs+BE2DClBUcjT4qjYzpBM46CtoMiFQJeVtBORzQoiqtcceLA2
91cOuKqJAjMEEAEIAB0WIQS1+uYoW0E3KLKg+u1DER9FIAhqDAUCWn9V1wAKCRBD
ER9FIAhqDNmFD/9Dvta96IMiE0x5NQLO8vks2LWfpBVtM96FTzCox4xSqHHofM1T
htT8KTyfjLh+lASiYz4jBLhyhyTfRjyqdtiv0tvc6OtS5axMJOCubdxjqp/qpqy2
e9p5qCsvP0TAWn2fpW2MySJUjaNQ992huMEF0W+FxYIuoTDVwHC56fg2yEK+nZmF
k7sHV8e8O990Hr+mxjKW55P+/99X6S2N9ttyYZ61SFn232yaEAX2Mry1NJ/esYUX
ClTQ8yUooOz6sxIQXVyA0pW9wwSElaYxTlbnAZpLlR4d4htCb39uiYhHABm0RwCG
4OBr7Yaf2JNzFwj6j/TYBYgnh3ep4cD1fKiqt7NdjY3p2fkuz7fnMlGG24gb+eBk
jqc3UJiA692ojcp5K4Gc5hs5k+vokgk6HNbXZuVtRjGn8pMIZurLyu4AvLoAG/Wx
F2r6Oav3r4V6TQ1R9CDc2lUjv7PtLPyjfuTZoKNtaWI4li0spYRdBVvvC07n/qoE
zqsp6AqoZ4w/5upAxEAGQsyqGWRR2uH0/n4dfjZOmAVS9BjcvmwV2AE7cdRavxzU
t7IcFzxy8+dBIIapO7Nr0VUKWCU7+rwwJLAvcyOSuqEb2VhvlmACJpvTay+oEQ1i
YHRzUXNgdGCPn3+nzIwohO4gdwJ8+E3Ze7MZEuztrdr2OQoCJLgQihK5AIkCMwQT
AQgAHRYhBMv1l1XL5+fv7xg/sd1AmhXYIkadBQJaeL1rAAoJEN1AmhXYIkada4cP
/3V1yJDxj7LJHJQ/tIbiv7rHH7wn6ra+n3e1jUP7TpqDW31749igxBmnHZeRXVqx
Wf2h8IS4IIkITvJrmVt7rKfcMwBVEEIthoxnCJCHt0Io1/Eim6yjBtlRve6V/yb4
l3/jLEAY7340YaYxpLCEPm1v4XMp8LFDzVriNBqdvjwwX05pLxRqELioCyPxEPf2
za6ewxPSKWEAycpgK6/gJ8xhEcX4GJ/pwP/ET0ML9nSDTmBIN/9cbvdhOejUTmfA
O+NByQSQNIQxYmVOl9PwbSdVm0alc9UqPwDY0finL/tArrE3gwnvvxrhsTWCtNM2
+ScsurYAlW8llvtkAm2dvzoccqXP215jGhLSRoUBmOiUAK8h1IIAuw4AZWnLTUhe
WwmF6Se3iVKP45vOgh7xK6xk6b4C7AQGCm8WpQHVIb8+Ghy9/pjB1Y3qG0vctGlQ
eD740uWEo6FVjeeL9C5n8r2NvodeoqfHfw4MFbunutSFpDR2UZ+B4Pp4wDNkzFNo
NC0YyC+asNbkd0lH4Soq7OM0nOYPC5h8hqlKJjWCB7sE9HmcDU+6IWIqtmw/i7Df
hzFIV1MAwwLxGhxdPqUqxhGs8z+YQBXeEJ3qnoo+c4omuAgTFKRdRC4/z4ZSjIDX
Gk1P1W5UBTzwpmjeHET/qmAO4IRVonjG8Ci0a7wBuIxhiHUEEBEIAB0WIQStF6Ie
+K7Y8cwC29n31cm/dlxh4wUCWwLmKAAKCRD31cm/dlxh4wegAQCVSZqNeAMF93/X
2uu6hmFecw3GctM0I01vkPo2BA4xggD/a5phVFeSupmOc/Yi9EnPjp1rTnUUk73e
fZofWh0eRT25AQ0EV3LuFwEIAKhb4D+o1KtI1AAIYFDhTVamkLhFG7Fv1Z60GaJM
0DjoHVKMngjJU+3S4Mg33FNbE3ZXMuoXvXNuMPhszhQ48yeLOsKuMyr5RWGfklxa
mXDV/2v0V6QOP5QUDckuyQzSOSRAA/fKObQhYEZ5hqLsKTCoUf92SIC1yDPuVj4E
kSjwa4abuDodxO6LCP3JrO7uXVkqolyiOIIMZ4Nod+GBhslsh2JVW/gWNxN62/5Q
Wby5jBQP4OQO+Qhv37Kh0HxWXJ6ZoZ/1eekoEy2/AkdxLostJDnNCLHCtB40utxC
ugumy0weoWjotS3qbuO2OGHsUfwAeFQFpUlOF00qtOOZ7ZkAEQEAAYkCPgQYAQgA
CQUCV3LuFwIbLgEpCRCAhjhC8P7YO8BdIAQZAQgABgUCV3LuFwAKCRDnGjVULDC6
pZKkB/9jXdrhNv/NIGAhbr//guur+8+RR187+lDtM+APPBiBMAgVTebhWkOAYuG+
YpWoA+gCM4ZcSp7FyZ7NuP/f4pZTT/Ez0bC0uCT/hzPrniBWB+jRs3odTZlEExbZ
MtJD0pq4io7nR++snVxq+YPKNJAnmsjPJl38yjNK5osha5DIasqLgo0PYybjSmKl
tRgR4XiPgw4EHJ0Bxq3fUEOh2ZammdkgMgEZFMpGyr+Y6/F9Y1ZYzSNqyRoQav7D
HI5FHHCvAoCkrPrGpbOf2vHyayy5oUUFz/wAHo05Ovl/iJbUEzesxvJE39Z9icw9
8zWYQwikWN6nYLUI2o4XT1H5IbKvhP8H/jdVIhVt19nfDB0nLb+cFe98k0SgJ2U3
H/784XMtBSQFLmCWqL4vmr83r2sCWyqKWX9WTc0C5EssegHiHc5eHq/iKHIzS/wy
j3w4/TT+i7yUmPOuaq8hYkCAWzjNYtQPemw0YLNaDjwfy+mxXAKReSjA6VSSWUO3
dxBMeeuqNtWU8LJsPy92C96kmKlpzWmPFX2ZfyjzTciUVzqos0siSF8/0SnWqL8u
oDMdBwolCMKcDWgSwbYUW+Kj6zy/47omg6VX7OU/IIEWaCTQ4n/5DmusmUQP1BtL
NafcOm7otWIO2NRHmenO6bajyS7QV8UZJUKd6Xwryo7u6FbARuJgSEk=
=RVmq
-----END PGP PUBLIC KEY BLOCK-----
-76
View File
@@ -1,76 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFORymoBEACnKu+KEVzJrWz89olKxEWFldUEF2UjUodjkQD1LjsTP1zURIZZ
RNKWc8UvVc2Rk7XahZijBsbk0IR9LTndmA0JcWof9c8ovwh9DnmAoMLJBKNXJYia
r5gvop4lCDQO/tkft/PcXkI2Q3VN0mUYoLOTnciKoFgt5W1DMTBGu761K3J/nQiG
pPvGo8m1Remk3u8LSJyPaRIpsSA53xBosVPSWpgeqJUAvlkqO9SpfjemIYLYl4rH
/6ePZvX3lDLegDGXrH8vM5F7qpo3j56MZJeZmixOmENso/cRVczaRpvuPFY3la4K
o0HT7pLRBS6pR1T29G/jw0WGQPkgK3cXgPdAesftBGbm8swJZJV3lmUKtuWmCJt9
0yKcEkw4EarkW0XK81RDzuTwg6fBWMBK1fRErrXcvxfboZDpAP4FNJpltxLD+yhA
k1MnqAfPsMS+/dC00+ffLGCS33Lm5XslgWuazUaoieKzx6jlo2vGCRfs88rUGpJ+
Zo9mueDinY/T25dUBBx77bbW2yqnpe0K2ePKLJynJ6/E6JftyuY6oMvk/o+cVqow
3r3HEVkuhKOfu5L4K36t3MNeSBTnxi0KZrnAzVOcSO5qlhrT+SBtoc7kE8cDtwag
dqj4Wbianih9Yrm1Y+SKV/XElyj7hNh5UHpkP1K87w9OjWb/4JKHXzZMEQARAQAB
tB5EYXZpZCBUaG9tcHNvbiA8ZGF2ZXRAZnNmLm9yZz6JAjgEEwECACIFAlP2FbIC
GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEIMox0cP8dgHMpEQAIS/pYGt
J4hlAmbrai40PT0cl1Bcf3SqbTNGoeWRxzvlua1ztfdkii4D1jsIwm5tyjpu4MeB
xWaz5qTW77TNarsUzVfQ8+c68bWNZrqeUULCAv7YtfQ38WjWtB8WoxmTfL8XQrxe
NqBdWVPnfiIt19WCVLoP9+Z41rxmgcULsTBE0ZoOjndklqlbjY9RsMVfgCQDWHCU
C3Uv1n4YMymMegxzXwp672kMxxCrwaZHQsxCCm+P1Oq08mFBlC2ZRmEQs4ozxMPz
lPhe/6jiqqNyXJY6n0xlpT1eZN8/F/wV8kVbiMEPvk0LamYshPYJTJtJf50XZoNt
AFOy7W/kVqsktrhvMKjocIWFEC245FlJzA0Yja1TRbfK/gpa0aKhADUWDQ7x1S9O
fLmLEcT0wJAPFI5dRL/ke3+FddMggqbGO3jvVtCD0D44K+sgx6aH//qM0PPGVQ9i
zCSK/822S2q1TXMiZAEWs4MHAoC71ELWkhqEUnUhGEeF1tZA9/IVo18Pvc/hr/CV
n+gi93zM0GKlSX8Vmac0L4mhXgg8WfUQ9jyeiN9VMuQTgQ3EzUK8Surlo2pEynLm
ru7PSsDdwSUsk/xrPUnQEJwQtCUIz/wfHRqrsHSiDdcu5mFUNixtze3xrb67gkP/
9zM8Tj9ow3jc6ACZ1f1m4WusWs46+3YPWqAytB5EYXZpZCBUaG9tcHNvbiA8ZGF2
ZXRAZ251Lm9yZz6JAjgEEwECACIFAlORymoCGwMGCwkIBwMCBhUIAgkKCwQWAgMB
Ah4BAheAAAoJEIMox0cP8dgHlRAP/jRMeD4qwVeTjxYm/WLUmBU+dAIyy4jM1BXH
yKP2XRwYIq+KNxq56GsHTvJpPyC2fUSJ9G3j+CMynEKBroyJm//xA7VF7HKsWaMp
DGKwD4maWDgSwLzj4MwCLucLFSWjZxbB/ODL2yvpOv3FAVRZg4wmn+qQhler/jRZ
RumbI6FCF8I0BP0dZC7mkyc3IMRgFGfo19MpQ/+GGJogVb44DtzBPEFkPoHYJV63
W7dSWS+nK7q3ZOcbXC2ozRhTyTDSB2gTcFmzxs+UBXPHMXnaJ0ApkWxXS1aJ0D9a
5F88/e8dhzKdxPPYXZx/JG8kPeMj4lohMNi5vWW1h7l8i7J8K029zkYofPUWXAOa
51iS9Y4fm32wT4Si0wK3dY1Pw8JiP1gDWUcExpb9xILbXXh/0el4Q+vpd94L5swF
CSuuEv37I0nX8n4St8gt5bHiP2dQPnXxcf05q/ZiCwua+p3/xRopqxv3tbjoyZhW
HEjDAEt2UeMdsZZd5jA77VfObxeayr22N8/0PU0bSXucgpfvQ0vUxj6fnjX2dfEV
73Kyf9EG/8P9SjXMwyYtfE9nw2XdHR3aFWROk0FgRxDSXHFnXm1OY1I1XZKHQJQ/
10XOf6AtCe9AOnx0Z8GqlSc/tAWk1PRDnWHXQ6ROoGHllotJ8KDdM9rDPheEsJF6
bVJsyWwZtDJEYXZpZCBUaG9tcHNvbiA8ZHRob21wc29uQHZpc3RhaGlnaGVybGVh
cm5pbmcuY29tPokCNwQTAQgAIQUCVXdHHwIbAwULCQgHAgYVCAkKCwIEFgIDAQIe
AQIXgAAKCRCDKMdHD/HYB0xiD/98IIF2m9HY8MiNZUhjOpQH9Mq0BU2I30/U18sK
FIu9q+gng3HxQwtbkfvGojruQ49dbbXkq+vXyWDhcVAy8EUsJskCTJ7A9eWFf8uD
I/uxcOcw7ciE7B0GeHe2IE7Btew+7mIF24693Im/KVUb2/K0n3HPwSX1byb+HKUp
C029AuoVXSyOdcQjfJJRiyJRDde3G7tWI6jWYW50GhQ2ChB2s++pfjUHC5839g1A
NatDL1DibmcssniaAiKo4RBLdpJ4KtZQrZ7RQLf6GDzxzMsxHUZv2lJfrHuuVYVc
u5h8dpO/grk4fv9aI9tbYfzVGpuuAuDfudwVh1+FNRJyco8Jp6Ycr92/eS7yJ6iZ
LPWCC+6LVN4sy5/skuh6Ttwp1RhzyKsYLQ8p0gxgqQ5zlst3J8glUw6uWxlbZNKv
7QTwa95wSya1W7ydc3+hMIC4fcSeIokzqq8RpjYPvqLUAgSawiZH1pVSBUPjlTOS
HzDpzmWCZaNgaKk7XFzAtymKw8CuvGf3/XqNwRdA8m5JvNPCaTucti7AfCVwtUrY
Yr4bfN/bsV3KbmH+XnCSzCmfZzB/wEqypmB/iG7E+XOgGHZC71mbZuCt3QhGoHUZ
46alCj2Ab8v5VW00QoIeSw9Bbt4kfVISwllkpFyp8OnhiXIJu3GMl9jLWw4AKiDA
dwpPxLkCDQRTkcpqARAA9SJw6bU53qCY4B7WG4avmESmZMP4q/JwKRCPYhxwSBIx
t3ybGKR+7NdeKVpKvKWvDndrmvWXp808GE0sseUlUbnStfeBhh302Op338pGWaUw
bSeWuYLV6KYpezzsIX5JjJsRMH921QC3Xs9AnZ90AypyWzWbu9Qiakx/Fp+WvLu3
VXvpHXNh5qOkHaTO7O7J+STg2UY0JdgNbygavrCKR4LsXoemVT1GLnJFVRUhDJr/
12URHTF+kEpP0umm71FMDLDyWomy8cO+aJZRBh1ZMbhloovP5sGZuCW8SWdNfpjV
wKZeIampNPFV8RYo9Aesw+7mOuKwCbKtnIKp/SwhLjO17S0Zb7wvfvjI4ti0hj0w
Elc5ek0MCiH5aaJXu1ouww2SnCtv3r8eJBFrxXQgXChKPAvZRRQyjvm8TYquFfBo
UYu7JciRM1MEU0f9PGs28X+A9HAU0TTr9gZFiPgrMWmDAfbiEv63jR7VhF8EFFbL
4ldpwzR/xj8pEJOGSPMkdZBQtW81SHh9xtU7B8F6TdkZCarrHi4WO5mHzJrFybtu
E2u9aLo9Pa1bhtNG726WV12DaZzO2mlx40t2N9sU8D9c9t6IzgtjTxkNR5KsKI9D
waHKvKc+iu6zF+qgEYE9uVYc66dfrhIuVAHVyn0ZNWuic8wryWQ/KKyq7ym9jsUA
EQEAAYkCHwQYAQIACQUCU5HKagIbDAAKCRCDKMdHD/HYB1vUD/oCLcLIFgDsx6uf
mKfyOXYYpcGyD7Qr6D2reEMSH+BDcO2FMGBa16ofO/7besHQJf3JNctYjrNR+vLR
50dJGQzfRJ3M7OGQMCISLcGJI0B/AnjXni7JxlBxIab5CtQZ2YTSs/cU41K/U1LK
wYc9PMArwB+M2epy41+CwqfTukcCU3cvwGOWF957jz0o+XTy3mWEh35yp9Yucoum
kFIoMZDoBZb4UQEX6kTHX73ZRyvi9GK72QlYQQMd7Dvcx3wznmdMEHSL7/iF2CDR
N7tl9HdvxVWcQTKAMMWCJ2z/aejirXVb3odunTUhfnjBM05DKq0/j5IzM+37RWOA
Ry/1TClZGEtkJOc8WGCMUhC/A3D4dEwUY3H+n4m74tmyqKSkQosx2kal3W9zMPQJ
vdOLv1zZfmzT61JThFOZohbKfghTlWptCj0FNenTZ0ym8m9DqR1ObXPDM6z8stRF
+/KI5Dhcl+8fDYGeong+rX2Xt5zeuGHh4sJLTAjxwF1HydUcr6FvEA60WLRi1hH7
9zuG8poyRYs09/NysRmEZpaWh0LMOzKBuDpfQ9B4p6M/weEtOMg4pl/tLLiiU0Kv
0WGuu5HlnhGV8K8mruqFeJlF4hEOh8jEiGd+/y/ekWa97PEj7AV2DlLkMVwJ154L
V2kKr54SWWZdTdeWM62qgpYeXrbDRg==
=2JFc
-----END PGP PUBLIC KEY BLOCK-----
-36
View File
@@ -1,36 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
o5EIudGx
=r3t+
-----END PGP PUBLIC KEY BLOCK-----
-109
View File
@@ -1,109 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
C0kDyI03GVXxDo+5JO4vUnLiVQ==
=FZnZ
-----END PGP PUBLIC KEY BLOCK-----
+505
View File
@@ -0,0 +1,505 @@
@c The GNU Free Documentation License.
@center Version 1.3, 3 November 2008
@c This file is intended to be included within another document,
@c hence no sectioning command or @node.
@display
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
@uref{http://fsf.org/}
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@end display
@enumerate 0
@item
PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document @dfn{free} in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of ``copyleft'', which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
@item
APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The ``Document'', below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as ``you''. You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A ``Modified Version'' of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A ``Secondary Section'' is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain
any mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The ``Invariant Sections'' are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The ``Cover Texts'' are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A ``Transparent'' copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not ``Transparent'' is called ``Opaque''.
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, La@TeX{} input
format, SGML or XML using a publicly available
DTD, and standard-conforming simple HTML,
PostScript or PDF designed for human modification. Examples
of transparent image formats include PNG, XCF and
JPG. Opaque formats include proprietary formats that can be
read and edited only by proprietary word processors, SGML or
XML for which the DTD and/or processing tools are
not generally available, and the machine-generated HTML,
PostScript or PDF produced by some word processors for
output purposes only.
The ``Title Page'' means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, ``Title Page'' means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
The ``publisher'' means any person or entity that distributes copies
of the Document to the public.
A section ``Entitled XYZ'' means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as ``Acknowledgements'',
``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
of such a section when you modify the Document means that it remains a
section ``Entitled XYZ'' according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
@item
VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
@item
COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
@item
MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
@enumerate A
@item
Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
@item
List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
@item
State on the Title page the name of the publisher of the
Modified Version, as the publisher.
@item
Preserve all the copyright notices of the Document.
@item
Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
@item
Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
@item
Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
@item
Include an unaltered copy of this License.
@item
Preserve the section Entitled ``History'', Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled ``History'' in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
@item
Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the ``History'' section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
@item
For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/or
dedications given therein.
@item
Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
@item
Delete any section Entitled ``Endorsements''. Such a section
may not be included in the Modified Version.
@item
Do not retitle any existing section to be Entitled ``Endorsements'' or
to conflict in title with any Invariant Section.
@item
Preserve any Warranty Disclaimers.
@end enumerate
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled ``Endorsements'', provided it contains
nothing but endorsements of your Modified Version by various
parties---for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
@item
COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled ``History''
in the various original documents, forming one section Entitled
``History''; likewise combine any sections Entitled ``Acknowledgements'',
and any sections Entitled ``Dedications''. You must delete all
sections Entitled ``Endorsements.''
@item
COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
@item
AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an ``aggregate'' if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
@item
TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled ``Acknowledgements'',
``Dedications'', or ``History'', the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
@item
TERMINATION
You may not copy, modify, sublicense, or distribute the Document
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, or distribute it is void, and
will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your license
from a particular copyright holder is reinstated (a) provisionally,
unless and until the copyright holder explicitly and finally
terminates your license, and (b) permanently, if the copyright holder
fails to notify you of the violation by some reasonable means prior to
60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, receipt of a copy of some or all of the same material does
not give you any rights to use it.
@item
FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
@uref{http://www.gnu.org/copyleft/}.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License ``or any later version'' applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation. If the Document
specifies that a proxy can decide which future versions of this
License can be used, that proxy's public statement of acceptance of a
version permanently authorizes you to choose that version for the
Document.
@item
RELICENSING
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server. A
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
site means any set of copyrightable works thus published on the MMC
site.
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.
``Incorporate'' means to publish or republish a Document, in whole or
in part, as part of another Document.
An MMC is ``eligible for relicensing'' if it is licensed under this
License, and if all works that were first published under this License
somewhere other than this MMC, and subsequently incorporated in whole
or in part into the MMC, (1) had no cover texts or invariant sections,
and (2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site
under CC-BY-SA on the same site at any time before August 1, 2009,
provided the MMC is eligible for relicensing.
@end enumerate
@page
@heading ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
@smallexample
@group
Copyright (C) @var{year} @var{your name}.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
@end group
@end smallexample
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the ``with@dots{}Texts.''@: line with this:
@smallexample
@group
with the Invariant Sections being @var{list their titles}, with
the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
being @var{list}.
@end group
@end smallexample
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
@c Local Variables:
@c ispell-local-pdict: "ispell-dict"
@c End:
+1442
View File
File diff suppressed because it is too large Load Diff
-30
View File
@@ -1,30 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFidi7gBCADEupvdH6woe3DfqSgC20nTVmLgKKjvHotuEry5BGm62lKsSzPa
eyXT6UkM+MMRG6pYQ8ZgKiAZDZtiTw+fuulRA4bWXd9xBNPT+xYDGMzV8EXWlo6R
ABq3InxJK6Bbl8c+Z8hMTeHF1WR4Ylp2N9BfIw3eQKqk4MSgPPY+NddxEQUdZ4E8
3RNnWFJM08mjJJCfxHi9YmKncoUIua8Tj+SgYLt9yB2MOvm7BKoWg8k8PR1HtTMA
2/wfOyhEETqToMA24Wpq+7ULiPMq52iSjpJMjlRFqtbnd8vTjKOnoIDDuF2SKFnn
fnw/3rhiw10BYLsY/auF7AutovCFA0n+YuTPABEBAAG0HkRhdmlkIENyYXZlbiA8
ZGF2aWRAY3JhdmVuLmNoPokBTgQTAQgAOBYhBF9DtoEENy9LqJimSzO56f3ijSwj
BQJYnYu4AhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEDO56f3ijSwja/0I
AJlTg+KyMRcppViv+TSWpNf9RcyEHWPMLJCtRuZLB3eGc8SliPGL1UX+nyo9Zaap
MwFHdxyt80XWrRmtQHZB1MyRq7YJQBAaeK08UeXtomXnG/aSfr8Yk+pwlaLxGDGc
bn8yz3k+Odfkla/i1JfwvznoG0Ck6x9DsNn1EZKgOyZvCDDSK8wv3Z5BRg5zdxER
THyT+h56cPEFn1zZ75/gTuJZ6AP87m4B0n/zdwn0qxyCeV5C0Vqkq0/5ssKDO3ke
KBe3iDjxpaAQTofgjdY/mUAg8Pl4/5gJLKL4VAM/M/sTMEWmwuIwQuaOzjPt7DOr
D66jexWgs/jHptAKEfBvJ7y5AQ0EWJ2LuAEIAMR1IWIYgIGydlpvIe3+C99HB+Fw
ok+LYRdcdTud0db8dByW/DTdVJlzDN7AHp6IzG/agNaQCQd4F5W0ovIlVY7zBOOR
663XXA5vrdYWq6adFR+tN5bE9MM0xKovvKnx3kb1NXJiWG+nSqdmhd7L8ZG711R7
uh6fk1faXGAbUFSriI2gNiFdOxgfW8mHXYknsuCEI2a//RiFoUQZgScfM7oPmVGq
cCGsFGWTLj+TU5JY01BVSY7x+9lbNvb7WvyYQSUldQG8wfnuu+Xmr7cE3/5GHmMz
fmWbmv8865eKjnG51cPp2LR0VUVxpHs6hwxaXi3BJ0T3NKexIWZQE5CsXb8AEQEA
AYkBNgQYAQgAIBYhBF9DtoEENy9LqJimSzO56f3ijSwjBQJYnYu4AhsMAAoJEDO5
6f3ijSwj6rAH/1jox9X3Pw1CUALihQaN7D8vWMFh3FiboO7SzBnghHkUvlz7LyJJ
FjZkg+M4zIKckCLMVE8qPx1XR24fmFRCSiz2FvLe/FHe7FWltycpiXZzMCqh/8Ch
b8CejLlKkyVbEbD+tPfp95VXM6giIEN2lFEoDvqaXmnYAWWmWBo3sl30oUGM+xvn
e1DyWxbYhiUJ3z/P0URs2kOOl0USbx0uEprJce2vRVwij74swpmCq0K3CyYG9oWC
8ID9UlKNpo4ar3Ni1hfwARjViUev8Xc+iKitkxnAJigsYqwa2qeMEvlheJsCKHFS
eUVaVX/l+Od27ahlXPo54pU7Lc7QNmIkPlA=
=eGxN
-----END PGP PUBLIC KEY BLOCK-----
-62
View File
@@ -1,62 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
N8KxEVauZxGaQ4T+xb0k3PWW2byfqQEyu4k=
=lxuw
-----END PGP PUBLIC KEY BLOCK-----
File diff suppressed because it is too large Load Diff
-3668
View File
File diff suppressed because it is too large Load Diff
-52
View File
@@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGcvh/QBEACePF16wEeQaqfJNgeaSQB6ty6PzLaYtl8UVApPSCF1PYNEhDtx
QOOpBXeuk6h68cjhRX7hmug8mAraXotw4aG4Z3kbUro4fzXOYW3rCi/mAm5NFXLU
mBX3E1AV1pcD8hDA5s3LeGzfTo4xRGTW4zTzxGEyrvbChkVib7wTSk52a/WkFas6
l3sXnepF8HmIEOWkwQcYdcuogaNDFP1kjZYvqfKJXmCZnY+lC8Zfe/vlD/x8FZQY
BQ5xgXIfbSR0xlRz/XIHfJv6j+3myUUr2UKMku1dkjlkhNkyfw+RypQzmbJ0oJ4b
k76/ju0nnlN65/LvyeTVUh/2O2VnPnZ49keL8sqrAPXF4di4pWT+/mPxfoEtiSDt
jyzbr8+ajcwLa4SSKLlexqjZj8X6R4tt31Rf/Pliwe4TdPmd2leE3BIJl9bAuslE
vd5tqZ1oa3Zfb62tvpaJCRYMtOEWuGkYdyrwTW7UXJPQpam4X7WoW2jWc5aTpAnp
nqIPzaWJmua1lGQjEXgt4xvVdhVmZq32fkTy/rXw9l5a+XU7N4/Zz8AR/0xO+UBc
Q1J+wHADjL8Q0v0tZLEaiWL72AsxN3GMWNPXWAplaTPUNPUlNK0JPHwhTX/cQVkI
c9avSKc3BeUofC96d13I7QmRjQ0gcBaLtV9lMOuYwbC+6tb70x2fQsI3bwARAQAB
tCJFa2FpdHogWmFycmFnYSA8ZWthaXR6QGVsZW5xLnRlY2g+iQJUBBMBCAA+FiEE
Xb4j05BTZSZ/jMdq/blSvT9zVtYFAmcvh/QCGwMFCQPCZwAFCwkIBwIGFQoJCAsC
BBYCAwECHgECF4AACgkQ/blSvT9zVtbWCRAAkbla35s8RKhQBweqwEcdYDV2Zpt1
6OgENymjLs/qhh7Y9WgWZ0YraSNYDGCt6lemhiorvrXX48+yZC98c8ZgCrr4Hmt8
i/6TvJqVhwlZ9//3W/z/YuYDtUPBzRHgwM8tejiXmNqYM8lFJg64pQaczmGAR29X
f0WTQegSociBSUg9eC7BS74Uh7UbHCgytyretoKmqJAp8SKE/Czt5x4RlXKVgGaw
zg1GerriwnNbudy0eyl1q0Pn7Q+K+tQ14EPDAM+QsGR/fBV4a3uYP6sBF+SdM+DO
LX5MRVbWJ8O3kLmbAKQeLgSLlnYydMY/mTvjgxMAakfGCA4q69gmyDSB0fzAUm3c
1JV5VwIo63rykiOEB/k2m4aiiujH5kOC86sjb273+XXWlOhOEO/vKHHdAh+B7dnE
EYUPXnUEMQ23PaF422u7C62kw3yH/krKr60t5FxcqNWtCOxEWc0WMZw12Q3Gw8+9
oA5DI/f4gjlGvQiQWqj6dvoXvIDmifr0R3sTi6xh+udu2Rp8PsKOW8ZRyQ0/VOiw
zBfQkf4PFowaiRp8LnkjLEVft6ruuA1hawO2SKKJ8WpgZPw5oMigZR5DgbunxMD4
BcqmD7bSoTRV/ljx1I8UgAaQLPqVVnLt31iENtLv43kPHl56AbYpAzcvf8nGU3KP
hGOoByyuyph4RYC5Ag0EZy+H9AEQANc9vw7DnBeNGKhq1Bg5oiGII7npGXCChe7P
B6CJjkvN6n1kXrvBYsaORXvZJPNgmBTKu/ETGYS0t0YeGlI4WTOK9dgB/7T8dngR
mrGjPmZjryzfk18tXnJq0zoLixLizDT3FqV4jOG5KjPTxQvpdBMiX9oX4Je2OMqF
d14fopLGav0rW7Fh5p83OSREpXbJUJJiUaH3p9U9Ss8IBHzr669PViAqe09EfxL/
L0l1JIFjHQjJcg01PUXZAW6aPtd7q6eNCSLTXYPiDRQe2GdRUcB7WfqCogR/LEpz
LLcd0NkxCnc0T6darq2Dupt8rvQ95L4/cOGVcDUDOGE6U92XCkaCvUQkypxQCGKS
EjbTFoLRG/4JQj0pAWSaqxPS7hkTFql4qUAdRwzHN1ib6XedcFfqHSy2Mk5ttW8D
aBGKhCm7Mn6+4smXENHSuQxCqHlCQ2m+9ogpbxavNVfAblE/ucxyfyo6FlDbGHEG
3Yu5296kUPT7PqZLiR3KetMPJfCLY2jVPio3t4tDs7Sj41sG5aIwEApb0Zoz3bPB
t5O5GUoPFnXyjO306WLxXrM2tjY38jwHxF1Qvs3HQTJgRei2g3D3KiiR27cXXs/8
lrr8tblr5J1tE4TaQCea5lDuEgTCDLnlcopoYcKpFAUBGQtzcNkudT9wsM2nf9y6
INcUE3FlABEBAAGJAjwEGAEIACYWIQRdviPTkFNlJn+Mx2r9uVK9P3NW1gUCZy+H
9AIbDAUJA8JnAAAKCRD9uVK9P3NW1td1D/4xx8AbDKAKx9ezT6GdTZbK6FS66qRQ
CEzTa5MXZCEogASOla71CB10l5fFtsRWCtNQLzmgwkFwhdxyjqendDgacc5v/71N
Bb5KpKni6wDJMeiGs3Lq3ZgWfHte3NZ99iSH+La3aBSFbCloJ/Yf/MJBkzrm1sTT
KcgF9/i0pzkume5vtpKRDjjSz4abHu7qk4Sgi5gwWpoKFTT38q6nLP+9SUla3JJj
NqU3gvn8kwv6KDMKc4marnSp/c+5O6E+lNrxMdD0n8+io/Bf/UEI6BU8F7JshPq7
32bHN1NzUXvgMd4cNsAlvsWM8UCKZ4/usFl1euMMFOvnadZinsTHpXhahJzkYWA7
nAKbCoNNq9LPtWxfjHsIfhs+QQafF31Pw+jqHqruB4tH0eiLabrz7kejaZvJdVip
NIzRUWYnpP+18khep2UtT1n9VNs6QNb4cHPsoe+s4ga4ZK/klCdEhLyaXtbcaNEH
b7NZUOBj3HhKFgIY8PD1AptAObHjsUNF5+jfEnl+5WjwyTZTIgDRiOrwn8LWOANQ
0JpR69t06uJwmiogQgnlYe36YFaauHGQZFa+L+R2zgnGn8TnR4C3tH7gNAef9+PK
qgmJT5pNIkFzlDmZi05E9xzhj4WQ/OOsqU64eHL2PaDk+2TdfrzNwNFbkABJ+C7B
HNAytQ6h9cpUbg==
=6go3
-----END PGP PUBLIC KEY BLOCK-----
-25
View File
@@ -1,25 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEZWoqJxYJKwYBBAHaRw8BAQdAtZriklnl31QZtFUquLh9zZkvD9ISy8LvIsxj
r3yLdD/NGWdvb2RvbGRwYXVsQGF1dGlzdGljaS5vcmfClgQTFgoAPhYhBI0QYLlr
uCkugptySa7UHMGTtwHiBQJlaionAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMB
Ah4BAheAAAoJEK7UHMGTtwHiUAgBAMYrBit4inzbz7KdG5S/PLLDHJTlftTGJFJK
SjVR+04LAQCCB3yctJKVQ5/vh0ZFen7JEoux5Vo7MvTlsoNYOyf4BM44BGVqKicS
CisGAQQBl1UBBQEBB0A9/mYMc/o3nBUqOIgmV19LurQYtPOBSeTVBFCPDPUVNQMB
CAfCeAQYFgoAIBYhBI0QYLlruCkugptySa7UHMGTtwHiBQJlaionAhsMAAoJEK7U
HMGTtwHivtYBAPwpUkeDhJgkKiqXV66HLnlEWPi3gW/5VTN5qda9ZBLlAQDCxDi0
DaGIjBbPHkqKEX4uRmtN2yFBKjIlPDz+YkEFBsYzBGkc/agWCSsGAQQB2kcPAQEH
QDzYI5IkjfX/2Hj5FM0r9QqDeOm319xxiO3YB+lnjp19zTBHaWFjb21vIExlaWRp
IDx0aGVyZXdhc2FAZmlzaGludGhlY2FsY3VsYXRvci5tZT7CmQQTFgoAQRYhBFDh
e+DSEMiD1nUxUEo9B+/QXEBFBQJpHP2oAhsDBQkFo5qABQsJCAcCAiICBhUKCQgL
AgQWAgMBAh4HAheAAAoJEEo9B+/QXEBF0K4BAKhYxsIiNUaYCcp46n6PY5dBT1e0
DCwDX4HZHqT4Eft3AP9R+ROt7bFu/LS/KepD/SVvX66PrHfPHFp974gHyqiDC8J1
BBAWCgAdFiEEjRBguWu4KS6Cm3JJrtQcwZO3AeIFAmkc/toACgkQrtQcwZO3AeJ7
UwD/dKLj2FJIOFk9WSaVY6XObqCtWYZ9xOzQrYsQMIS8F8EBAOV36k4kbLwpuvgd
6zjjyoeNEJLqAWpedddJowpE/3kIzjgEaRz9qBIKKwYBBAGXVQEFAQEHQJadfcFx
0NANcJ6yMU+u6QAr4cxaJINqydAtR44GEWg4AwEIB8J+BBgWCgAmFiEEUOF74NIQ
yIPWdTFQSj0H79BcQEUFAmkc/agCGwwFCQWjmoAACgkQSj0H79BcQEWRlQD+Lxqi
tOzsAjGMeoj3IdAbLcqjb0XfHmRlohkrZaOOZ64BAKk8Lr60fw967oa0wgvjuNDJ
F3++09Bhv8aN1NJFT/wC
=B3ji
-----END PGP PUBLIC KEY BLOCK-----
-23
View File
@@ -1,23 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZ6ZvYBYJKwYBBAHaRw8BAQdAPCr0v0TSV+TqyrzkzBYzGn2WcISQg/U3azeZ
Oo5JKmW0IVN0ZXZlIEdlb3JnZSA8c3RldmVAZnV0dXJpbGUubmV0PoiRBBMWCgA5
AhsBAheABAsJCAcFFQoJCAsEFgIDAQIeBRYhBNG9Hre2Va7OC6ePlElAfn6JypsH
BQJnpnTqAhkBAAoJEElAfn6JypsH4qAA/2pBKJz8oHjc0oGU6sZounN49yQXxRwe
gEJQBgTFdwwTAQCwTH+jmClGrLiZvQ7e9B8BPKVHHsy/dYiNq1NBEbGtDrQgU3Rl
dmUgR2VvcmdlIDxndWl4QGZ1dHVyaWxlLm5ldD6IjgQTFgoANgIbAQQLCQgHBRUK
CQgLBBYCAwECHgUCF4AWIQTRvR63tlWuzgunj5RJQH5+icqbBwUCZ6Z06gAKCRBJ
QH5+icqbB2JlAQCe55IEtSZrEOnJyxBTxrMJ5yvHYMjlOEQL/iBPoQGI7wEArqtX
mnEoP5yqizN7w1VPtlHK9/f2G1KeY5pNwSchxQO4OARnpngSEgorBgEEAZdVAQUB
AQdADQwagCoUtjddSYyLMimjsAOdgXtB9E4Vd00tEKOGI1UDAQgHiH4EGBYKACYW
IQTRvR63tlWuzgunj5RJQH5+icqbBwUCZ6Z4EgIbDAUJBaOagAAKCRBJQH5+icqb
B2ZNAQDeHHWhcMAg4OP/QJ+n6yLCiCFNSmcQF3Rbap4bhZDS5QEAnOhj8n6UIz2L
8LeJSGfeygcOKF4zXUOvgKSdQ+W+VQm4MwRnpnpDFgkrBgEEAdpHDwEBB0C+Ca99
GZl2q4Ys2pDoSXevmSIjNc+2QLfFAs9q8oeeeIj1BBgWCgAmAhsCFiEE0b0et7ZV
rs4Lp4+USUB+fonKmwcFAmensL8FCQWk0PwAgXYgBBkWCgAdFiEECAesdt/oQwNt
X1h59R1KFtzub6cFAmemekMACgkQ9R1KFtzub6fCuAEA1hT6JamlCyYf6gwGVp6i
JCgPETtJkXBEmC7SfP8Vdm4A/jjhzX6uBKHi3NHC1ddg65y27flMCNSBKk7PRXOC
W3MFCRBJQH5+icqbBwZGAP41zEb+B6vWPr1qu0EUnWjuzvJ6SFpA29Soo2cGC8Om
fQD+IH7b1o6FjPM1wypGoYcqtDJrbu2XTm5cvPq24bRnNAI=
=pdD+
-----END PGP PUBLIC KEY BLOCK-----
-13
View File
@@ -1,13 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEaG18eRYJKwYBBAHaRw8BAQdASa/U2vPjyirIBNdWZu3TpMU/2gHiPezdWwle
EmNS+XHNIkdhYnJpZWwgV2lja2kgPGdhYnJpZWxAZXJsaWtvbi5jaD7CkwQTFgoA
OxYhBOQmfNH8PulZfwdC+cyY6fBDMP1/BQJobXx5AhsDBQsJCAcCAiICBhUKCQgL
AgQWAgMBAh4HAheAAAoJEMyY6fBDMP1//fgA/084FmSOXIosWtcdAidA8ZtIX/Z1
S1IPCCmDs+MwDUvLAQDqqvyg8An32ybyBz7ZbSMG3vuP9IWqgDdVJQlc3R2yCs44
BGhtfHkSCisGAQQBl1UBBQEBB0B7puMePYJoW2OgiXStEQWNdaB8mrE7gUDDHimo
A8zaRQMBCAfCeAQYFgoAIBYhBOQmfNH8PulZfwdC+cyY6fBDMP1/BQJobXx5AhsM
AAoJEMyY6fBDMP1/DLwA/0y2hyBG16AJNwt16qlt1WAoOv8rstRiv+c7NUiEeHKN
AP9OpGrGXgNcNxSBVKCJoF6fpukRuHUdp2jYkHT3vy2HAw==
=FRjL
-----END PGP PUBLIC KEY BLOCK-----
-72
View File
@@ -1,72 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
joMvXAA=
=rqfr
-----END PGP PUBLIC KEY BLOCK-----
+171
View File
@@ -0,0 +1,171 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix ui)
#:use-module (guix utils)
#:use-module (ice-9 ftw)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-39)
#:export (search-patch
search-bootstrap-binary
%patch-directory
%bootstrap-binaries-path
fold-packages
find-packages-by-name
find-newest-available-packages))
;;; Commentary:
;;;
;;; General utilities for the software distribution---i.e., the modules under
;;; (gnu packages ...).
;;;
;;; Code:
(define _ (cut gettext <> "guix"))
;; By default, we store patches and bootstrap binaries alongside Guile
;; modules. This is so that these extra files can be found without
;; requiring a special setup, such as a specific installation directory
;; and an extra environment variable. One advantage of this setup is
;; that everything just works in an auto-compilation setting.
(define %patch-path
(make-parameter
(map (cut string-append <> "/gnu/packages/patches")
%load-path)))
(define %bootstrap-binaries-path
(make-parameter
(map (cut string-append <> "/gnu/packages/bootstrap")
%load-path)))
(define (search-patch file-name)
"Search the patch FILE-NAME."
(search-path (%patch-path) file-name))
(define (search-bootstrap-binary file-name system)
"Search the bootstrap binary FILE-NAME for SYSTEM."
(search-path (%bootstrap-binaries-path)
(string-append system "/" file-name)))
(define %distro-module-directory
;; Absolute path of the (gnu packages ...) module root.
(string-append (dirname (search-path %load-path "gnu/packages.scm"))
"/packages"))
(define (package-files)
"Return the list of files that implement distro modules."
(define prefix-len
(string-length
(dirname (dirname (search-path %load-path "gnu/packages.scm")))))
(file-system-fold (const #t) ; enter?
(lambda (path stat result) ; leaf
(if (string-suffix? ".scm" path)
(cons (substring path prefix-len) result)
result))
(lambda (path stat result) ; down
result)
(lambda (path stat result) ; up
result)
(const #f) ; skip
(lambda (path stat errno result)
(warning (_ "cannot access `~a': ~a~%")
path (strerror errno))
result)
'()
%distro-module-directory
stat))
(define (package-modules)
"Return the list of modules that provide packages for the distribution."
(define not-slash
(char-set-complement (char-set #\/)))
(filter-map (lambda (path)
(let ((name (map string->symbol
(string-tokenize (string-drop-right path 4)
not-slash))))
(false-if-exception (resolve-interface name))))
(package-files)))
(define (fold-packages proc init)
"Call (PROC PACKAGE RESULT) for each available package, using INIT as
the initial value of RESULT. It is guaranteed to never traverse the
same package twice."
(identity ; discard second return value
(fold2 (lambda (module result seen)
(fold2 (lambda (var result seen)
(if (and (package? var)
(not (vhash-assq var seen)))
(values (proc var result)
(vhash-consq var #t seen))
(values result seen)))
result
seen
(module-map (lambda (sym var)
(false-if-exception (variable-ref var)))
module)))
init
vlist-null
(package-modules))))
(define* (find-packages-by-name name #:optional version)
"Return the list of packages with the given NAME. If VERSION is not #f,
then only return packages whose version is equal to VERSION."
(define right-package?
(if version
(lambda (p)
(and (string=? (package-name p) name)
(string=? (package-version p) version)))
(lambda (p)
(string=? (package-name p) name))))
(fold-packages (lambda (package result)
(if (right-package? package)
(cons package result)
result))
'()))
(define (find-newest-available-packages)
"Return a vhash keyed by package names, and with
associated values of the form
(newest-version newest-package ...)
where the preferred package is listed first."
;; FIXME: Currently, the preferred package is whichever one
;; was found last by 'fold-packages'. Find a better solution.
(fold-packages (lambda (p r)
(let ((name (package-name p))
(version (package-version p)))
(match (vhash-assoc name r)
((_ newest-so-far . pkgs)
(case (version-compare version newest-so-far)
((>) (vhash-cons name `(,version ,p) r))
((=) (vhash-cons name `(,version ,p ,@pkgs) r))
((<) r)))
(#f (vhash-cons name `(,version ,p) r)))))
vlist-null))
+66
View File
@@ -0,0 +1,66 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages acl)
#:use-module (guix licenses)
#:use-module (gnu packages attr)
#:use-module (gnu packages perl)
#:use-module ((gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public acl
(package
(name "acl")
(version "2.2.51")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/acl/acl-"
version ".src.tar.gz"))
(sha256
(base32
"09aj30m49ivycl3irram8c3givc0crivjm3ymw0nhfaxrwhlb186"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-after
'configure 'patch-makefile-SHELL
(lambda _
(patch-makefile-SHELL "include/buildmacros"))
(alist-replace
'check
(lambda _
(system* "make" "tests" "-C" "test")
;; XXX: Ignore the test result since this is
;; dependent on the underlying file system.
#t)
%standard-phases))))
(inputs `(("attr" ,attr)
("gettext" ,guix:gettext)
("perl" ,perl)))
(home-page
"http://savannah.nongnu.org/projects/acl")
(synopsis
"Library and tools for manipulating access control lists")
(description
"Library and tools for manipulating access control lists.")
(license (list gpl2+ lgpl2.1+))))
+192
View File
@@ -0,0 +1,192 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages algebra)
#:use-module (gnu packages)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl)
#:use-module (gnu packages readline)
#:use-module (gnu packages flex)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public mpfrcx
(package
(name "mpfrcx")
(version "0.4.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.multiprecision.org/mpfrcx/download/mpfrcx-"
version ".tar.gz"))
(sha256
(base32
"1rrc75chxyicqjgg5mfhgbz7p9mx1fgh0qlx14a82m25vfhifnd1"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)))
(synopsis "mpfrcx, a library for the arithmetic of univariate polynomials
over arbitrary precision real or complex numbers")
(description
"mpfrcx is a library for the arithmetic of univariate polynomials over
arbitrary precision real (mpfr) or complex (mpc) numbers, without control
on the rounding. For the time being, only the few functions needed to
implement the floating point approach to complex multiplication are
implemented. On the other hand, these comprise asymptotically fast
multiplication routines such as ToomCook and the FFT. ")
(license lgpl2.1+)
(home-page "http://mpfrcx.multiprecision.org/")))
(define-public fplll
(package
(name "fplll")
(version "4.0.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-"
version ".tar.gz"))
(sha256 (base32
"0zkifm4s77cl2qib905lxpwvlwf6liy8q7bnmvfdfyz0fbgxl8z8"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)))
(synopsis "fplll, a library for LLL-reduction of euclidean lattices")
(description
"fplll LLL-reduces euclidean lattices. Since version 3, it can also
solve the shortest vector problem.")
(license lgpl2.1+)
(home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
(define-public gsl
(package
(name "gsl")
(version "1.15")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gsl/gsl-"
version ".tar.gz"))
(sha256
(base32
"18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/gsl/")
(synopsis "Numerical library for C and C++")
(description
"The GNU Scientific Library (GSL) is a numerical library for C
and C++ programmers. It is free software under the GNU General
Public License.
The library provides a wide range of mathematical routines such
as random number generators, special functions and least-squares
fitting. There are over 1000 functions in total with an
extensive test suite.")
(license gpl3+)))
(define-public pari-gp
(package
(name "pari-gp")
(version "2.5.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
version ".tar.gz"))
(sha256 (base32
"0zsjccnnv00kwj2gk3ww2v530kjin1rgj8p8hbl4pwcnwc7m68gl"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("perl" ,perl)
("readline" ,readline)))
(arguments
'(#:make-flags '("gp")
;; FIXME: building the documentation requires tex; once this is available,
;; replace "gp" by "all"
#:test-target "dobench"
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(readline (assoc-ref inputs "readline"))
(gmp (assoc-ref inputs "gmp")))
(zero?
(system* "./Configure"
(string-append "--prefix=" out)
(string-append "--with-readline=" readline)
(string-append "--with-gmp=" gmp)))))
;; FIXME: readline and gmp will be detected automatically in the next
;; stable release
%standard-phases)))
(synopsis "PARI/GP, a computer algebra system for number theory")
(description
"PARI/GP is a widely used computer algebra system designed for fast
computations in number theory (factorisations, algebraic number theory,
elliptic curves...), but it also contains a large number of other useful
functions to compute with mathematical entities such as matrices,
polynomials, power series, algebraic numbers, etc., and a lot of
transcendental functions.
PARI is also available as a C library to allow for faster computations.")
(license gpl2+)
(home-page "http://pari.math.u-bordeaux.fr/")))
(define-public bc
(package
(name "bc")
(version "1.06")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz"))
(sha256
(base32
"0cqf5jkwx6awgd2xc2a0mkpxilzcfmhncdcfg7c9439wgkqxkxjf"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("flex" ,flex)))
(arguments
'(#:phases
(alist-replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
;; This old `configure' script doesn't support
;; variables passed as arguments.
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)))))
%standard-phases)))
(home-page "http://www.gnu.org/software/bc/")
(synopsis "Arbitrary precision numeric processing language")
(description
"bc is an arbitrary precision numeric processing language. Syntax
is similar to C, but differs in many substantial areas. It supports
interactive execution of statements. bc is a utility included in the
POSIX P1003.2/D11 draft standard.
Since the POSIX document does not specify how bc must be implemented,
this version does not use the historical method of having bc be a
compiler for the dc calculator. This version has a single executable
that both compiles the language and runs the resulting `byte code'. The
byte code is not the dc language.")
(license gpl2+)))
+53
View File
@@ -0,0 +1,53 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages aspell)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages perl))
(define-public aspell
(package
(name "aspell")
(version "0.60.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/aspell/aspell-"
version ".tar.gz"))
(sha256
(base32
"1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(home-page "http://aspell.net/")
(synopsis "Spell checker")
(description
"GNU Aspell is a free spell checker designed to eventually replace
Ispell. It can either be used as a library or as an independent spell
checker. Its main feature is that it does a superior job of suggesting
possible replacements for a misspelled word than just about any other
spell checker out there for the English language. Unlike Ispell, Aspell
can also easily check documents in UTF-8 without having to use a special
dictionary. Aspell will also do its best to respect the current locale
setting. Other advantages over Ispell include support for using
multiple dictionaries at once and intelligently handling personal
dictionaries when more than one Aspell process is open at once.")
(license lgpl2.1+)))
+77
View File
@@ -0,0 +1,77 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages attr)
#:use-module (guix licenses)
#:use-module (gnu packages perl)
#:use-module ((gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public attr
(package
(name "attr")
(version "2.4.46")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/attr/attr-"
version ".src.tar.gz"))
(sha256
(base32
"07qf6kb2zk512az481bbnsk9jycn477xpva1a726n5pzlzf9pmnw"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-after
'configure 'patch-makefile-SHELL
(lambda _
(patch-makefile-SHELL "include/buildmacros"))
(alist-replace
'install
(lambda _
(zero? (system* "make"
"install"
"install-lib"
"install-dev")))
(alist-replace
'check
(lambda _
;; Use the right shell.
(substitute* "test/run"
(("/bin/sh")
(which "bash")))
(system* "make" "tests" "-C" "test")
;; XXX: Ignore the test result since this is dependent on the
;; underlying file system.
#t)
%standard-phases)))))
(inputs `(("perl" ,perl)
("gettext" ,guix:gettext)))
(home-page
"http://savannah.nongnu.org/projects/attr/")
(synopsis
"Library and tools for manipulating extended attributes")
(description
"Portable library and tools for manipulating extended attributes.")
(license (list gpl2+ lgpl2.1+))))
+267
View File
@@ -0,0 +1,267 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages autotools)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages m4)
#:use-module (gnu packages bash)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
(define-public autoconf
(package
(name "autoconf")
(version "2.69")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/autoconf/autoconf-"
version ".tar.xz"))
(sha256
(base32
"113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl)
("m4" ,m4)))
;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It
;; should use our own "cpp" instead of "/lib/cpp".
(arguments `(#:tests? #f))
(home-page
"http://www.gnu.org/software/autoconf/")
(synopsis "Create source code configuration scripts")
(description
"GNU Autoconf is an extensible package of M4 macros that produce
shell scripts to automatically configure software source code
packages. These scripts can adapt the packages to many kinds of
UNIX-like systems without manual user intervention. Autoconf
creates a configuration script for a package from a template
file that lists the operating system features that the package
can use, in the form of M4 macro calls.")
(license gpl3+))) ; some files are under GPLv2+
(define-public autoconf-wrapper
;; An Autoconf wrapper that generates `configure' scripts that use our
;; own Bash instead of /bin/sh in shebangs. For that reason, it
;; should only be used internally---users should not end up
;; distributing `configure' files with a system-specific shebang.
(package (inherit autoconf)
(location (source-properties->location (current-source-location)))
(name (string-append (package-name autoconf) "-wrapper"))
(build-system trivial-build-system)
(inputs `(("guile"
;; XXX: Kludge to hide the circular dependency.
,(module-ref (resolve-interface '(gnu packages guile))
'guile-2.0))
("autoconf" ,autoconf)
("bash" ,bash)))
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(autoconf (string-append
(assoc-ref %build-inputs "autoconf")
"/bin/autoconf"))
(guile (string-append
(assoc-ref %build-inputs "guile")
"/bin/guile"))
(sh (string-append
(assoc-ref %build-inputs "bash")
"/bin/sh"))
(modules ((compose dirname dirname dirname)
(search-path %load-path
"guix/build/utils.scm"))))
(mkdir-p bin)
;; Symlink all the binaries but `autoconf'.
(with-directory-excursion bin
(for-each (lambda (file)
(unless (string=? (basename file) "autoconf")
(symlink file (basename file))))
(find-files (dirname autoconf) ".*")))
;; Add an `autoconf' binary that wraps the real one.
(call-with-output-file (string-append bin "/autoconf")
(lambda (port)
;; Shamefully, Guile can be used in shebangs only if a
;; single argument is passed (-ds); otherwise it gets
;; them all as a single argument and fails to parse them.
(format port "#!~a
export GUILE_LOAD_PATH=\"~a\"
export GUILE_LOAD_COMPILED_PATH=\"~a\"
exec ~a --no-auto-compile \"$0\" \"$@\"
!#~%"
sh modules modules guile)
(write
`(begin
(use-modules (guix build utils))
(let ((result (apply system* ,autoconf
(cdr (command-line)))))
(if (and (zero? result)
(file-exists? "configure")
(not (file-exists? "/bin/sh")))
(begin
(patch-shebang "configure")
#t)
(exit (status:exit-val result)))))
port)))
(chmod (string-append bin "/autoconf") #o555)))))))
(define-public automake
(package
(name "automake")
(version "1.13.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
"12yi1bzkipi7qdmkdy77pazljsa9z7q66hi6c4rq73p7hbv6rkbf"))))
(build-system gnu-build-system)
(inputs
`(("autoconf" ,autoconf-wrapper)
("perl" ,perl)
("patch/skip-amhello"
,(search-patch "automake-skip-amhello-tests.patch"))))
(native-search-paths
(list (search-path-specification
(variable "ACLOCAL_PATH")
(directories '("share/aclocal")))))
(arguments
'(#:patches (list (assoc-ref %build-inputs "patch/skip-amhello"))
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(rnrs io ports))
#:phases (alist-cons-before
'patch-source-shebangs 'patch-tests-shebangs
(lambda _
(let ((sh (which "sh")))
(substitute* (find-files "t" "\\.(sh|tap)$")
(("#![[:blank:]]?/bin/sh")
(string-append "#!" sh)))
;; Set these variables for all the `configure' runs
;; that occur during the test suite.
(setenv "SHELL" sh)
(setenv "CONFIG_SHELL" sh)))
;; Files like `install-sh', `mdate.sh', etc. must use
;; #!/bin/sh, otherwise users could leak erroneous shebangs
;; in the wild. See <http://bugs.gnu.org/14201> for an
;; example.
(alist-cons-after
'install 'unpatch-shebangs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share")))
(define (starts-with-shebang? file)
(equal? (call-with-input-file file
(lambda (p)
(list (get-u8 p) (get-u8 p))))
(map char->integer '(#\# #\!))))
(for-each (lambda (file)
(when (and (starts-with-shebang? file)
(executable-file? file))
(format #t "restoring shebang on `~a'~%"
file)
(substitute* file
(("^#!.*/bin/sh")
"#!/bin/sh")
(("^#!.*/bin/env(.*)$" _ args)
(string-append "#!/usr/bin/env"
args)))))
(find-files dir ".*"))))
%standard-phases))))
(home-page "http://www.gnu.org/software/automake/")
(synopsis "Making GNU standards-compliant Makefiles")
(description
"GNU Automake is a tool for automatically generating
`Makefile.in' files compliant with the GNU Coding
Standards. Automake requires the use of Autoconf.")
(license gpl2+))) ; some files are under GPLv3+
(define-public libtool
(package
(name "libtool")
(version "2.4.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libtool/libtool-"
version ".tar.gz"))
(sha256
(base32
"0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))))
(build-system gnu-build-system)
(native-inputs `(("m4" ,m4)
("perl" ,perl)))
;; Separate binaries from the rest. During bootstrap, only ltdl is
;; used; not depending on the binaries allows us to avoid retaining
;; a reference to the bootstrap bash.
(outputs '("bin" ; libtoolize, libtool, etc.
"out")) ; libltdl.so, ltdl.h, etc.
(arguments
`(#:patches (list (assoc-ref %build-inputs "patch/skip-tests"))
#:phases (alist-cons-before
'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Run the test suite in parallel, if possible.
(let ((ncores
(cond
((getenv "NIX_BUILD_CORES")
=>
(lambda (n)
(if (zero? (string->number n))
(number->string (current-processor-count))
n)))
(else "1"))))
(setenv "TESTSUITEFLAGS"
(string-append "-j" ncores)))
;; Path references to /bin/sh.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "tests/testsuite"
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases)))
(inputs `(("patch/skip-tests"
,(search-patch "libtool-skip-tests.patch"))))
(synopsis "Generic shared library support tools")
(description
"GNU libtool is a generic library support script. Libtool hides the
complexity of using shared libraries behind a consistent, portable interface.
To use libtool, add the new generic library building commands to your
Makefile, Makefile.in, or Makefile.am. See the documentation for
details.")
(license gpl3+)
(home-page "http://www.gnu.org/software/libtool/")))
+65
View File
@@ -0,0 +1,65 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages avahi)
#:use-module ((guix licenses) #:select (lgpl2.1+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages libdaemon)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages xml))
(define-public avahi
(package
(name "avahi")
(version "0.6.31")
(home-page "http://avahi.org")
(source (origin
(method url-fetch)
(uri (string-append home-page "/download/avahi-"
version ".tar.gz"))
(sha256
(base32
"0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-distro=none"
"--disable-python"
"--disable-mono"
"--disable-doxygen-doc"
"--disable-xmltoman"
"--enable-tests"
"--disable-qt3" "--disable-qt4"
"--disable-gtk" "--disable-gtk3")))
(inputs
`(("expat" ,expat)
("glib" ,glib)
("dbus" ,dbus)
("libdaemon" ,libdaemon)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("gdbm" ,gdbm)))
(synopsis "Avahi, an mDNS/DNS-SD implementation")
(description
"Avahi is a system which facilitates service discovery on a local
network. It is an implementation of the mDNS (for \"Multicast DNS\") and
DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
(license lgpl2.1+)))
File diff suppressed because it is too large Load Diff
+110
View File
@@ -0,0 +1,110 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bash)
#:use-module (guix licenses)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public bash
(let ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'"
"-DSYS_BASH_LOGOUT='\"/etc/bash_logout\"'"
"-DDEFAULT_PATH_VALUE='\"/no-such-path\"'"
"-DSTANDARD_UTILS_PATH='\"/no-such-path\"'"
"-DNON_INTERACTIVE_LOGIN_SHELLS"
"-DSSH_SOURCE_BASHRC")
" "))
(post-install-phase
'(lambda* (#:key outputs #:allow-other-keys)
;; Add a `bash' -> `sh' link.
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(symlink "bash" "sh"))))))
(package
(name "bash")
(version "4.2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/bash/bash-" version ".tar.gz"))
(sha256
(base32
"1n5kbblp5ykbz5q8aq88lsif2z0gnvddg9babk33024wxiwi2ym2"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("ncurses" ,ncurses))) ; TODO: add texinfo
(arguments
`(#:configure-flags `("--with-installed-readline"
,,(string-append "CPPFLAGS=" cppflags)
,(string-append
"LDFLAGS=-Wl,-rpath -Wl,"
(assoc-ref %build-inputs "readline")
"/lib"
" -Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ncurses")
"/lib"))
;; Bash is reportedly not parallel-safe. See, for instance,
;; <http://patches.openembedded.org/patch/32745/> and
;; <http://git.buildroot.net/buildroot/commit/?h=79e2d802ae7e376a413c02097790493e1f65c3a4>.
#:parallel-build? #f
#:parallel-tests? #f
;; XXX: The tests have a lot of hard-coded paths, so disable them
;; for now.
#:tests? #f
#:phases (alist-cons-after 'install 'post-install
,post-install-phase
%standard-phases)))
(synopsis "The GNU Bourne-Again SHell")
(description
"Bash is the shell, or command language interpreter, that will appear in
the GNU operating system. Bash is an sh-compatible shell that incorporates
useful features from the Korn shell (ksh) and C shell (csh). It is intended
to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It
offers functional improvements over sh for both programming and interactive
use. In addition, most sh scripts can be run by Bash without
modification.")
(license gpl3+)
(home-page "http://www.gnu.org/software/bash/"))))
(define-public bash-light
;; A stripped-down Bash for non-interactive use.
(package (inherit bash)
(name "bash-light")
(inputs '()) ; no readline, no curses
(arguments
(let ((args `(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26))
,@(package-arguments bash))))
(substitute-keyword-arguments args
((#:configure-flags flags)
`(list "--without-bash-malloc"
"--disable-readline"
"--disable-history"
"--disable-help-builtin"
"--disable-progcomp"
"--disable-net-redirections"
"--disable-nls")))))))
+56
View File
@@ -0,0 +1,56 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bdb)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public bdb
(package
(name "bdb")
(version "5.3.21")
(source (origin
(method url-fetch)
(uri (string-append "http://download.oracle.com/berkeley-db/db-" version
".tar.gz"))
(sha256 (base32
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target available
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "./dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_SHELL=" (which "bash"))
(string-append "SHELL=" (which "bash"))))))
%standard-phases)))
(synopsis "db, the Berkeley database")
(description
"Berkeley DB is an embeddable database allowing developers the choice of
SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(license (bsd-style "file://LICENSE"
"See LICENSE in the distribution."))
(home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
+60
View File
@@ -0,0 +1,60 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bdw-gc)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public libgc
(package
(name "libgc")
(version "7.2alpha6")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-"
version ".tar.gz"))
(sha256
(base32
"05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b"))))
(build-system gnu-build-system)
;; TODO: Build with -DUSE_LIBC_PRIVATES (see make-bootstrap.scm).
(synopsis "The Boehm-Demers-Weiser conservative garbage collector
for C and C++")
(description
"The Boehm-Demers-Weiser conservative garbage collector can be used
as a garbage collecting replacement for C malloc or C++ new. It allows
you to allocate memory basically as you normally would, without
explicitly deallocating memory that is no longer useful. The collector
automatically recycles memory when it determines that it can no longer
be otherwise accessed.
The collector is also used by a number of programming language
implementations that either use C as intermediate code, want to
facilitate easier interoperation with C libraries, or just prefer the
simple collector interface.
Alternatively, the garbage collector may be used as a leak detector for
C or C++ programs, though that is not its primary goal.")
(home-page "http://www.hpl.hp.com/personal/Hans_Boehm/gc/")
;; permissive X11-style license:
;; http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt
(license x11)))
+56
View File
@@ -0,0 +1,56 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bison)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages m4)
#:use-module (gnu packages perl))
(define-public bison
(package
(name "bison")
(version "2.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/bison/bison-"
version ".tar.xz"))
(sha256
(base32
"1yx7isx67sdmyijvihgyra1f59fwdz7sqriginvavfj5yb5ss2dl"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(propagated-inputs `(("m4" ,m4)))
(home-page "http://www.gnu.org/software/bison/")
(synopsis "Parser generator")
(description
"Bison is a general-purpose parser generator that converts an
annotated context-free grammar into an LALR(1) or GLR parser for
that grammar. Once you are proficient with Bison, you can use
it to develop a wide range of language parsers, from those used
in simple desk calculators to complex programming languages.
Bison is upward compatible with Yacc: all properly-written Yacc
grammars ought to work with Bison with no change. Anyone
familiar with Yacc should be able to use Bison with little
trouble. You need to be fluent in C or C++ programming in order
to use Bison.")
(license gpl3+)))
+379
View File
@@ -0,0 +1,379 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bootstrap)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module ((guix store) #:select (add-to-store add-text-to-store))
#:use-module ((guix derivations) #:select (derivation))
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (bootstrap-origin
package-with-bootstrap-guile
glibc-dynamic-linker
%bootstrap-guile
%bootstrap-coreutils&co
%bootstrap-binutils
%bootstrap-gcc
%bootstrap-glibc
%bootstrap-inputs))
;;; Commentary:
;;;
;;; Pre-built packages that are used to bootstrap the
;;; distribution--i.e., to build all the core packages from scratch.
;;;
;;; Code:
;;;
;;; Helper procedures.
;;;
(define (bootstrap-origin source)
"Return a variant of SOURCE, an <origin> instance, whose method uses
%BOOTSTRAP-GUILE to do its job."
(define (boot fetch)
(lambda* (store url hash-algo hash
#:optional name #:key system)
(fetch store url hash-algo hash
#:guile %bootstrap-guile
#:system system)))
(let ((orig-method (origin-method source)))
(origin (inherit source)
(method (cond ((eq? orig-method url-fetch)
(boot url-fetch))
(else orig-method))))))
(define (package-from-tarball name* source* program-to-test description*)
"Return a package that correspond to the extraction of SOURCE*.
PROGRAM-TO-TEST is a program to run after extraction of SOURCE*, to
check whether everything is alright."
(package
(name name*)
(version "0")
(source #f)
(build-system trivial-build-system)
(arguments
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
(let ((out (assoc-ref %outputs "out"))
(tar (assoc-ref %build-inputs "tar"))
(xz (assoc-ref %build-inputs "xz"))
(tarball (assoc-ref %build-inputs "tarball")))
(use-modules (guix build utils))
(mkdir out)
(copy-file tarball "binaries.tar.xz")
(system* xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd)))
(with-directory-excursion out
(and (zero? (system* tar "xvf"
(string-append builddir "/binaries.tar")))
(zero? (system* (string-append "bin/" ,program-to-test)
"--version"))))))))
(inputs
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
("tarball" ,(bootstrap-origin (source* (%current-system))))))
(synopsis description*)
(description #f)
(home-page #f)
(license #f)))
(define package-with-bootstrap-guile
(memoize
(lambda (p)
"Return a variant of P such that all its origins are fetched with
%BOOTSTRAP-GUILE."
(define rewritten-input
(match-lambda
((name (? origin? o))
`(,name ,(bootstrap-origin o)))
((name (? package? p) sub-drvs ...)
`(,name ,(package-with-bootstrap-guile p) ,@sub-drvs))
(x x)))
(package (inherit p)
(source (match (package-source p)
((? origin? o) (bootstrap-origin o))
(s s)))
(inputs (map rewritten-input
(package-inputs p)))
(native-inputs (map rewritten-input
(package-native-inputs p)))
(propagated-inputs (map rewritten-input
(package-propagated-inputs p)))))))
(define* (glibc-dynamic-linker #:optional (system (%current-system)))
"Return the name of Glibc's dynamic linker for SYSTEM."
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((string=? system "i686-linux") "/lib/ld-linux.so.2")
((string=? system "mips64el-linux") "/lib/ld.so.1")
(else (error "dynamic linker name not known for this system"
system))))
;;;
;;; Bootstrap packages.
;;;
(define %bootstrap-guile
;; The Guile used to run the build scripts of the initial derivations.
;; It is just unpacked from a tarball containing a pre-built binary.
;; This is typically built using %GUILE-BOOTSTRAP-TARBALL below.
;;
;; XXX: Would need libc's `libnss_files2.so' for proper `getaddrinfo'
;; support (for /etc/services).
(let ((raw (build-system
(name "raw")
(description "Raw build system with direct store access")
(build (lambda* (store name source inputs
#:key outputs system search-paths)
(define (->store file)
(add-to-store store file #t "sha256"
(or (search-bootstrap-binary file
system)
(error "bootstrap binary not found"
file system))))
(let* ((tar (->store "tar"))
(xz (->store "xz"))
(mkdir (->store "mkdir"))
(bash (->store "bash"))
(guile (->store "guile-2.0.7.tar.xz"))
(builder
(add-text-to-store store
"build-bootstrap-guile.sh"
(format #f "
echo \"unpacking bootstrap Guile to '$out'...\"
~a $out
cd $out
~a -dc < ~a | ~a xv
# Sanity check.
$out/bin/guile --version~%"
mkdir xz guile tar)
(list mkdir xz guile tar))))
(derivation store name system
bash `(,builder) '()
`((,bash) (,builder)))))))))
(package
(name "guile-bootstrap")
(version "2.0")
(source #f)
(build-system raw)
(synopsis "Bootstrap Guile")
(description "Pre-built Guile for bootstrapping purposes.")
(home-page #f)
(license lgpl3+))))
(define %bootstrap-base-urls
;; This is where the initial binaries come from.
'("http://alpha.gnu.org/gnu/guix/bootstrap"
"http://www.fdn.fr/~lcourtes/software/guix/packages"))
(define %bootstrap-coreutils&co
(package-from-tarball "bootstrap-binaries"
(lambda (system)
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20130105/static-binaries.tar.xz")
%bootstrap-base-urls))
(sha256
(match system
("x86_64-linux"
(base32
"0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls"))
("i686-linux"
(base32
"0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb"))))))
"true" ; the program to test
"Bootstrap binaries of Coreutils, Awk, etc."))
(define %bootstrap-binutils
(package-from-tarball "binutils-bootstrap"
(lambda (system)
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20130105/binutils-2.22.tar.xz")
%bootstrap-base-urls))
(sha256
(match system
("x86_64-linux"
(base32
"1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh"))
("i686-linux"
(base32
"1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a"))))))
"ld" ; the program to test
"Bootstrap binaries of the GNU Binutils"))
(define %bootstrap-glibc
;; The initial libc.
(package
(name "glibc-bootstrap")
(version "0")
(source #f)
(build-system trivial-build-system)
(arguments
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
(let ((out (assoc-ref %outputs "out"))
(tar (assoc-ref %build-inputs "tar"))
(xz (assoc-ref %build-inputs "xz"))
(tarball (assoc-ref %build-inputs "tarball")))
(use-modules (guix build utils))
(mkdir out)
(copy-file tarball "binaries.tar.xz")
(system* xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd)))
(with-directory-excursion out
(system* tar "xvf"
(string-append builddir
"/binaries.tar"))
(chmod "lib" #o755)
;; Patch libc.so so it refers to the right path.
(substitute* "lib/libc.so"
(("/[^ ]+/lib/(libc|ld)" _ prefix)
(string-append out "/lib/" prefix))))))))
(inputs
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
("tarball" ,(bootstrap-origin
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20130105/glibc-2.17.tar.xz")
%bootstrap-base-urls))
(sha256
(match (%current-system)
("x86_64-linux"
(base32
"18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3"))
("i686-linux"
(base32
"08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")))))))))
(synopsis "Bootstrap binaries and headers of the GNU C Library")
(description #f)
(home-page #f)
(license lgpl2.1+)))
(define %bootstrap-gcc
;; The initial GCC. Uses binaries from a tarball typically built by
;; %GCC-BOOTSTRAP-TARBALL.
(package
(name "gcc-bootstrap")
(version "0")
(source #f)
(build-system trivial-build-system)
(arguments
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
(let ((out (assoc-ref %outputs "out"))
(tar (assoc-ref %build-inputs "tar"))
(xz (assoc-ref %build-inputs "xz"))
(bash (assoc-ref %build-inputs "bash"))
(libc (assoc-ref %build-inputs "libc"))
(tarball (assoc-ref %build-inputs "tarball")))
(use-modules (guix build utils)
(ice-9 popen))
(mkdir out)
(copy-file tarball "binaries.tar.xz")
(system* xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd))
(bindir (string-append out "/bin")))
(with-directory-excursion out
(system* tar "xvf"
(string-append builddir "/binaries.tar")))
(with-directory-excursion bindir
(chmod "." #o755)
(rename-file "gcc" ".gcc-wrapped")
(call-with-output-file "gcc"
(lambda (p)
(format p "#!~a
exec ~a/bin/.gcc-wrapped -B~a/lib \
-Wl,-rpath -Wl,~a/lib \
-Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
bash
out libc libc libc
,(glibc-dynamic-linker))))
(chmod "gcc" #o555))))))
(inputs
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
("bash" ,(search-bootstrap-binary "bash" (%current-system)))
("libc" ,%bootstrap-glibc)
("tarball" ,(bootstrap-origin
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20130105/gcc-4.7.2.tar.xz")
%bootstrap-base-urls))
(sha256
(match (%current-system)
("x86_64-linux"
(base32
"1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px"))
("i686-linux"
(base32
"06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")))))))))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(directories '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(directories '("lib" "lib64")))))
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
(description #f)
(home-page #f)
(license gpl3+)))
(define %bootstrap-inputs
;; The initial, pre-built inputs. From now on, we can start building our
;; own packages.
`(("libc" ,%bootstrap-glibc)
("gcc" ,%bootstrap-gcc)
("binutils" ,%bootstrap-binutils)
("coreutils&co" ,%bootstrap-coreutils&co)
;; In gnu-build-system.scm, we rely on the availability of Bash.
("bash" ,%bootstrap-coreutils&co)))
;;; bootstrap.scm ends here
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+115
View File
@@ -0,0 +1,115 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cdrom)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (lgpl2.1+ gpl3+))
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages compression)
#:use-module (gnu packages readline)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages help2man)
#:use-module (gnu packages pkg-config))
(define-public libcddb
(package
(name "libcddb")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libcddb/libcddb-"
version ".tar.bz2"))
(sha256
(base32
"1y8bfy12dwm41m1jahayn3v47dm34fmz7m9cjxyh7xcw6fp3lzaf"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; tests rely on access to external servers
(home-page "http://libcddb.sourceforge.net/")
(synopsis "C library to access data on a CDDB server")
(description
"Libcddb is a C library to access data on a CDDB server (freedb.org). It
allows you to:
1. search the database for possible CD matches;
2. retrieve detailed information about a specific CD;
3. submit new CD entries to the database.
Libcddb supports both the custom CDDB protocol and tunnelling the query and
read operations over plain HTTP. It is also possible to use an HTTP proxy
server. If you want to speed things up, you can make use of the built-in
caching facility provided by the library.")
(license lgpl2.1+)))
(define-public libcdio
(package
(name "libcdio")
(version "0.90")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-"
version ".tar.gz"))
(sha256
(base32
"0kpp6gr5sjr30pb9klncc37fhkw0wi6r41d2fmvmw17cbj176zmg"))))
(build-system gnu-build-system)
(inputs
`(("help2man" ,help2man)
("ncurses" ,ncurses)
("pkg-config" ,pkg-config)
("libcddb" ,libcddb)))
(home-page "http://www.gnu.org/software/libcdio/")
(synopsis "CD Input and Control library")
(description
"GNU libcdio is a library for OS-idependent CD-ROM and CD image access.
It includes a library for working with ISO-9660 filesystems (libiso9660), as
well as utility programs such as an audio CD player and an extractor.")
(license gpl3+)))
(define-public xorriso
(package
(name "xorriso")
(version "1.2.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"1h3w9ymhsi0wghcnl7mmlml40rm4yill1c75g90xc7r1a2g8k1mn"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
("readline" ,readline)
("bzip2" ,bzip2)
("zlib" ,zlib)
("libcdio" ,libcdio)))
(home-page "http://www.gnu.org/software/xorriso/")
(synopsis "Create, manipulate, burn ISO-9660 filesystems")
(description
"GNU xorriso copies file objects from POSIX compliant filesystems into
Rock Ridge enhanced ISO 9660 filesystems and allows session-wise manipulation
of such filesystems. It can load the management information of existing ISO
images and it writes the session results to optical media or to filesystem
objects. Vice versa xorriso is able to copy file objects out of ISO 9660
filesystems.")
(license gpl3+)))
+51
View File
@@ -0,0 +1,51 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cflow)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages emacs))
(define-public cflow
(package
(name "cflow")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cflow/cflow-"
version ".tar.bz2"))
(sha256
(base32
"1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/cflow/")
(synopsis "Create a graph of control flow within a program")
(description
"GNU cflow analyzes a collection of C source files and prints a
graph, charting control flow within the program.
GNU cflow is able to produce both direct and inverted flowgraphs
for C sources. Optionally a cross-reference listing can be
generated. Two output formats are implemented: POSIX and GNU
(extended).
The package also provides Emacs major mode for examining the
produced flowcharts in Emacs.")
(license gpl3+)))
+48
View File
@@ -0,0 +1,48 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages check)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public check
(package
(name "check")
(version "0.9.9")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/check/check/"
version "/check-" version ".tar.gz"))
(sha256
(base32
"1jcahzrvxcnp5chdn2x46l0y4aba8d8yd70lljfin7h5knxrlyhs"))))
(build-system gnu-build-system)
(home-page "http://check.sourceforge.net/")
(synopsis "Check, a unit testing framework for C")
(description
"Check is a unit testing framework for C. It features a simple
interface for defining unit tests, putting little in the way of the
developer. Tests are run in a separate address space, so Check can
catch both assertion failures and code errors that cause segmentation
faults or other signals. The output from unit tests can be used within
source code editors and IDEs.")
(license lgpl2.1+)))
+78
View File
@@ -0,0 +1,78 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cmake)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages file))
(define-public cmake
(package
(name "cmake")
(version "2.8.10.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.cmake.org/files/v"
(substring version 0
(string-index version #\. (+ 1 (string-index version #\.))))
"/cmake-" version ".tar.gz"))
(sha256
(base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
#:patches (list (assoc-ref %build-inputs "fix-tests"))
#:patch-flags '("-p0")
#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Replace "/bin/sh" by the right path in... a lot of
;; files.
(substitute*
'("Modules/CompilerId/Xcode-3.pbxproj.in"
"Modules/CompilerId/Xcode-1.pbxproj.in"
"Modules/CompilerId/Xcode-2.pbxproj.in"
"Modules/CPack.RuntimeScript.in"
"Source/cmakexbuild.cxx"
"Source/cmGlobalXCodeGenerator.cxx"
"Source/CTest/cmCTestBatchTestHandler.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Utilities/cmbzip2/Makefile-libbz2_so"
"Utilities/Release/release_cmake.cmake"
"Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
"Tests/CMakeLists.txt")
(("/bin/sh") (which "sh")))
(zero? (system* "./configure"
(string-append "--prefix=" out)))))
%standard-phases)))
(inputs
`(("file" ,file)
("fix-tests" ,(search-patch "cmake-fix-tests.patch"))))
(home-page "http://www.cmake.org/")
(synopsis "A cross-platform, open-source build system")
(description
"CMake is a family of tools designed to build, test and package software.
CMake is used to control the software compilation process using simple platform
and compiler independent configuration files. CMake generates native makefiles
and workspaces that can be used in the compiler environment of your choice.")
(license bsd-3)))
+200
View File
@@ -0,0 +1,200 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages compression)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public zlib
(package
(name "zlib")
(version "1.2.7")
(source
(origin
(method url-fetch)
(uri (string-append "http://zlib.net/zlib-"
version ".tar.gz"))
(sha256
(base32
"1i96gsdvxqb6skp9a58bacf1wxamwi9m9pg4yn7cpf7g7239r77s"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
;; Zlib's home-made `configure' doesn't fails when passed
;; extra flags like `--enable-fast-install', so we need to
;; invoke it with just what it understand.
(let ((out (assoc-ref outputs "out")))
(zero? (system* "./configure"
(string-append "--prefix=" out)))))
%standard-phases)))
(home-page "http://zlib.net/")
(synopsis "The zlib compression library")
(description
"zlib is designed to be a free, general-purpose, legally unencumbered --
that is, not covered by any patents -- lossless data-compression library for
use on virtually any computer hardware and operating system. The zlib data
format is itself portable across platforms. Unlike the LZW compression method
used in Unix compress(1) and in the GIF image format, the compression method
currently used in zlib essentially never expands the data. (LZW can double or
triple the file size in extreme cases.) zlib's memory footprint is also
independent of the input data and can be reduced, if necessary, at some cost
in compression.")
(license license:zlib)))
(define-public gzip
(package
(name "gzip")
(version "1.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gzip/gzip-"
version ".tar.gz"))
(sha256
(base32
"18rm80kar7n016g8bsyy1a3zk50i2826xdgs874yh64rzj7nxmdm"))))
(build-system gnu-build-system)
(synopsis "General file (de)compression (using lzw)")
(arguments
;; FIXME: The test suite wants `less', and optionally Perl.
'(#:tests? #f))
(description
"gzip (GNU zip) is a popular data compression program written by Jean-loup
Gailly for the GNU project. Mark Adler wrote the decompression part.
We developed this program as a replacement for compress because of the Unisys
and IBM patents covering the LZW algorithm used by compress. These patents
made it impossible for us to use compress, and we needed a replacement. The
superior compression ratio of gzip is just a bonus.")
(license license:gpl3+)
(home-page "http://www.gnu.org/software/gzip/")))
(define-public bzip2
(let ((fix-man-dir
;; Move man pages to $out/share/.
'(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion (assoc-ref outputs "out")
(mkdir "share")
(rename-file "man" "share"))))
(build-shared-lib
;; Build a shared library.
'(lambda* (#:key inputs #:allow-other-keys)
(patch-makefile-SHELL "Makefile-libbz2_so")
(zero? (system* "make" "-f" "Makefile-libbz2_so"))))
(install-shared-lib
'(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib")))
(for-each (lambda (file)
(let ((base (basename file)))
(format #t "installing `~a' to `~a'~%"
base libdir)
(copy-file file
(string-append libdir "/" base))))
(find-files "." "^libbz2\\.so"))))))
(package
(name "bzip2")
(version "1.0.6")
(source (origin
(method url-fetch)
(uri (string-append "http://www.bzip.org/" version "/bzip2-"
version ".tar.gz"))
(sha256
(base32
"1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
#:phases
(alist-cons-before
'build 'build-shared-lib ,build-shared-lib
(alist-cons-after
'install 'fix-man-dir ,fix-man-dir
(alist-cons-after
'install 'install-shared-lib ,install-shared-lib
(alist-delete 'configure %standard-phases))))
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))))
(synopsis "high-quality data compression program")
(description
"bzip2 is a freely available, patent free (see below), high-quality data
compressor. It typically compresses files to within 10% to 15% of the best
available techniques (the PPM family of statistical compressors), whilst
being around twice as fast at compression and six times faster at
decompression.")
(license (license:bsd-style "file://LICENSE"
"See LICENSE in the distribution."))
(home-page "http://www.bzip.org/"))))
(define-public xz
(package
(name "xz")
(version "5.0.4")
(source (origin
(method url-fetch)
(uri (string-append "http://tukaani.org/xz/xz-" version
".tar.gz"))
(sha256
(base32
"1dl35ca8fdss9z2d6y234gxh24ixq904xksizrjmjr5dimwhax6n"))))
(build-system gnu-build-system)
(synopsis
"XZ, general-purpose data compression software, successor of LZMA")
(description
"XZ Utils is free general-purpose data compression software with high
compression ratio. XZ Utils were written for POSIX-like systems, but also
work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils.
The core of the XZ Utils compression code is based on LZMA SDK, but it has
been modified quite a lot to be suitable for XZ Utils. The primary
compression algorithm is currently LZMA2, which is used inside the .xz
container format. With typical files, XZ Utils create 30 % smaller output
than gzip and 15 % smaller output than bzip2.")
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
(home-page "http://tukaani.org/xz/")))
(define-public lzo
(package
(name "lzo")
(version "2.06")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.oberhumer.com/opensource/lzo/download/lzo-"
version ".tar.gz"))
(sha256
(base32
"0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz"))))
(build-system gnu-build-system)
(home-page "http://www.oberhumer.com/opensource/lzo")
(synopsis
"A data compresion library suitable for real-time data de-/compression")
(description
"LZO is a data compression library which is suitable for data
de-/compression in real-time. This means it favours speed over
compression ratio.
LZO is written in ANSI C. Both the source code and the compressed data
format are designed to be portable across platforms.")
(license license:gpl2+)))
+57
View File
@@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cpio)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public cpio
(package
(name "cpio")
(version "2.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/cpio/cpio-"
version ".tar.bz2"))
(sha256
(base32
"1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"))))
(build-system gnu-build-system)
(arguments
`(#:patches (list (assoc-ref %build-inputs
"patch/gets"))))
(inputs
`(("patch/gets" ,(search-patch "cpio-gets-undeclared.patch"))))
(home-page "https://www.gnu.org/software/cpio/")
(synopsis "Manage cpio and tar file archives")
(description
"GNU Cpio copies files into or out of a cpio or tar archive. The
archive can be another file on the disk, a magnetic tape, or a pipe.
GNU Cpio supports the following archive formats: binary, old ASCII, new
ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar. The
tar format is provided for compatability with the tar program. By
default, cpio creates binary format archives, for compatibility with
older cpio programs. When extracting from archives, cpio automatically
recognizes which kind of archive it is reading and can read archives
created on machines with a different byte-order.")
(license gpl3+)))
+45
View File
@@ -0,0 +1,45 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cppi)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses))
(define-public cppi
(package
(name "cppi")
(version "1.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cppi/cppi-"
version ".tar.xz"))
(sha256
(base32
"1jk42cjaggk71rimjnx3qpmb6hivps0917vl3z7wbxk3i2whb98j"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/cppi/")
(synopsis "Indent C preprocessor directives to reflect nesting and more")
(description
"GNU cppi indents C preprocessor directives to reflect their nesting and
ensure that there is exactly one space character between each #if, #elif,
#define directive and the following token. The number of spaces between the
`#' and the following directive must correspond to the level of nesting of
that directive.")
(license gpl3+)))
+244
View File
@@ -0,0 +1,244 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cross-base)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages gcc)
#:use-module (gnu packages base)
#:use-module (gnu packages linux)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
(define (cross p target)
(package (inherit p)
(location (source-properties->location (current-source-location)))
(name (string-append (package-name p) "-cross-" target))
(arguments
(substitute-keyword-arguments (package-arguments p)
((#:configure-flags flags)
`(cons ,(string-append "--target=" target)
,flags))))))
(define cross-binutils
(cut cross binutils <>))
(define* (cross-gcc target
#:optional (xbinutils (cross-binutils target)) libc)
"Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use
XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a
GCC that does not target a libc; otherwise, target that libc."
(define args
;; Get the arguments as if we were building for TARGET. In particular, we
;; want `glibc-dynamic-linker' to return the right thing.
(parameterize ((%current-system (gnu-triplet->nix-system target)))
(package-arguments gcc-4.7)))
(package (inherit gcc-4.7)
(name (string-append "gcc-cross-"
(if libc "" "sans-libc-")
target))
(arguments
`(#:implicit-inputs? #f
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 regex)
(srfi srfi-1)
(srfi srfi-26))
#:patches (list (assoc-ref %build-inputs "patch/cross-env-vars"))
,@(substitute-keyword-arguments args
((#:configure-flags flags)
`(append (list ,(string-append "--target=" target)
,@(if libc
'()
`( ;; Disable features not needed at this stage.
"--disable-shared" "--enable-static"
;; Disable C++ because libstdc++'s
;; configure script otherwise fails with
;; "Link tests are not allowed after
;; GCC_NO_EXECUTABLES."
"--enable-languages=c"
"--disable-threads" ; libgcc, would need libc
"--disable-libmudflap"
"--disable-libgomp"
"--disable-libssp"
"--disable-libquadmath"
"--disable-decimal-float" ; would need libc
)))
,(if libc
flags
`(remove (cut string-match "--enable-languages.*" <>)
,flags))))
((#:make-flags flags)
(if libc
`(let ((libc (assoc-ref %build-inputs "libc")))
;; FLAGS_FOR_TARGET are needed for the target libraries to
;; receive the -Bxxx for the startfiles.
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
,flags))
flags))
((#:phases phases)
(let ((phases
`(alist-cons-after
'install 'make-cross-binutils-visible
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec/gcc/"
,target))
(binutils (string-append
(assoc-ref inputs "binutils-cross")
"/bin/" ,target "-")))
(for-each (lambda (file)
(symlink (string-append binutils file)
(string-append libexec "/"
file)))
'("as" "ld" "nm"))
#t))
,phases)))
(if libc
`(alist-cons-before
'configure 'set-cross-path
(lambda* (#:key inputs #:allow-other-keys)
;; Add the cross Linux headers to CROSS_CPATH, and remove
;; them from CPATH.
(let ((libc (assoc-ref inputs "libc"))
(linux (assoc-ref inputs
"libc/cross-linux-headers")))
(define (cross? x)
;; Return #t if X is a cross-libc or cross Linux.
(or (string-prefix? libc x)
(string-prefix? linux x)))
(setenv "CROSS_CPATH"
(string-append libc "/include:"
linux "/include"))
(setenv "CROSS_LIBRARY_PATH"
(string-append libc "/lib"))
(let ((cpath (search-path-as-string->list
(getenv "CPATH")))
(libpath (search-path-as-string->list
(getenv "LIBRARY_PATH"))))
(setenv "CPATH"
(list->search-path-as-string
(remove cross? cpath) ":"))
(setenv "LIBRARY_PATH"
(list->search-path-as-string
(remove cross? libpath) ":"))
#t)))
,phases)
phases)))
((#:strip-binaries? _)
;; Disable stripping as this can break binaries, with object files
;; of libgcc.a showing up as having an unknown architecture. See
;; <http://lists.fedoraproject.org/pipermail/arm/2010-August/000663.html>
;; for instance.
#f))))
(inputs
`(("patch/cross-env-vars"
,(search-patch "gcc-cross-environment-variables.patch"))
("binutils-cross" ,xbinutils)
;; Call it differently so that the builder can check whether the "libc"
;; input is #f.
("libc-native" ,@(assoc-ref %final-inputs "libc"))
;; Remaining inputs.
,@(let ((inputs (append (package-inputs gcc-4.7)
(alist-delete "libc" %final-inputs))))
(if libc
`(("libc" ,libc)
,@inputs)
inputs))))))
(define* (cross-libc target
#:optional
(xgcc (cross-gcc target))
(xbinutils (cross-binutils target)))
"Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and
XBINUTILS and the cross tool chain."
(define xlinux-headers
(package (inherit linux-libre-headers)
(name (string-append (package-name linux-libre-headers)
"-cross-" target))
(arguments
(substitute-keyword-arguments (package-arguments linux-libre-headers)
((#:phases phases)
`(alist-replace
'build
(lambda _
(setenv "ARCH" ,(system->linux-architecture target))
(format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH"))
(and (zero? (system* "make" "defconfig"))
(zero? (system* "make" "mrproper" "headers_check"))))
,phases))))
(inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-inputs linux-libre-headers)))))
(package (inherit glibc)
(name (string-append "glibc-cross-" target))
(arguments
(substitute-keyword-arguments
`(#:strip-binaries? #f ; disable stripping (see above)
,@(package-arguments glibc))
((#:configure-flags flags)
`(cons ,(string-append "--host=" target)
,flags))
((#:phases phases)
`(alist-cons-before
'configure 'set-cross-linux-headers-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((linux (assoc-ref inputs "cross-linux-headers")))
(setenv "CROSS_CPATH"
(string-append linux "/include"))
#t))
,phases))))
(propagated-inputs `(("cross-linux-headers" ,xlinux-headers)))
(inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-inputs glibc)))))
;;;
;;; Concrete cross toolchains.
;;;
(define-public xgcc-mips64el
(let ((triplet "mips64el-linux-gnu"))
(cross-gcc triplet
(cross-binutils triplet)
(cross-libc triplet))))
;; (define-public xgcc-armel
;; (let ((triplet "armel-linux-gnueabi"))
;; (cross-gcc triplet
;; (cross-binutils triplet)
;; (cross-libc triplet))))
+59
View File
@@ -0,0 +1,59 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cryptsetup)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages lvm)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages linux))
(define-public cryptsetup
(package
(name "cryptsetup")
(version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append "http://cryptsetup.googlecode.com/files/cryptsetup-"
version ".tar.bz2"))
(sha256
(base32
"170lalkhh2fa316d12i6r7jprm0yss3c949d91069sq37ik6xwxs"))))
(build-system gnu-build-system)
(inputs
`(("libgcrypt" ,libgcrypt)
("lvm2" ,lvm2)
("popt" ,popt)
("python" ,python)
("util-linux" ,util-linux)))
(synopsis "hard disk encryption tool")
(description
"LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk
encryption format, which does not only facilitate compatibility among
distributions, but which also provides secure management of multiple user
passwords. In contrast to existing solutions, LUKS stores all setup necessary
setup information in the partition header, enabling the users to transport
or migrate their data seamlessly.")
(license license:gpl2)
(home-page "http://code.google.com/p/cryptsetup/")))
+70
View File
@@ -0,0 +1,70 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages curl)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages groff)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages libidn)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ssh))
(define-public curl
(package
(name "curl")
(version "7.28.1")
(source (origin
(method url-fetch)
(uri (string-append "http://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
"13bhfs41yf60ys2hrikqxjwfzaj0gm91kqzsgc5fr4grzmpm38nx"))))
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
;; to enable the --manual option and make test 1026 pass
("groff" ,groff)
("gss" ,gss)
("libidn" ,libidn)
("libssh2" ,libssh2)
("openldap" ,openldap)
("perl" ,perl)
("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(arguments
`(#:configure-flags '("--with-gnutls" "--with-gssapi")))
(synopsis "curl, command line tool for transferring data with URL syntax")
(description
"curl is a command line tool for transferring data with URL syntax,
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading,
HTTP form based upload, proxies, cookies, user+password authentication
(Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume,
proxy tunneling, and so on")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://curl.haxx.se/")))
+57
View File
@@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cyrus-sasl)
#:use-module (gnu packages)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages mit-krb5)
#:use-module (gnu packages openssl)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public cyrus-sasl
(package
(name "cyrus-sasl")
(version "2.1.26")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version
".tar.gz"))
(sha256 (base32
"1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"))))
(build-system gnu-build-system)
(inputs `(("gdbm" ,gdbm)
("mit-krb5" ,mit-krb5)
("openssl" ,openssl)))
(arguments
'(#:configure-flags (list (string-append "--with-plugindir="
(assoc-ref %outputs "out")
"/lib/sasl2"))))
(synopsis "Cyrus SASL, an implementation of the Simple Authentication Security Layer framework")
(description
"SASL (Simple Authentication Security Layer) is an Internet
standards-track method for remote computers to authenticate. The Cyrus SASL
library makes supporting various SASL mechanisms easy for both client and
server writers.")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://cyrusimap.web.cmu.edu/index.php")))
+57
View File
@@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ddrescue)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public ddrescue
(package
(name "ddrescue")
(version "1.16")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/ddrescue/ddrescue-"
version ".tar.gz"))
(sha256
(base32
"1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn"))))
(build-system gnu-build-system)
(home-page
"http://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")
(description
"GNU Ddrescue is a data recovery tool. It copies data from one
file or block device (e.g., hard disk, CD-ROM) to another, trying hard to
rescue data in case of read errors.
The basic operation of Ddrescue is fully automatic. That is, you don't
have to wait for an error, stop the program, read the log, run it in
reverse mode, etc.
If you use the logfile feature of Ddrescue, the data is rescued very
efficiently (only the needed blocks are read). Also, you can interrupt
the rescue at any time and resume it later at the same point.
Automatic merging of backups: If you have two or more damaged copies of
a file and run Ddrescue on all of them, one at a time, with the same
output file, you will probably obtain a complete and error-free file.")
(license gpl3+)))
+88
View File
@@ -0,0 +1,88 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dejagnu)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages tcl))
(define-public dejagnu
(package
(name "dejagnu")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/dejagnu/dejagnu-"
version ".tar.gz"))
(sha256
(base32
"1lik8h4qi7x0mhsi8xmj91an1yb63rjbk6v4xrmzgiy5lk8lgrv0"))))
(build-system gnu-build-system)
(inputs `(("expect" ,expect)))
(arguments
'(#:phases (alist-replace
'check
(lambda _
;; Note: The test-suite *requires* /dev/pts among the
;; `build-chroot-dirs' of the build daemon when
;; building in a chroot. See
;; <http://thread.gmane.org/gmane.linux.distributions.nixos/1036>
;; for details.
(if (and (directory-exists? "/dev/pts")
(directory-exists? "/proc"))
(begin
;; Provide `runtest' with a log name, otherwise
;; it tries to run `whoami', which fails when in
;; a chroot.
(setenv "LOGNAME" "guix-builder")
;; The test-suite needs to have a non-empty stdin:
;; <http://lists.gnu.org/archive/html/bug-dejagnu/2003-06/msg00002.html>.
(zero?
(system "make check < /dev/zero")))
(begin
(display "test suite cannot be run, skipping\n")
#t)))
(alist-cons-after
'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Use the right `expect' binary.
(let ((out (assoc-ref outputs "out"))
(expect (assoc-ref inputs "expect")))
(substitute* (string-append out "/bin/runtest")
(("^mypath.*$" all)
(string-append all
"export PATH="
expect "/bin:$PATH\n")))))
%standard-phases))))
(home-page
"http://www.gnu.org/software/dejagnu/")
(synopsis "GNU software testing framework")
(description
"DejaGnu is a framework for testing other programs. Its purpose
is to provide a single front end for all tests. Think of it as a
custom library of Tcl procedures crafted to support writing a
test harness. A test harness is the testing infrastructure that
is created to support a specific program or tool. Each program
can have multiple testsuites, all supported by a single test
harness. DejaGnu is written in Expect, which in turn uses Tcl --
Tool command language.")
(license gpl2+)))
+86
View File
@@ -0,0 +1,86 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dwm)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages xorg))
(define-public dwm
(package
(name "dwm")
(version "6.0")
(source (origin
(method url-fetch)
(uri (string-append "http://dl.suckless.org/dwm/dwm-"
version ".tar.gz"))
(sha256
(base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:phases
(alist-replace
'configure
(lambda _
(substitute* "Makefile" (("\\$\\{CC\\}") "gcc"))
#t)
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "make" "install"
(string-append "DESTDIR=" out) "PREFIX="))))
%standard-phases))))
(inputs
`(("libx11" ,libx11)
("libxinerama" ,libxinerama)))
(home-page "http://dwm.suckless.org/")
(synopsis "Dynamic window manager")
(description
"dwm is a dynamic window manager for X. It manages windows in tiled,
monocle and floating layouts. All of the layouts can be applied dynamically,
optimising the environment for the application in use and the task performed.
In tiled layout windows are managed in a master and stacking area. The master
area contains the window which currently needs most attention, whereas the
stacking area contains all other windows. In monocle layout all windows are
maximised to the screen size. In floating layout windows can be resized and
moved freely. Dialog windows are always managed floating, regardless of the
layout applied.
Windows are grouped by tags. Each window can be tagged with one or multiple
tags. Selecting certain tags displays all windows with these tags.
Each screen contains a small status bar which displays all available tags, the
layout, the number of visible windows, the title of the focused window, and the
text read from the root window name property, if the screen is focused. A
floating window is indicated with an empty square and a maximised floating
window is indicated with a filled square before the windows title. The selected
tags are indicated with a different color. The tags of the focused window are
indicated with a filled square in the top left corner. The tags which are
applied to one or more windows are indicated with an empty square in the top
left corner.
dwm draws a small customizable border around windows to indicate the focus
state.")
(license x11)))
+56
View File
@@ -0,0 +1,56 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ed)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public ed
(package
(name "ed")
(version "1.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.gz"))
(sha256
(base32
"0wvj190ky5i0gm0pilx9k75l6alyc6h5s14fm3dbk90y7g9kihb4"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("CC=gcc")
#:phases (alist-cons-before 'patch-source-shebangs 'patch-test-suite
(lambda _
(substitute* "testsuite/check.sh"
(("/bin/sh") (which "sh"))))
%standard-phases)))
(home-page "http://www.gnu.org/software/ed/")
(synopsis "Line-oriented text editor")
(description
"GNU ed is a line-oriented text editor. It is used to create,
display, modify and otherwise manipulate text files, both
interactively and via shell scripts. A restricted version of ed,
red, can only edit files in the current directory and cannot
execute shell commands. Ed is the \"standard\" text editor in the
sense that it is the original editor for Unix, and thus widely
available. For most purposes, however, it is superseded by
full-screen editors such as GNU Emacs or GNU Moe.")
(license gpl3+)))
+146
View File
@@ -0,0 +1,146 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages emacs)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages guile)
#:use-module (gnu packages xorg)
#:use-module (gnu packages lesstif)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages libpng)
#:use-module ((gnu packages compression)
#:renamer (symbol-prefix-proc 'compression:))
#:use-module (gnu packages xml)
#:use-module (gnu packages glib))
(define-public emacs
(package
(name "emacs")
(version "24.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
version ".tar.xz"))
(sha256
(base32
"1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list (string-append "--with-crt-dir=" (assoc-ref %build-inputs "libc")
"/lib")
"--with-gif=no") ; XXX: add libungif
#:patches (list (assoc-ref %build-inputs "patch/epaths"))
#:phases (alist-cons-before
'configure 'fix-/bin/pwd
(lambda _
;; Use `pwd', not `/bin/pwd'.
(substitute* (find-files "." "^Makefile\\.in$")
(("/bin/pwd")
"pwd")))
%standard-phases)))
(inputs
`(("pkg-config" ,pkg-config)
("gnutls" ,gnutls)
("texinfo" ,texinfo)
("ncurses" ,ncurses)
;; TODO: Add the optional dependencies.
("xlibs" ,libx11)
("libXaw" ,libxaw) ; XXX: eventually replace by GTK+
;; ("gtk+" ,gtk+)
("libXft" ,libxft)
("libtiff" ,libtiff)
;; ("libungif" ,libungif)
("libjpeg" ,libjpeg-8)
;; When looking for libpng `configure' links with `-lpng -lz', so we
;; must also provide zlib as an input.
("libpng" ,libpng)
("zlib" ,compression:zlib)
("libXpm" ,libxpm)
("libxml2" ,libxml2)
("dbus" ,dbus)
("patch/epaths" ,(search-patch "emacs-configure-sh.patch"))
))
(home-page "http://www.gnu.org/software/emacs/")
(synopsis "The extensible, customizable, self-documenting text editor")
(description
"GNU Emacs is an extensible, customizable text editor—and more. At its
core is an interpreter for Emacs Lisp, a dialect of the Lisp
programming language with extensions to support text editing.
The features of GNU Emacs include: content-sensitive editing modes,
including syntax coloring, for a wide variety of file types including
plain text, source code, and HTML; complete built-in documentation,
including a tutorial for new users; full Unicode support for nearly all
human languages and their scripts; highly customizable, using Emacs
Lisp code or a graphical interface; a large number of extensions that
add other functionality, including a project planner, mail and news
reader, debugger interface, calendar, and more. Many of these
extensions are distributed with GNU Emacs; others are available
separately.")
(license gpl3+)))
;;;
;;; Emacs hacking.
;;;
(define-public geiser
(package
(name "geiser")
(version "0.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/geiser/" version
"/geiser-" version ".tar.gz"))
(sha256
(base32 "0ds7zk9b1839l9fsqfsgrby6manvy1cf5bjniiqhxl55h0cr6ijp"))))
(build-system gnu-build-system)
(inputs `(("guile" ,guile-2.0)
("emacs" ,emacs)))
(home-page "http://nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Guile and Racket hacking")
(description
"Geiser is a collection of Emacs major and minor modes that
conspire with one or more Scheme interpreters to keep the Lisp Machine
Spirit alive. It draws inspiration (and a bit more) from environments
such as Common Lisps Slime, Factors FUEL, Squeak or Emacs itself, and
does its best to make Scheme hacking inside Emacs (even more) fun.
Or, to be precise, what i consider fun. Geiser is thus my humble
contribution to the dynamic school of expression, and a reaction against
what i perceive as a derailment, in modern times, of standard Scheme
towards the static camp. Because i prefer growing and healing to poking
at corpses, the continuously running Scheme interpreter takes the center
of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog
between the Scheme interpreter, Emacs and, ultimately, the schemer,
giving her access to live metadata.")
(license bsd-3)))

Some files were not shown because too many files have changed in this diff Show More