Commit Graph

7706 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
Mark H Weaver 1492801655 Merge branch 'master' into core-updates 2015-06-10 17:50:27 -04:00
Mark H Weaver 1511e02355 gnu: nettle: Update to 3.1.1.
* gnu/packages/nettle.scm (nettle): Update to 3.1.1.
2015-06-10 17:49:11 -04:00
Mark H Weaver 70ca2e94d1 gnu: which: Update to 2.21.
* gnu/packages/base.scm (which): Update to 2.21.
2015-06-10 17:39:08 -04:00
Ludovic Courtès 2a1552c608 gnu: cross-base: Do not strip cross-gcc.
Fixes a regression introduced in 9063ef0 whereby #:strip-binaries? would be
left to #t, leading to an invalid cross-built libgcc.a (see
<http://hydra.gnu.org/build/492479/nixlog/1/tail-reload>.)

* gnu/packages/cross-base.scm (cross-gcc-arguments): Add #:strip-binaries? #f
  unconditionally.  Replace 'install' phase to use "make install-strip".
2015-06-10 23:19:30 +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
Ludovic Courtès ab999c2516 gnu: commencement: Remove "debug" output of GCC-FINAL.
Fixes a regression introduced in 9063ef0.

* gnu/packages/commencement.scm (gcc-final)[outputs]: New field.
2015-06-10 09:37:36 +02:00
Ludovic Courtès d0b62698c9 gnu: gcc: Build libbacktrace without -Werror.
* gnu/packages/gcc.scm (gcc-4.7)[arguments] <pre-configure>: Remove -Werror
  from libbacktrace/configure.
2015-06-09 22:32:15 +02:00
Ludovic Courtès 9063ef0f79 gnu: gcc: Add "debug" output, debugging symbols of libraries.
* gnu/packages/gcc.scm (gcc-4.7)[install-target]: Remove.
  [outputs]: Add "debug".
  [arguments]: Remove #:strip-binaries?.  Remove 'install' phase.
2015-06-09 22:32:15 +02:00
Ludovic Courtès 811974925d gnu: gcc: Do not add -rpath=LIBDIR/lib64 to the "lib" spec.
* gnu/packages/gcc.scm (gcc-4.7): Remove unneeded LIBDIR/lib64 from
  GNU_USER_TARGET_LIB_SPEC.
2015-06-09 22:32:15 +02:00
Ludovic Courtès e58652502b gnu: make-bootstrap: Adjust gawk patch to 4.1.3.
* gnu/packages/patches/gawk-shell.patch: Update for gawk 4.1.3.
2015-06-09 22:32:15 +02:00
Manolis Ragkousis 30347caae7 gnu: guile-static: Use Linux syscalls only on Linux-based systems.
* gnu/packages/patches/guile-linux-syscalls.patch: Use Linux
  syscalls only on Linux-based systems.
2015-06-09 22:48:10 +03: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 f8badf151b gnu: commencement: Use our Binutils as soon as possible.
* gnu/packages/commencement.scm (binutils-boot0)[arguments]: Add
  'add-symlinks' phase.
2015-06-08 16:14:03 -04:00
Manolis Ragkousis 56eba3d152 gnu: sed: Set PATH_MAX for Hurd systems.
* gnu/packages/patches/sed-hurd-path-max.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-06-08 22:26:28 +03: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