Commit Graph

7622 Commits

Author SHA1 Message Date
Ludovic Courtès 661a1d7924 file-systems: Allow users to specify file system UUIDs as strings.
Fixes <http://bugs.gnu.org/19778>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/system/file-systems.scm (%uuid-rx): New variable.
  (string->uuid): New procedure.
  (uuid): New macro.
* tests/file-systems.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* doc/guix.texi (File Systems): Give an example of UUID.
2015-07-14 15:24:20 +02:00
Ludovic Courtès 0ec5ee9486 file-systems: Implement partition lookup by UUID.
* gnu/build/file-systems.scm (read-ext2-superblock*, partition-predicate): New
  procedures.
  (partition-label-predicate): Rewrite in terms of 'partition-predicate'.
  (partition-uuid-predicate, find-partition-by-uuid, uuid->string): New
  procedures.
  (%network-byte-order): New macro.
  (canonicalize-device-spec)[canonical-title]: Check whether SPEC is a string.
  [resolve]: New procedure.
  Add 'uuid' case and use it.
2015-07-14 15:24:19 +02:00
Ludovic Courtès f868637527 gnu: nss: Upgrade to 3.19.2.
* gnu/packages/gnuzilla.scm (nss): Upgrade to 3.19.2.
2015-07-14 15:24:19 +02:00
Ludovic Courtès 2de3cd8972 file-systems: Use (guix build syscalls) at build time if needed.
* gnu/build/file-systems.scm: Wrap 'module-use!' statement in 'eval-when'.
2015-07-14 15:24:18 +02:00
Ludovic Courtès 7e5124976b gnu: util-linux: Fix file name of 'umount' in 'eject'.
Fixes <http://bugs.gnu.org/21010>.
Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

* gnu/packages/linux.scm (util-linux)[arguments]: Add 'set-umount-file-name'.
2015-07-14 14:00:46 +02:00
Ludovic Courtès 1b9cf4ad2f gnu: util-linux: Use 'modify-phases'.
* gnu/packages/linux.scm (util-linux)[arguments]: Use 'modify-phases' instead
  of 'alist-cons-before'.
2015-07-14 12:40:35 +02:00
Jeff Mickey 0577ddc45d gnu: Add rc.
* gnu/packages/rc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-07-13 19:33:17 -04:00
Mark H Weaver 7a34576206 gnu: corkscrew: Pass triplet instead of system as --build and --host.
This is a followup to commit 3c7d023d64,
"build-system/gnu: Pass --build=<triplet> to configure by default"

* gnu/packages/ssh.scm (corkscrew)[arguments]: In custom configure phase,
  accept 'build' keyword argument and pass it to configure in --build argument
  and, if not cross-compiling, the --host argument.  Previously, the nix
  system string was passed.
2015-07-13 19:05:17 -04:00
Mark H Weaver 412a242258 gnu: liba52: Remove --build from configure flags.
This is a followup to commit 3c7d023d64,
"build-system/gnu: Pass --build=<triplet> to configure by default"

* gnu/packages/video.scm (liba52)[arguments]: Remove --build from configure
  flags.
2015-07-13 19:04:27 -04:00
Mark H Weaver 92e79092eb gnu: sysfsutils-1: Remove --build from configure flags.
This is a followup to commit 3c7d023d64,
"build-system/gnu: Pass --build=<triplet> to configure by default"

* gnu/packages/linux.scm (sysfsutils-1)[arguments]: Remove field.
2015-07-13 19:03:02 -04:00
Mark H Weaver 28b26cab94 gnu: xbindkeys: Remove --build from configure flags.
This is a followup to commit 3c7d023d64,
"build-system/gnu: Pass --build=<triplet> to configure by default"

* gnu/packages/xdisorg.scm (xbindkeys)[arguments]: Remove field.
2015-07-13 19:02:09 -04:00
Mark H Weaver b2314ca228 gnu: gmp: Remove --build from configure-flags.
This is a followup to commit 3c7d023d64,
"build-system/gnu: Pass --build=<triplet> to configure by default"

* gnu/packages/multiprecision.scm (gmp)[arguments]: Remove field.
2015-07-13 18:59:32 -04:00
Mark H Weaver 3c7d023d64 build-system/gnu: Pass --build=<triplet> to configure by default.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept #:build
  keyword argument.  Pass it to 'gnu-build' on the build side.
* guix/build/gnu-build-system.scm (configure): Accept #:build keyword
  argument.  Unless it is false, pass --build to configure.
2015-07-13 18:54:40 -04:00
Mark H Weaver 28dbc04750 gnu: linux-libre: Update to 4.1.2.
* gnu/packages/linux.scm (linux-libre): Update to 4.1.2.
2015-07-13 15:06:03 -04:00
Andreas Enge 8d662672fc gnu: boost: Patch to avoid -m32 flag on mips.
* gnu/packages/patches/boost-mips-avoid-m32.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
* gnu/packages/boost.scm (boost): Use it.
2015-07-13 14:53:38 -04:00
Andreas Enge 31e0ed9592 gnu: boost: Update to 1.58.0.
* gnu/packages/boost.scm (boost): Update to 1.58.0.
2015-07-13 14:53:38 -04:00
Ludovic Courtès ef8f910fce substitute: Improve functional decomposition.
* guix/scripts/substitute.scm (display-narinfo-data,
  process-query, process-substitution): New procedures.  Code moved from...
  (guix-substitute): ... here.  Use them.
2015-07-13 18:29:01 +02:00
Ludovic Courtès f8a8e0fe16 guix build: Add '--substitute-urls' client option.
* guix/scripts/build.scm (%standard-build-options,
  show-build-options-help): Add --substitute-urls=URLS.
  (set-build-options-from-command-line): Honor it.
* guix/store.scm (%default-substitute-urls): Make public.
* doc/guix.texi (Substitutes): Add xref to the client --substitute-urls
  option.
  (Invoking guix build): Document it.
  (Invoking guix-daemon): Add 'daemon-substitute-urls' anchor.
2015-07-13 18:29:01 +02:00
Ludovic Courtès 24f5aaaf24 substitute: Honor "substitute-urls" option passed by "untrusted" clients.
* guix/scripts/substitute.scm (or*): New macro.
  (%cache-url): Honor "untrusted-substitute-urls".
* guix/tests.scm (%test-substitute-urls): New variable.
  (open-connection-for-tests): Use it.
* tests/derivations.scm ("derivation-prerequisites-to-build and substitutes",
  "derivation-prerequisites-to-build and substitutes, non-substitutable
  build", "derivation-prerequisites-to-build and substitutes, local build"):
  Pass it to 'set-build-options'.
* tests/guix-daemon.sh: Likewise.
* tests/store.scm ("substitute query, alternating URLs"): New test.
  ("substitute query", "substitute", "substitute + build-things with output
  path", "substitute, corrupt output hash", "substitute --fallback"): Pass
  #:substitute-urls to 'set-build-options'.
2015-07-13 18:29:01 +02:00
Ludovic Courtès 895d1eda54 substitute: Store cached narinfo in cache-specific sub-directories.
This ensures that switching between different substitute servers doesn't lead
to a polluted narinfo cache.

* guix/scripts/substitute.scm (narinfo-cache-file): Add 'cache-url'
  parameter.  Add the base32 of CACHE-URL as a sub-directory under
  %NARINFO-CACHE-DIRECTORY.  Update callers.
  (cached-narinfo): Likewise.  Call 'mkdir-p' on the dirname of the cache
  file.  Update callers.
  (remove-expired-cached-narinfos): Add 'directory' parameter and use it
  instead of %NARINFO-CACHE-DIRECTORY.
  (narinfo-cache-directories): New procedure.
  (maybe-remove-expired-cached-narinfo): Call 'remove-expired-cached-narinfos'
  for each item returned by 'narinfo-cache-directories'.
2015-07-13 18:29:01 +02:00
Ludovic Courtès 074efd63a8 substitute: Pass the cache URL instead of <cache> objects.
* guix/scripts/substitute.scm (<cache>): Rename to...
  (<cache-info>): ... this.
  (open-cache): Rename to...
  (download-cache-info): ... this.  Return a <cache-info> or #f.
  (open-cache*): Remove.
  (cache-narinfo!): Take a URL instead of a <cache> as the first parameter.
  (fetch-narinfos): Likewise.  Call 'download-cache-info'.  Remove use of
  'force'.
  (guix-substitute): Replace calls to 'open-cache*' with %CACHE-URL.
2015-07-13 18:29:01 +02:00
Ludovic Courtès e4e099feca substitute: Remove unneeded conditionals.
* guix/scripts/substitute.scm (guix-substitute): Remove unneeded (if cache
  ...) forms since CACHE is always true (it's a promise.)
2015-07-13 18:29:01 +02:00
Mathieu Lirzin b57ec5f6cd gnu: file-systems: Fix typo.
* gnu/system/file-systems.scm (%container-file-systems): Fix typo in a
  comment.
2015-07-13 16:22:16 +02:00
Alex Kost 663d0733c8 guix lint: Remove duplicated module lines.
* guix/scripts/lint.scm (guix): Remove duplicated lines for using
  'srfi-34' and 'srfi-35' modules.  These lines were introduced twice by
  commits b210b35 and 002c57c.
2015-07-13 10:20:34 +03:00
David Hashe f0afb0c86f gnu: Add rhythmbox.
* gnu/packages/gnome.scm (rhythmbox): New variable.
2015-07-12 23:29:08 -04:00
Ludovic Courtès 98b385d15b gnu: Add 'libstdc++-doc'.
* gnu/packages/gcc.scm (make-libstdc++-doc): New procedure.
  (libstdc++-doc-4.9, libstdc++-doc-5.1): New variables.
2015-07-12 23:10:43 +02:00
Claes Wallin e662d64481 gnu: Add execline.
* gnu/package/skarnet.scm (execline): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-07-12 22:02:41 +02:00
Claes Wallin 4e2bd414f8 gnu: Add skalibs.
* gnu/package/skarnet.scm (skalibs): New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-07-12 22:00:40 +02:00
Claes Wallin fd83aa000c gnu: pumpa: Update to 0.9.1.
* gnu/packages/pumpio.scm (pumpa): Update to 0.9.1.  Change URL.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-07-12 11:09:05 +02:00
Ludovic Courtès f727ec5bc8 gnu: perl: Do not retain references to Binutils and other build-time tools.
* gnu/packages/perl.scm (perl)[arguments]: Pass -Dlibpth and -Dplibpth to
  ./Configure.
2015-07-12 01:27:00 +02:00
Ludovic Courtès 161094c8e2 packages: Rewrite 'transitive-inputs' to be linear and remove duplicates.
There were two issues:

  1. Use of 'delete-duplicates', which is quadratic, was a serious problem for
     closures with lots of propagated inputs, such as that of the 'hydra'
     package (several minutes for 'guix build hydra -n'!).

  2. The 'delete-duplicates' call essentially had no effect since duplicate
     inputs typically had a different label and were thus kept.  For
     instance, (bag-transitive-inputs (package->bag inkscape)) would return
     216 items whereas (delete-duplicates (map cdr THAT)) contains only 67
     items.

     The new implementation returns 67 items in this case.  For 'hydra', we're
     down from 42211 items to 361, and roughly 13s for 'guix build hydra'.

* guix/packages.scm (transitive-inputs): Rewrite as a breadth-first
  traversal.  Remove duplicate propagated inputs.
* tests/packages.scm ("package-transitive-inputs", "package->bag, propagated
  inputs"): Adjust to use simple labels for propagated inputs, without "/".
  ("package-transitive-inputs, no duplicates"): New test.
2015-07-12 01:27:00 +02:00
Ludovic Courtès 686784d0b9 tests: Adjust tests for new bootstrap Guile.
This is a followup to commit 5d6792f ("gnu: bootstrap: Create a wrapper for
guile to set the system load path.")

* tests/size.scm ("store-profile"): Expect profile of 'bash' bootstrap binary.
* tests/gexp.scm ("gexp->derivation #:references-graphs"): Expect GUILE-DRV to
  depend on 'bash' bootstrap binary.
2015-07-12 01:27:00 +02:00
Mark H Weaver aa7251176f gnu: Require NEON on armhf.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): On armhf,
  include --with-fpu=neon.
* doc/guix.texi (GNU Distribution): Document that our armhf port
  requires NEON.
2015-07-11 19:06:20 -04:00
Mark H Weaver c7bdc6bb7d gnu: polkit: Update to 0.113.
* gnu/packages/polkit.scm (polkit): Update to 0.113.
2015-07-11 19:03:19 -04:00
Mark H Weaver 087a4e9c43 gnu: openssh: Update to 6.9p1.
* gnu/packages/ssh.scm (openssh): Update to 6.9p1.
  [source]: Use http mirrors.  Add mirror from Erlangen.
2015-07-11 18:40:33 -04:00
Mark H Weaver f8facc18ed install: Fix variable reference to iproute2 package.
This is a followup to commit d43002f645.

* gnu/system/install.scm (installation-os)[packages]: Refer to IPROUTE instead
  of IPROUTE2.
2015-07-11 16:44:23 -04:00
Mark H Weaver e52ecc74c9 gnu: openssl: Update to 1.0.2d.
* gnu/packages/tls.scm (openssl): Update to 1.0.2d.
2015-07-11 15:50:13 -04:00
Mark H Weaver 16f7190830 gnu: pcre: Enable more features.
* gnu/packages/pcre.scm (pcre)[arguments]: To configure-flags, add
  "--enable-unicode-properties", "--enable-pcre16", and "--enable-pcre32".
2015-07-11 13:00:13 -04:00
Mark H Weaver a60cd281d1 gnu: ntp: Update to 4.2.8p3; use system libevent.
* gnu/packages/ntp.scm (ntp): Update to 4.2.8p3.
  [source]: Add snippet to remove bundled copy of libevent.
  [inputs]: Add libevent.
  [arguments]: Add 'disable-network-test' phase.
2015-07-11 11:39:34 -04:00
Alex Kost 7741139080 emacs: Find autoloads in "guix.d" subdirectories.
Co-authored-by: Federico Beffa <beffa@fbengineering.ch>.

* emacs/guix-emacs.el (guix-emacs-find-autoloads-in-directory,
  guix-emacs-subdirs): New functions.
  (guix-emacs-find-autoloads): Search for autoloads in "guix.d"
  subdirectories.
  (guix-emacs-load-autoloads): Add subdirectories to 'load-path'.
* emacs/guix-init.el.in: Do not add guix emacs directory to 'load-path'
  because it will be done by 'guix-emacs-load-autoloads'.  Move
  requiring 'guix-emacs' from the top-level to a clause for checking for
  'guix-package-enable-at-startup'.
2015-07-11 18:21:35 +03:00
Ludovic Courtès d43002f645 install: Add iproute2 to the installation image.
Fixes <http://bugs.gnu.org/21019>.
Reported by <info@danieleparisi.me>.

* gnu/system/install.scm (installation-os)[packages]: Add IPROUTE2.
2015-07-11 12:25:39 +02:00
Mark H Weaver 6870216758 gnu: gnome-terminal: Move dconf to propagated-inputs.
* gnu/packages/gnome.scm (gnome-terminal): Move dconf from inputs to
  propagated-inputs.
2015-07-11 02:48:50 -04:00
Mark H Weaver db35fb88e4 gnu: bash: Update to 4.3.39.
* gnu/packages/bash.scm (%patch-series-4.3): Add patches 34-39.
2015-07-11 01:04:18 -04:00
Mark H Weaver 47ed8e048b gnu: texinfo: Add procps to native-inputs to fix tests.
* gnu/packages/texinfo.scm (texinfo)[native-inputs]: Add procps.
  (texinfo-5, texinfo-4)[native-inputs]: Override to be empty.
* gnu/packages/commencement.scm (texinfo-boot0)[texinfo]: Override
  native-inputs to be empty.
2015-07-11 00:59:31 -04:00
Mark H Weaver 8ba24e62af gnu: nss: Update to 3.19.2.
* gnu/packages/gnuzilla.scm (nss): Update to 3.19.2.
2015-07-10 23:47:08 -04:00
Paul van der Walt c273728a12 gnu: libgpg-error: Update to 1.19.
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.19.
2015-07-10 23:47:08 -04:00
Mark H Weaver f9aec676ac gnu: libidn: Update to 1.31.
* gnu/packages/libidn.scm (libidn): Update to 1.31.
2015-07-10 23:47:08 -04:00
Mark H Weaver f7b55b0416 gnu: texinfo: Use version 6.0 by default.
* gnu/packages/texinfo.scm (texinfo): Update to 6.0.
  (texinfo-6): Removed.
  (texinfo-5): New variable.
2015-07-10 23:47:08 -04:00
Mark H Weaver 5182657449 gnu: libunistring: Update to 0.9.6.
* gnu/packages/libunistring.scm (libunistring): Update to 0.9.6.
2015-07-10 23:47:08 -04:00
Mark H Weaver 87da4f1ed8 gnu: mpfr: Update to 3.1.3.
* gnu/packages/multiprecision.scm (mpfr): Update to 3.1.3.
2015-07-10 23:47:08 -04:00