Commit Graph

9900 Commits

Author SHA1 Message Date
Ludovic Courtès e15fcdd149 Add "Contributor Covenant".
* CODE-OF-CONDUCT: New file, adapted from
  <http://contributor-covenant.org/version/1/3/0/code_of_conduct.txt>.
* doc/contributing.texi (Contributing): Mention it.
* Makefile.am (EXTRA_DIST): Add it.
2015-12-09 14:29:41 +01:00
Eelco Dolstra cb9601029e daemon: Use deterministic $TMPDIR in chroot.
Rather than using $<host-TMPDIR>/nix-build-<drvname>-<number>, the
temporary directory is now always /tmp/nix-build-<drvname>-0. This
improves bitwise-exact reproducibility for builds that store $TMPDIR
in their build output. (Of course, those should still be fixed...)

* nix/libstore/build.cc (DerivationGoal)[tmpDirInSandbox]: New field.
(DerivationGoal::startBuilder): Initialize 'useChroot' earlier.  Compute
'tmpDirInSandbox', and use it when populating 'dirsInChroot'.
* doc/guix.texi (Build Environment Setup): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-12-09 14:29:41 +01:00
Ludovic Courtès a8d65643fb guix build: Add '--check'.
* guix/derivations.scm (build-derivations): Add optional 'mode'
parameter.
* guix/scripts/build.scm (%default-options): Add 'build-mode'.
(show-help, %options): Add '--check'.
(guix-build): Honor 'build-mode' key of OPTS.  Pass it to
'show-what-to-build' and 'build-derivations'.
* doc/guix.texi (Invoking guix build): Document it.
(Substitutes): Mention it.
2015-12-09 14:29:41 +01:00
Ludovic Courtès 58c08df054 derivations: Determine what's built in 'check' mode.
* guix/derivations.scm (substitution-oracle): Add #:mode parameter and
honor it.
(derivation-prerequisites-to-build): Likewise.
[derivation-built?]: Take it into account.
* guix/ui.scm (show-what-to-build): Add #:mode parameter.  Pass it to
'substitute-oracle' and 'derivations-prerequisites-to-build'.
* tests/derivations.scm ("derivation-prerequisites-to-build in 'check'
mode"): New test.
2015-12-09 14:29:41 +01:00
Efraim Flashner cc9553562c gnu: gmime: Update to 2.6.20.
* gnu/packages/mail.scm (gmime): Update to 2.6.20.
[arguments]: Use modify-phases syntax.
2015-12-09 15:21:34 +02:00
Ludovic Courtès 8d5e7ad29a gnu: guile-sly: Use HTTPS URL.
* gnu/packages/guile.scm (guile-sly)[source]: Use 'https'.  Failing to
do that, we get redirected to 'https', which fails because GnuTLS is
missing.
2015-12-08 23:58:12 +01:00
Ludovic Courtès 5b74fe065b guix build: Add '--rounds'.
* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add --rounds.
(set-build-options-from-command-line): Honor it.
* doc/guix.texi (Invoking guix build): Document it.
* doc/contributing.texi (Submitting Patches): Mention it.
2015-12-08 23:58:12 +01:00
Ludovic Courtès 2fba87ac7c store: Allow clients to request multiple builds.
* guix/store.scm (set-build-options): Add #:rounds parameter and honor it.
* tests/store.scm ("build multiple times"): New test.
2015-12-08 23:58:12 +01:00
Eelco Dolstra b23b4d394a daemon: Allow builds to be repeated.
This makes it easy to detect non-deterministic builds.

* nix/libstore/build.cc (DerivationGoal): Remove 'InodesSeen'; add
'curRound', 'nrRound', and 'prevInfos'.
(DerivationGoal::inputsRealised): Initialize 'nrRound'.
(NotDeterministic): New error type.
(DerivationGoal::buildDone): Check whether we need to repeat.
(DerivationGoal::startBuilder): Adjust message.
(DerivationGoal::registerOutputs): Check whether we get the same result.
* nix/libstore/globals.cc (Settings::get(const string & name, int def)):
New method.
* nix/libstore/globals.hh (Settings): Add it.
* nix/libstore/store-api.hh (ValidPathInfo): Add operator ==.
* nix/nix-daemon/nix-daemon.cc (performOp): Allow "build-repeat" for
"untrusted" users.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-12-08 23:58:12 +01:00
Andreas Enge 7fbee931a5 gnu: python-pillow: Update to 3.0.0.
* gnu/packages/python.scm (python-pillow, python2-pillow): Update to 3.0.0.
2015-12-08 23:16:37 +01:00
Andreas Enge b00150641a gnu: numactl: Update to 2.0.10.
* gnu/packages/linux.scm (numactl)[source]: Update to 2.0.10.
  [arguments]: Adapt phases to use the autotools machinery.
  [native-inputs]: Add autotools packages.
2015-12-08 23:09:59 +01:00
Ludovic Courtès c499125704 gnu-maintenance: Exclude development releases from GNOME update candidates.
Suggested by Efraim Flashner <efraim@flashner.co.il>.

* guix/gnu-maintenance.scm (latest-ftp-release): Add #:keep-file?
parameter and honor it.
(latest-gnome-release)[%not-dot]: New variable.
[even-minor-version?, even-numbered-tarball?]: New procedures.
Pass EVEN-NUMBERED-TARBALL? as #:keep-file? argument.
2015-12-08 16:09:33 +01:00
Efraim Flashner f714d9fe04 gnu: glade3: Update to 3.8.5.
* gnu/packages/gnome.scm (glade3): Update to 3.8.5.
2015-12-08 15:05:25 +02:00
Efraim Flashner 20a1a4c322 gnu: autogen: Update to 5.18.7.
* gnu/packages/autogen.scm (autogen): Update to 5.18.7.
2015-12-08 14:30:29 +02:00
Ludovic Courtès 6efa6f7645 gnu-maintenance: ftp.gnome.org does not provide signatures.
* guix/gnu-maintenance.scm (latest-ftp-release): Add #:file->signature
parameter.  Honor it.
(latest-gnome-release): Pass #:file->signature.
* guix/upstream.scm (coalesce-sources): Keep 'signature-urls' as #f
unless both sources provide it.
2015-12-07 23:57:20 +01:00
Ludovic Courtès e80c0f85ba gnu-maintenance: Add GNOME updater.
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Remove glib.
(false-if-ftp-error): New macro.
(latest-release*): Use it.
(non-emacs-gnu-package?): Rename to...
(pure-gnu-package?): ... this.  Add call to 'gnome-package?'.
(%gnu-updater): Adjust accordingly.
(gnome-package?, latest-gnome-release): New procedures.
(%gnome-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %GNOME-UPDATER.
* doc/guix.texi (Invoking guix refresh): Mention it.
2015-12-07 23:32:01 +01:00
Ludovic Courtès e946f2ec92 gnu-maintenance: Generalize 'latest-ftp-release'.
* guix/gnu-maintenance.scm (latest-release): Rename to...
(latest-ftp-release): ... this.  Add #:server and #:directory
parameters.
(latest-release): New procedure.
2015-12-07 23:32:01 +01:00
Ludovic Courtès fba607b129 refresh: Bail out when asked for a nonexistent updater.
* guix/scripts/refresh.scm (lookup-updater): Call 'leave' when 'find'
returns #f.
2015-12-07 23:32:01 +01:00
Ludovic Courtès e3cc793e7c gnu-maintenance: Do not look for releases in "w32" sub-directories.
* guix/gnu-maintenance.scm (latest-release): Filter out "w32"
directories.
2015-12-07 23:32:01 +01:00
Ludovic Courtès 202440e07a gnu-maintenance: Add tests for 'release-file?'.
* tests/gnu-maintenance.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* guix/gnu-maintenance.scm (release-file?): Export.
2015-12-07 23:32:01 +01:00
Ludovic Courtès fa04a04f18 gnu-maintenance: Properly handle TeXmacs.
* guix/gnu-maintenance.scm (ftp-server/directory): Add comment.
(release-file?): Use 'string-ci=?' instead of 'equal?' when comparing
project names.
2015-12-07 23:32:01 +01:00
Ludovic Courtès f00dccf441 gnu-maintenance: Adjust tarball regexp for IceCat tarballs.
* guix/gnu-maintenance.scm (%tarball-rx): Tweak to match IceCat tarball
patterns.
2015-12-07 23:32:01 +01:00
Ludovic Courtès b6124f00b8 gnu-maintenance: Fix URLs returned by 'latest-release' for deep trees.
With this, (latest-release "gcc") returns an <upstream-source> with URL:

  ftp://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz

Previous it would omit "gcc-5.3.0/" from the URL.

Fixes a regression introduced in 0a7c5a0.

* guix/gnu-maintenance.scm (latest-release)[file->url, file->source]:
Add 'directory' parameter.  Update users.
2015-12-07 23:32:01 +01:00
Ludovic Courtès 56b6befb50 doc: 'guix environment --container' does not create '/env'.
* doc/guix.texi (Invoking guix environment): Remove outdated mention of
'/env' for '--container'.
2015-12-07 23:32:01 +01:00
David Thompson 1eca745b44 gnu: node: Do not use bundled dependencies.
The Node build system was previously building its own copies of
OpenSSL (yikes!), libuv, and zlib.

* gnu/packages/node.scm (node)[inputs]: Add openssl, libuv, and zlib.
  [arguments]: Add configure flags for using system libraries.  Use
  'modify-phases' syntax.
2015-12-07 17:05:34 -05:00
Leo Famulari 437d728632 gnu: util-linux: Make description more descriptive.
* gnu/packages/linux.scm (util-linux)[description]: Give some more
  information about the package.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2015-12-07 21:11:21 +01:00
Mark H Weaver dae36ca558 gnu: pcre: Update to 8.38.
* gnu/packages/pcre.scm (pcre): Update to 8.38.  Add source URI for
  main FTP site.
2015-12-07 09:54:01 -05:00
Mark H Weaver 821060f3f6 gnu: libxml2: Update to 2.9.3.
* gnu/packages/patches/libxml2-CVE-2015-1819.patch,
  gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch,
  gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch,
  gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch,
  gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch,
  gnu/packages/patches/libxml2-CVE-2015-8035.patch,
  gnu/packages/patches/libxml2-bug-737840.patch,
  gnu/packages/patches/libxml2-bug-738805.patch,
  gnu/packages/patches/libxml2-bug-746048.patch,
  gnu/packages/patches/libxml2-bug-747437.patch,
  gnu/packages/patches/libxml2-bug-751603.patch,
  gnu/packages/patches/libxml2-bug-751631.patch,
  gnu/packages/patches/libxml2-bug-754946.patch,
  gnu/packages/patches/libxml2-bug-754947.patch,
  gnu/packages/patches/libxml2-bug-755857.patch,
  gnu/packages/patches/libxml2-fix-catalog-corruption.patch,
  gnu/packages/patches/libxml2-id-attrs-in-xmlSetTreeDoc.patch,
  gnu/packages/patches/libxml2-node-sort-order-pt1.patch,
  gnu/packages/patches/libxml2-node-sort-order-pt2.patch: Delete files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/xml.scm (libxml2): Update to 2.9.3.  Remove patches.
2015-12-07 09:54:01 -05:00
Mark H Weaver 86c8f1daf8 gnu: openssl: Update to 1.0.2e [fixes CVE-2015-{3193,3194,3195}].
* gnu/packages/tls.scm (openssl): Update to 1.0.2e.
  [arguments]: Rename 'fix-man-dir' phase to 'patch-Makefile.org',
  and patch SHELL in Makefile.org.  Add 'fix-broken-symlinks' phase.
  Return #t from 'patch-tests' phase.
2015-12-07 09:54:01 -05:00
Efraim Flashner e5be0e01f2 gnu: keepassx: Update to 2.0.
* gnu/packages/password-utils.scm (keepassx): Update to 2.0.
[source]: Change to official release location.
2015-12-07 13:07:18 +02:00
Efraim Flashner 044176621e gnu: python2-zope-security: Use python2-zope-testrunner.
* gnu/packages/python.scm (python2-zope-security): Do it.
2015-12-07 12:31:56 +02:00
Efraim Flashner b847618f65 gnu: help2man: Update to 1.47.3.
* gnu/packages/man.scm (help2man): Update to 1.47.3.
2015-12-07 10:59:54 +02:00
Efraim Flashner 5f47e71343 gnu: libmicrohttpd: Update to 0.9.47.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.47.
2015-12-07 10:40:05 +02:00
Alex Vong f8f8897f7e gnu: mp3info: Update URL.
* gnu/packages/mp3.scm (mp3info): Update source URL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-12-06 23:12:12 +01:00
Ludovic Courtès 91726b6a3b nls: Add Polish translation. 2015-12-06 23:02:32 +01:00
Kyle Meyer e92b8599f7 gnu: Add myrepos.
* gnu/packages/version-control.scm (myrepos): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-12-06 22:44:17 +01:00
Kyle Meyer 1872f1bb79 gnu: Add python-docopt.
* gnu/packages/python.scm (python-docopt, python2-docopt): New
  variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-12-06 22:38:32 +01:00
Efraim Flashner 07ab3b8ecc gnu: gajim: Update to 0.16.4.
* gnu/packages/messaging.scm (gajim): Update to 0.16.4.
2015-12-06 22:18:01 +02:00
Efraim Flashner d1d75c6a67 gnu: pinentry: Update to 0.9.6.
* gnu/packages/gnupg.scm (pinentry): Update to 0.9.6.
[inputs]: Add libsecret.
2015-12-06 22:18:01 +02:00
Efraim Flashner 231dd02337 gnu: gpgme: Update to 1.6.0.
* gnu/packages/gnupg.scm (gpgme): Update to 1.6.0.
2015-12-06 22:18:01 +02:00
Efraim Flashner b65249cc2b gnu: gnupg: Update to 2.1.10.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.10.
[inputs]: Add adns.
2015-12-06 22:18:01 +02:00
Efraim Flashner 7b40296fc0 gnu: gnupg-2.0: Update to 2.0.29.
* gnu/packages/gnupg.scm (gnupg-2.0): Update to 2.0.29.
[inputs]: Add adns.
2015-12-06 22:18:01 +02:00
Efraim Flashner b682a77669 gnu: libassuan: Update to 2.4.2.
* gnu/packages/gnupg.scm (libassuan): Update to 2.4.2.
2015-12-06 22:18:01 +02:00
Mathieu Lirzin d4fe27fe2c gnu: Move pkg-config to native inputs.
* gnu/packages/xiph.scm (ao)[native-inputs]: Move pkg-config from
inputs.
* gnu/packages/xorg.scm (xf86-video-geode)[native-inputs]: Likewise.
2015-12-06 17:23:26 +01:00
Mathieu Lirzin cd08fe4259 edit: Don't assume that an emacs daemon is running.
* guix/scripts/edit.scm (%editor): Use Emacs as a default value.
2015-12-06 17:23:25 +01:00
Mathieu Lirzin b16dbd1311 edit: Allow command line arguments in $VISUAL and $EDITOR.
* guix/scripts/edit.scm (guix-edit): Fix the assumption that %editor is
a one word command.
2015-12-06 17:23:21 +01:00
Efraim Flashner 2f52ad7413 gnu: nano: Update to 2.5.0.
* gnu/packages/nano.scm (nano): Update to 2.5.0.
2015-12-06 16:49:41 +02:00
Efraim Flashner ff21fa8b63 gnu: gdb: Update to 7.10.1.
* gnu/packages/gdb.scm (gdb): Update to 7.10.1.
2015-12-06 15:57:33 +02:00
Alex Kost 7edf242967 gnu: manaplus: Update to 1.5.12.5.
* gnu/packages/games.scm (manaplus): Update to 1.5.12.5.
2015-12-06 12:46:10 +03:00
Alex Kost f5688801b2 emacs: info: Show a message after copying button label.
* emacs/guix-info.el (guix-info-button-copy-label): Use
  'guix-copy-as-kill' to display a message with what was killed.
2015-12-06 12:46:10 +03:00