Commit graph

7127 commits

Author SHA1 Message Date
Ludovic Courtès
8a16d064fa records: Add support for 'innate' fields.
* guix/records.scm (make-syntactic-constructor): Add #:innate parameter.
  [record-inheritance]: Honor it.
  [innate-field?]: New procedure.
  (define-record-type*)[innate-field?]: New procedure.
  Pass #:innate to 'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & inherit & innate",
  "define-record-type* & thunked & innate"): New tests.
2015-06-11 23:33:32 +02:00
Ludovic Courtès
792798f486 records: "options" → "properties".
* guix/records.scm (define-record-type*): Change "options" to "properties".
2015-06-11 23:33:32 +02:00
Ludovic Courtès
faef3b6a96 records: Factorize field property predicates.
* guix/records.scm (define-field-property-predicate): New macro.
  (define-record-type*)[thunked-field?, delayed-field?]: Use it.
2015-06-11 23:33:32 +02:00
Ludovic Courtès
b9c8647337 records: Separate default-value handling.
* guix/records.scm (make-syntactic-constructor)[default-values]: New
  variable.
  [field-default-value]: New procedure.
  Use them.
2015-06-11 23:33:32 +02:00
Ludovic Courtès
39fc041a7d records: Replace 'eval-when' with a proper 'define-syntax'.
* guix/records.scm (make-syntactic-constructor): Remove enclosing
  'eval-when'.  Turn into a 'syntax-rules' macro.
2015-06-11 23:33:32 +02:00
Mark H Weaver
b45ce07a8a gnu: gnupg: Update to 2.1.5.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.5.
2015-06-11 14:39:22 -04:00
宋文武
4510b2da3e gnu: Add librest.
* gnu/packages/gnome.scm (librest): New variable.
2015-06-11 23:30:54 +08:00
Mark H Weaver
8b1c8e4e27 gnu: inetutils: Update to 1.9.4.
* gnu/packages/admin.scm (inetutils): Update to 1.9.4.
2015-06-11 10:08:01 -04:00
Ludovic Courtès
a43b55f1a6 guix build: Allow directories to be passed to --with-source.
* guix/scripts/build.scm (package-with-source)[tarball-base-name]: Gracefully
  handle file names that lack an extension.
  Pass #:recursive? #t to 'download-to-store'.
* guix/download.scm (download-to-store): Add #:recursive? parameter and pass
  it to 'add-to-store'.
* doc/guix.texi (Invoking guix build): Add an example of --with-source with a
  directory.
2015-06-11 11:19:12 +02:00
Ludovic Courtès
c2590362ad environment: Connect to the store after the command line has been parsed.
* guix/scripts/environment.scm (guix-environment): Call 'parse-command-line'
  outside of 'with-store'.  This allows things like --help to run even if the
  daemon is not running.
2015-06-11 11:09:12 +02:00
Ludovic Courtès
57cd353d87 build: Build man pages after the corresponding code.
* doc.am (doc/guix.1): Remove extraneous $(top_builddir)/.
  (doc/guix-daemon.1): Fix dependency.
  (doc/guix-$(1).1): Remove extraneous $(top_builddir)/.  Depend on the .go
  files instead of the .scm file.  Add dependency on scripts/guix.
2015-06-10 21:58:16 +02:00
Ludovic Courtès
7887bcbf56 daemon: Internationalize guix-daemon.
* nix/nix-daemon/guix-daemon.cc (n_, _): New macros.
  (guix_textdomain): New variable.
  (doc): Use 'n_'.
  (options): Likewise, and lowercase messages.
  (argp): Add initializer for 'argp_domain' field.
  (parse_opt): Use '_' for messages.
  (main): Likewise, and add calls to 'setlocale', 'bindtextdomain', and
  'textdomain'.
* daemon.am (guix_daemon_CPPFLAGS): Add -DLOCALEDIR.
* po/guix/Makevars (XGETTEXT_OPTIONS): Remove '--language' option.  Add
  '--keyword=n_'.
* po/guix/POTFILES.in: Add guix-daemon.cc.
2015-06-10 21:58:16 +02:00
Mark H Weaver
3dbb0e5f8b gnu: qemu: Add fix for CVE-2015-3209.
* gnu/packages/patches/qemu-CVE-2015-3209.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qemu.scm (qemu): Add patch.
2015-06-10 15:42:16 -04:00
Mark H Weaver
e51943f886 gnu: cups: Update to 2.0.3.
* gnu/packages/cups.scm (cups): Update to 2.0.3.
2015-06-10 14:50:28 -04:00
Mark H Weaver
63398a25ba gnu: linux-libre: Update to 4.0.5.
* gnu/packages/linux.scm (linux-libre): Update to 4.0.5.
2015-06-10 11:37:37 -04:00
Ludovic Courtès
8ac0368e5b guix-register: Use C++11 range 'for' loop instead of 'foreach' macro.
* nix/guix-register/guix-register.cc (register_validity): Use C++11 range
  'for' loop instead of 'foreach'.
2015-06-10 13:55:23 +02:00
Ludovic Courtès
369755847b guix-register: Perform deduplication even when --prefix is passed.
Fixes <http://bugs.gnu.org/19044>.

* nix/guix-register/guix-register.cc (register_validity): Change the (optimize
  && prefix.empty ()) condition to just (optimize).  Change settings.nixStore
  around the loop.  Prepend PREFIX to the argument passed to 'optimisePath'.
* tests/guix-register.sh: Use 'guix-register -p' with duplicate files, and
  make sure they are deduplicated on the target.  Adjust existing tests.
2015-06-10 13:47:58 +02:00
Ludovic Courtès
4ae1fe14b9 tests: Make the daemon socket explicit in guix-register test.
* tests/guix-register.sh: Define GUIX_DAEMON_SOCKET.  Pass it explicitly to
  'open-connection'.
2015-06-10 11:11:52 +02:00
Ludovic Courtès
78acff7c11 guix system: init: Overwrite the items in the target store.
Fixes <http://bugs.gnu.org/20722>.
Reported by Eric Bavier <ericbavier@openmailbox.org>.

* guix/scripts/system.scm (copy-item): Check whether DEST exists and remove it
  if it does.
2015-06-10 10:31:47 +02:00
Ludovic Courtès
aea9b23213 install: Really overwrite TARGET/var/guix/profiles/system-1-link.
* gnu/build/install.scm (populate-root-file-system): Delete system-1-link
  under TARGET, not under /.  Use 'catch' and check for EEXIST instead of
  (false-if-exception (delete-file ...)).
2015-06-10 10:31:25 +02:00
Ludovic Courtès
7522a0160b ui: Replace the global 'symlink' binding.
* guix/ui.scm (symlink): Set! the global symlink.
2015-06-10 10:25:16 +02:00
Alex Kost
80cd1d8992 doc: Add 'help2man' to HACKING.
* HACKING: Mention 'help2man'.
2015-06-10 10:03:19 +02:00
宋文武
329d13b8ea gnu: mysql: Update to 5.6.25.
* gnu/packages/databases.scm (mysql): Update to 5.6.25.
  [source]: Use 'version-major+minor'.
  [build-system]: Change to cmake-build-system.  Adjust arguments
  accordingly.
  [inputs]: Add libaio.  Remove procps.  Move perl to 'native-inputs'.
2015-06-09 18:16:14 +08:00
Federico Beffa
a415474873 import: hackage: Refactor parsing code and add new options.
* guix/import/cabal.scm: New file.
* guix/import/hackage.scm: Update to use the new Cabal parsing module.
* tests/hackage.scm: Update tests.
* guix/scripts/import/hackage.scm: Add new '--cabal-environment' and '--stdin'
  options.
* doc/guix.texi: ... and document them.
* Makefile.am (MODULES): Add 'guix/import/cabal.scm',
  'guix/import/hackage.scm' and 'guix/scripts/import/hackage.scm'.
  (SCM_TESTS): Add 'tests/hackage.scm'.
2015-06-09 09:48:38 +02:00
Mark H Weaver
0705f79c6f gnu: Add proof-general.
* gnu/packages/ocaml.scm (proof-general): New variable.
2015-06-08 20:08:50 -04:00
Ludovic Courtès
5dc42964a7 doc: Suggest unpacking the binary tarball in /tmp.
Suggested by Thomas Schwinge <thomas@codesourcery.com> and others.

* doc/guix.texi (Binary Installation): Suggest unpacking in /tmp rather than /.
2015-06-08 23:31:02 +02:00
Ludovic Courtès
7acd3439ea install: Omit /root from the binary tarball.
Suggested by Thomas Schwinge <thomas@codesourcery.com>.

* gnu/system/install.scm (self-contained-tarball): Remove
  "/root/.guix-profile" from the 'tar' arguments.
* doc/guix.texi (Binary Installation): Add a step to create
  ~root/.guix-profile.
2015-06-08 23:25:51 +02:00
Ludovic Courtès
751630c9c3 monads: Allow n-ary '>>=' expressions.
Suggested by Federico Beffa <beffa@fbengineering.ch>.

* guix/monads.scm (bind-syntax): New macro.
  (with-monad): Use it instead of 'identifier-syntax'.
* tests/monads.scm (">>= with more than two arguments"): New test.
* doc/guix.texi (The Store Monad): Explain that there can be several MPROC.
  Add an example.
2015-06-08 23:00:49 +02:00
Mark H Weaver
ae9b96c784 gnu: youtube-dl: Update to 2015.06.04.1.
* gnu/packages/video.scm (youtube-dl): Update to 2015.06.04.1.
2015-06-08 15:07:30 -04:00
宋文武
c769cf9f2a gnu: evince: Update to 3.16.1, add more inputs.
* gnu/packages/gnome.scm (evince): Update to 3.16.1.
  [inputs]: Add djvulibre, libtiff, gnome-desktop and libsecret.

Co-authored-by: David Hashe <david.hashe@dhashe.com>
2015-06-08 20:42:31 +08:00
宋文武
faf713b9d0 gnu: geoclue: Update to 2.2.0.
* gnu/packages/gnome.scm (geoclue): Update to 2.2.0.
2015-06-08 18:02:28 +08:00
Alex Kost
a72f18a58b doc emacs: Improve documentation on initial setup.
Reported by ngz on #guix.

* doc/emacs.texi (Emacs Initial Setup): Describe how to configure
  "guix.el" in the case of binary installation and when Guix is not
  installed.
2015-06-08 11:46:05 +03:00
Alex Kost
00a8dae2a6 emacs: Add shell completions for "guix" command.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* emacs/guix-pcomplete.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Completions): New node.
2015-06-08 11:46:05 +03:00
Alex Kost
132e74fec9 emacs: Add "memoization" code.
* emacs/guix-utils.el (guix-memoize): New function.
  (guix-memoized-defun): New macro.
2015-06-08 11:46:05 +03:00
Alex Kost
2a4e2e4b01 guix: Clean up --help messages.
* guix/scripts/import.scm (show-help): Add newline before a list of
  importers.
* guix/scripts/lint.scm (show-help): Split a long description line.
* guix/scripts/package.scm (show-help): Improve docstrings for --install
  and --remove options.
* guix/scripts/system.scm (show-help): Format actions the same way as
  guix commands and importers are formatted.
2015-06-08 11:46:05 +03:00
Ricardo Wurmus
dbdfe51598 gnu: python-numpy: Build against OpenBLAS.
* gnu/packages/python.scm (python-numpy)[inputs]: Use "openblas" instead of
  "atlas".
* gnu/packages/python.scm (python-numpy)[arguments]: Configure build against
  OpenBLAS.

Modified-By: Mark H Weaver <mhw@netris.org>
2015-06-07 17:30:40 -04:00
Ludovic Courtès
a647e0b8ee Thank Thomas. 2015-06-07 18:15:40 +02:00
Ludovic Courtès
54eb03abbd doc: Explain where the number of build users comes from.
Suggested by Thomas Schwinge <thomas@codesourcery.com>.

* doc/guix.texi (Build Environment Setup): Explain where the number of build
  users comes from.
2015-06-07 17:50:58 +02:00
Ludovic Courtès
7770aafc75 guix gc: Add '--verify'.
* guix/scripts/gc.scm (show-help, %options): Add --verify.
  (guix-gc): Handle it.
* doc/guix.texi (Invoking guix gc): Document --verify, and move --optimize
  description right below it.
2015-06-06 19:05:56 +02:00
Ludovic Courtès
c63d94035f store: Add 'verify-store' RPC.
* guix/store.scm (operation-id): Add 'verify-store'.
  (verify-store): New procedure.
  (set-build-options): Adjust comment.
* tests/store.scm ("verify-store", "verify-store + check-contents"): New
  tests.
2015-06-06 19:05:25 +02:00
Ludovic Courtès
aa0f8409db daemon: Always require a signature when importing an archive.
* nix/nix-daemon/nix-daemon.cc (performOp): Pass true as the first argument to
  'performOp'.
2015-06-06 18:58:55 +02:00
Alex Kost
d2aa12250e guix package: Fix typo in --help message.
* guix/scripts/package.scm (show-help): Align '--show' option properly.
2015-06-06 18:32:03 +03:00
Mark H Weaver
716e20a2bc gnu: icecat: Update to 31.7.0-gnu1.
* gnu/packages/patches/icecat-CVE-2015-0797.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt3.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt4.patch,
  gnu/packages/patches/icecat-CVE-2015-2710-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-2710-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-2710-pt3.patch,
  gnu/packages/patches/icecat-CVE-2015-2713-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-2713-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-2716.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.7.0-gnu1.  Remove patches.
2015-06-06 08:02:45 -04:00
Mark H Weaver
8850303e76 gnu: tor: Update to 0.2.6.8.
* gnu/packages/tor.scm (tor): Update to 0.2.6.8.
  [native-inputs]: Add python-2.
2015-06-06 00:51:10 -04:00
Ludovic Courtès
24e02c28fb system: 'hosts-file' is now a file-like object.
Partly fixes <http://bugs.gnu.org/20720>.
Reported by Alex Kost <alezost@gmail.com>.

* gnu/system.scm (default-/etc/hosts): Change 'text-file' to 'plain-file'.
  (maybe-file->monadic): New procedure.
  (operating-system-etc-directory): Use it.
* doc/guix.texi (operating-system Reference, Networking Services): Adjust
  accordingly.
2015-06-05 22:41:55 +02:00
Ludovic Courtès
847658395e system: 'sudoers' is now a file-like object.
Partly fixes <http://bugs.gnu.org/20720>
Reported by Alex Kost <alezost@gmail.com>.

* gnu/system.scm (etc-directory): Change default #:sudoers value to a
  'plain-file'.  Don't bind it.  Remove #~#$.
  (maybe-string->file): New procedure.
  (operating-system-etc-directory): Use it.
  (%sudoers-specification): Use 'plain-file'.
* doc/guix.texi (operating-system Reference): Adjust accordingly.
2015-06-05 20:22:47 +02:00
Ludovic Courtès
343eacbec9 doc: Explain "file-like objects".
* doc/guix.texi (G-Expressions): Mention "file-like objects" and explain
  more.
2015-06-05 15:25:08 +02:00
Ludovic Courtès
97cc51f876 gnu: Add magit-svn.
* gnu/packages/emacs.scm (magit-svn): New variable.
2015-06-05 12:13:38 +02:00
Mark H Weaver
1973183b63 gnu: Add coq.
* gnu/packages/ocaml.scm (coq): New variable.
2015-06-05 00:58:53 -04:00
Mark H Weaver
c058f4eca2 licenses: Add the Open Publication License 1.0.
* guix/licenses.scm (opl1.0+): New variable.
2015-06-05 00:58:53 -04:00