guix:guix.git
5 years agodoc: Add a "GNU Distribution" node. v0.1
Ludovic Courtès [Fri, 18 Jan 2013 00:27:09 +0000 (01:27 +0100)]
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.

5 years agodistro: Rename (distro) to (gnu packages).
Ludovic Courtès [Fri, 18 Jan 2013 00:06:47 +0000 (01:06 +0100)]
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.

5 years agodistro: Change the module name space to (gnu ...).
Ludovic Courtès [Fri, 18 Jan 2013 00:06:24 +0000 (01:06 +0100)]
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.

5 years agoUpdate `HACKING'.
Ludovic Courtès [Thu, 17 Jan 2013 22:53:29 +0000 (23:53 +0100)]
Update `HACKING'.

* HACKING: Capitalize the title.
  (Running Guix before it is installed): New section.
  (Adding new packages): Update example.

5 years agoMove Andreas to `AUTHORS'.
Ludovic Courtès [Thu, 17 Jan 2013 22:47:27 +0000 (23:47 +0100)]
Move Andreas to `AUTHORS'.

5 years agodoc: Mark binary deployment as not implemented yet.
Ludovic Courtès [Thu, 17 Jan 2013 22:47:03 +0000 (23:47 +0100)]
doc: Mark binary deployment as not implemented yet.

* doc/guix.texi (Features): Add a footnote saying that binary deployment
  is missing.

5 years agodistro: Add libtiff.
Andreas Enge [Thu, 17 Jan 2013 23:14:42 +0000 (00:14 +0100)]
distro: Add libtiff.

* distro/packages/libtiff.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: Add Libjpeg 8.
Andreas Enge [Thu, 17 Jan 2013 21:49:23 +0000 (22:49 +0100)]
distro: Add Libjpeg 8.

* distro/packages/libjpeg.scm (libjpeg-8): New variable.

5 years agodistro: Add file.
Andreas Enge [Thu, 17 Jan 2013 21:09:15 +0000 (22:09 +0100)]
distro: Add file.

* distro/packages/file.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: Add Libjpeg.
Andreas Enge [Thu, 17 Jan 2013 20:42:12 +0000 (21:42 +0100)]
distro: Add Libjpeg.

* distro/packages/libjpeg.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: flex: Add dependency on Indent.
Andreas Enge [Thu, 17 Jan 2013 20:20:59 +0000 (21:20 +0100)]
distro: flex: Add dependency on Indent.

* distro/packages/flex.scm (flex): Add Indent as input.

5 years agodistro: Add Indent.
Andreas Enge [Thu, 17 Jan 2013 20:15:09 +0000 (21:15 +0100)]
distro: Add Indent.

* distro/packages/indent.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agoguix-package: Allow `--roll-back' to skip missing generations.
Ludovic Courtès [Thu, 17 Jan 2013 21:41:47 +0000 (22:41 +0100)]
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".

5 years agoguix-package: Add `--roll-back'.
Ludovic Courtès [Thu, 17 Jan 2013 21:20:42 +0000 (22:20 +0100)]
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'.

5 years agodistro: gnutls: Update to 3.1.6.
Andreas Enge [Thu, 17 Jan 2013 15:41:05 +0000 (16:41 +0100)]
distro: gnutls: Update to 3.1.6.

* distro/packages/gnutls.scm (gnutls): Update to 3.1.6.

5 years agopackages: Change `base32' to allow non-literal strings.
Ludovic Courtès [Thu, 17 Jan 2013 14:45:05 +0000 (15:45 +0100)]
packages: Change `base32' to allow non-literal strings.

* guix/packages.scm (base32): Allow arguments that are not literal strings.

5 years agodistro: nettle: Update to 2.6.
Ludovic Courtès [Thu, 17 Jan 2013 12:57:30 +0000 (13:57 +0100)]
distro: nettle: Update to 2.6.

* distro/packages/nettle.scm (nettle): Update to 2.6.

5 years agodistro: gdb: Add dependency on Expat and Python.
Ludovic Courtès [Wed, 16 Jan 2013 22:50:51 +0000 (23:50 +0100)]
distro: gdb: Add dependency on Expat and Python.

* distro/packages/gdb.scm (gdb): Add Expat and Python as inputs.

5 years agodistro: Add Expat.
Ludovic Courtès [Wed, 16 Jan 2013 22:25:03 +0000 (23:25 +0100)]
distro: Add Expat.

* distro/packages/xml.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodoc: Start documenting derivations.
Ludovic Courtès [Wed, 16 Jan 2013 22:09:06 +0000 (23:09 +0100)]
doc: Start documenting derivations.

* doc/guix.texi (Defining Packages): Add cross-reference to
  "Derivations".
  (The Store): Add `build-derivations'.
  (Derivations): Populate.

5 years agodoc: Fix typos, and improve daemon documentation.
Ludovic Courtès [Wed, 16 Jan 2013 11:23:51 +0000 (12:23 +0100)]
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>.

5 years agodoc: Remove @documentlanguage.
Ludovic Courtès [Tue, 15 Jan 2013 22:54:10 +0000 (23:54 +0100)]
doc: Remove @documentlanguage.

* doc/guix.texi: Remove @documentlanguage, which confuses TeX.

5 years agodistro: Add icu4c (International Components for Unicode).
Andreas Enge [Wed, 16 Jan 2013 13:54:32 +0000 (14:54 +0100)]
distro: Add icu4c (International Components for Unicode).

* distro/packages/icu4c.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: Add Python 2.7.3.
Nikita Karetnikov [Tue, 15 Jan 2013 02:29:28 +0000 (02:29 +0000)]
distro: Add Python 2.7.3.

* distro/packages/python.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodoc: Start documenting (guix store).
Ludovic Courtès [Tue, 15 Jan 2013 22:32:13 +0000 (23:32 +0100)]
doc: Start documenting (guix store).

* doc/guix.texi (The Store): Populate.
  (Introduction): Add cross-reference.  Change "package store" to "the
  store".

5 years agodistro: recutils: Add 3 optional dependencies.
Ludovic Courtès [Tue, 15 Jan 2013 22:00:46 +0000 (23:00 +0100)]
distro: recutils: Add 3 optional dependencies.

* distro/packages/recutils.scm (recutils): Add Emacs, Check, and bc as
  dependencies.

5 years agodistro: check: Fix source URL.
Ludovic Courtès [Tue, 15 Jan 2013 22:00:05 +0000 (23:00 +0100)]
distro: check: Fix source URL.

* distro/packages/check.scm (check): Fix source URI.

5 years agodistro: Add patches forgotten in previous commits.
Ludovic Courtès [Tue, 15 Jan 2013 21:56:52 +0000 (22:56 +0100)]
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.

5 years agodistro: Add GNU bc.
Ludovic Courtès [Tue, 15 Jan 2013 21:49:50 +0000 (22:49 +0100)]
distro: Add GNU bc.

* distro/packages/algebra.scm (bc): New variable.

5 years agoguix-package: Connect to the daemon only after arguments have been processed.
Ludovic Courtès [Tue, 15 Jan 2013 21:39:03 +0000 (22:39 +0100)]
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.

5 years agodistro: Add Cyrus SASL.
Andreas Enge [Sun, 13 Jan 2013 18:46:37 +0000 (19:46 +0100)]
distro: Add Cyrus SASL.

* distro/packages/cyrus-sasl.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agoTest commit.
Andreas Enge [Tue, 15 Jan 2013 15:12:33 +0000 (16:12 +0100)]
Test commit.

* Makefile.am: alphabetical ordering

5 years agoAugment `TODO'.
Ludovic Courtès [Tue, 15 Jan 2013 10:35:15 +0000 (11:35 +0100)]
Augment `TODO'.

5 years agodistro: Fetch bootstrap binaries from alpha.gnu.org.
Ludovic Courtès [Tue, 15 Jan 2013 10:34:54 +0000 (11:34 +0100)]
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.

5 years agolicenses: Add 'psfl'.
Nikita Karetnikov [Mon, 14 Jan 2013 22:00:54 +0000 (22:00 +0000)]
licenses: Add 'psfl'.

* guix/licenses.scm (psfl): New variable.

5 years agodistro: Add MIT/GNU Scheme and Bigloo.
Ludovic Courtès [Tue, 15 Jan 2013 00:08:00 +0000 (01:08 +0100)]
distro: Add MIT/GNU Scheme and Bigloo.

* distro/packages/scheme.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agobuild-system/gnu: Allow the `source' argument to be #f.
Ludovic Courtès [Tue, 15 Jan 2013 00:05:39 +0000 (01:05 +0100)]
build-system/gnu: Allow the `source' argument to be #f.

* guix/build-system/gnu.scm (gnu-build): Allow SOURCE to be #f.

5 years agodaemon: Remove reference to immutable.{cc,hh}, which no longer exist.
Ludovic Courtès [Mon, 14 Jan 2013 23:03:47 +0000 (00:03 +0100)]
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>.

5 years agosnix: When unable to determine the version number, leave the URI unchanged.
Ludovic Courtès [Mon, 14 Jan 2013 22:45:54 +0000 (23:45 +0100)]
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.

5 years agoguix-package: Create or diagnose missing profile directory.
Ludovic Courtès [Mon, 14 Jan 2013 22:44:58 +0000 (23:44 +0100)]
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.

5 years agotests: Use "binutils:lib" as the `guix-package' example.
Ludovic Courtès [Mon, 14 Jan 2013 22:33:14 +0000 (23:33 +0100)]
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.

5 years agoguix-package: Fix check for ~/.guix-profile existence.
Ludovic Courtès [Sun, 13 Jan 2013 22:47:37 +0000 (23:47 +0100)]
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.

5 years agolicenses: Add 'openldap2.8'.
Andreas Enge [Sun, 13 Jan 2013 18:09:48 +0000 (19:09 +0100)]
licenses: Add 'openldap2.8'.

* guix/licenses.scm (openldap2.8): New variable.

5 years agodistro: Add PARI/GP
Andreas Enge [Sun, 13 Jan 2013 13:27:16 +0000 (14:27 +0100)]
distro: Add PARI/GP

* distro/packages/algebra.scm (pari-gp): New variable.

5 years agoUpdate to Nix 1.3.
Ludovic Courtès [Sun, 13 Jan 2013 21:27:50 +0000 (22:27 +0100)]
Update to Nix 1.3.

5 years agostore: In `open-connection', process all the server's stderr.
Ludovic Courtès [Sun, 13 Jan 2013 21:27:00 +0000 (22:27 +0100)]
store: In `open-connection', process all the server's stderr.

* guix/store.scm (open-connection): Loop until `process-stderr' returns #t.

5 years agodistro: openssl: Fix the `license' field.
Ludovic Courtès [Sun, 13 Jan 2013 20:58:01 +0000 (21:58 +0100)]
distro: openssl: Fix the `license' field.

* distro/packages/openssl.scm: Add renamer for (guix licenses).  Adjust
  accordingly.

5 years agodistro: Add GNU Emacs.
Ludovic Courtès [Sun, 13 Jan 2013 16:12:22 +0000 (17:12 +0100)]
distro: Add GNU Emacs.

* distro/packages/emacs.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodoc: Fix typos.
Ludovic Courtès [Sun, 13 Jan 2013 15:37:51 +0000 (16:37 +0100)]
doc: Fix typos.

* doc/guix.texi (Setting Up the Daemon): Use "useradd -c" for comments.
  Reported by Andreas Enge.
  (Invoking guix-gc): Fix typo.

5 years agodistro: Add GNU Mailutils.
Ludovic Courtès [Sun, 13 Jan 2013 14:37:32 +0000 (15:37 +0100)]
distro: Add GNU Mailutils.

* distro/packages/mailutils.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: expect: Provide the right path to `stty'.
Ludovic Courtès [Sun, 13 Jan 2013 14:37:01 +0000 (15:37 +0100)]
distro: expect: Provide the right path to `stty'.

* distro/packages/tcl.scm (expect): Add #:phases argument.

5 years agodistro: gnutls: Add dependency on Which.
Ludovic Courtès [Sat, 12 Jan 2013 22:02:26 +0000 (23:02 +0100)]
distro: gnutls: Add dependency on Which.

* distro/packages/gnutls.scm (gnutls): Add dependency on Which.

5 years agodistro: Add GDB.
Ludovic Courtès [Sat, 12 Jan 2013 22:02:07 +0000 (23:02 +0100)]
distro: Add GDB.

* distro/packages/gdb.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: dejagnu: Add `expect' in the search path of `runtest'.
Ludovic Courtès [Sat, 12 Jan 2013 22:00:32 +0000 (23:00 +0100)]
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.

5 years agodistro: Add MySQL.
Ludovic Courtès [Sat, 12 Jan 2013 21:25:16 +0000 (22:25 +0100)]
distro: Add MySQL.

* distro/packages/mysql.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: util-linux: Fix `license' field.
Ludovic Courtès [Sat, 12 Jan 2013 15:51:45 +0000 (16:51 +0100)]
distro: util-linux: Fix `license' field.

* distro/packages/linux.scm (util-linux): Change `license' field to
  refer to the actual license objects.

5 years agodistro: Add procps.
Ludovic Courtès [Sat, 12 Jan 2013 15:51:16 +0000 (16:51 +0100)]
distro: Add procps.

* distro/packages/linux.scm (procps): New variable.

5 years agodistro: tcl, expect: Enable tests.
Ludovic Courtès [Sat, 12 Jan 2013 15:24:35 +0000 (16:24 +0100)]
distro: tcl, expect: Enable tests.

* distro/packages/tcl.scm (tcl, expect): Remove #:tests? argument; add
  #:test-target.

5 years agodoc: Mention store sharing with Nix; update `package' example.
Ludovic Courtès [Fri, 11 Jan 2013 15:16:36 +0000 (16:16 +0100)]
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).

5 years agoMerge branch 'core-updates'
Ludovic Courtès [Fri, 11 Jan 2013 15:01:49 +0000 (16:01 +0100)]
Merge branch 'core-updates'

Conflicts:
guix/build/union.scm

5 years agodownload: Abbreviate URLs when displaying the progress report.
Ludovic Courtès [Fri, 11 Jan 2013 14:41:58 +0000 (15:41 +0100)]
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.

5 years agodistro: gawk: Adjust to the libsigsegv output change.
Ludovic Courtès [Thu, 10 Jan 2013 21:35:35 +0000 (22:35 +0100)]
distro: gawk: Adjust to the libsigsegv output change.

* distro/packages/gawk.scm (gawk): Adjust the libsigsegv with a single
  output.

5 years agodistro: libsigsegv: Use a single output.
Ludovic Courtès [Thu, 10 Jan 2013 21:33:35 +0000 (22:33 +0100)]
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>.

5 years agobuild: Print the Guix system type.
Ludovic Courtès [Thu, 10 Jan 2013 21:18:16 +0000 (22:18 +0100)]
build: Print the Guix system type.

* m4/guix.m4 (GUIX_SYSTEM_TYPE): Print the system type.

5 years agodistro: gmp: Update to 5.0.1.
Ludovic Courtès [Wed, 9 Jan 2013 23:10:59 +0000 (00:10 +0100)]
distro: gmp: Update to 5.0.1.

* distro/packages/multiprecision.scm (gmp): Update to 5.0.1.

5 years agodistro: binutils: Add a "lib" output.
Ludovic Courtès [Wed, 9 Jan 2013 23:09:25 +0000 (00:09 +0100)]
distro: binutils: Add a "lib" output.

* distro/packages/base.scm (binutils): Add `outputs' field.

5 years agobuild-system/gnu: Improve support for "lib" outputs; support "doc" outputs.
Ludovic Courtès [Wed, 9 Jan 2013 23:08:40 +0000 (00:08 +0100)]
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.

5 years agodoc: Clarify package version specification example.
Ludovic Courtès [Wed, 9 Jan 2013 21:26:28 +0000 (22:26 +0100)]
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.

5 years agoAugment `TODO'.
Ludovic Courtès [Wed, 9 Jan 2013 21:12:11 +0000 (22:12 +0100)]
Augment `TODO'.

5 years agounion: Detect collisions, and delete duplicate leaves.
Ludovic Courtès [Wed, 9 Jan 2013 21:09:58 +0000 (22:09 +0100)]
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.

5 years agoguix-package: Create ~/.guix-profile when it doesn't exist.
Ludovic Courtès [Wed, 9 Jan 2013 18:57:44 +0000 (19:57 +0100)]
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.

5 years agoguix-package: Show package outputs in `--list-available'.
Ludovic Courtès [Wed, 9 Jan 2013 18:26:37 +0000 (19:26 +0100)]
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.

5 years agodoc: Update copyright years; add visible copyright statement.
Ludovic Courtès [Wed, 9 Jan 2013 12:01:48 +0000 (13:01 +0100)]
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.

5 years agodoc: Documentation installation and the daemon.
Ludovic Courtès [Wed, 9 Jan 2013 11:58:27 +0000 (12:58 +0100)]
doc: Documentation installation and the daemon.

* doc/guix.texi (Installation): New node.

5 years agodaemon: Fix warning message when running as root without a build user group.
Ludovic Courtès [Wed, 9 Jan 2013 11:16:26 +0000 (12:16 +0100)]
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'.

5 years agoguix-daemon: Rename `--build-cores' for consistency with `guix-build'.
Ludovic Courtès [Wed, 9 Jan 2013 11:14:23 +0000 (12:14 +0100)]
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.

5 years agoderivations: Fix `derivation-prerequisites-to-build' when outputs are there.
Ludovic Courtès [Wed, 9 Jan 2013 07:38:57 +0000 (08:38 +0100)]
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.

5 years agodoc: Update porting instructions in `HACKING'.
Ludovic Courtès [Tue, 8 Jan 2013 21:57:09 +0000 (22:57 +0100)]
doc: Update porting instructions in `HACKING'.

* HACKING (When the platform is supported by Nixpkgs): Update
  instructions.

5 years agognu-maintenance: Add `latest-release' and related tools.
Ludovic Courtès [Tue, 8 Jan 2013 21:46:12 +0000 (22:46 +0100)]
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.

5 years agoguix-package: Use `guile-final', not `guile-2.0' to build the environment.
Ludovic Courtès [Mon, 7 Jan 2013 23:05:37 +0000 (00:05 +0100)]
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.

5 years agoguix-package: Be verbose when Guile itself needs to be built.
Ludovic Courtès [Mon, 7 Jan 2013 22:58:24 +0000 (23:58 +0100)]
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?).

5 years agoguix-package: Remove `-b' shorthand for `--bootstrap'.
Ludovic Courtès [Mon, 7 Jan 2013 21:54:54 +0000 (22:54 +0100)]
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'.

5 years agosnix: Update `license' check in unit test.
Ludovic Courtès [Mon, 7 Jan 2013 21:53:23 +0000 (22:53 +0100)]
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.

5 years agosnix: Use (guix licenses) variables.
Ludovic Courtès [Mon, 7 Jan 2013 21:32:28 +0000 (22:32 +0100)]
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.

5 years agosnix: Gracefully handle `null' in Nix build inputs.
Ludovic Courtès [Mon, 7 Jan 2013 21:23:50 +0000 (22:23 +0100)]
snix: Gracefully handle `null' in Nix build inputs.

* guix/snix.scm (snix-derivation->guix-package)[convert-inputs]:
  Gracefully handle `null' as an input.

5 years agodistro: Add GNU Aspell.
Ludovic Courtès [Mon, 7 Jan 2013 20:30:45 +0000 (21:30 +0100)]
distro: Add GNU Aspell.

* distro/packages/aspell.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: Add GSL.
Ludovic Courtès [Mon, 7 Jan 2013 20:20:41 +0000 (21:20 +0100)]
distro: Add GSL.

* distro/packages/algebra.scm (gsl): New variable.

5 years agodistro: Add GNU GLOBAL.
Ludovic Courtès [Mon, 7 Jan 2013 20:12:12 +0000 (21:12 +0100)]
distro: Add GNU GLOBAL.

* distro/packages/global.scm: New file.
* Makefile.am (MODULES): Add it.

5 years agodistro: Add Tcl, Expect, and DejaGNU.
Ludovic Courtès [Mon, 7 Jan 2013 20:11:19 +0000 (21:11 +0100)]
distro: Add Tcl, Expect, and DejaGNU.

* distro/packages/dejagnu.scm, distro/packages/tcl.scm: New files.
* Makefile.am (MODULES): Add them.

5 years agodistro: bdb: Adjust to lack of /bin/sh.
Ludovic Courtès [Sun, 6 Jan 2013 17:47:24 +0000 (18:47 +0100)]
distro: bdb: Adjust to lack of /bin/sh.

* distro/packages/bdb.scm (bdb): Pass `CONFIG_SHELL' and `SHELL' to the
  `configure' script.

5 years agoUpdate a few more license headers.
Ludovic Courtès [Sun, 6 Jan 2013 17:43:58 +0000 (18:43 +0100)]
Update a few more license headers.

* distro/packages/openssl.scm, m4/guix.m4, nix/sync-with-upstream:
  Update headers.

5 years agodownload: Report the progress of HTTP downloads.
Ludovic Courtès [Sun, 6 Jan 2013 17:36:50 +0000 (18:36 +0100)]
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'.

5 years agodownload: Report the progress of FTP downloads.
Ludovic Courtès [Sun, 6 Jan 2013 17:24:53 +0000 (18:24 +0100)]
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.

5 years agoftp-client: Add `ftp-size'.
Ludovic Courtès [Sun, 6 Jan 2013 17:23:44 +0000 (18:23 +0100)]
ftp-client: Add `ftp-size'.

* guix/ftp-client.scm (ftp-size): New procedure.

5 years agodistro: time: Adjust `configure' phase to old `configure' script.
Ludovic Courtès [Sun, 6 Jan 2013 16:42:59 +0000 (17:42 +0100)]
distro: time: Adjust `configure' phase to old `configure' script.

* distro/packages/time.scm (time): Add `arguments'.

5 years agoMerge branch 'master' into core-updates
Ludovic Courtès [Sun, 6 Jan 2013 16:33:02 +0000 (17:33 +0100)]
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

5 years agodistro: Update bootstrap binaries to an nscd-less libc.
Ludovic Courtès [Sun, 6 Jan 2013 00:16:14 +0000 (01:16 +0100)]
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.

5 years agoUpdate license headers.
Ludovic Courtès [Sat, 5 Jan 2013 23:47:50 +0000 (00:47 +0100)]
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.

5 years agoAdd `guix-gc'.
Ludovic Courtès [Sat, 5 Jan 2013 23:28:06 +0000 (00:28 +0100)]
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'.

5 years agoguix-build: Make `--root' effective for .drv files too.
Ludovic Courtès [Sat, 5 Jan 2013 23:18:43 +0000 (00:18 +0100)]
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.