1
0
forked from tribes/guix

Compare commits

...

1528 Commits

Author SHA1 Message Date
Ludovic Courtès f8c0c8e4bf gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to commit 43c082b.
  (guix): Set to GUIX-DEVEL.
2015-11-04 18:22:21 +01:00
Ludovic Courtès 43c082b361 gnu: guix: Update to 0.9.0.
* gnu/packages/package-management.scm (guix-0.8.3): Rename to...
  (guix-0.9.0): ... this.  Adjust users.
  (guix): Set to GUIX-0.9.0.
2015-11-04 14:07:26 +01:00
Ludovic Courtès c8855b9918 tests: Use the canonical current directory name.
* tests/guix-environment-container.sh (current_dir): New variable.  Use
  it when grepping "mounts".
2015-11-04 12:10:11 +01:00
Ludovic Courtès 47b3124a8e tests: Skip 'program-file' test when shebang is too long.
* tests/gexp.scm ("program-file"): Skip when SHEBANG is too long.
2015-11-04 11:59:46 +01:00
Ludovic Courtès f6082affda Update NEWS. 2015-11-04 11:12:03 +01:00
Ludovic Courtès 316d65be0c doc: Back up on the claim of encrypted root partitions.
Reported by 宋文武 <iyzsong@openmailbox.org>
at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00096.html>.

* doc/guix.texi (System Installation): Comment out encrypted root
  partition commands.
* gnu/system/examples/desktop.tmpl (mapped-devices): Remove.
  (file-systems): Refer to the root by label.
* NEWS: Adjust.
2015-11-04 10:54:39 +01:00
Efraim Flashner 5ffea4776d gnu: libassuan: Update to 2.4.0.
* gnu/packages/gnupg.scm (libassuan): Update to 2.4.0.
2015-11-04 11:53:41 +02:00
Ludovic Courtès 00c16d5b84 gnu: csound: Link against libmvec on x86_64.
* gnu/packages/audio.scm (csound)[arguments]: New field.
2015-11-04 09:55:16 +01:00
Ludovic Courtès 4f14c628dc gnu: american-fuzzy-lop: Really build against QEMU 2.3.0.
* gnu/packages/debug.scm (qemu-2.3.0): New variable.
  (american-fuzzy-lop): Use it instead of QEMU-HEADLESS.
2015-11-04 09:37:22 +01:00
Ludovic Courtès 9e6b9ea4b1 gnu: clang-runtime: Mark MIPS as unsupported.
* gnu/packages/llvm.scm (clang-runtime-from-llvm): Add
  'supported-systems' field.
2015-11-04 09:28:46 +01:00
宋文武 2666a126ef gnu: font-adobe-source-han-sans: Update to 1.004.
* gnu/packages/fonts.scm (font-adobe-source-han-sans): Update to 1.004.
  [license]: Change to 'silofl1.1'.
2015-11-04 16:02:14 +08:00
宋文武 dee7e58e56 gnu: dosfstools: Update to 3.0.28.
* gnu/packages/disk.scm (dosfstools): Update to 3.0.28.
2015-11-04 16:02:14 +08:00
宋文武 b871a453a0 gnu: zsh: Update to 5.1.1.
* gnu/packages/zsh.scm (zsh): Update to 5.1.1.
2015-11-04 16:02:14 +08:00
Efraim Flashner 29852c8a99 gnu: libmicrohttpd: Update to 0.9.45.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.45.
2015-11-04 09:46:35 +02:00
Efraim Flashner 7b543d1ba4 gnu: libassuan: Update to 2.3.0.
* gnu/packages/gnupg.scm (libassuan): Update to 2.3.0.
2015-11-04 09:33:47 +02:00
Efraim Flashner 3b6f7a0a6d gnu: sipwitch: Update to 1.9.14.
* gnu/packages/telephony.scm (sipwitch): Update to 1.9.14.
2015-11-04 09:27:11 +02:00
Efraim Flashner 7e096dd290 gnu: ucommon: Update to 6.6.2.
* gnu/packages/telephony.scm (ucommon): Update to 6.6.2.
  [license]: Change to gpl3+.
2015-11-04 09:16:04 +02:00
Efraim Flashner ae3d99e9da gnu: parallel: Update to 20151022.
* gnu/packages/parallel.scm (parallel): Update to 20151022.
2015-11-04 09:02:51 +02:00
Eric Bavier b95bcb8ae0 gnu: Add byobu.
* gnu/packages/screen.scm (byobu): New variable.
* gnu/packages/patches/byobu-writable-status.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2015-11-03 17:08:41 -06:00
Eric Bavier e5930e5a13 gnu: newt: Build python bindings.
* gnu/packages/slang.scm (newt)[outputs]: New field.
  [arguments]: Add #:make-flags argument.  Add 'move-python' phase.
2015-11-03 17:07:09 -06:00
Mark H Weaver 718c5dd6e1 gnu: esmtp: Fix 'inputs' field.
This is a followup to commit f8ae32a26a.

* gnu/packages/mail.scm (esmtp)[inputs]: Add missing parentheses.
2015-11-03 19:01:38 -05:00
Ludovic Courtès f856fcb558 build-system/python: 'package-with-python2' preserves source location.
* guix/build-system/python.scm (package-with-explicit-python): Add
  'location' field.
2015-11-04 00:12:20 +01:00
Ludovic Courtès 32728adb95 import: pypi: Make downloads silent.
* guix/import/pypi.scm (pypi-fetch): Wrap body in
  'call-with-output-file' and 'with-error-to-port'.
2015-11-04 00:12:19 +01:00
Ludovic Courtès d1cb7e9562 import: pypi: Add missing copyright line.
* guix/import/pypi.scm: Add missing copyright line for bab020d.
2015-11-04 00:12:19 +01:00
Ludovic Courtès b9d044ef7f doc: Fix typos.
* doc/guix.texi (Invoking guix refresh): Fix typos.
2015-11-04 00:12:19 +01:00
Ludovic Courtès 3931607e4b gnu: guile-ncurses: Mask test failure with ncurses 6.0.
Fixes <http://bugs.gnu.org/21677>.

* gnu/packages/guile.scm (guile-ncurses)[arguments]: Add #:make-flags.
2015-11-04 00:12:19 +01:00
Ludovic Courtès f194445a65 Update NEWS. 2015-11-04 00:12:19 +01:00
Ludovic Courtès 4ebdefc07a gnu: cmake: Download over HTTPS.
Reported by Gxsdnewb on #guix.

* gnu/packages/cmake.scm (cmake)[source]: Use 'https' URL.
2015-11-04 00:12:19 +01:00
Ludovic Courtès b18812b6a4 doc: Explain that 'guix publish' relies on the key pair.
* doc/guix.texi (Invoking guix publish): Mention 'guix archive
  --generate-key'.
2015-11-04 00:12:19 +01:00
David Thompson d431b23240 scripts: container: Fix 'exec' command line parsing.
* guix/scripts/container/exec.scm (partition-args): Reimplement such
  that all args up to and including the PID are returned as the first of
  the two values.
2015-11-03 18:05:43 -05:00
Cyril Roelandt bab020d7ca import: pypi: add updater
* guix/import/pypi.scm (guix-package->pypi-name,
  latest-release): New procedures.
  (%pypi-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %PYPI-UPDATER.
* doc/guix.texi (Invoking guix refresh): Mention PyPI
2015-11-03 23:41:25 +01:00
Cyril Roelandt 465b61fcd6 gnu: Add python-tempest-lib.
* gnu/packages/openstack.scm (python-tempest-lib,
  python2-tempest-lib): New variables.
2015-11-03 21:38:13 +01:00
Cyril Roelandt 39d3f2edce gnu: python-oslotest: move mox3 to the propagated-inputs
* gnu/packages/openstack.scm (python-oslotest): move mox3 to the propagated
  inputs.
2015-11-03 21:38:13 +01:00
Cyril Roelandt aee6412ad8 gnu: Add python-oslo.log.
* gnu/packages/openstack.scm (python-oslo.log,
  python2-oslo.log): New variables.
2015-11-03 21:38:13 +01:00
Cyril Roelandt a3fc12daa7 gnu: paramiko: Move python-pycrypto to the propagated inputs.
* gnu/packages/python.scm (python-paramiko): Move python-pycrypto to the
  propagated-inputs.
2015-11-03 21:38:13 +01:00
Cyril Roelandt 2931f46454 gnu: Add python-os-testr.
* gnu/packages/openstack.scm (python-ostestr,
  python2-ostestr): New variables.
2015-11-03 21:38:13 +01:00
Cyril Roelandt f4c7dc5582 gnu: Add python-oslosphinx.
* gnu/packages/openstack.scm (python-oslosphinx,
  python2-oslosphinx): New variables.
2015-11-03 21:38:13 +01:00
Cyril Roelandt 2ac9ba6a29 gnu: Add python-hacking.
* gnu/packages/openstack.scm (python-hacking,
  python2-hacking): New variables.
2015-11-03 21:38:13 +01:00
Cyril Roelandt abf21efcae gnu: Add python-flake8-2.2.4
* gnu/packages/python.scm (python-flake8-2.2.4,
  python2-flake8-2.2.4): New variables.
2015-11-03 21:38:13 +01:00
Cyril Roelandt 7477fbb1be gnu: Add python-mccabe 0.2.1
* gnu/packages/python.scm (python-mccabe-0.2.1,
  python2-mccabe-0.2.1): New variables.
2015-11-03 21:38:13 +01:00
Cyril Roelandt cbaa6a1e41 gnu: Update python-requests.
* gnu/packages/python.scm (python-requests, python2-requests): Bump to 2.8.0.
2015-11-03 21:38:13 +01:00
Cyril Roelandt d8bdd38201 import: pypi: Use "pypi-uri" instead of building the URL manually.
* guix/import/pypi.scm (make-pypi-sexp): Use "pypi-uri".
* tests/pypi.scm: Update the tests accordingly.
2015-11-03 21:38:13 +01:00
Cyril Roelandt 3009334e3b guix: Add a "pypi-uri" helper method.
* guix/download.scm (mirrors): New "pypi" mirror.
* guix/build-system/python.scm (pypi-uri): New method.
2015-11-03 21:38:13 +01:00
Andy Wingo f8ae32a26a gnu: Add esmtp.
* gnu/packages/mail.scm (esmtp): New public variable.
2015-11-03 21:08:31 +01:00
Andy Wingo f5dceecb0c gnu: Add libesmtp.
* gnu/packages/mail.scm (libesmtp): New public variable.
2015-11-03 21:08:31 +01:00
Ludovic Courtès 6e82863463 system: Rename (gnu system linux) to (gnu system pam).
* gnu/system/linux.scm: Rename to...
* gnu/system/pam.scm: ... this.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu.scm, gnu/services/base.scm, gnu/services/desktop.scm,
  gnu/services/networking.scm, gnu/services/ssh.scm,
  gnu/services/xorg.scm, gnu/system.scm, gnu/system/vm.scm: Likewise.
2015-11-03 18:11:45 +01:00
Ludovic Courtès 1c52181f33 services: Add 'guix-publish-service'.
* gnu/services/base.scm (<guix-publish-configuration>): New record
  type.
  (guix-publish-dmd-service): New procedure.
  (%guix-publish-accounts, guix-publish-service-type): New variables.
  (guix-publish-service): New procedure.
* doc/guix.texi (Invoking guix publish): Add xref to
  'guix-publish-service' anchor.
  (Base Services): Document 'guix-publish-service'.
2015-11-03 18:11:45 +01:00
David Thompson 00bfa7ea25 scripts: environment: Display friendly container error messages.
* guix/scripts/environment.scm (assert-container-features): New
  procedure.
  (guix-environment): Use it.
2015-11-03 11:41:04 -05:00
David Thompson b7d48312bb build: container: Add feature test predicates.
* gnu/build/linux-container.scm (user-namespace-supported?,
  unprivileged-user-namespace-supported?, setgroups-supported?): New
  procedures.
* tests/container.scm: Use predicates.
* tests/syscalls.scm: Likewise.
2015-11-03 11:41:04 -05:00
Taylan Ulrich Bayırlı/Kammer 9ff7827a21 gnu: nestopia-ue: Use system zlib.
* gnu/packages/games.scm (nestopia-ue): Remove bundled zlib, patch files
  to include system zlib.h, and add zlib as input.
2015-11-03 16:25:46 +01:00
宋文武 c869eed1a7 gnu: gst-libav: Update to 1.6.1.
* gnu/packages/gstreamer.scm (gst-libav): Update to 1.6.1.
2015-11-03 22:06:30 +08:00
宋文武 72131606f1 gnu: gst-plugins-ugly: Update to 1.6.1.
* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.6.1.
2015-11-03 22:06:30 +08:00
宋文武 a64e5d451b gnu: gst-plugins-good: Update to 1.6.1.
* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.6.1.
2015-11-03 22:06:30 +08:00
宋文武 7bc36f8d96 gnu: gst-plugins-base: Update to 1.6.1.
* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.6.1.
  [arguments]: Disable parallel tests.
2015-11-03 22:06:30 +08:00
宋文武 31e021f876 gnu: gstreamer: Update to 1.6.1.
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.6.1.
  [arguments]: Remove #:make-flags.
2015-11-03 22:06:30 +08:00
Ludovic Courtès c56ab21b2a gnu: guix: Do not retain dependency on Graphviz.
* gnu/packages/package-management.scm (guix-devel)[arguments]: Add
  ac_cv_path_DOT_USER_PROGRAM=dot to #:configure-flags.
2015-11-03 15:04:15 +01:00
David Thompson cfd35b4e23 doc: Linux-libre 3.19 is needed for using containers.
* doc/guix.texi ("invoking guix environment", "invoking guix system"):
  3.10 is actually too old without backported patches, so change to 3.19.
2015-11-03 08:14:57 -05:00
Taylan Ulrich Bayırlı/Kammer 03d521f92e gnu: Add nestopia-ue.
* gnu/packages/games.scm (nestopia-ue): New variable.
2015-11-03 10:19:44 +01:00
Alex Vong ef54b61dc6 doc: './pre-inst-env guix pull' won't upgrade local source tree.
* doc/contributing.texi (Running Guix Before It Is Installed): Clarify
  './pre-inst-env guix pull' won't upgrade local source tree.
* doc/guix.texi (Invoking guix pull): Mention ~/.config/guix/latest.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-11-03 09:56:48 +01:00
Ludovic Courtès dc57d527ae gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-0.8.3)[arguments]: In
  'disable-container-tests' phase, modify
  "tests/guix-environment-container.sh".  Add 'set-SHELL' phase.
* gnu/packages/package-management.scm (guix-devel): Update to b485f75.
2015-11-03 09:39:35 +01:00
宋文武 6e32aa568c gnu: tcpdump: Update to 4.7.4.
* gnu/packages/admin.scm (tcpdump): Update to 4.7.4.
2015-11-03 10:11:36 +08:00
宋文武 42e8f7345f gnu: libpcap: Update to 1.7.4.
* gnu/packages/admin.scm (libpcap): Update to 1.7.4.
2015-11-03 10:11:36 +08:00
Ludovic Courtès 3195e19de2 import: gnu: Update to the (guix upstream) API.
This is a followup to 0a7c5a0.

* guix/import/gnu.scm (preferred-archive-type): Use
  'upstream-source-archive-types' instead of 'gnu-release-archive-types'.
  (gnu-package->sexp): Use 'upstream-source-urls' et al.  Update call to
  'download-tarball'.
  (gnu->guix-package): Use <upstream-source> instead of <gnu-release>.
* guix/upstream.scm (upstream-source-archive-types): Export.
2015-11-03 00:59:28 +01:00
Ludovic Courtès b485f756e9 tests: Set 'SHELL' for 'guix environment'.
* tests/guix-environment.sh: Export 'SHELL'.
2015-11-02 23:42:31 +01:00
Ludovic Courtès a70436183a guix system: Always build grub.cfg for 'init' and 'reconfigure'.
Fixes <http://bugs.gnu.org/21068>.
Reported by Germano Gabbianelli <tyrion.mx@gmail.com>
and Mark H Weaver <mhw@netris.org>.

* guix/scripts/system.scm (perform-action): Always add GRUB.CFG to DRVS
  for 'init' and 'reconfigure'.

Co-authored-by: Mark H Weaver <mhw@netris.org>
2015-11-02 22:49:04 +01:00
Ludovic Courtès beca0807eb services: udisks: Add UDisks to the system profile.
* gnu/services/desktop.scm (udisks-service-type): Extend
  PROFILE-SERVICE-TYPE.
2015-11-02 22:25:12 +01:00
Ludovic Courtès 1065bed9c4 services: avahi: Add Avahi to the system profile.
* gnu/services/avahi.scm (avahi-service-type): Extend
  PROFILE-SERVICE-TYPE.
  (avahi-service): Adjust docstring.
* doc/guix.texi (Networking Services): Adjust accordingly.
* gnu/system/examples/desktop.tmpl (packages): Remove AVAHI.
2015-11-02 22:25:12 +01:00
Ludovic Courtès e9b8212414 services: slim: Add xterm to the system profile.
* gnu/services/xorg.scm (slim-service-type): Extend
  PROFILE-SERVICE-TYPE.
* gnu/system/examples/desktop.tmpl (packages): Remove XTERM.
2015-11-02 22:25:12 +01:00
Ludovic Courtès 87f4001146 services: wicd: Add Wicd to the system profile.
* gnu/services/networking.scm (wicd-service-type): Extend
  PROFILE-SERVICE-TYPE.
  (wicd-service): Mention it in docstring.
* doc/guix.texi (Networking Services): Update documentation
  accordingly.
* gnu/system/examples/desktop.tmpl (packages): Remove WICD.
2015-11-02 22:25:12 +01:00
Ludovic Courtès af4c3fd5e3 services: Add 'profile-service-type'.
* gnu/services.scm (packages->profile-entry): New procedure.
  (profile-service-type): New variable.
* gnu/system.scm (operating-system-directory-base-entries): Remove
  the "profile" entry.
  (essential-services): Add a PROFILE-SERVICE-TYPE instance.
  (operating-system-profile): Rewrite in terms of 'fold-services'.
* doc/guix.texi (Service Reference): Add 'profile-service-type'.
* doc/images/service-graph.dot: Likewise.
2015-11-02 22:25:12 +01:00
Ludovic Courtès d62e201cfd services: Add 'system-service-type'.
* gnu/services.scm (system-derivation): New procedure.
  (system-service-type): New variable.
  (boot-script-entry): New procedure.
  (boot-service-type): Extend SYSTEM-SERVICE-TYPE.
  (etc-entry): New procedure.
  (etc-service-type): Extend SYSTEM-SERVICE-TYPE.
  (fold-services): Change default #:target-type to SYSTEM-SERVICE-TYPE.
* gnu/system.scm (operating-system-directory-base-entries): New procedure.
  (essential-services): Use it.  Add an instance of
  SYSTEM-SERVICE-TYPE.
  (operating-system-boot-script): Pass #:target-type to 'fold-services'.
  (operating-system-derivation): Rewrite in terms of 'fold-services'.
* gnu/system/linux-container.scm (system-container): Remove.
  (container-script): Use 'operating-system-derivation'.
* guix/scripts/system.scm (export-extension-graph): Replace
  BOOT-SERVICE-TYPE by SYSTEM-SERVICE-TYPE.
* doc/images/service-graph.dot: Add 'system' node and edges.
* doc/guix.texi (Service Composition): Mention SYSTEM-SERVICE-TYPE.
  (Service Reference): Document it.  Update 'fold-services'
  documentation.
2015-11-02 22:25:11 +01:00
Ludovic Courtès 3a391e68da services: Clarify extend/compose of BOOT-SERVICE-TYPE.
* gnu/services.scm (compute-boot-script): Add first placeholder
  parameter.
  (boot-service-type): Change 'compose' to APPEND, and 'extend' to
  COMPUTE-BOOT-SCRIPT.
2015-11-02 22:25:11 +01:00
Efraim Flashner 5adbe65fec gnu: gsl: Enable tests.
* gnu/packages/maths.scm (gsl)[arguments]: Enable tests for i686-linux.
2015-11-02 21:04:18 +02:00
Efraim Flashner f133955122 gnu: gsl: Update to 2.0.
* gnu/packages/maths.scm (gsl): Update to 2.0.
  [source]: Remove patches.
* gnu/packages/patches/gsl-poly-test-fix-pt1.patch,
  gnu/packages/patches/gsl-poly-test-fix-pt2.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove patches.
2015-11-02 21:04:18 +02:00
Alex Kost 5c2b2f006a doc: Fix typos.
* doc/guix.texi (Invoking guix environment): Fix typos.
2015-11-02 21:38:36 +03:00
Ricardo Wurmus 8d9e9f2857 gnu: Add ruby-permutation.
* gnu/packages/ruby.scm (ruby-permutation): New variable.
2015-11-02 14:47:00 +01:00
Ricardo Wurmus b86be2ad1a gnu: Add ruby-listen.
* gnu/packages/ruby.scm (ruby-listen): New variable.
2015-11-02 14:47:00 +01:00
Ricardo Wurmus 48e6851f2f gnu: Add ruby-rb-inotify.
* gnu/packages/ruby.scm (ruby-rb-inotify): New variable.
2015-11-02 14:47:00 +01:00
Ricardo Wurmus 58b59742f4 gnu: Add ruby-simplecov-html.
* gnu/packages/ruby.scm (ruby-simplecov-html): New variable.
2015-11-02 14:47:00 +01:00
Ricardo Wurmus 2417fce3af gnu: Add ruby-ffi.
* gnu/packages/ruby.scm (ruby-ffi): New variable.
2015-11-02 14:47:00 +01:00
Ricardo Wurmus f13636f291 gnu: Add ruby-rubygems-tasks.
* gnu/packages/ruby.scm (ruby-rubygems-tasks): New variable.
2015-11-02 14:47:00 +01:00
Ricardo Wurmus 60af3d8241 gnu: hisat: Disable build on non-x86_64.
* gnu/packages/bioinformatics.scm (hisat)[supported-systems]: Add field.
2015-11-02 14:37:52 +01:00
David Thompson 7241c2fae6 scripts: environment: Ignore user shell when spawning container.
* guix/scripts/environment.scm (%default-options): Remove 'exec'
  association.
  (guix-environment): If the user didn't specify a command, use the
  default shell, or use /bin/sh when a container is requested.
2015-11-02 08:30:54 -05:00
Ricardo Wurmus 69b96e5eee gnu: python-simplegeneric: Add setuptools to native inputs.
* gnu/packages/python.scm (python-simplegeneric)[native-inputs]: Add
  python-setuptools.
2015-11-02 14:27:52 +01:00
Ricardo Wurmus 6b5b656f71 gnu: shogun: Disable build on non-x86_64.
* gnu/packages/machine-learning.scm (shogun)[supported-systems]: Add
  field.
2015-11-02 14:27:41 +01:00
Alex Kost 46c36586fc doc: Fix typo.
* doc/guix.texi (Invoking guix container): Fix typo.
2015-11-02 15:53:48 +03:00
Alex Kost f4044b586d emacs: Enable 'guix-build-log-minor-mode' in shell buffers.
* emacs/guix-build-log.el (guix-build-log-minor-mode-activate): New variable.
  (guix-build-log-minor-mode-activate-maybe): New function.
* emacs/guix-init.el: Add it to 'shell-mode-hook'.
* doc/emacs.texi (Emacs Build Log): Mention it.
2015-11-02 15:52:52 +03:00
Alex Kost 0048552d0d emacs: Enable 'guix-build-log-mode' for build log files.
* emacs/guix-build-log.el (auto-mode-alist): Add 'guix-build-log-mode'
  to 'auto-mode-alist'.
2015-11-02 15:52:52 +03:00
Alex Kost 6407ce8ea1 emacs: Add completions for '--type' option of 'refresh' popup.
* guix/scripts/refresh.scm: Export '%updaters'.
* emacs/guix-main.scm (refresh-updater-names): New procedure.
* emacs/guix-base.el (guix-refresh-updater-names): New function.
* emacs/guix-read.el (guix-read-refresh-updater-names,
  guix-read-refresh-updater-names-string): New functions.
* emacs/guix-command.el (guix-command-improve-refresh-argument): Use
  'guix-read-refresh-updater-names-string'.
2015-11-02 15:51:40 +03:00
Efraim Flashner 762b1971d8 gnu: claws-mail: Update to 3.13.0.
* gnu/packages/mail.scm (claws-mail): Update to 3.13.0.
  [url]: Update to new location.
2015-11-02 13:29:51 +02:00
Ben Woodcroft f3674b1c80 gnu: Add express-beta-diversity.
* gnu/packages/bioinformatics.scm (express-beta-diversity): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-11-02 09:54:21 +01:00
Ludovic Courtès 6394fe650e system: grub: Use a bigger background image.
* gnu/system/grub.scm (grub-background-image): Increase the default
  values of WIDTH and HEIGHT.  After all, it's 2015 already!
2015-11-02 09:54:21 +01:00
Efraim Flashner a83adbf681 gnu: links: Build with libevent.
* gnu/packages/links.scm (links)[inputs]: Add libevent.
2015-11-02 10:50:08 +02:00
Efraim Flashner cb7fed9285 gnu: links: Update to 2.12.
* gnu/packages/links.scm (links): Update to 2.12.
  Various whitespace and line length fixes.
2015-11-02 10:46:56 +02:00
David Thompson 32efa254a8 scripts: Add 'container' subcommand.
* guix/scripts/container.scm: New file.
* guix/scripts/container/exec.scm: New file.
* po/guix/POTFILES.in: Add them.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Invoking guix container): New section.
2015-11-01 18:20:04 -05:00
Eric Bavier 7c5a442091 gnu: synergy: Upgrade to 1.7.4.
* gnu/packages/synergy.scm (synergy): Upgrade to 1.7.4.
2015-11-01 12:01:03 -06:00
David Thompson 0f252e266a doc: Mention minimum Linux-libre version for containers.
* doc/guix.texi ("invoking guix environment", "invoking guix system"):
  Mention Linux-libre requirements for container features.
2015-11-01 16:54:58 -05:00
Ludovic Courtès 6d6e628119 doc: Give an example with an encrypted root partition.
* gnu/system/examples/desktop.tmpl: Add 'mapped-devices' field.
  Use it in 'file-systems'.
* doc/guix.texi (System Installation): Suggest encrypted partitions.
  Give an example of a command sequence.
2015-11-01 22:24:20 +01:00
Ludovic Courtès b8d2eda4a3 nls: Add Danish translation for packages. 2015-11-01 22:24:20 +01:00
Ludovic Courtès 4e720137b2 nls: Update 'da' translation. 2015-11-01 22:24:19 +01:00
Ludovic Courtès 52d76b64e0 gnu: xz: Add alternate URL.
Fixes <http://bugs.gnu.org/21784>.

* gnu/packages/compression.scm (xz)[source]: Add alternate URL.
2015-11-01 22:24:19 +01:00
Ludovic Courtès 7824d4450d Revert "services: polkit: Use the right executable name for PAM."
This reverts commit 7f39e181df.

Polkit actually uses the name "polkit-1" in calls to 'pam_start'.
2015-11-01 22:24:19 +01:00
Efraim Flashner b798dfde47 gnu: youtube-dl: Minor fixes.
* gnu/packages/video.scm (youtube-dl)[url]: Change to http.
  [description]: Fix capitalization.
2015-11-01 19:56:33 +02:00
Efraim Flashner 4da85bc3bb gnu: youtube-dl: Update to 2015.11.01.
* gnu/packages/video.scm (youtube-dl): Update to 2015.11.01.
2015-11-01 19:54:59 +02:00
Ludovic Courtès 2b9e0a948b services: Add 'udisks-service'.
* gnu/services/desktop.scm (<udisks-configuration>): New record type.
  (udisks-service-type): New variable.
  (udisks-service): New procedure.
  (%desktop-services): Use it.
* doc/guix.texi (Desktop Services): Document it.
2015-11-01 17:56:48 +01:00
Ludovic Courtès daa3b04cd8 gnu: udisks: Separate HTML documentation.
* gnu/packages/freedesktop.scm (udisks)[outputs]: New field.
  [arguments]: Pass the --with-html-dir configure flag.
2015-11-01 17:56:48 +01:00
Ludovic Courtès 35263cd862 gnu: udisks: Mount things under /media.
* gnu/packages/freedesktop.scm (udisks)[arguments]: Add
  --enable-fhs-media.
2015-11-01 17:56:48 +01:00
Ludovic Courtès 5905114a10 gnu: udisks: Find the 'mount' command.
* gnu/packages/freedesktop.scm (udisks)[inputs]: Add UTIL-LINUX.
  [arguments]: Add 'set-mount-file-name' phase.
2015-11-01 17:56:47 +01:00
Ludovic Courtès 222e3319bd services: 'polkit-service-type' can now be extended.
* gnu/packages/polkit.scm (polkit)[source]: Adjust snippet so that rules
  and actions are looked for under /etc/polkit-1.
* gnu/services/desktop.scm (<polkit-configuration>): New record type.
  (polkit-directory, polkit-etc-files, polkit-setuid-programs): New
  procedures.
  (polkit-service-type)[compose, extend]: New fields.
  (polkit-service): Refine docstring.
  (colord-service-type): Extend POLKIT-SERVICE-TYPE.
  (elogind-configuration-file): Extend POLKIT-SERVICE-TYPE.
* doc/guix.texi (Desktop Services): Update 'polkit-service'
  documentation.
2015-11-01 17:56:47 +01:00
Manolis Ragkousis 67010dd886 gnu: hurd-headers: Update to 0.7
* gnu/packages/hurd.scm (hurd-headers): Update to version 0.7.
2015-11-01 15:48:32 +02:00
Manolis Ragkousis 212c664889 gnu: mig: Update to 1.6
* gnu/packages/hurd.scm (mig): Update to version 1.6.
2015-11-01 15:48:32 +02:00
Manolis Ragkousis c51525895a gnu: gnumach-headers: Update to 1.6
* gnu/packages/hurd.scm (gnumach-headers): Update to version 1.6.
2015-11-01 15:48:32 +02:00
Ludovic Courtès 320ca99917 tests: Make sure the daemon dumps directory entries deterministically.
* tests/store.scm ("write-file & export-path yield the same result"):
  New test.
2015-11-01 14:26:54 +01:00
Ludovic Courtès 043f4698f0 doc: Suggest diffing things with --no-dereference.
* doc/guix.texi (Invoking guix challenge): Add --no-dereference in
  'diff' example.
2015-11-01 14:26:54 +01:00
Manolis Ragkousis cbe95af712 Remove unneeded HAVE_UNSHARE.
* src/libstore/build.cc (CHROOT_ENABLED): Remove HAVE_UNSHARE.
2015-11-01 14:26:54 +01:00
Andreas Enge 08859404c0 gnu: Remove aarddict.
* gnu/packages/aarddict.scm: Remove file.
* gnu-system.am (GNU_SYSTEM_MODULES): Unregister file.
2015-11-01 13:23:08 +01:00
Alex Kost c42e6c6c2f emacs: Disable minor modes in 'guix-build-log-mode'.
* emacs/guix-build-log.el (guix-build-log-mode-hook): Remove
  'compilation-shell-minor-mode' as it is slow on big buffers, and
  'view-mode' as it rebinds too many keys.
  (guix-build-log-mode-map): Add "c" and "v" key bindings for the
  removed minor modes.
2015-10-31 23:22:41 +03:00
Alex Kost 20ce2fee33 emacs: Add key bindings for 'guix-build-log-minor-mode'.
* emacs/guix-build-log.el (guix-build-log-mode-map): Move keys to ...
  (guix-build-log-common-map): ...here.  New variable.
  (guix-build-log-minor-mode-map): New variable.
  (guix-build-log-minor-mode): Use it.
* doc/emacs.texi (Emacs Build Log): Document it.
2015-10-31 23:22:40 +03:00
Alex Kost fbd213a83f guix system: Fix typo in --help message.
* guix/scripts/system.scm (show-help): Align 'container' the same way as
  other actions.
2015-10-31 23:21:23 +03:00
Alex Kost b0e44d4f7d emacs: Add shell completions for 'guix refresh --type'.
* emacs/guix-pcomplete.el (guix-pcomplete-refresh-updaters): New function.
  (guix-pcomplete-complete-option-arg): Complete '-t/--type' option for
  'guix refresh' command.
2015-10-31 23:21:23 +03:00
Ludovic Courtès d9b9454c98 Merge branch 'dbus-update' 2015-10-31 15:11:58 +01:00
Ludovic Courtès 375c610844 services: 'tor-service' takes a 'config-file' parameter.
* gnu/services/networking.scm (tor-dmd-service): Take a 'config'
  parameter and honor it.
  (tor-service): Take a 'config-file' parameter.  Pass it in the
  service's value.
* doc/guix.texi (Networking Services): Adjust accordingly.
2015-10-31 15:11:48 +01:00
Ludovic Courtès 3c3e69728c gnu: guitarix: Compile in C++11 mode.
* gnu/packages/patches/guitarix-c++11.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/audio.scm (guitarix)[source]: Use it.
  [arguments]: Add --cxxflags to #:configure-flags.
2015-10-31 13:17:23 +01:00
Ludovic Courtès ef89cb4263 gnu: lablgtk: Build sequentially.
* gnu/packages/ocaml.scm (lablgtk)[arguments]: Add #:parallel-build? #f.
2015-10-31 12:26:43 +01:00
David Thompson c9c282cea0 scripts: environment: Allow lists of packages in expressions.
* guix/scripts/environment.scm (options/resolve-packages): Match against
  lists of packages when evaluating expressions.
* tests/guix-environment.sh: Add test.
* doc/guix.texi ("invoking guix environment"): Add docs.
2015-10-30 21:02:51 -04:00
Ludovic Courtès 4fca58a6c6 build: Move 'guild compile' flags to a variable.
* Makefile.am (GUILD_COMPILE_FLAGS): New variable.
  (.scm.go): Use it.
2015-10-30 23:10:01 +01:00
Ludovic Courtès 34760ae703 system: Add 'locale-libcs' field.
* gnu/system/locale.scm (localedef-command)[maybe-version-directory]:
  New procedure.
  Use it.
  (locale-directory): Rename to...
  (single-locale-directory): ... this.  Check the version of LIBC to
  determine whether to create a "X.Y" sub-directory or to make it a
  symlink to ".".  Add the version number in the derivation name.
  (locale-directory): New procedure.
  (%default-locale-libcs): New variable.
* gnu/system.scm (<operating-system>)[locale-libcs]: New field.
  (operating-system-locale-directory): Pass it to 'locale-directory'.
* doc/guix.texi (operating-system Reference): Document 'locale-libcs'.
  (Locales)[Locale Data Compatibility Considerations]: New section.
2015-10-30 23:05:52 +01:00
Ludovic Courtès 137d957ed3 gnu: glibc: Add version 2.21.
* gnu/packages/base.scm (glibc-2.21): New variable.
2015-10-30 21:43:20 +01:00
Andy Patterson c8dab7f475 gnu: ffmpeg: Enable gnutls support.
* gnu/package/video.scm (ffmpeg)[inputs]: Add gnutls.
  [arguments]: Enable it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-30 20:48:38 +01:00
David Thompson 1c8a81b1af scripts: system: Add 'container' action.
* guix/scripts/system.scm (show-help): Display 'container' action.
  (system-derivation-for-action, guix-system): Add 'container' case.
  (perform-action): Skip GRUB config generation when building a container.
* doc/guix.texi (Invoking guix system): Document it.
2015-10-30 13:22:59 -04:00
David Thompson 8e5999e0b0 system: container: Adjust to changes in gexps.
* gnu/system/linux-container.scm (system-container): 'etc' is no longer
  a monadic value, and the result of 'file-union' must be lowered.
2015-10-30 12:51:49 -04:00
Ricardo Wurmus bd0b4379b2 gnu: openblas: Make substitutable on MIPS.
* gnu/packages/maths.scm (openblas)[arguments]: Make package
  substitutable when the system is MIPS.
2015-10-30 17:47:54 +01:00
Ricardo Wurmus 8a637e79ed gnu: openblas: Set TARGET to SICORTEX on MIPS.
* gnu/packages/maths.scm (openblas)[arguments]: Add "TARGET=SICORTEX" to
  make-flags when building for MIPS.
2015-10-30 17:47:54 +01:00
宋文武 eed588d997 Merge branch 'master' into dbus-update 2015-10-30 20:50:26 +08:00
宋文武 9fa8f43669 gnu: mesa-utils: Fix build.
* gnu/packages/gl.scm (mesa-utils)[arguments]: Pass "--disable-egl"
  as #:configure-flags.
2015-10-30 20:46:28 +08:00
David Thompson b90e7e5d49 gnu: xfce4-session: Fix xflock4.
* gnu/packages/patches/xfce4-session-fix-xflock4.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xfce.scm (xfce4-session)[source]: Add patch.
2015-10-30 08:42:43 -04:00
Ricardo Wurmus 7ea3099b05 gnu: Add pcre2.
* gnu/packages/pcre.scm (pcre2): New variable.
2015-10-30 13:40:59 +01:00
宋文武 7f48be419d gnu: telepathy-glib: Fix tests.
* gnu/packages/glib.scm (telepathy-glib)[source]: Add a patch to
  unique test names.
2015-10-30 20:34:02 +08:00
Efraim Flashner cd4cb1b597 gnu: freeipmi: Update to 1.4.11.
* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.11.
2015-10-30 13:12:44 +02:00
Andreas Enge 6072523231 gnu: Remove ardour-3.
* gnu/packages/audio.scm (ardour-3): Remove variable.
  (ardour): Copy fields from the removed ardour-3 instead of inheriting
  from it.
2015-10-29 23:34:09 +01:00
Eric Bavier 0bdab08962 gnu: fish: Add python input.
* gnu/packages/fish.scm (inputs): Add python.
2015-10-29 17:26:30 -05:00
Ludovic Courtès 2e437e29b6 doc: Fix outdated description of the bare-bones example.
Reported by fps on #guix.

* doc/guix.texi (Using the Configuration System): Replace mention of
  Emacs with tcpdump.
2015-10-29 23:12:44 +01:00
Ludovic Courtès a241a7ac65 services: Add 'linux-bare-metal-service-type'.
* gnu/services.scm (modprobe-wrapper): Remove.
  (activation-script): Do not use it.  Remove calls to
  'activate-modprobe' and 'activate-ptrace-attach' in gexp.
  (%modprobe-wrapper, %linux-kernel-activation,
  linux-bare-metal-service-type, %linux-bare-metal-service): New
  variables.
* gnu/system.scm (essential-services): Add %LINUX-BARE-METAL-SERVICE to
  the list, unless CONTAINER? is true.
2015-10-29 23:03:08 +01:00
Andy Patterson 12f92e38d7 gnu: ffmpeg: Move flags into their own argument.
* gnu/packages/video.scm (ffmpeg)[arguments]: Move the configurable
  configure flag literals into the configure-flags argument. Call
  configure with these flags from the configure phase.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-29 23:03:08 +01:00
David Thompson cc90fbbf39 scripts: environment: Allow mixing regular and ad-hoc packages.
This patch changes the --ad-hoc flag to be positional.  That is, the
packages that appear before --ad-hoc are interpreted as packages whose
inputs should be in the environment; the packages that appear after are
interpreted as packages to be directly added to the environment.

* guix/scripts/environment.scm (tag-package-arg, compact): New
  procedures.
  (%options): Tweak the handlers for --load and --expression options.
  (options/resolve-packages): Preserve package mode tag.
  (parse-args): Tweak argument handler to use package tagging procedure.
  (guix-environment): Apply ad-hoc behavior on a per package basis.
* tests/guix-environment.sh: Add test.
* doc/guix.texi ("invoking guix environment"): Document new behavior of
  --ad-hoc.
2015-10-29 16:24:12 -04:00
Ludovic Courtès 6726282b20 services: Add screen-locker service.
* gnu/system/linux.scm (base-pam-services): Remove "xlock" and
  "xscreensaver".
* gnu/services/xorg.scm (<screen-locker>): New record type.
  (screen-locker-pam-services, screen-locker-setuid-programs,
  screen-locker-service): New procedures.
  (screen-locker-service-type): New variable.
* gnu/services/desktop.scm (%desktop-services): Use them.
* doc/guix.texi (X Window): Document 'screen-locker-service'.
  (Desktop Services): Mention it.
2015-10-29 19:07:58 +01:00
Ludovic Courtès e502bf8953 system: File systems depend on their corresponding device mappings.
Fixes a regression introduced in commit 0adfe95.

* gnu/system.scm (other-file-system-services)[requirements]: Remove.
  [add-dependencies]: New procedure.
  Use it.
* gnu/system/file-systems.scm (<file-system>)[dependencies]: Update
  comment.
* gnu/services/base.scm (mapped-device->dmd-service-name,
  dependency->dmd-service-name): New procedures.
  (file-system-service-type): Use it.
2015-10-29 19:07:58 +01:00
Ludovic Courtès 362f496da9 gnu: Add libchop.
* gnu/packages/backup.scm (libchop): New variable.
2015-10-29 19:07:58 +01:00
Ludovic Courtès b416aadf74 gnu: Move gdbm to (gnu packages databases).
* gnu/packages/gdbm.scm: Remove.
* gnu/packages/databases.scm (gdbm): New variable, from gdbm.scm.
* gnu/packages/avahi.scm, gnu/packages/cyrus-sasl.scm,
  gnu/packages/guile.scm, gnu/packages/mail.scm,
  gnu/packages/man.scm, gnu/packages/pulseaudio.scm,
  gnu/packages/python.scm, gnu/packages/ruby.scm,
  gnu/packages/sawfish.scm: Adjust accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove gdbm.scm.
2015-10-29 19:07:58 +01:00
Ludovic Courtès 136787cb4e doc: Mention Nix in the intro.
* doc/guix.texi (Introduction): Mention Nix with a xref to
  "Acknowledgments".
  (Acknowledgments): Add link to nixos.org.
2015-10-29 19:07:58 +01:00
Ludovic Courtès 122c3a1d67 system: grub: Let GRUB choose the best graphics mode.
On PCs, it means that it will typically choose resolutions higher
than 640x480, which is nicer.

* gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Leave 'gfxmode'
  unset.
2015-10-29 19:07:57 +01:00
Ricardo Wurmus 69851c59c7 gnu: openblas: Update to 0.2.15.
* gnu/packages/maths.scm (openblas): Update to 0.2.15.
2015-10-29 15:44:31 +01:00
宋文武 53e85d0aa5 gnu: leptonica: Disable parallel tests.
* gnu/packages/image.scm (leptonica)[arguments]: Add #:parallel-tests?.
2015-10-29 22:01:11 +08:00
Ricardo Wurmus 8a3a9e84cb gnu: icedtea7: Update to 2.6.2.
* gnu/packages/java.scm (icedtea7): Update to 2.6.2.
2015-10-29 14:53:19 +01:00
Paul van der Walt dd169b73e0 gnu: ghc-glut: Propagate freeglut input.
* gnu/packages/haskell.scm (ghc-glut): Move freeglut to
  propagated-inputs.
2015-10-29 11:08:56 +01:00
Efraim Flashner a0d3eff99c gnu: bluez: Update to 5.35.
* gnu/packages/linux.scm (bluez): Update to 5.35.
2015-10-28 23:55:27 +02:00
Alex Kost b7f16845c8 gnu: magit-svn: Update to 2.1.1.
* gnu/packages/emacs.scm (magit-svn): Update to 2.1.1.
2015-10-29 00:11:12 +03:00
Alex Kost 1fda9b1f46 gnu: magit: Update to 2.3.0.
* gnu/packages/emacs.scm (magit): Update to 2.3.0.
2015-10-29 00:11:12 +03:00
Ludovic Courtès cd6f6c22fb services: Add 'modify-services'.
* gnu/services.scm (%modify-service, modify-services): New macros.
* gnu/services/base.scm (mingetty-service-type, guix-service-type):
  Export.
* emacs/guix-devel.el (guix-devel-keywords): Add 'modify-services'.
  Ditto in 'guix-devel-scheme-indent' call.
* doc/guix.texi (Using the Configuration System): Give an example of
  'modify-services'.
  (Service Reference): Document it.
2015-10-28 21:58:25 +01:00
Ludovic Courtès b0b9f6e0a6 services: 'guix-configuration' has a 'substitute-urls' field.
* gnu/services/base.scm (<guix-configuration>)[substitute-urls]: New
  field.
  (guix-dmd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
2015-10-28 21:58:25 +01:00
Alex Kost 7191adc5cf refresh: Support comma-separated updater types.
* guix/scripts/refresh.scm (%options): Handle comma-separated types for
  '--type' option.
  (guix-refresh): Adjust accordingly.
  (show-help): Likewise.
* doc/guix.texi (Invoking guix refresh): Document it.
2015-10-28 21:51:59 +03:00
Ricardo Wurmus 9a067efdb2 gnu: pbtranscript-tofu: Update to 2.2.3.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu): Update to 2.2.3.
  [source]: Remove bundled Cython sources in a snippet.  Replace
  ".tar.gz" extension in file-name field with "-checkout".
  [arguments]: Replace "enter-directory-and-clean-up" phase with
  "enter-directory" phase, and add "patch-setuppy" phase.
  [inputs]: Add python2-h5py.  Move python2-cython ...
  [native-inputs]: ... to this field.
2015-10-28 16:26:58 +01:00
Andreas Enge fb8d1be8e1 gnu: pari-gp: Add X11 input.
* gnu/packages/algebra.scm (pari-gp)[inputs]: Add libx11, which enables
  plotting functions.
2015-10-28 15:57:20 +01:00
Ludovic Courtès 855038b294 tests: Print the mounts visible in the container.
* tests/guix-environment-container.sh: Print the content of
  $tmpdir/mounts.
2015-10-28 15:55:10 +01:00
Ludovic Courtès fd688c82bf ui: Add 'make-regexp*'.
Fixes <http://bugs.gnu.org/21773>.
Reported by Jan Synáček <jan.synacek@gmail.com>.

* guix/ui.scm (make-regexp*): New procedure.
* guix/scripts/package.scm (options->installable, guix-package): Use it
  when processing user-provided regexps.
2015-10-28 15:53:17 +01:00
Ludovic Courtès 35b50a7535 container: Remove unnecessary CLONE_CHILD_* flags.
* gnu/build/linux-container.scm (namespaces->bit-mask): Remove
  CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID, which are unneeded.
  Discussed at <http://bugs.gnu.org/21694>.
2015-10-28 15:31:44 +01:00
Ludovic Courtès fb4bf72be3 store: Use the daemon's substitute URLs by default.
Partly fixes <http://bugs.gnu.org/20217>.

* guix/store.scm (set-build-options): Change #:substitute-urls to
  default to #f.  Send the 'substitute-urls' pair only if
  SUBSTITUTE-URLS is true.
* guix/scripts/build.scm (set-build-options-from-command-line): Do not
  default to %DEFAULT-SUBSTITUTE-URLS for #:substitute-urls.
* guix/scripts/size.scm (%default-options): Remove 'substitute-urls'.
2015-10-28 15:31:44 +01:00
宋文武 c7c5c5ae8b gnu: leptonica: Disable failing tests.
* gnu/packages/image.scm (leptonica)[arguments]: Add 'disable-failing-tests' phase.
2015-10-28 20:48:45 +08:00
David Thompson 34a1783fc1 scripts: build: Add --file option.
* guix/scripts/build.scm (show-help): Add help text for --file option.
  (%options): Add --file option.
  (options/resolve-packages): Handle 'file' options.
* tests/guix-build.sh: Add tests.
* doc/guix.texi ("invoking guix build"): Add doc.
2015-10-28 08:40:16 -04:00
Ludovic Courtès 5c7bdc9a7f gnu: python-debian: Avoid @itemize in description.
* gnu/packages/python.scm (python-debian): Use @enumerate instead of
  @itemize.
2015-10-28 12:04:03 +01:00
Ludovic Courtès 55b2fc1877 substitute: Honor all the specified server URLs.
* guix/scripts/substitute.scm (lookup-narinfos/diverse): New procedure.
  (lookup-narinfo): Use it.
  (process-query): Change #:cache-url to #:cache-urls.
  [valid?]: Remove 'narinfo?' check, which is no longer necessary.
  Use 'lookup-narinfos/diverse' instead of 'lookup-narinfos'.
  (process-substitution): Change #:cache-url to #:cache-urls.
  (%cache-url): Rename to...
  (%cache-urls): ... this.  Turn into a list.
  (guix-substitute): Remove 'getaddrinfo' test with early exit.  Adjust
  calls to 'process-query' and 'process-substitution'.
* tests/substitute.scm: Change '%cache-url' to '%cache-urls'.
2015-10-28 12:04:03 +01:00
Ludovic Courtès a89dde1ed8 substitute: 'lookup-narinfos' returns exactly a list of narinfos.
* guix/scripts/substitute.scm (lookup-narinfos): Filter out #f values
  from CACHED, such that the end result is exactly a list of narinfos,
  not interspersed with #f.
* guix/scripts/challenge.scm (discrepancies): Assume REMOTE is a list of
  narinfos.
2015-10-28 12:04:03 +01:00
Ludovic Courtès f151298fa0 substitute: 'http-multiple-get' follows 'fold' style.
* guix/scripts/substitute.scm (http-multiple-get): Add 'seed'
  parameter.  Call PROC in 'fold' style.
  (fetch-narinfos)[handle-narinfo-response]: Adjust accordingly.
  Update 'http-multiple-get' call accordingly.
2015-10-28 12:04:03 +01:00
Mark H Weaver 58301666dd gnu: grub: Install documentation.
* gnu/packages/grub.scm (grub)[native-inputs]: Add help2man and texinfo.
2015-10-28 12:04:03 +01:00
Mark H Weaver 04e0eac1ed gnu: grub: Use modify-phases and other minor cleanups.
* gnu/packages/grub.scm (grub)[arguments]: Use modify-phases.  Return #t from
  'patch-stuff' phase.  Add 'patch-stuff' phase after 'unpack' instead of
  before 'patch-source-shebangs'.
  [inputs]: Add comment noting that 'fuse' would be a desirable input.
2015-10-28 12:04:03 +01:00
Mark H Weaver 0431ed00e4 doc: Add texinfo to the requirements when building from git.
* doc/contributing.texi (Building from Git): Add GNU Texinfo to the list of
  additional requirements.
2015-10-28 12:04:02 +01:00
Mark H Weaver 44a88ce49e gnu: linux-libre: On MIPS, the linux image name is vmlinuz, not bzImage.
* gnu/packages/linux.scm (linux-libre)[install-phase]: Add vmlinuz to the list
  of file names to be copied.
2015-10-28 12:04:02 +01:00
Mark H Weaver 726029b2ba gnu: linux-libre: Add case for ARCH=mips.
* gnu/packages/linux.scm (linux-libre)[build-phase]: When setting ARCH, add a
  case for MIPS.
2015-10-28 12:04:02 +01:00
Mark H Weaver 6c8d70b0b6 gnu: linux-libre: Add 'supported-systems' field: Intel only for now.
* gnu/packages/linux.scm (linux-libre)[supported-systems]: New field.
2015-10-28 12:04:02 +01:00
Mark H Weaver b1b9e5c8d2 gnu: linux-libre: Update to 4.2.5.
* gnu/packages/linux.scm (linux-libre): Update to 4.2.5.
2015-10-27 20:20:05 -04:00
Mark H Weaver 9f4a249611 linux-initrd: Use pata_acpi, pata_atiixp, and isci modules only on Intel.
* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Include
  "pata_acpi", "pata_atiixp", and "isci" on Intel systems only.
2015-10-27 21:44:46 +01:00
Mark H Weaver 6b173ac004 system: grub: Adjust eye-candy to work on non-Intel systems.
* gnu/system/grub.scm (eye-candy): Accept additional 'system' argument.  Add
  local 'setup-gfxterm-body' variable.  Replace the 'load_video' grub function
  with 'setup_gfxterm', which includes everything in the 'if loadfont' form on
  Intel systems, but is empty on non-Intel.
  (grub-configuration-file): Pass 'system' to 'eye-candy.
2015-10-27 21:44:46 +01:00
Mark H Weaver c448bf7443 system: grub: On MIPS, the linux image name is vmlinuz, not bzImage.
* gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name'
  internal procedure.  Use it from 'entry->gexp'.
2015-10-27 21:44:46 +01:00
Ludovic Courtès 08dcff4744 gnu: Add Diffoscope.
* gnu/packages/package-management.scm (diffoscope): New variable.
2015-10-27 21:44:46 +01:00
Ludovic Courtès 816a653884 gnu: Add python-chardet.
* gnu/packages/python.scm (python-chardet, python2-chardet): New
  variables.
2015-10-27 21:44:46 +01:00
Ludovic Courtès 85d4aeacc4 gnu: Add python-debian.
* gnu/packages/python.scm (python-debian, python2-debian): New
  variables.
2015-10-27 21:44:46 +01:00
Andreas Enge a10d3a687d gnu: qt: Update to 5.5.1.
* gnu/packages/qt.scm (qt): Update to 5.5.1.
2015-10-27 21:42:55 +01:00
Alex Kost 6ffa706b6d refresh: Add '--list-updaters' option.
* guix/scripts/refresh.scm (list-updaters-and-exit): New procedure.
  (%options, show-help): Add '--list-updaters' option.
* doc/guix.texi (Invoking guix refresh): Document it.
2015-10-27 21:54:57 +03:00
Alex Kost 7e6b490d04 upstream: Add 'description' field to 'upstream-updater'.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* guix/upstream.scm (<upstream-updater>): Use 'define-record-type*'.
  [description]: New field.
  (lookup-updater): Adjust accordingly.
* guix/gnu-maintenance.scm (%gnu-updater): Likewise.
* guix/import/cran.scm (%cran-updater): Likewise.
* guix/import/elpa.scm (%elpa-updater): Likewise.
* po/guix/POTFILES.in: Add guix/scripts/import/cran.scm and
  guix/gnu-maintenance.scm.
2015-10-27 21:54:57 +03:00
Alex Kost cfd56de3d8 emacs: Use 'switch-to-generation*'.
This is a followup to commit 06d45f4566.

* emacs/guix-base.el (guix-switch-to-generation): Replace
  'switch-to-generation' with 'switch-to-generation*'.
2015-10-27 21:54:57 +03:00
Alex Kost e1d3318634 emacs: Add "Packages" option for 'guix challenge' popup.
* emacs/guix-command.el (guix-command-rest-argument): Add "challenge".
2015-10-27 21:54:57 +03:00
Alex Kost 402d73bc75 emacs: Add shell completions for 'guix challenge'.
* emacs/guix-pcomplete.el (guix-pcomplete-complete-command-arg): Add
  "challenge" to complete package names for it.
2015-10-27 21:54:57 +03:00
Ricardo Wurmus c364a287ad gnu: gcj: Run libjava tests.
* gnu/packages/gcc.scm (gcj)[native-inputs]: Add dejagnu.
  [arguments]: Enable tests and set test target to
  "check-target-libjava".
2015-10-27 16:03:30 +01:00
Christopher Allan Webber 9a9e143b75 gnu: guile-next: Update to 20151025.e5bccb6
* gnu/packages/guile.scm (guile-next): Update to 20151025.e5bccb6.
2015-10-27 09:36:23 -05:00
宋文武 bce5ae1d26 gnu: leptonica: Update to 1.72.
* gnu/packages/image.scm (leptonica): Update to 1.72.
2015-10-27 21:47:37 +08:00
宋文武 d8c317df26 gnu: ganv, pavucontrol, jalv: Fix build by compile with C++11.
* gnu/packages/audio.scm (jalv)[arguments],
  gnu/packages/gtk.scm (ganv)[arguments],
  gnu/packages/music.scm (non-sequencer)[arguments],
  gnu/packages/pulseaudio.scm (pavucontrol)[arguments]: Set
  'CXXFLAGS' to '-std=c++11'.
2015-10-27 20:32:28 +08:00
Ricardo Wurmus 104c1986ac gnu: subread: Use SSE optimizations on x86_64 only.
* gnu/packages/bioinformatics.scm (subread)[arguments]: Override CC and
  CCFLAGS conditionally dependent on target system.
2015-10-27 12:06:55 +01:00
Ricardo Wurmus 61d5fd03bf gnu: crossmap: Update to 0.2.1.
* gnu/packages/bioinformatics.scm (crossmap): Update to 0.2.1.
2015-10-27 11:14:13 +01:00
Ludovic Courtès c21317d425 gnu: mu: Adjust to new GLib version.
* gnu/packages/mail.scm (%mu-gtester-patch): New variable.
  (mu)[source]: Use it.
2015-10-27 10:19:46 +01:00
Ludovic Courtès ff5c33fe71 gnu: gtkmm: Add dependency on glib:bin.
* gnu/packages/gtk.scm (gtkmm)[native-inputs]: Add glib:bin.
  (gtkmm-2)[native-inputs]: New field.
2015-10-27 10:08:02 +01:00
Ludovic Courtès b9cbe31645 gnu: libwacom: Add dependency on libgudev.
* gnu/packages/xdisorg.scm (libwacom)[inputs]: Add LIBGUDEV.
2015-10-27 10:05:36 +01:00
Aljosha Papsch 7e9b07bdcb gnu: Add yapet.
* gnu/packages/password-utils.scm (yapet): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-27 00:01:20 +01:00
Cyrill Schenkel 7dae1f4301 gnu: Add xcompmgr.
* gnu/packages/xorg.scm (xcompmgr): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-27 00:01:20 +01:00
Ludovic Courtès 06d45f4566 profiles: Add generation manipulation procedures.
* guix/scripts/package.scm (delete-generations): Use
  'delete-generation*' instead of 'delete-generation'.
  (guix-package)[process-actions]: Use 'roll-back*' instead of
  'roll-back' and 'switch-to-generation*' instead of
  'switch-to-generation'.
  (link-to-empty-profile, switch-to-generation,
  switch-to-previous-generation, roll-back, delete-generation): Move
  to...
* guix/profiles.scm: ... here.  Adjust to not print messages and to
  return values that can be used by user interfaces.
* guix/ui.scm (display-generation-change, roll-back*,
  switch-to-generation*, delete-generation*): New procedures.
2015-10-27 00:01:20 +01:00
Ludovic Courtès 3bb168b099 utils: Add 'switch-symlinks', moved from (guix ui).
* guix/ui.scm (switch-symlinks): Move to...
* guix/utils.scm: ... here.  New procedure.
* guix/scripts/pull.scm: Use it.
2015-10-27 00:01:20 +01:00
Ludovic Courtès 65797bfffd guix system: Add the 'list-generations' command.
* guix/scripts/system.scm (display-system-generation, list-generations):
  New procedures.
  (process-action): Clarify docstring.
  (process-command): New procedure.
  (guix-system)[parse-sub-command]: Add 'list-generations'
  Call 'process-command' instead of 'process-action'.
* doc/guix.texi (Using the Configuration System): Mention generations,
  rollback, and 'list-generations'.
  (Invoking guix system): Document 'list-generations'.
2015-10-27 00:01:20 +01:00
Ludovic Courtès 5b516ef369 guix system: Factorize boot parameter parsing.
* guix/scripts/system.scm (<boot-parameters>): New record type.
  (read-boot-parameters): New procedure.
  (previous-grub-entries)[system->grub-entry]: Use it.
2015-10-27 00:01:20 +01:00
Ludovic Courtès ad18c7e64c ui: Add procedures to display a profile generation.
* guix/scripts/package.scm (guix-package)[process-query](list-generations):
  Move part of the body to 'delete-generation' and
  'display-profile-content'.
* guix/ui.scm (display-generation, display-profile-content): New
  procedures.
2015-10-27 00:01:20 +01:00
Ludovic Courtès d50cb56d9b utils: Add 'readlink*'.
* guix/scripts/package.scm (readlink*): Move to...
* guix/utils.scm (readlink*): ... here.  New procedure.
2015-10-27 00:01:20 +01:00
Ludovic Courtès deaab8e314 guix system: Extract action processing.
* guix/scripts/system.scm (process-action): New procedure.  Extracted
  from...
  (guix-system): ... here.  Use it.
2015-10-27 00:01:20 +01:00
Ludovic Courtès e49de93aa5 ui: Add 'matching-generations'.
* guix/scripts/package.scm (matching-generations): Move to...
* guix/ui.scm (matching-generations): ... here.
2015-10-27 00:01:20 +01:00
Ludovic Courtès 9685661324 doc: Add a REPL example.
* doc/contributing.texi (Running Guix Before It Is Installed): Add REPL
  example.
* doc/emacs.texi (Emacs General info): Add @cindex.
2015-10-27 00:01:20 +01:00
Ludovic Courtès 5e1c936712 gnu: Add python-file.
* gnu/packages/python.scm (python-file, python2-file): New variables.
2015-10-27 00:01:20 +01:00
Ludovic Courtès e3e1ecf67c gnu: Add RPM.
* gnu/packages/package-management.scm (rpm): New variable.
* gnu/packages/backup.scm (libarchive): Add comment.
2015-10-27 00:01:19 +01:00
Paul van der Walt 64a719203f gnu: racket: Update to 6.2.1.
* gnu/packages/scheme.scm (racket): Update to 6.2.1.
2015-10-26 13:28:20 +01:00
Paul van der Walt fd59d2ee65 gnu: haskell: Remove CONFIG_SHELL patches.
A previous commit to the haskell-build-system made sure that if
necessary, the CONFIG_SHELL environment variable is set.  That obviates
the individual patches applied to some packages.  Remove them.

* gnu/packages/haskell.scm (ghc-network, ghc-old-time, ghc-sdl-image,
  ghc-sdl-mixer, ghc-sdl, ghc-unix-time, ghc-x11)[arguments]: Remove
  ‘fix-/bin/sh’ phase.
2015-10-26 10:15:32 +01:00
Paul van der Walt 554093b7e1 gnu: ghc-async: Fix description formatting.
* gnu/packages/haskell.scm (ghc-async): Formatting.
2015-10-26 10:15:14 +01:00
Paul van der Walt f862f38ade build-system/haskell: CONFIG_SHELL env variable.
For Cabal packages with "build-type: Configure", a configure shell
script is run to set up build parameters.  These scripts need the
CONFIG_SHELL environment variable to be set to function properly.

* guix/build/haskell-build-system.scm (configure): Set CONFIG_SHELL if
  necessary.
2015-10-26 10:15:14 +01:00
David Thompson f535dcbe19 scripts: environment: Add --container option.
* guix/scripts/system.scm (specification->file-system-mapping): Move from
  here...
* guix/ui.scm (specification->file-system-mapping): ... to here.
* guix/scripts/enviroment.scm (show-help): Show help for new options.
  (%options): Add --container --network, --expose, and --share options.
  (%network-configuration-files): New variable.
  (launch-environment, launch-environment/container, requisites*,
  inputs->requisites): New procedures.
  (guix-environment): Spawn new process in a container when requested.
* doc/guix.texi (Invoking guix environment): Document it.
* tests/guix-environment-container.sh: New file.
* Makefile.am (SH_TESTS): Add it.
2015-10-25 20:27:19 -04:00
Efraim Flashner 581176c00b gnu: youtube-dl: Upgrade to 2015.10.24.
* gnu/packages/video.scm (youtube-dl): Upgrade to 2015.10.24.
2015-10-25 19:07:29 +02:00
宋文武 92e4fbe215 gnu: ardour: Build with '--cxx11'.
* gnu/packages/audio.scm (ardour, ardour-3)[arguments]: Add '--cxx11'
  as #:configure-flags.
2015-10-25 17:40:14 +08:00
Mark H Weaver 51de92a08e gnu: unzip: Reorganize security fixes for improved clarity.
* gnu/packages/patches/unzip-fix-overflows-and-infloop.patch: Delete
  file.  Its contents are now split into the following new files:
* gnu/packages/patches/unzip-CVE-2015-7696.patch,
  gnu/packages/patches/unzip-CVE-2015-7697.patch,
  gnu/packages/patches/unzip-overflow-on-invalid-input.patch: New files.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/zip.scm (unzip)[source]: Adjust patches accordingly.
2015-10-23 23:12:06 -04:00
Mark H Weaver d3365d4866 Merge branch 'master' into dbus-update 2015-10-23 23:11:38 -04:00
宋文武 6e4512c470 gnu: libgnomecanvasmm: Fix build by passing '-std=c++11'.
* gnu/packages/gnome.scm (libgnomecanvasmm)[arguments]: Pass
  '-std=c++11' as CXXFLAGS.
2015-10-24 09:57:11 +08:00
宋文武 a2651b5477 gnu: gtk+: Remove rest from inputs.
This broke building on mips64el.

* gnu/packages/gtk.scm (gtk+)[inputs]: Remove rest.
2015-10-24 09:22:15 +08:00
Mark H Weaver ca9745e484 gnu: linux-libre: Update to 4.2.4.
* gnu/packages/linux.scm (linux-libre): Update to 4.2.4.
2015-10-23 15:34:07 -04:00
宋文武 6747de140d gnu: bluez: Update to 5.35, fix test.
* gnu/packages/patches/bluez-tests.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (bluez): Update to 5.35.
  [source]: Add patch.
2015-10-23 22:23:34 +08:00
Paul van der Walt 8e01e30077 import: hackage: Fix grammar.
Minor clarification regarding the test-dependencies command line option.

* guix/scripts/import/hackage.scm (show-help): Minor grammatical fix.
2015-10-23 09:10:52 +02:00
Paul van der Walt 759756a992 import: hackage: Update GHC libraries for 7.10.2.
Update ghc-standard-libraries to match the output of `ghc-pkg list` when
using GHC 7.10.2.

* guix/import/hackage.scm (ghc-standard-libraries): Sort and update list
  of core GHC libraries.
2015-10-23 09:10:52 +02:00
Paul van der Walt aa6f39127e gnu: Add Raincat.
* gnu/packages/games.scm (raincat): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt c783cac070 gnu: Add ghc-sdl-image.
* gnu/packages/haskell.scm (ghc-sdl-image): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 224a0ddbd9 gnu: Add ghc-sdl-mixer.
* gnu/packages/haskell.scm (ghc-sdl-mixer): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt b784e8c502 gnu: Add ghc-sdl.
* gnu/packages/haskell.scm (ghc-sdl): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt bce030840d gnu: Add ghc-glut.
* gnu/packages/haskell.scm (ghc-glut): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt fe28ba703f gnu: Add ghc-opengl.
* gnu/packages/haskell.scm (ghc-opengl): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 74fa80ee68 gnu: Add ghc-objectname.
* gnu/packages/haskell.scm (ghc-objectname): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 894562e314 gnu: Add ghc-gluraw.
* gnu/packages/haskell.scm (ghc-gluraw): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt c480b85e66 gnu: Add ghc-openglraw.
* gnu/packages/haskell.scm (ghc-openglraw): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 22db3ce71a gnu: Add ghc-half.
* gnu/packages/haskell.scm (ghc-half): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 25d51164f7 gnu: Add ghc-regex-compat.
* gnu/packages/haskell.scm (ghc-regex-compat): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e422279bbc gnu: Add ghc-regex-posix.
* gnu/packages/haskell.scm (ghc-regex-posix): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 25eb1c2227 gnu: Add ghc-xhtml.
* gnu/packages/haskell.scm (ghc-xhtml): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e0d17b8482 gnu: Add ghc-haskell-src.
* gnu/packages/haskell.scm (ghc-haskell-src): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 0bc641baf8 gnu: Add ghc-html.
* gnu/packages/haskell.scm (ghc-html): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 1f477b59c1 gnu: Add ghc-cgi.
* gnu/packages/haskell.scm (ghc-cgi): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 5e217e4df7 gnu: Add ghc-multipart.
* gnu/packages/haskell.scm (ghc-multipart): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e40b25432e gnu: Add ghc-alex.
* gnu/packages/haskell.scm (ghc-alex): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e0492a8dd4 gnu: Add ghc-haddock.
* gnu/packages/haskell.scm (ghc-haddock): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 735bd9c952 gnu: Add ghc-haddock-api.
* gnu/packages/haskell.scm (ghc-haddock-api): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 56b3bc5694 gnu: Add ghc-haddock-library.
* gnu/packages/haskell.scm (ghc-haddock-library): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 600621a182 gnu: Add Idris.
* gnu/packages/haskell.scm (idris): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 93248cfdd0 gnu: Add ghc-trifecta.
* gnu/packages/haskell.scm (ghc-trifecta): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt d7e67cf1a1 gnu: Add ghc-cheapskate.
* gnu/packages/haskell.scm (ghc-cheapskate): Add variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e1a35c39b1 gnu: Add ghc-lens.
* gnu/packages/haskell.scm (ghc-lens): Add variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 5125f63fea gnu: Add ghc-kan-extensions.
* gnu/packages/haskell.scm (ghc-kan-extensions): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 576cdc5ab4 gnu: Add ghc-vector-binary-instances.
* gnu/packages/haskell.scm (ghc-vector-binary-instances): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 7588e55c73 gnu: Add ghc-wai-extra.
* gnu/packages/haskell.scm (ghc-wai-extra): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt fc3aa91b55 gnu: Add ghc-wai-logger.
* gnu/packages/haskell.scm (ghc-wai-logger): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 3784289667 gnu: Add ghc-wai.
* gnu/packages/haskell.scm (ghc-wai): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 5722409b18 gnu: Add ghc-cookie.
* gnu/packages/haskell.scm (ghc-cookie): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e372520ec3 gnu: Add ghc-parsers.
* gnu/packages/haskell.scm (ghc-parsers): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt d6a08d24bf gnu: Add ghc-xss-sanitize.
* gnu/packages/haskell.scm (ghc-xss-sanitize): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt f550db48eb gnu: Add ghc-streaming-commons.
* gnu/packages/haskell.scm (ghc-streaming-commons): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 85b2a2f541 gnu: Add ghc-resourcet.
* gnu/packages/haskell.scm (ghc-resourcet): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6397aef061 gnu: Add hlint.
* gnu/packages/haskell.scm (hlint): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6ff19687b1 gnu: Add ghc-haskell-src-exts.
* gnu/packages/haskell.scm (ghc-haskell-src-exts): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 81da1a45e8 gnu: Add ghc-happy.
* gnu/packages/haskell.scm (ghc-happy): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 0ba563643e gnu: Add ghc-cmdargs.
* gnu/packages/haskell.scm (ghc-cmdargs): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 78249cc075 gnu: Add cpphs.
* gnu/packages/haskell.scm (cpphs): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6729152dc5 gnu: Add ghc-simple-reflect.
* gnu/packages/haskell.scm (ghc-simple-reflect): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 52db0e1372 gnu: Add ghc-adjunctions.
* gnu/packages/haskell.scm (ghc-adjunctions): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt dc2e8ab7ea gnu: Add ghc-free.
* gnu/packages/haskell.scm (ghc-free): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 1e473fb8dc gnu: Add ghc-prelude-extras.
* gnu/packages/haskell.scm (ghc-prelude-extras): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 865ac57307 gnu: Add ghc-reflection.
* gnu/packages/haskell.scm (ghc-reflection): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt d2639cbc17 gnu: Add ghc-reducers.
* gnu/packages/haskell.scm (ghc-reducers): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt aee9822326 gnu: Add ghc-semigroupoids.
* gnu/packages/haskell.scm (ghc-semigroupoids): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt f221841c69 gnu: Add ghc-profunctors.
* gnu/packages/haskell.scm (ghc-profunctors): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt fad564ec03 gnu: Add ghc-extra.
* gnu/packages/haskell.scm (ghc-extra): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 47038762ba gnu: Add ghc-polyparse.
* gnu/packages/haskell.scm (ghc-polyparse): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt ce78a0f50c gnu: Add HScolour.
* gnu/packages/haskell.scm (hscolour): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 40b56b5291 gnu: Add ghc-comonad.
* gnu/packages/haskell.scm (ghc-comonad): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt fa4f5024bc gnu: Add ghc-distributive.
* gnu/packages/haskell.scm (ghc-distributive): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 10e614523f gnu: Add ghc-cereal.
* gnu/packages/haskell.scm (ghc-cereal): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt ca41c155c5 gnu: Add ghc-zip-archive.
* gnu/packages/haskell.scm (ghc-zip-archive): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 7b72df8b7a gnu: Add ghc-css-text.
* gnu/packages/haskell.scm (ghc-css-text): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 39505126b1 gnu: Add ghc-aeson.
* gnu/packages/haskell.scm (ghc-aeson): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt bc74e0e171 gnu: Add ghc-attoparsec.
* gnu/packages/haskell.scm (ghc-attoparsec): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt a43a38a129 gnu: Add ghc-scientific.
* gnu/packages/haskell.scm (ghc-scientific): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 4a2fbdfe62 gnu: Add ghc-tasty-ant-xml.
* gnu/packages/haskell.scm (ghc-tasty-ant-xml): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 275ff10bb3 gnu: Add ghc-tasty-smallcheck.
* gnu/packages/haskell.scm (ghc-tasty-smallcheck): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt b53fa04681 gnu: Add ghc-smallcheck.
* gnu/packages/haskell.scm (ghc-smallcheck): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 9855500af6 gnu: Add ghc-tasty-golden.
* gnu/packages/haskell.scm (ghc-tasty-golden): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt fa67563caf gnu: Add ghc-temporary-rc.
* gnu/packages/haskell.scm (ghc-temporary-rc): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt f4e5c04ed1 gnu: Add ghc-clock.
Add ghc-clock, which depends indirectly on ghc-clock-bootstrap for its
test suite.

* gnu/packages/haskell.scm (ghc-clock): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 32ce3df758 gnu: Add ghc-tasty-quickcheck.
* gnu/packages/haskell.scm (ghc-tasty-quickcheck): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 766504d199 gnu: Add ghc-tasty-hunit.
* gnu/packages/haskell.scm (ghc-tasty-hunit): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 7cfdbc514f gnu: Add ghc-tasty.
* gnu/packages/haskell.scm (ghc-tasty): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 3f2ce1dc3f gnu: Add ghc-clock-bootstrap.
The ghc-clock-bootstrap package has tests disabled, since they
themselves indirectly require ghc-clock.  After adding ghc-tasty and
ghc-tasty-quickcheck, ghc-clock is defined as a public package with
tests enabled.

* gnu/packages/haskell.scm (ghc-clock-bootstrap): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt fa709a2fc9 gnu: Add ghc-stringsearch.
* gnu/packages/haskell.scm (ghc-stringsearch): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 281bc4fd5d gnu: Add ghc-word8.
* gnu/packages/haskell.scm (ghc-word8): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6f5e312e97 gnu: Add ghc-lifted-base.
* gnu/packages/haskell.scm (ghc-lifted-base): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 34128d2ba7 gnu: Add ghc-regex-tdfa-rc.
* gnu/packages/haskell.scm (ghc-regex-tdfa-rc): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6ffc5be71d gnu: Add ghc-charset.
* gnu/packages/haskell.scm (ghc-charset): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt cc553d025d gnu: Add ghc-fast-logger.
* gnu/packages/haskell.scm (ghc-fast-logger): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt d76bf6181b gnu: Add ghc-bytestring-builder.
* gnu/packages/haskell.scm (ghc-bytestring-builder): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6c1a7751a5 gnu: Add ghc-tagsoup.
* gnu/packages/haskell.scm (ghc-tagsoup): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 9e5224e6f3 gnu: Add ghc-digest.
* gnu/packages/haskell.scm (ghc-digest): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 624efe7304 gnu: Add ghc-contravariant.
* gnu/packages/haskell.scm (ghc-contravariant): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt f271524a14 gnu: Add ghc-statevar.
* gnu/packages/haskell.scm (ghc-statevar): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 4f99755142 gnu: Add ghc-bifunctors.
* gnu/packages/haskell.scm (ghc-bifunctors): Add variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 03f6074b72 gnu: Add ghc-void.
* gnu/packages/haskell.scm (ghc-void): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 946fa8c9b0 gnu: Add ghc-semigroups.
* gnu/packages/haskell.scm (ghc-semigroups): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 878535bd81 gnu: Add ghc-nats.
* gnu/packages/haskell.scm (ghc-nats): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt fe8f53e39b gnu: Add ghc-http-types.
* gnu/packages/haskell.scm (ghc-http-types): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt dc5befb126 gnu: Add ghc-quickcheck-instances.
* gnu/packages/haskell.scm (ghc-quickcheck-instances): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 801cc88daf gnu: Add ghc-unix-compat.
* gnu/packages/haskell.scm (ghc-unix-compat): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 5ef40cb26a gnu: Add ghc-unix-time.
* gnu/packages/haskell.scm (ghc-unix-time): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 685502dc93 gnu: Add ghc-iproute.
* gnu/packages/haskell.scm (ghc-iproute): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt a24ec6f271 gnu: Add ghc-unbounded-delays.
* gnu/packages/haskell.scm (ghc-unbounded-delays): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 7f0d5857e6 gnu: Add ghc-tagged.
* gnu/packages/haskell.scm (ghc-tagged): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt bc0fb230f9 gnu: Add ghc-auto-update.
* gnu/packages/haskell.scm (ghc-auto-update): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt cb2119e4f5 gnu: Add ghc-doctest.
* gnu/packages/haskell.scm (ghc-doctest): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt a195cd795f gnu: Add ghc-blaze-html.
* gnu/packages/haskell.scm (ghc-blaze-html): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt a311f5d000 gnu: Add ghc-blaze-markup.
* gnu/packages/haskell.scm (ghc-blaze-markup): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 94e1dc7a57 gnu: Add ghc-blaze-builder.
* gnu/packages/haskell.scm (ghc-blaze-builder): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 71470eddfa gnu: Add ghc-base-compat.
* gnu/packages/haskell.scm (ghc-base-compat): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 9525e25fc1 gnu: Add ghc-easy-file.
* gnu/packages/haskell.scm (ghc-easy-file): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 27e7c8b6a6 gnu: Add ghc-byteorder.
* gnu/packages/haskell.scm (ghc-byteorder): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 8516020507 gnu: Add ghc-monad-control.
* gnu/packages/haskell.scm (ghc-monad-control): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt c27f3aced3 gnu: Add ghc-transformers-base.
* gnu/packages/haskell.scm (ghc-transformers-base): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 899916b51e gnu: Add ghc-mmorph.
* gnu/packages/haskell.scm (ghc-mmorph): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6ecc4723c2 gnu: Add ghc-vault.
* gnu/packages/haskell.scm (ghc-vault): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 09fb622cb3 gnu: Add ghc-base-orphans.
* gnu/packages/haskell.scm (ghc-base-orphans): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 918f690a83 gnu: Add ghc-optparse-applicative.
* gnu/packages/haskell.scm (ghc-optparse-applicative): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 4946514437 gnu: Add ghc-fingertree.
* gnu/packages/haskell.scm (ghc-fingertree): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 10de4306d6 gnu: Add ghc-uniplate.
* gnu/packages/haskell.scm (ghc-uniplate): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 3410470d16 gnu: Add ghc-base64-bytestring.
* gnu/packages/haskell.scm (ghc-base64-bytestring): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e93333483c gnu: Add ghc-ansi-wl-pprint.
* gnu/packages/haskell.scm (ghc-ansi-wl-pprint): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 4e1254971d gnu: Add ghc-annotated-wl-pprint.
* gnu/packages/haskell.scm (ghc-annotated-wl-pprint): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 565f040df4 gnu: ghc-split: Update dependencies.
* gnu/packages/haskell.scm (ghc-split): Update package dependencies for
  compatibility with new GHC.  Replicate Cabal-file patch from Hackage.
2015-10-23 09:10:52 +02:00
Paul van der Walt 2108eac211 gnu: Add ghc-quickcheck-unicode.
* gnu/packages/haskell.scm (ghc-quickcheck-unicode): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt d10fed28b8 gnu: Add ghc-xml.
* gnu/packages/haskell.scm (ghc-xml): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 748463bec4 gnu: Add ghc-logict.
* gnu/packages/haskell.scm (ghc-logict): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt b10f7be3e3 gnu: Add ghc-pcre-light.
* gnu/packages/haskell.scm (ghc-pcre-light): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 476f7bab8b gnu: Add ghc-generic-deriving.
* gnu/packages/haskell.scm (ghc-generic-deriving): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 78c5b39d08 gnu: Add ghc-safe.
* gnu/packages/haskell.scm (ghc-safe): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 76ae28f16b gnu: Add ghc-appar.
* gnu/packages/haskell.scm (ghc-appar): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 9d5f0399f9 gnu: Add ghc-regex-base.
* gnu/packages/haskell.scm (ghc-regex-base): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt df12a41294 gnu: Add ghc-hspec.
* gnu/packages/haskell.scm (ghc-hspec): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6d71fcdf9e gnu: Add hspec-discover.
* gnu/packages/haskell.scm (hspec-discover): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 45882aafcb gnu: Add ghc-hspec-meta.
* gnu/packages/haskell.scm (ghc-hspec-meta): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt daf5cd28dc gnu: Add ghc-hspec-core.
* gnu/packages/haskell.scm (ghc-hspec-core): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 327348c629 gnu: Add ghc-hspec-expectations.
* gnu/packages/haskell.scm (ghc-hspec-expectations): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt acd881a49c gnu: Add ghc-silently.
* gnu/packages/haskell.scm (ghc-silently): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 5257c34150 gnu: Add ghc-temporary.
* gnu/packages/haskell.scm (ghc-temporary): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 31cac1ee9f gnu: Add ghc-exceptions.
* gnu/packages/haskell.scm (ghc-exceptions): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 379a5ad54f gnu: Add ghc-transformers-compat.
* gnu/packages/haskell.scm (ghc-transformers-compat): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 59c9b4f678 gnu: Add ghc-quickcheck-io.
* gnu/packages/haskell.scm (ghc-quickcheck-io): Add variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 318f9d884e gnu: Add ghc-stringbuilder.
* gnu/packages/haskell.scm (ghc-stringbuilder): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt a45a15df50 gnu: Add ghc-setenv.
* gnu/packages/haskell.scm (ghc-setenv): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt e2fcaff2ef gnu: Add ghc-async.
* gnu/packages/haskell.scm (ghc-async): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 9380634c10 gnu: Remove ghc-containers.
Since GHC 7.10.2 provides containers, this package has become unneeded.

* gnu/packages/haskell.scm (ghc-containers): Remove variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt cd27b23d49 gnu: Add ghc-ansi-terminal.
* gnu/package/haskell.scm (ghc-ansi-terminal): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt 35a9b5c70b gnu: cabal-install: Update to 1.22.6.0.
* gnu/packages/haskell.scm (cabal-install): Update to 1.22.6.0.
2015-10-23 09:10:52 +02:00
Paul van der Walt b38c1627ec gnu: ghc-http: Update to 4000.2.20.
* gnu/packages/haskell.scm (ghc-http): Update to 4000.2.20.  Add input
  old-time, required in new GHC 7.10.2.
2015-10-23 09:10:52 +02:00
Paul van der Walt 13244b2438 gnu: ghc-network: Update to 2.6.2.1.
* gnu/packages/haskell.scm (ghc-network): Update to 2.6.2.1.
* gnu/packages/haskell.scm (ghc-network-uri): Update to 2.6.0.3.
2015-10-23 09:10:52 +02:00
Paul van der Walt 0b61d50302 gnu: ghc-vector: Update to 0.11.0.0.
* gnu/packages/haskell.scm (ghc-vector): Update to 0.11.0.0.
2015-10-23 09:10:52 +02:00
Paul van der Walt a306190f88 gnu: ghc-syb: Update to 0.6.
* gnu/packages/haskell.scm (ghc-syb): Update to 0.6.
2015-10-23 09:10:52 +02:00
Paul van der Walt 83185924c2 gnu: ghc-quickcheck: Update to 2.8.1.
* gnu/packages/haskell.scm (ghc-quickcheck): Update to 2.8.1.
2015-10-23 09:10:52 +02:00
Paul van der Walt 4c116c6aed gnu: ghc-primitive: Update to 0.6.1.0.
* gnu/packages/haskell.scm (ghc-primitive): Update to 0.6.1.0.
2015-10-23 09:10:52 +02:00
Paul van der Walt 87a25ccd04 gnu: ghc-hashable: Update to 1.2.3.3.
* gnu/packages/haskell.scm (ghc-hashable): Update to 1.2.3.3.
2015-10-23 09:10:52 +02:00
Paul van der Walt 8431b0468e gnu: ghc-text: Update to 1.2.1.3.
* gnu/packages/haskell.scm (ghc-text): Update to 1.2.1.3.
2015-10-23 09:10:52 +02:00
Paul van der Walt 409ec7c01e gnu: ghc-dlist: Enable tests.
* gnu/packages/haskell.scm (ghc-dlist): Enable tests.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6fe7a7e0af gnu: ghc-dlist: Update to 0.7.1.2.
* gnu/packages/haskell.scm (ghc-dlist): Update to version 0.7.1.2.
2015-10-23 09:10:52 +02:00
Paul van der Walt 2687f7db73 gnu: ghc-xmonad-contrib: Update to version 0.11.4.
* gnu/packages/wm.scm (ghc-xmonad-contrib): Update to version 0.11.4.
  Add input ghc-old-time, required with new GHC 7.10.2.
2015-10-23 09:10:52 +02:00
Paul van der Walt 7ae4c10227 gnu: Add ghc-old-time.
* gnu/packages/haskell.scm (ghc-old-time): New variable.
2015-10-23 09:10:52 +02:00
Paul van der Walt ca80b8ba15 gnu: xmonad: Patch for updated libraries.
* gnu/packages/wm.scm (xmonad): Replicate patch from Hackage to compile
  against GHC 7.10.2.
2015-10-23 09:10:52 +02:00
Paul van der Walt 6a0add9c69 gnu: Add ghc-old-locale.
* gnu/packages/haskell.scm (ghc-old-locale): New variable.
* gnu/packages/haskell.scm (ghc-data-default-instances-old-locale):
  Patch to use new package ghc-old-locale.
2015-10-23 09:10:52 +02:00
Paul van der Walt ac426aa53b gnu: ghc-utf8-string: Update to 1.0.1.1.
* gnu/packages/haskell.scm (ghc-utf8-string): Update to 1.0.1.1.
2015-10-23 09:10:52 +02:00
Paul van der Walt a59ab2477a gnu: ghc-mtl: Update to 2.2.1.
* gnu/packages/haskell.scm (ghc-mtl): Update to 2.2.1.
2015-10-23 09:10:52 +02:00
Paul van der Walt 0e03d76a51 gnu: ghc: Update to 7.10.2.
* gnu/packages/haskell.scm (ghc): Update to 7.10.2.  Correct bootstrap
  compiler path.

* gnu/packages/haskell.scm (ghc-unordered-containers): Fix long line.
2015-10-23 09:10:52 +02:00
Efraim Flashner fd74cc3c72 gnu: mplayer: Update to 1.2.
* gnu/packages/video.scm (mplayer): Update to 1.2.
  [inputs]: Add previously bundled ffmpeg, libdvdcss, libdvdnav.
  [arguments]: Disable bundled ffmeg.
2015-10-23 08:58:41 +03:00
Efraim Flashner 21b2ec4d3a gnu: pbzip2: Various fixes.
* gnu/packages/compression.scm (pbzip)[uri]: Replace hardcoded version
  with variable.
  [arguments]: Remove configure phase. Add make flag.
2015-10-23 08:57:04 +03:00
Eric Bavier c595cd47d8 gnu: evilwm: Add patch for lost-focus bug.
* gnu/packages/patches/evilwm-lost-focus-bug.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/wm.scm (evilwm)[source]: Use it.
2015-10-22 17:47:37 -05:00
Mark H Weaver 2442e69e41 Revert "gnu: unzip: Reorganize security fixes for improved clarity."
This reverts commit c46c931ecf.
2015-10-22 17:10:41 -04:00
Mark H Weaver c46c931ecf gnu: unzip: Reorganize security fixes for improved clarity.
* gnu/packages/patches/unzip-fix-overflows-and-infloop.patch: Delete
  file.  Its contents are now split into the following new files:
* gnu/packages/patches/unzip-CVE-2015-7696.patch,
  gnu/packages/patches/unzip-CVE-2015-7697.patch,
  gnu/packages/patches/unzip-overflow-on-invalid-input.patch: New files.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/zip.scm (unzip)[source]: Adjust patches accordingly.
2015-10-22 14:58:03 -04:00
Mark H Weaver dddb11b506 gnu: ntp: Update to 4.2.8p4.
* gnu/packages/ntp.scm (ntp): Update to 4.2.8p4.
2015-10-22 14:30:35 -04:00
Ricardo Wurmus 37fdba7e0b gnu: Add python-statsmodels.
* gnu/packages/statistics.scm (python-statsmodels, python2-statsmodels):
  New variables.
2015-10-22 17:35:13 +02:00
Ricardo Wurmus 9bc08aa0cb gnu: Add python-patsy.
* gnu/packages/statistics.scm (python-patsy, python2-patsy): New
  variables.
2015-10-22 17:35:05 +02:00
Efraim Flashner 5d47eab024 gnu: Add pbzip2.
* gnu/packages/compression.scm (pbzip2): New variable.
2015-10-22 17:28:03 +03:00
Paul van der Walt ff9a5f7e97 gnu: dosbox: Add file-name property.
* gnu/packages/games.scm (dosbox): Add file-name property, since the
  package is built from an SVN checkout.
2015-10-22 16:18:17 +02:00
Paul van der Walt 566fc7fa13 gnu: cmus: Add file-name property.
* gnu/packages/music.scm (cmus): Add file-name, since the downloaded
  tar.gz only contains version number.
2015-10-22 16:18:17 +02:00
Eric Bavier 1a65667240 gnu: conkeror: Upgrade to 1.0pre1.20150730.
* gnu/packages/conkeror.scm (conkeror): Upgrade to 1.0pre1.20150730.
  [arguments]: Adjust #:make-flags and #:phases for new Makefile, and
  use modify-phases.
2015-10-22 03:59:27 -05:00
Ricardo Wurmus fe4c37c244 gnu: Add MOSAIK.
* gnu/packages/bioinformatics.scm (mosaik): New variable.
2015-10-22 11:11:09 +02:00
Ricardo Wurmus 1e656049b0 gnu: Add python-numexpr.
* gnu/packages/python.scm (python-numexpr, python2-numexpr): New
  variables.
2015-10-22 11:02:36 +02:00
Ludovic Courtès 26909789d0 services: Rely on D-Bus activation for colord, geoclue, and polkit.
* gnu/services/desktop.scm (colord-dmd-service): Remove.
  (colord-service-type): Adjust accordingly.
  (geoclue-dmd-service): Remove.
  (geoclue-service-type): Adjust accordingly.
  (polkit-dmd-service): Remove.
  (polkit-service-type): Adjust accordingly.
2015-10-22 00:44:18 +02:00
Ludovic Courtès cde0402169 services: dbus: Support service activation.
* gnu/services/dbus.scm (system-service-directory): New procedure.
  (dbus-configuration-directory)[services->sxml]: Add
  /etc/dbus-1/system-services <servicedir> tag, and remove the
  per-service "/share/dbus-1/system-services" tag.
  Symlink OUTPUT/system-services.
  (dbus-setuid-programs): New procedure.
  (dbus-root-service-type): Extend SETUID-PROGRAM-SERVICE-TYPE.
  (dbus-service): Default to DBUS/ACTIVATION.
2015-10-22 00:41:09 +02:00
Mark H Weaver e0a7d36458 gnu: dosbox: Put the 'autogen.sh' phase after 'unpack'.
* gnu/packages/games.scm (dosbox)[arguments]: Put the 'autogen.sh' phase
  after 'unpack', instead of before 'configure'.
2015-10-21 18:37:53 -04:00
Ludovic Courtès da51f5bb01 gnu: dbus: Add variant with proper helper for service activation.
* gnu/packages/patches/dbus-helper-search-path.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/glib.scm (dbus/activation): New variable.
2015-10-22 00:26:11 +02:00
Ludovic Courtès 4a663ca4e8 services: dbus: Honor the config's dbus package.
* gnu/services/dbus.scm (dbus-dmd-service): Rewrite using 'match-lambda'
  so that the config's dbus package is used.  Fixes a regression
  introduced in 64643b9.
2015-10-21 23:37:02 +02:00
Paul van der Walt e11b275204 gnu: Add dosbox x86 emulator.
* gnu/packages/games.scm (dosbox): New variable.
2015-10-21 22:13:47 +02:00
Paul van der Walt e8069d012f gnu: Add cmus.
* gnu/packages/music.scm (cmus): New variable.
2015-10-21 21:57:57 +02:00
Paul van der Walt a7aa4e2a64 gnu: Add opusfile.
* gnu/packages/xiph.scm (opusfile): New variable.
2015-10-21 21:57:57 +02:00
Paul van der Walt 845b4f5b7b Revert "gnu: Add opusfile."
This reverts commit c3c239e615.
2015-10-21 21:49:50 +02:00
Paul van der Walt fab7428881 gnu: Add libcue.
* gnu/packages/cdrom.scm (libcue): New variable.
2015-10-21 21:39:03 +02:00
Paul van der Walt c3c239e615 gnu: Add opusfile.
* gnu/packages/xiph.scm (opusfile): New variable.
2015-10-21 21:32:34 +02:00
Ludovic Courtès 861be0cc1d packages: Update 'check-package-freshness' to use (guix upstream).
This is a followup to 0a7c5a0.
Reported by Efraim Flashner <efraim@flashner.co.il>.

* gnu/packages.scm (check-package-freshness): Update to the new (guix
  upstream) interface.
2015-10-21 18:28:14 +02:00
Ludovic Courtès 1a1553db7e gnu: gnu-pw-mgr: Update to 1.6.
* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.6.
2015-10-21 18:01:38 +02:00
Ludovic Courtès 74dc959cb0 gnu: help2man: Update to 1.47.2.
* gnu/packages/man.scm (help2man): Update to 1.47.2.
2015-10-21 18:01:17 +02:00
Ludovic Courtès ee53a14417 gnu: less: Update to 481.
* gnu/packages/less.scm (less): Update to 481.
2015-10-21 18:00:59 +02:00
Ludovic Courtès 641dd73dc8 gnu: freeipmi: Update to 1.4.10.
* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.10.
2015-10-21 18:00:23 +02:00
Ludovic Courtès 102eac2a0a import: cran: Add copyright notice.
Add notice for commit d882c23.
2015-10-21 14:51:30 +02:00
Ludovic Courtès 053cfdb3d6 import: cran: Avoid HTTP redirect.
* guix/import/cran.scm (cran-fetch): Add trailing slash in URL to avoid
  HTTP redirect.
2015-10-21 14:44:41 +02:00
Ludovic Courtès d882c235d9 import: cran: Add updater.
* guix/import/cran.scm (downloads->url, nodes->text): New procedures.
  (cran-sxml->sexp): Use them.  Remove equivalent local code.
  (latest-release, cran-package?): New procedures.
  (%cran-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %CRAN-UPDATER.
* doc/guix.texi (Invoking guix refresh): Mention CRAN.
2015-10-21 14:44:41 +02:00
Ludovic Courtès 577e750580 refresh: Remove exception catch-all.
* guix/scripts/refresh.scm (update-package): Remove 'catch #t'.
2015-10-21 14:44:41 +02:00
Ludovic Courtès bcb571cba4 refresh: Add '--type' option.
* guix/scripts/refresh.scm (%options, show-help): Add --type.
  (lookup-updater): New procedure.
  (update-package): Add 'updaters' parameter and honor it.
  (guix-refresh)[options->updaters]: New procedure.
  Use it, and honor --type.
2015-10-21 14:44:41 +02:00
Ludovic Courtès a7aac93625 import: elpa: Add updater.
* guix/import/elpa.scm (latest-release, package-from-gnu.org?): New
  procedures.
  (%elpa-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %ELPA-UPDATER.
2015-10-21 14:44:38 +02:00
Ludovic Courtès 218622a737 import: elpa: Use 'http-fetch/cached' to retrieve the archive.
* guix/import/elpa.scm (elpa-fetch-archive): Set %HTTP-CACHE-TTL to 6
  hours.
  (call-with-downloaded-file): Use 'http-fetch/cached' instead of
  'url-fetch'.
2015-10-21 14:43:34 +02:00
Ludovic Courtès 0a7c5a09fe gnu-maintenance: Generalize, leading to (guix upstream).
* guix/gnu-maintenance.scm (<gnu-release>): Remove.
  (coalesce-releases): Move to upstream.scm.  Rename to
  'coalesce-sources'; adjust callers.
  (releases, latest-release): Return <upstream-source> objects instead
  of <gnu-release> objects.
  (latest-release*, non-emacs-gnu-package?): New procedures.
  (gnu-release-archive-types): Remove.
  (%gnu-updater): New variable.
  (package-update-path, download-tarball, package-update,
  update-package-source): Move to...
* guix/upstream.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Replace gnu-maintenance.scm with upstream.scm.
* guix/scripts/refresh.scm (%updaters): New variable.
  (update-package): Adjust to new 'package-update' interface.
  (guix-refresh): Adjust to new 'package-update-path'.  Remove
  'false-if-exception' around it.
2015-10-21 14:43:34 +02:00
Ludovic Courtès cbaf0f11dd http-client: '%http-cache-ttl' is really a parameter.
Fixes a typo in commit 739ab68 that made it a procedure returning a
parameter.

* guix/http-client.scm (%http-cache-ttl): Turn into a parameter.
2015-10-21 14:43:34 +02:00
Eric Bavier 45e1096896 gnu: Add evilwm.
* gnu/packages/wm.scm (evilwm): New variable.
2015-10-20 15:40:09 -05:00
Eric Bavier d1ccd094f9 services: xorg: Include font-alias in default FontPath.
* gnu/services/xorg.scm (xorg-configuration-file): Add font-alias directories
  to xserver.conf FontPath.
2015-10-20 15:40:09 -05:00
Eric Bavier bf9655f57d font-alias: Install dummy fonts.dir files.
* gnu/packages/xorg.scm (font-alias)[arguments]: New 'install-fonts-dir'
  phase.
2015-10-20 15:40:09 -05:00
Eric Bavier 0f21557ce8 gnu: Add xlsfonts.
* gnu/packages/xorg.scm (xlsfonts): New variable.
2015-10-20 15:40:09 -05:00
Ludovic Courtès 5e3bfe9d01 gnu: inkscape: Fix build with newer GLibmm.
* gnu/packages/inkscape.scm (inkscape)[arguments]: Add #:configure-flags.
2015-10-20 22:37:26 +02:00
Efraim Flashner 938ecdfcab gnu: giflib: Update to 5.1.1.
* gnu/packages/image.scm (giflib): Update to 5.1.1.
2015-10-20 14:12:09 -04:00
Andreas Enge 8cab7580f5 gnu: curl: Update to 7.45.0.
* gnu/packages/curl.scm (curl): Update to 7.45.0.
2015-10-20 14:12:09 -04:00
Mark H Weaver 7c6fb733e9 Merge branch 'master' into dbus-update 2015-10-20 14:11:43 -04:00
Mark H Weaver b1599b5299 Revert "gnu: giflib: Update to 5.1.1."
This reverts commit a5d06c0c53.
2015-10-20 14:08:37 -04:00
Mark H Weaver 9e84fe2cde Revert "gnu: curl: Update to 7.45.0."
This reverts commit 075c3ebd2d.
2015-10-20 14:07:34 -04:00
Efraim Flashner a5d06c0c53 gnu: giflib: Update to 5.1.1.
* gnu/packages/image.scm (giflib): Update to 5.1.1.
2015-10-20 20:37:16 +03:00
Andreas Enge 212efe97c5 gnu: gnurl: Update to 7.45.0.
* gnu/packages/gnunet.scm (gnurl): Update to 7.45.0.
2015-10-20 18:30:40 +02:00
Andreas Enge 075c3ebd2d gnu: curl: Update to 7.45.0.
* gnu/packages/curl.scm (curl): Update to 7.45.0.
2015-10-20 17:59:51 +02:00
Alex Kost 4ab70c5ca0 emacs: devel: Add indentation rules for 'modify-phases' keywords.
* emacs/guix-devel.el: Add indentation rules for 'modify-phases' keywords.
  (guix-devel-indent-modify-phases-keyword,
  guix-devel-indent-modify-phases-keyword-1,
  guix-devel-indent-modify-phases-keyword-2): New functions.
2015-10-20 16:47:21 +03:00
Alex Kost 380566157d emacs: config: Use "emacs-config-" prefix for constants.
* emacs/guix-config.el.in (guix-emacs-interface-directory,
  guix-state-directory): Rename to ...
  (guix-config-emacs-interface-directory, guix-config-state-directory):
  ...this.
  (guix-config-guile-program): New constant.
  (guix-guile-program): Move to ...
* emacs/guix-external.el (guix-guile-program): ...here.  Make it a
  'defcustom'.
* emacs/guix-profiles.el (guix-default-profile): Use
  'guix-config-state-directory'.
* emacs/guix-backend.el (guix-load-path): Use
  'guix-config-emacs-interface-directory'.
2015-10-20 16:47:05 +03:00
Alex Kost 51805219a5 build: Set DOT_USER_PROGRAM for Emacs interface.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* configure.ac: Set DOT_USER_PROGRAM variable.
* emacs/guix-config.el.in (guix-config-dot-program): New constant.
* emacs/guix-external.el (guix-dot-program): Use it.
2015-10-20 16:47:05 +03:00
Efraim Flashner cbe9505778 gnu: units: Update to 2.12.
* gnu/packages/maths.scm (units): Update to 2.12.
2015-10-20 09:41:54 +03:00
Ludovic Courtès d23c20f1d0 Add 'guix challenge'.
* guix/scripts/challenge.scm, tests/challenge.scm: New files.
* Makefile.am (MODULES): Add the former.
  (SCM_TESTS): Add the latter.
* doc.am (SUBCOMMANDS): Add 'challenge'.
* doc/guix.texi (Substitutes): Add xref to 'guix challenge'.
  (Invoking guix challenge): New node.
* doc/contributing.texi (Submitting Patches): Add note about using 'guix
  challenge'.
* po/guix/POTFILES.in: Add guix/scripts/challenge.scm.
2015-10-20 00:57:36 +02:00
Ludovic Courtès ea0c6e0507 substitute: Expose narinfo access.
* guix/scripts/substitute.scm: Export <narinfo> accessors.
  (narinfo-hash->sha256): New procedure.
  (cache-narinfo!): Ignore EACCES exceptions.
2015-10-19 23:12:34 +02:00
Ludovic Courtès e38a71eea9 gnu: qemu: Adjust to newer GLib versions.
* gnu/packages/qemu.scm (qemu-patch): New procedure.
  (%glib-memory-vtable-patch, %glib-duplicate-test-patch): New
  variables.
2015-10-19 17:57:12 +02:00
宋文武 20848f3637 gnu: mesa: Patch the dlopen call for 'libudev.so'.
Fixes a regression introduced in d18c3c6.

* gnu/packages/gl.scm (mesa)[arguments]: Update the 'substitute*'
  call for 'libudev.so'.
2015-10-19 22:21:21 +08:00
宋文武 1cb16f1ea3 gnu: gtk+: Remove colord from inputs.
This broke building on non-intel systems.

* gnu/packages/gtk.scm (gtk+)[inputs]: Remove colord.
2015-10-19 21:39:46 +08:00
宋文武 64643b90ab services: dbus: Build '/etc/dbus-1/system-local.conf'.
* gnu/services/dbus.scm (dbus-etc-files): New procedure.
  (dbus-dmd-service): Remove the use of '--config-file'.
  (dbus-configuration-directory): Adjust accordingly.
  (dbus-root-service-type): Add extension of ETC-SERVICE-TYPE.
2015-10-19 19:25:15 +08:00
Ludovic Courtès c6f8e9dd64 guix archive: Add '--extract'.
* guix/scripts/archive.scm (show-help, %options): Add --extract.
  (guix-archive): Honor it.
* tests/guix-archive.sh: Test it.
* doc/guix.texi (Invoking guix archive): Document it.
2015-10-19 10:10:47 +02:00
Mark H Weaver b2aab72c14 gnu: libdrm: Fix symbol check tests on mips64el and armhf.
* gnu/packages/patches/libdrm-symbol-check.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xdisorg.scm (libdrm)[source]: Add patch.
2015-10-19 00:37:53 -04:00
Ludovic Courtès 1d19bc1162 gnu: elogind: Provide the file name of 'halt' and 'reboot'.
* gnu/packages/freedesktop.scm (elogind)[inputs]: Add DMD.
2015-10-18 19:26:48 +02:00
Andreas Enge 8ca73fcee9 gnu: gnurl: Update to 7.44.0.
* gnu/packages/gnunet.scm (gnurl): Update to 7.44.0.
2015-10-18 12:10:03 +02:00
宋文武 a572dca848 gnu: gtk+: Add more inputs.
* gnu/packages/gtk.scm (gtk+)[propagated-inputs]: Add libxcursor.
  [inputs]: Add rest, json-glib and colord.
2015-10-18 15:06:12 +08:00
宋文武 80c7dd1a4e gnu: colord: Add input libgudev.
* gnu/packages/gnome.scm (colord)[inputs]: Add libgudev.
2015-10-18 13:46:22 +08:00
宋文武 4955ab7d65 gnu: json-glib: Update to 1.0.4, fix test.
* gnu/packages/gnome.scm (json-glib): Update to 1.0.4.
  [source]: Add snippet.
2015-10-18 13:30:18 +08:00
宋文武 7765bfc61f gnu: elogind: Fix build by explicitly link with librt.
* gnu/packages/freedesktop.scm (elogind)[arguments]: Pass
  'LDFLAGS=-lrt' to configure.
2015-10-18 09:31:55 +08:00
宋文武 6717c87964 gnu: python-dbus: Fix test.
* gnu/packages/python.scm (python-dbus)[arguments]: Run test with
  'DBUS_FATAL_WARNINGS=0'.
2015-10-18 08:43:40 +08:00
宋文武 406766c0d0 gnu: xfconf: Fix test.
* gnu/packages/xfce.scm (xfconf)[arguments]: Run test with
  'DBUS_FATAL_WARNINGS=0'.
2015-10-18 08:43:14 +08:00
Mark H Weaver ccb522324b Merge branch 'master' into dbus-update 2015-10-17 19:08:53 -04:00
Andreas Enge 9e2592a346 gnu: calibre: Update to 2.41.0.
* gnu/packages/ebook.scm (calibre): Update to 2.41.0.
2015-10-17 23:13:03 +02:00
Efraim Flashner 6f35d39647 gnu: youtube-dl: Update to 2015.10.16.
* gnu/packages/video.scm (youtube-dl): Update to 2015.10.16.
2015-10-18 00:01:41 +03:00
Andreas Enge ab29be81c5 gnu: ngs-sdk: Correct typo.
* gnu/packages/bioinformatics.scm (ngs-sdk): Correct typo.
2015-10-17 22:51:12 +02:00
Andreas Enge a0dadf0cb1 gnu: ngs-sdk: Remove unsupported systems.
* gnu/packages/bioinformatics.scm (ngs-sdk)[supported-systems]: Keep only x86
  based systems.
2015-10-17 22:43:14 +02:00
Efraim Flashner 830d170e97 gnu: chess: Update to 6.2.2.
* gnu/packages/games.scm (chess): Update to 6.2.2.
2015-10-17 22:46:42 +03:00
Ricardo Wurmus e591a4d6e5 gnu: non-sequencer: Disable SSE when not building on x86_64.
* gnu/packages/music.scm (non-sequencer)[arguments]: Add "--disable-sse"
  flag when not building on x86_64.
2015-10-17 19:38:46 +02:00
Federico Beffa 3dac53be01 gnu: fastcap: Remove non-free file.
* gnu/packages/engineering.scm (fastcap): Do it.
2015-10-17 18:41:22 +02:00
Federico Beffa 1f7ffd6ff7 gnu: fastcap: Fix 'fix-doc phase.
* gnu/packages/engineering.scm (fastcap): Adapt documentation generation to
  change in TeXLive 2015.
2015-10-17 18:15:42 +02:00
Alex Kost 5d86684ddf emacs: devel: Highlight Guix keywords.
* emacs/guix-devel.el (guix-devel-keywords): New constant.
  (guix-devel-font-lock-keywords): Use it.
2015-10-17 18:57:30 +03:00
Alex Kost 5e2b761e6a doc: emacs: Document "View graph" popup action.
* doc/emacs.texi (Emacs Popup Interface): Document "View graph" action.
2015-10-17 18:57:09 +03:00
Alex Kost 7c0b02f5ae emacs: Improve file names of generated graphs.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* emacs/guix-external.el (guix-png-file-name): Change prefix of a file
  name to "guix-emacs-graph-" to avoid possible conflicts.
2015-10-17 18:56:50 +03:00
Ludovic Courtès 2134228a7d gnu-maintenance: Fix file descriptor leak.
* guix/gnu-maintenance.scm (official-gnu-packages): Close the port
  returned by FETCH.
2015-10-17 14:42:07 +02:00
Ludovic Courtès 9aec35d265 gnu-maintenance: Use 'http-fetch/cached' by default.
This speeds up operations like 'guix lint -c gnu-description'.

* guix/gnu-maintenance.scm (official-gnu-packages): Add 'fetch'
  parameter and honor it.  Default to 'http-fetch/cached'.
2015-10-17 14:42:07 +02:00
Ludovic Courtès 739ab68bac http-client: Add 'http-fetch/cached'.
* guix/utils.scm (cache-directory): New procedure.
* guix/http-client.scm (%http-cache-ttl): New variable.
  (http-fetch/cached): New procedure.
2015-10-17 14:42:01 +02:00
Ludovic Courtès 34a7bfb049 install: Set the mtime in the binary tarball to 1.
Reported by anthk_ on #guix in Sept. 2015.

* gnu/system/install.scm (self-contained-tarball): Use --mtime=@1
  instead of --mtime=@0.
2015-10-17 12:20:39 +02:00
Ludovic Courtès 4375dcf36c gnu: complexity: Update to 1.3.
* gnu/packages/code.scm (complexity): Update to 1.3.
2015-10-17 12:17:02 +02:00
Ludovic Courtès 78981bb9bd file-systems: Do not truncate mount points that already exist.
Reported by David Thompson <dthompson2@worcester.edu>
at <https://lists.gnu.org/archive/html/guix-devel/2015-10/msg00284.html>.

* gnu/build/file-systems.scm (mount-file-system): When SOURCE matches
  'regular-file?', do not create MOUNT-POINT if it already exists.  This
  fixes a bug whereby we would be truncating MOUNT-POINT if it already
  existed.
2015-10-17 11:57:38 +02:00
Ludovic Courtès 0e3cc3116d syscalls: Fix ABI mismatch for 'clone'.
Fixes <http://bugs.gnu.org/21694>.

* guix/build/syscalls.scm (clone): Change 'syscall' parameter types to
  LONG, UNSIGNED-LONG, or '*; make sure it has 6 parameters.  Adjust
  caller accordingly.
2015-10-17 11:53:25 +02:00
宋文武 5fba12ecd3 gnu: at-spi2-atk: Fix test.
* gnu/packages/gtk.scm (at-spi2-atk)[arguments]: Run test with
  'DBUS_FATAL_WARNINGS=0'.
2015-10-17 17:52:54 +08:00
宋文武 9b0bbb4767 gnu: graphite2: Update to 1.3.3.
* gnu/packages/fontutils.scm (graphite2): Update to 1.3.3.
2015-10-17 15:31:20 +08:00
宋文武 8ce36e81c2 gnu: freeglut: Update to 3.0.0.
* gnu/packages/gl.scm (freeglut): Update to 3.0.0.
2015-10-17 14:48:02 +08:00
宋文武 ecd9c37f1f gnu: cmake: Update to 3.3.2.
* gnu/packages/cmake.scm (cmake): Update to 3.3.2.
2015-10-17 14:47:28 +08:00
宋文武 d18c3c646c gnu: mesa: Update to 11.0.3.
* gnu/packages/gl.scm (mesa): Update to 11.0.3.
2015-10-17 13:24:47 +08:00
宋文武 3b54548f03 gnu: libdrm: Update to 2.4.65.
* gnu/packages/xdisorg.scm (libdrm): Update to 2.4.65.
2015-10-17 11:39:56 +08:00
宋文武 381d3400b1 gnu: libpciaccess: Update to 0.13.4.
* gnu/packages/xorg.scm (libpciaccess): Update to 0.13.4.
2015-10-17 11:39:03 +08:00
宋文武 6410d25700 gnu: libva: Update to 1.6.1.
* gnu/packages/video.scm (libva): Update to 1.6.1.
2015-10-17 11:27:19 +08:00
宋文武 fd730590b6 gnu: libsoup: Update to 2.52.1, enable vala bindings.
* gnu/packages/gnome.scm (vala): Update to 2.52.1.
  [native-inputs]: Add vala.
  [arguments]: Pass vapidir=$out/share/vala/vapi in the 'install' phase.
2015-10-17 11:09:03 +08:00
宋文武 aa8789c012 gnu: glib-networking: Update to 2.46.1.
* gnu/packages/gnome.scm (glib-networking): Update to 2.46.1.
2015-10-17 10:51:20 +08:00
宋文武 3e429a86a9 gnu: gsettings-desktop-schemas: Update to 3.18.0.
* gnu/packages/gnome.scm (gsettings-desktop-schemas): Update to 3.18.0.
2015-10-17 10:50:46 +08:00
宋文武 f4925a4fb8 gnu: vala: Update to 0.30.0.
* gnu/packages/gnome.scm (vala): Update to 0.30.0.
  [arguments]: Run tests with "DBUS_FATAL_WARNINGS=0'.
2015-10-17 10:48:52 +08:00
宋文武 5f37e56ba4 gnu: librsvg: Fix tests.
GLib doesn't allow duplicate test case paths any more.

* gnu/packages/patches/librsvg-tests.patch: New file.
* gnu/packages/gnome.scm (librsvg)[source]: Add patch.
* gnu-system.am (dist_patch_DATA): Add it.
2015-10-17 10:30:25 +08:00
Andreas Enge d82633d06a gnu: mutt: Update to 1.5.24.
* gnu/packages/patches/mutt-CVE-2014-9116.patch: Delete file.
* gnu/packages/mail.scm (mutt): Update to 1.5.24.
  [source]: Update and remove patch.
* gnu-system.am (dist_patch_DATA): Unregister removed patch.
2015-10-16 22:58:07 +02:00
xd1le 1268e52d5d gnu: Add bspwm.
* gnu/packages/wm.scm (bspwm): New variable.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-10-16 19:54:42 +03:00
xd1le 998b8c07b8 gnu: Add sxhkd.
* gnu/packages/xdisorg.scm (sxhkd): New variable.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-10-16 19:54:42 +03:00
宋文武 f43c0e9c44 gnu: librsvg: Update to 2.40.11.
* gnu/packages/gnome.scm (librsvg): Update to 2.40.11.
2015-10-16 23:04:33 +08:00
Alex Kost 727495757f emacs: Add "View graph" actions to system graph commands.
* emacs/guix-command.el (guix-command-additional-execute-arguments,
  guix-command-special-executors): Add "View graph" actions for
  'dmd-graph' and 'extension-graph' commands.
2015-10-16 17:24:13 +03:00
宋文武 3ad29c9ef5 gnu: gtkmm-2: Fix build by passing '-std=c++11'.
* gnu/packages/gtk.scm (gtkmm-2)[arguments]: Pass '-std=c++11' as
  CPPFLAGS.
2015-10-16 22:19:20 +08:00
Alex Kost e0c5309a83 emacs: Disambiguate "d" key in 'system' popup.
* emacs/guix-command.el (guix-command-improve-system-argument): Use "D"
  key for 'disk-image' action (leave "d" for 'dmd-graph').
2015-10-16 17:14:57 +03:00
Alex Kost b1b53df382 emacs: init: Add "share/emacs/site-lisp" to 'load-path'.
Fixes a regression introduced in 7741139080.

Reported by Ludovic Courtès <ludo@gnu.org>.

Not all emacs packages have "...-autoloads.el" files, so there is a
chance that "~/.guix-profile/share/emacs/site-lisp" will not be added to
'load-path', so add it unconditionally.

* emacs/guix-init.el: Add guix emacs directory to 'load-path'.  Move
  requiring 'guix-emacs' to the top-level.
2015-10-16 17:14:57 +03:00
宋文武 e75230c1b7 gnu: eudev: Update to 3.1.5.
* gnu/packages/linux.scm (eudev): Update to 3.1.5.
* gnu/packages/patches/eudev-rules-directory.patch: Adapt to it.
2015-10-16 21:13:02 +08:00
宋文武 37fe56cff6 gnu: at-spi2-core: Fix test failure.
* gnu/packages/gtk.scm (at-spi2-core)[arguments]: Run test with
  'DBUS_FATAL_WARNINGS=0'.
2015-10-16 21:07:48 +08:00
Ludovic Courtès 4af7c83bc7 system: Define 'GST_PLUGIN_PATH' in /etc/profile.
* gnu/system.scm (operating-system-etc-service)[profile]: Add
  'GST_PLUGIN_PATH' definition.
2015-10-15 23:11:29 +02:00
Ludovic Courtès 3d2a9c8c8e doc: Regenerate 'guix graph' examples.
* doc/images/coreutils-bag-graph.dot, doc/images/coreutils-graph.dot:
  Regenerate from current packages.  This removes the weird dependency
  on 'sed'.
2015-10-15 23:11:29 +02:00
Ludovic Courtès d96034ed69 gnu: Add python-libarchive-c.
* gnu/packages/python.scm (python-libarchive-c, python2-libarchive-c):
  New variables.
2015-10-15 23:11:29 +02:00
Ludovic Courtès d8c4998fd4 gnu: Add python-tlsh.
* gnu/packages/python.scm (python-tlsh, python2-tlsh): New variable.
2015-10-15 23:11:29 +02:00
宋文武 aa382d7e46 gnu: gtkmm: Update to 3.18.0.
* gnu/packages/gtk.scm (gtkmm): Update to 3.18.0.
2015-10-15 23:42:16 +08:00
宋文武 b172ea003f gnu: atkmm: Update to 2.24.1.
* gnu/packages/gtk.scm (atkmm): Update to 2.24.1.
2015-10-15 23:42:16 +08:00
宋文武 256da71fb1 gnu: pangomm: Update to 2.38.1.
* gnu/packages/gtk.scm (pangomm): Update to 2.38.1.
2015-10-15 23:42:15 +08:00
宋文武 2079087ccc gnu: cairomm: Update to 1.12.0.
* gnu/packages/gtk.scm (cairomm): Update to 1.12.0.
  [source]: Change to "mirror://gnome/".
2015-10-15 23:42:15 +08:00
宋文武 9fe2e17dd1 gnu: gtk+: Update to 3.18.2.
* gnu/packages/gtk.scm (gtk+): Update to 3.18.2.
2015-10-15 23:42:15 +08:00
宋文武 9fbfb4ecb0 gnu: at-spi2-atk: Update to 2.18.1.
* gnu/packages/gtk.scm (at-spi2-atk): Update to 2.18.1.
2015-10-15 23:42:15 +08:00
宋文武 f14c0a49a7 gnu: at-spi2-core: Update to 2.18.1.
* gnu/packages/gtk.scm (at-spi2-core): Update to 2.18.1.
2015-10-15 23:42:15 +08:00
宋文武 e945787829 gnu: pango: Update to 1.38.1.
* gnu/packages/gtk.scm (pango): Update to 1.38.1.
2015-10-15 23:42:15 +08:00
宋文武 7a2c7808d0 gnu: harfbuzz: Update to 1.0.5.
* gnu/packages/gtk.scm (harfbuzz): Update to 1.0.5.
2015-10-15 23:42:15 +08:00
宋文武 492b0e383b gnu: atk: Update to 2.18.0.
* gnu/packages/gtk.scm (atk): Update to 2.18.0.
2015-10-15 23:42:14 +08:00
宋文武 7363cda42d gnu: poppler: Update to 0.37.0.
* gnu/packages/pdf.scm (poppler): Update to 0.37.0.
2015-10-15 23:42:14 +08:00
宋文武 13ddcf404b gnu: python-pygobject: Update to 3.18.0.
* gnu/packages/glib.scm (python-pygobject): Update to 3.18.0.
2015-10-15 23:42:14 +08:00
宋文武 9b4613d2ad gnu: glibmm: Update to 2.46.1.
* gnu/packages/glib.scm (glibmm): Update to 2.46.1.
2015-10-15 23:42:14 +08:00
宋文武 93d809b0df gnu: libsigc++: Update to 2.6.1.
* gnu/packages/glib.scm (libsigc++): Update to 2.6.1.
2015-10-15 23:42:14 +08:00
宋文武 fa09ebfa0e gnu: intltool: Update to 0.51.0.
* gnu/packages/glib.scm (intltool): Update to 0.51.0.
2015-10-15 23:42:14 +08:00
宋文武 ed89d90117 gnu: gobject-introspection: Update to 1.46.0.
* gnu/packages/glib.scm (gobject-introspection): Update to 1.46.0.
  [source]: Add a snippet to correct python shebang.
2015-10-15 23:42:14 +08:00
宋文武 3c19c6a4d3 gnu: glib: Update to 2.46.1.
* gnu/packages/glib.scm (glib): Update to 2.46.1.
2015-10-15 23:42:13 +08:00
Ben Woodcroft 07f61cb242 gnu: Add ruby-yard.
* gnu/packages/ruby.scm (ruby-yard): New variable.
2015-10-15 12:21:50 +02:00
Ben Woodcroft 5ac984b3d5 gnu: Add ruby-rspec-2.
* gnu/packages/ruby.scm (ruby-rspec-2): New variable.
2015-10-15 12:21:36 +02:00
Ben Woodcroft 6da9adebaa gnu: Add ruby-rspec-mocks-2.
* gnu/packages/ruby.scm (ruby-rspec-mocks-2): New variable.
2015-10-15 12:20:49 +02:00
Ben Woodcroft fb157f2507 gnu: Add ruby-rspec-expectations-2.
* gnu/packages/ruby.scm (ruby-rspec-expectations-2): New variable.
2015-10-15 12:20:02 +02:00
Ben Woodcroft 64c318f2a4 gnu: Add ruby-rspec-core-2.
* gnu/packages/ruby.scm (ruby-rspec-core-2): New variable.
2015-10-15 12:19:29 +02:00
Ricardo Wurmus 4f9ff21ea0 gnu: python-scipy: Add phase to fix tests.
* gnu/packages/python.scm (python-scipy)[arguments]: Add build phase
  "fix-tests".
2015-10-15 12:05:10 +02:00
Ricardo Wurmus 5248d49e41 gnu: python-scipy: Add numpydoc to native-inputs.
* gnu/packages/python.scm (python-numpydoc)[native-inputs]: Add
  python-numpydoc.
2015-10-15 12:05:09 +02:00
Ludovic Courtès 5f44ee4fa0 services: Unmount user file systems after process termination.
* gnu/services/base.scm (user-unmount-service-type): Change label and
  dmd name to 'user-file-systems'.
  (user-processes-service-type)[requirement]: Add 'user-file-systems'.
2015-10-14 21:39:06 +02:00
Ludovic Courtès 6f305ea5fd guix system: Add 'dmd-graph' command.
* guix/scripts/system.scm (dmd-service-node-label,
  dmd-service-node-type, export-dmd-graph): New procedures.
  (show-help): Add 'dmd-graph'.
  (guix-system)[parse-sub-command]: Likewise.
  Honor it.
* doc/guix.texi (Invoking guix system): Document it.
  (dmd Services): Add an illustration and explanation.
* doc/images/dmd-graph.dot: New file.
* doc.am (DOT_FILES): Add it.
2015-10-14 21:39:06 +02:00
Ludovic Courtès 80a6773483 services: Add 'dmd-service-back-edges'.
* gnu/services/dmd.scm (dmd-service-back-edges): New procedure.
* tests/services.scm ("dmd-service-back-edges"): New test.
2015-10-14 21:39:06 +02:00
Ludovic Courtès c5d735f798 services: Prefix <dmd-service> accessors with 'dmd-'.
* gnu/services/dmd.scm (<dmd-service>): Prefix accessor identifiers with
  'dmd-', as was intended.  Update users accordingly.
2015-10-14 21:39:06 +02:00
Ludovic Courtès d6c3267a32 guix system: Add 'extension-graph' command.
* guix/scripts/system.scm (service-node-label, service-node-type,
  export-extension-graph): New procedures.
  (guix-system)[parse-sub-command]: Add 'extension-graph'.
  Honor it.
  (show-help): Add 'extension-graph'.
* doc/guix.texi (Invoking guix system): Document it.
  (Service Composition): Add cross-reference.
2015-10-14 21:39:05 +02:00
Ludovic Courtès a64cd7b65f graph: 'export-graph' takes a #:reverse-edges? parameter.
* guix/scripts/graph.scm (export-graph): Add #:reverse-edges? parameter
  and honor it.
2015-10-14 21:39:05 +02:00
Ludovic Courtès 00184239c3 services: 'dmd-service-type' takes a service name.
* gnu/services/dmd.scm (dmd-service-type): Add 'service-name'
  parameter.
* gnu/services/base.scm, gnu/services/networking.scm,
  gnu/system/install.scm: Adjust callers.
2015-10-14 21:39:05 +02:00
Ludovic Courtès 5152d13b51 services: Export 'service-back-edges'.
* gnu/services.scm: Export 'service-back-edges' and <service-type>
  accessors.
* tests/services.scm ("service-back-edges"): New test.
2015-10-14 21:39:05 +02:00
Ludovic Courtès 87cd0dba2f build-system/gnu: dist-package: Use 'autoconf-wrapper'.
* guix/build-system/gnu.scm (dist-package): Use AUTOCONF-WRAPPER instead
  of AUTOCONF.
2015-10-14 21:39:05 +02:00
Ludovic Courtès a6785b96ff hydra: Add Graphviz and help2man as inputs to the Guix job set.
* build-aux/hydra/guix.scm (tarball-package): Add GRAPHVIZ and HELP2MAN
  to 'native-inputs' of GUIX.
2015-10-14 21:39:05 +02:00
Ben Woodcroft d9c44e9c6a gnu: diamond: Restrict supported systems to x86_64-linux.
* gnu/packages/bioinformatics.scm (diamond) [supported-systems]: Restrict to
  x86_64-linux.
2015-10-14 20:02:25 +03:00
Alex Kost 6159943851 gnu: abbaye: Use 'sdl-union'.
* gnu/packages/games.scm (abbaye)[inputs]: Use 'sdl-union'.
  [arguments]: Adjust 'set-sdl-paths' phase accordingly.
2015-10-14 19:20:59 +03:00
Alex Kost 17fa842b79 emacs: devel: Add indentation rules.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* emacs/guix-devel.el: Add indentation rules for Guix macros/procedures.
  (guix-devel-scheme-indent): New macro.
  (guix-devel-indent-package): New function.
2015-10-14 19:20:28 +03:00
宋文武 1c255eeec9 gnu: Remove dbus-localstatedir.patch.
This is a followup to 25087f.

* gnu/packages/patches/dbus-localstatedir.patch: Remove file.
2015-10-14 21:42:07 +08:00
宋文武 25087f60b6 gnu: dbus: Drop patch.
* gnu/packges/patches/dbus-localstatedir.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/glib.scm (dbus): Remove patch.
  [argumests]: Remove 'post-install' phase.  Don't create
  localestatedir and sysconfdir in the 'install' phase.
2015-10-14 21:25:33 +08:00
Ludovic Courtès 53b5856ac1 gnu: glib: Update to 2.46.0.
* gnu/packages/glib.scm (glib): Update to 2.46.0.
* gnu/packages/patches/glib-tests-desktop.patch: Add hunk to disable
  'gdbus-unix-addresses' test.
2015-10-14 14:41:26 +02:00
Ludovic Courtès bbe04ae102 gnu: dbus: Update to 1.10.0.
* gnu/packages/glib.scm (dbus)[source]: Update to 1.10.0.
  [arguments]: Add --sysconfdir=/etc.
* gnu/packages/patches/dbus-localstatedir.patch: Update.
2015-10-14 14:41:26 +02:00
Mark H Weaver 9f7ae77fe2 gnu: icecat: Update to 38.3.0-gnu1.
* gnu/packages/patches/icecat-CVE-2015-4473-partial.patch,
  gnu/packages/patches/icecat-CVE-2015-4482.patch,
  gnu/packages/patches/icecat-CVE-2015-4488.patch,
  gnu/packages/patches/icecat-CVE-2015-4489.patch,
  gnu/packages/patches/icecat-CVE-2015-4491.patch,
  gnu/packages/patches/icecat-CVE-2015-4492.patch,
  gnu/packages/patches/icecat-CVE-2015-4495.patch,
  gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch,
  gnu/packages/patches/icecat-libvpx-1.4.patch: Delete files.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: New file.
* gnu-system.am (dist_patch_DATA): Add new patch.  Remove the deleted ones.
* gnu/packages/gnuzilla.scm (icecat): Update to 38.3.0-gnu1.
  [source]: Add new patch.  Remove the deleted ones.
  [inputs]: Add libxcomposite.
  [arguments]: Add 'ensure-no-mtimes-pre-1980' phase.  Adapt
  'remove-h264parse-from-blacklist' and
  'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases to the
  new version.
2015-10-14 01:41:56 -04:00
Alex Kost 837294b7a4 gnu: geiser: Update to 0.8.1.
* gnu/packages/emacs.scm (geiser): Update to 0.8.1.
2015-10-13 22:30:07 +03:00
Ricardo Wurmus 5ff6575b08 gnu: python-rpy2: Add "zlib" to native-inputs.
* gnu/packages/python.scm (python-rpy2)[native-inputs]: Add "zlib".
2015-10-13 17:36:47 +02:00
Ricardo Wurmus ba8a082493 gnu: python-scipy, python2-scipy: Update to 0.16.0.
* gnu/packages/python.scm (python-scipy, python2-scipy): Update to
  0.16.0.
2015-10-13 16:36:40 +02:00
Ricardo Wurmus dd86c0d10c gnu: python-scipy, python2-scipy: Propagate Python inputs.
* gnu/packages/python.scm (python-scipy)[inputs]: Move "python-numpy",
  "python-matplotlib", and "python-pyparsing" to propagated-inputs; move
  "python-nose" and "python-sphinx" to native-inputs.
  [propagated-inputs]: New field.
  [native-inputs]: Move "python-nose" and "python-sphinx" from inputs
  field here.
  (python2-scipy): Modify propagated-inputs instead of inputs field.
2015-10-13 16:35:48 +02:00
Ricardo Wurmus 331a1cd727 gnu: icedtea6: Update to 1.13.8.
* gnu/packages/java.scm (icedtea6): Update to 1.13.8.
2015-10-13 13:45:51 +02:00
Ricardo Wurmus d4bf4c8f3e gnu: icedtea6: Replace "ant-bootstrap" with "ant".
* gnu/packages/java.scm (icedtea6)[native-inputs]: Replace
  "ant-bootstrap" with "ant".
  [arguments]: Remove steps to unpack and use "ant-bootstrap".
  (icedtea7)[native-inputs]: Remove explicit references to
  "ant-bootstrap" and "ant".
2015-10-13 13:45:51 +02:00
Ricardo Wurmus 60eb5614d1 gnu: ant: Build with GCJ.
* gnu/packages/java.scm (ant)[native-inputs]: Replace "icedtea6" with
  "gcj".
2015-10-13 13:45:51 +02:00
Ricardo Wurmus 397dbde8ff gnu: gcj-4.8, gcj: Update to default GCC version.
* gnu/packages/gcc.scm (gcj-4.8): Inherit from "gcc" package and rename
  variable to...
  (gcj): ...this new variable.
  (ecj-bootstrap-4.8): Rename variable to...
  (ecj-bootstrap): ...this, updating to version 4.9.
* gnu/packages/java.scm (icedtea6)[native-inputs]: Replace "gcj-4.8"
  with "gcj".
* gnu/packages/music.scm (tuxguitar)[native-inputs]: Likewise.
2015-10-13 13:45:51 +02:00
Alex Kost aec05972ce gnu: abbaye: Use 'modify-phases'.
* gnu/packages/games.scm (abbaye)[arguments]: Use 'modify-phases'.
2015-10-13 13:29:11 +03:00
Alex Kost 2e2ed3cbf9 gnu: Add manaplus.
* gnu/packages/games.scm (manaplus): New variable.
2015-10-13 13:29:11 +03:00
Ludovic Courtès b3e2a5af9f build-system/python: Memoize the results of 'package-with-python2'.
Fixes <http://bugs.gnu.org/21675>.
Reported by Cyril Roelandt <tipecaml@gmail.com>.

Before this change, the command:

  guix build python2-oslo.utils -n --no-substitutes

would take 17.5s.  After, it is down to 2.9s.
Likewise, the command:

  guix graph python2-bandit | grep python2-setuptools.*Helve| wc -l

would return 412 nodes before, all functionally equivalent, and returns
a single one now.

* guix/build-system/python.scm (package-with-explicit-python): Remove
  'p' parameter.  Change to return a one-argument memoizing procedure.
  (package-with-python2): Adjust accordingly.
2015-10-13 00:06:11 +02:00
Ludovic Courtès c80f1559eb hydra: Update demo OS to new service interface.
* build-aux/hydra/demo-os.scm: Import (gnu services dbus); remove
  arguments to 'dbus-service'.
2015-10-13 00:06:11 +02:00
Ludovic Courtès cc9c1f3935 doc: Update "Name Service Switch" to new service framework.
* gnu/services/avahi.scm (avahi-service): Mention the extension of
  nscd.
* doc/guix.texi (Networking Services): Update accordingly.
  (Name Service Switch): Remove '%my-base-services' example and
  explanation.
2015-10-13 00:06:11 +02:00
David Thompson 92e75d1e9a gnu: geiser: Update to 0.8.
* gnu/packages/emacs.scm (geiser): Update to 0.8.
2015-10-12 16:46:54 -04:00
Ludovic Courtès adc90e0eac Merge branch 'core-updates' 2015-10-12 21:42:06 +02:00
Ricardo Wurmus a8bc747ae1 gnu: lilypond: Hardcode path to "gs" executable.
* gnu/packages/music.scm (lilypond)[arguments]: Add build phase
  "hardcode-path-to-gs".
2015-10-12 21:31:54 +02:00
Ricardo Wurmus 2b10eb489c gnu: Add python-traitlets.
* gnu/packages/python.scm (python-traitlets, python2-traitlets): New
  variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus ddc7d8ed18 gnu: Add python-ipython-genutils.
* gnu/packages/python.scm (python-ipython-genutils,
  python2-ipython-genutils): New variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus cd6e5189c8 gnu: Add python-simplegeneric.
* gnu/packages/python.scm (python-simplegeneric, python2-simplegeneric):
  New variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus 0d34e01b62 gnu: Add python-pickleshare.
* gnu/packages/python.scm (python-pickleshare, python2-pickleshare): New
  variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus b74270eedb gnu: Add python-pathpy.
* gnu/packages/python.scm (python-pathpy, python2-pathpy): New
  variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus 6784f2e3fe gnu: Add python-pytest-runner.
* gnu/packages/python.scm (python-pytest-runner, python2-pytest-runner):
  New variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus 229ad120d4 gnu: Add python-setuptools-scm.
* gnu/packages/python.scm (python-setuptools-scm,
  python2-setuptools-scm): New variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus cb6d5c5468 gnu: Add python-pexpect.
* gnu/packages/python.scm (python-pexpect, python2-pexpect): New
  variables.
2015-10-12 16:08:18 +02:00
Ricardo Wurmus db94f8c734 gnu: bwa: Disable on non-x86_64.
* gnu/packages/bioinformatics.scm (bwa)[supported-systems]: Add field.
2015-10-12 15:50:33 +02:00
Alex Kost 40e94665d4 gnu: sdl-union: Wrap into a procedure and export it.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* gnu/packages/sdl.scm (sdl-union): Make it a procedure returning
  'sdl-union' package.
  (guile-sdl): Use it.
2015-10-12 11:31:01 +03:00
Alex Kost 0f6139b1b5 gnu: Add physfs.
* gnu/packages/game-development.scm (physfs): New variable.
2015-10-12 11:00:59 +03:00
Alex Kost ad8b83bda0 emacs: Add 'guix-devel-build-package-source'.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* guix/scripts.scm (build-package-source): New procedure.
* emacs/guix-devel.el (guix-devel-build-package-source): New command.
  (guix-devel-keys-map): Add key binding for it.
* doc/emacs.texi (Emacs Development): Document it.
2015-10-12 10:59:31 +03:00
Christopher Allan Webber 9d373377c9 gnu: guile: Add guile-wisp.
* gnu/packages/guile.scm (guile-wisp): New variable.
2015-10-11 21:30:12 -04:00
Ludovic Courtès 7f39e181df services: polkit: Use the right executable name for PAM.
* gnu/services/desktop.scm (%polkit-pam-services): Change "polkit-1" to
  "polkitd", which is the actual name of the executable.
2015-10-11 22:28:10 +02:00
Ludovic Courtès 2da4f2dd8e services: upower: Remove unused "upower" account.
* gnu/services/desktop.scm (%upower-accounts): Remove.
  (%upower-activation): Remove references to the "upower" account.
  (upower-service-type): Remove extension of ACCOUNT-SERVICE-TYPE.
2015-10-11 22:28:10 +02:00
Ricardo Wurmus c23c50c734 gnu: Add MARS.
* gnu/packages/games.scm (mars): New variable.
* gnu/packages/patches/mars-install.patch: New file.
* gnu/packages/patches/mars-sfml-2.3.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.
2015-10-11 15:52:59 +02:00
Alex Kost eb52419266 doc: Fix typo.
* doc/guix.texi (Defining Services): Fix typo.
2015-10-11 12:18:54 +03:00
宋文武 f18bd3f64c gnu: wicd: Install 'index.theme' file in the right place.
This is a followup to 800d8d.

* gnu/packages/wicd.scm (wicd)[arguments]: Install a copy of 'index.theme'
  from 'hicolor-icon-theme' into $out/share/icons/hicolor.
2015-10-11 09:56:56 +08:00
Mark H Weaver ed01970389 gnu: gnupg: Update to 2.1.9.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.9.
2015-10-10 17:17:16 -04:00
Ludovic Courtès 0adfe95a3e services: Introduce extensible services.
This patch rewrites GuixSD services to make them extensible.

* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/dbus.scm.
* gnu/services.scm (<service>): Replace with new record type.
  (<service-extension>, <service-type>): New record types.
  (write-service-type, compute-boot-script, second-argument): New
  procedures.
  (%boot-service, boot-service-type): New variables.
  (file-union, directory-union, modprobe-wrapper,
  activation-service->script, activation-script,
  gexps->activation-gexp): New procedures.
  (activation-service-type, %activation-service): New variables.
  (etc-directory, files->etc-directory, etc-service): New procedures.
  (etc-service-type, setuid-program-service, firmware-service-type): New
  variables.
  (firmware->activation-gexp): New procedure.
  (&service-error, &missing-target-service-error,
  &ambiguous-target-service-error): New condition types.
  (service-back-edges, fold-services): New procedures.
* gnu/services/avahi.scm (<avahi-configuration>): New record type.
  (configuration-file): Replace keyword parameters with a single
  'config' parameter.
  (%avahi-accounts, %avahi-activation, avahi-service-type): New
  variables.
  (avahi-dmd-service): New procedure.
  (avahi-service): Rewrite using 'service' and 'avahi-configuration'.
* gnu/services/base.scm (%root-file-system-dmd-service,
  root-file-system-service-type): New variables.
  (root-file-system-service): Use them.
  (file-system->dmd-service-name): New procedure.
  (file-system-service-type): New variable.
  (file-system-service): Use it.  Replace keyword parameters with a
  single 'file-system' object.
  (user-unmount-service-type): New variable.
  (user-unmount-service): Use it.
  (user-processes-service-type): New variable.
  (user-processes-service): Use it.
  (host-name-service-type): New variable.
  (host-name-service): Use it.
  (console-keymap-service-type): New variable.
  (console-keymap-service): Use it.
  (console-font-service-type): New variable.
  (console-font-service): Use it.
  (mingetty-pam-service, mingetty-dmd-service): New procedures.
  (mingetty-service-type): New variable.
  (mingetty-service): Use it.
  (nscd-dmd-service): New procedure.
  (nscd-activation, nscd-service-type): New variables.
  (nscd-service): Use the latter.
  (syslog-service-type): New variable.
  (syslog-service): Use it.
  (<guix-configuration>): New record type.
  (%default-guix-configuration): New variable.
  (guix-dmd-service, guix-accounts, guix-activation): New procedures.
  (guix-service-type): New variable.
  (guix-service): Replace list of keyword parameters with a single
  'config' parameter.  Rewrite using 'service'.
  (<udev-configuration>): New record type.
  (udev-dmd-service): New procedure.
  (udev-service-type): New variable.
  (udev-service): Use it.
  (device-mapping-service-type): New variable.
  (device-mapping-service): Use it.
  (swap-service-type): New variable.
  (swap-service): Use it.
* gnu/services/databases.scm (<postgresql-configuration>): New record
  type.
  (%postgresql-accounts, postgresql-activation): New variables.
  (postgresql-dmd-service): New procedure.
  (postgresql-service): Rewrite using 'service' and
  'postgresql-configuration'.
* gnu/services/dbus.scm: New file.
* gnu/services/desktop.scm (dbus-configuration-directory, dbus-service):
  Remove.
  (wrapped-dbus-service): New procedure.
  (<upower-configuration>): New record type.
  (upower-configuration-file): Replace keyword parameters with single
  <upower-configuration> parameter.
  (%upower-accounts, %upower-activation): New variables.
  (upower-dbus-service, upower-dmd-service): New procedures.
  (upower-service-type): New variable.
  (upower-service): Rewrite using 'service' and 'upower-configuration'.
  (%colord-activation, %colord-accounts): New variables.
  (colord-dmd-service): New procedure.
  (colord-service-type): New variable.
  (colord-service): Rewrite using 'service'.
  (<geoclue-configuration>): New record type.
  (geoclue-configuration-file): Replace keyword parameters with a single
  'config' parameter.
  (geoclue-dbus-service, geoclue-dmd-service): New procedures.
  (%geoclue-accounts, geoclue-service-type): New variables.
  (geoclue-service): Rewrite using 'service' and
  'geoclue-configuration'.
  (%polkit-accounts, %polkit-pam-services, polkit-service-type): New
  variables.
  (polkit-dmd-service): New procedure.
  (polkit-service): Rewrite using 'service'.
  (<elogind-configuration>)[elogind]: New field.
  (elogind-dmd-service): New procedure.
  (elogind-service-type): New variable.
  (elogind-service): Rewrite using 'service'.
  (%desktop-services): Remove argument to 'dbus-service'.  Remove 'map'
  over %BASE-SERVICES.
* gnu/services/dmd.scm (dmd-boot-gexp): New procedure.
  (dmd-root-service-type, %dmd-root-service): New variables.
  (dmd-service-type): New macro.
  (<dmd-service>): New record type.
* gnu/services/lirc.scm (<lirc-configuration>): New record type.
  (%lirc-activation): New variable.
  (lirc-dmd-service): New procedure.
  (lirc-service-type): New variable.
  (lirc-service): Rewrite using 'service' and 'lirc-configuration'.
* gnu/services/networking.scm (<static-networking>): New record type.
  (static-networking-service-type): New variable.
  (static-networking-service): Rewrite using 'service' and
  'static-networking'.
  (dhcp-client-service-type): New variable.
  (dhcp-client-service): Rewrite using 'service'.
  (<ntp-configuration>): New record type.
  (ntp-dmd-service): New procedure.
  (ntp-service-type): New variable.
  (ntp-service): New procedure.
  (%tor-accounts, tor-service-type): New variable.
  (tor-dmd-service): New procedure.
  (tor-service): Rewrite using 'service'.
  (<bitlbee-configuration>): New record type.
  (bitlbee-dmd-service): New procedure.
  (%bitlbee-accounts, %bitlbee-activation, bitlbee-service-type): New
  variables.
  (bitlbee-service): Rewrite using 'service'.
  (%wicd-activation): New variable.
  (wicd-dmd-service): New procedure.
  (wicd-service-type): New variable.
  (wicd-service): Rewrite using 'service'.
* gnu/services/ssh.scm (<lsh-configuration>): New record type.
  (activation): Rename to...
  (lsh-initialization): ... this.
  (lsh-activation, lsh-dmd-service, lsh-pam-services): New procedures.
  (lsh-service-type): New variable.
  (lsh-service): Rewrite using 'service' and 'lsh-configuration'.
* gnu/services/web.scm (<nginx-configuration>): New record type.
  (%nginx-accounts): New variable.
  (nginx-activation, nginx-dmd-service): New procedures.
  (nginx-service-type): New variable.
  (nginx-service): Rewrite using 'service' and 'nginx-configuration'.
* gnu/services/xorg.scm (<slim-configuration>): New record type.
  (slim-pam-service, slim-dmd-service): New procedures.
  (slim-service-type): New variable.
  (slim-service): Rewrite using 'service' and 'slim-configuration'.
* gnu/system.scm (file-union): Remove.
  (other-file-system-services): Adjust to new 'file-system-service'
  signature.
  (essential-services): Add #:container? parameter.  Add
  %DMD-ROOT-SERVICE, %ACTIVATION-SERVICE, and calls to
  'pam-root-service', 'account-service', 'operating-system-etc-service',
  and a SETUID-PROGRAM-SERVICE instance.
  (operating-system-services): Pass #:container? to 'essential-services.
  (etc-directory): Remove.
  (operating-system-etc-service): New procedure.  Rewrite as a call to
  'etc-service'.
  (operating-system-accounts): Change to not return accounts required by
  services.
  (operating-system-etc-directory): Rewrite as a call to 'fold-services'
  and 'etc-directory'.
  (user-group->gexp, user-account->gexp, modprobe-wrapper): Remove.
  (operating-system-activation-script): Rewrite as a call to
  'fold-services' and 'activation-service->script'.
  (operating-system-boot-script): Likewise.
  (operating-system-derivation): Add call to 'lower-object'.
  (emacs-site-file, emacs-site-directory, shells-file): Change to use
  'computed-file' and 'scheme-file' instead of the monadic procedures.
* gnu/system/install.scm (cow-store-service-type): New variable.
  (cow-store-service): Rewrite using 'service'.
  (/etc/configuration-files): New procedure.
  (configuration-template-service-type,
  %configuration-template-service): New variables.
  (configuration-template-service): Remove.
  (installation-services): Adjust accordingly.  Adjust argument to
  'guix-service'.
* gnu/system/linux.scm (/etc-entry, pam-root-service): New procedures.
  (pam-root-service-type): New variable.
* gnu/system/shadow.scm (user-group->gexp, user-account->gexp,
  account-activation, etc-skel, account-service): New procedures.
  (account-service-type): New variable.
* tests/services.scm: New file.
* doc/guix.texi (Base Services, Desktop Services): Adjust accordingly.
  (Defining Services): Rewrite.
* doc/images/service-graph.dot: New file.
* doc.am (DOT_FILES): Add it.
* po/guix/POTFILES.in: Add gnu/services.scm.
2015-10-10 22:55:15 +02:00
Ludovic Courtès e79467f63a system: Account skeleton API is non-monadic.
* gnu/system/shadow.scm (default-skeletons): Use the non-monadic
  procedures and turn into a regular procedure.
  (skeleton-directory): Likewise.
* gnu/system.scm (etc-directory): Adjust accordingly.
2015-10-10 22:46:15 +02:00
Ludovic Courtès f3f427c2e9 guix system: Add '--derivation'.
* guix/scripts/system.scm (perform-action): Add #:derivations-only?
  parameter and honor it.
  (show-help, %options): Add '--derivation'.
  (guix-system): Pass #:derivations-only? to 'perform-action'.
* tests/guix-system.sh: Test it.
* doc/guix.texi (Invoking guix system): Document it.
2015-10-10 22:46:15 +02:00
Ludovic Courtès 23afe939a2 system: pam: Use 'computed-file' instead of 'gexp->derivation'.
* gnu/system/linux.scm (pam-service->configuration): Use 'computed-file'
  instead of 'gexp->derivation'.
  (pam-services->directory): Likewise.
* gnu/system.scm (etc-directory): Adjust accordingly.
2015-10-10 22:46:15 +02:00
Ludovic Courtès e1c153e0ab gexp: Add 'scheme-file'.
* guix/gexp.scm (<scheme-file>): New record type.
  (scheme-file, scheme-file-compiler): New procedures.
* tests/gexp.scm ("scheme-file"): New test.
* doc/guix.texi (G-Expressions): Document 'scheme-file'.
2015-10-10 22:46:15 +02:00
Ludovic Courtès b893f1aec3 services: nscd-service: Fit everything into <nscd-configuration>.
* gnu/services/base.scm (<nscd-configuration>)[glibc, name-services]:
  New fields.
  (nscd-service): Remove #:glibc and #:name-services parameters.  Adjust
  body to take those from CONFIG.
* gnu/services/desktop.scm (%desktop-services): Adjust accordingly.
* doc/guix.texi (Base Services): Adjust accordingly.
  (Name Service Switch): Adjust example.
2015-10-10 22:46:14 +02:00
Ludovic Courtès 66e4f01c60 services: mingetty-service: Use <mingetty-configuration> objects.
* gnu/services/base.scm (<mingetty-configuration>): New record type.
  (mingetty-service): Expect a single <mingetty-configuration> instead
  of keyword arguments.
  (%base-services): Adjust accordingly.
* gnu/system/install.scm (installation-services): Likewise.
* doc/guix.texi (Base Services): Adjust accordingly.
2015-10-10 22:46:14 +02:00
Ludovic Courtès be1c2c54d9 system: Make service procedures non-monadic.
* gnu/services/avahi.scm (configuration-file): Use 'plain-file' instead
  of 'text-file'.
  (avahi-service): Turn into a regular procedure that returns a <service>.
* gnu/services/base.scm (root-file-system-service, file-system-service,
  user-unmount-service, user-processes-service, host-name-service,
  console-keymap-service, console-font-service, mingetty-service,
  nscd.conf-file, nscd-service): Likewise.
  (%default-syslog.conf): New variable.
  (syslog-service): Use it.  Turn into a regular procedure.
  (guix-service, udev-rules-union, kvm-udev-rule, udev-service,
  device-mapping-service, swap-service): Likewise.
* gnu/services/databases.scm (%default-postgres-hba,
  %default-postgres-ident): Use 'plain-file' instead of 'text-file'.
  (%default-postgres-config): Use 'mixed-text-file' instead of
  'text-file*'.
  (postgresql-service):  Use 'program-file' instead of 'gexp->script'.
  Turn into a regular procedure.
* gnu/services/desktop.scm (dbus-configuration-directory): Use
  'computed-file' instead of 'gexp->derivation'.
  (upower-configuration-file, geoclue-configuration-file,
  elogind-configuration-file): Use 'plain-file' instead of 'text-file'.
  (dbus-service, upower-service, colord-service, geoclue-service,
  polkit-service, elogind-service): Turn into regular procedures.
  (%desktop-services): Remove use of 'mlet' when iterating on
  %BASE-SERVICES.
* gnu/services/lirc.scm (lirc-service): Turn into a regular procedure.
* gnu/services/networking.scm (static-networking-service,
  dhcp-client-service, ntp-service, tor-service, bitlbee-service,
  wicd-service): Likewise.
* gnu/services/ssh.scm (lsh-service): Likewise.
* gnu/services/web.scm (nginx-service): Likewise.
* gnu/services/xorg.scm (xorg-configuration-file): Use 'mixed-text-file'
  instead of 'text-file*'.
  (xorg-start-command, slim-service): Turn into regular procedures.
  (xinitrc): Use 'program-file' instead of 'gexp->script'.
* gnu/system/install.scm (cow-store-service,
  configuration-template-service): Turn into regular procedures.
* gnu/system.scm (other-file-system-services, device-mapping-services,
  swap-services, essential-services, operating-system-services,
  user-shells, operating-system-accounts): Remove now unnecessary
  'mlet' and turn into regular procedures.
  (operating-system-etc-directory, operating-system-activation-script,
  operating-system-boot-script): Adjust accordingly.
* doc/guix.texi (Base Services, Networking Services, X Window, Desktop
  Services, Database Services, Web Services, Various Services, Name
  Service Switch): Adjust accordingly.
2015-10-10 22:46:14 +02:00
Ludovic Courtès ce8a6dfc43 services: 'mingetty-service' no longer takes monadic values.
* gnu/services/base.scm (mingetty-service): Change default value of
  #:motd from a monadic value to a <plain-file>.  Assume MOTD to be a
  file-like object.  Assume LOGIN-PROGRAM is a gexp or #f.
  (%base-services): Use 'plain-file' instead of 'text-file' for motd.
* gnu/system/linux.scm (unix-pam-service): Update docstring to mention
  that MOTD is a file-like object.
* doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation
  accordingly.
* gnu/system/install.scm (installation-services): Adjust accordingly.
  (log-to-info): Use 'program-file' instead of 'gexp->script'.
2015-10-10 22:46:14 +02:00
Ludovic Courtès b751cde36b gexp: Add 'mixed-text-file'.
* guix/gexp.scm (mixed-text-file): New procedure.
* tests/gexp.scm ("mixed-text-file"): New test.
* doc/guix.texi (G-Expressions): Document it.
2015-10-10 22:46:14 +02:00
Ludovic Courtès 15a01c7220 gexp: Add 'program-file'.
* guix/gexp.scm (<program-file>): New record type.
  (program-file, program-file-compiler): New procedures.
* tests/gexp.scm ("program-file"): New test.
* doc/guix.texi (G-Expressions): Document it.
2015-10-10 22:46:14 +02:00
Ludovic Courtès 919370291f gexp: Add 'computed-file'.
* guix/gexp.scm (<computed-file>): New record type.
  (computed-file, computed-file-compiler): New procedures.
* tests/gexp.scm ("lower-object, computed-file"): New test.
* doc/guix.texi (G-Expressions): Document 'computed-file'.
2015-10-10 22:46:14 +02:00
David Thompson a72ccbc251 build: container: Fix call-with-clean-exit.
Before, call-with-clean-exit would *always* return an exit code of 1.

* gnu/build/linux-container.scm (call-with-clean-exit): Exit with status
  code of 0 if thunk does not throw an exception.
* tests/containers.scm: Add test.
2015-10-10 09:00:49 -04:00
Cyril Roelandt f5a21dc4cf gnu: Add python-bandit.
* gnu/packages/openstack.scm (python-bandit, python2-bandit): New variables.
2015-10-10 03:20:49 +02:00
Cyril Roelandt 7787ef76b6 gnu: Update python-fixtures
* gnu/packages/python.scm (python-fixtures): Update.
* gnu/packages/python.scm (python-fixtures-0.3.16,
  python2-fixtures-0.3.16, python-pbr-0.11,
  python2-pbr-0.11): New variables.
* gnu/packages/python.scm (python-testrepository): Use python-fxitures-0.3.16
  instead of python-fixtures in the inputs.
2015-10-10 03:20:49 +02:00
Cyril Roelandt 643725a155 gnu: Add python-pip.
* gnu/packages/python.scm (python-pip, python2-pip): New variables.
2015-10-10 03:20:44 +02:00
Ludovic Courtès 28eb956dfe Thank Chris. 2015-10-09 20:57:24 +02:00
Ludovic Courtès ca34fc317f build: Fix libgcrypt detection on FHS systems.
Reported by Christopher Allan Webber <cwebber@dustycloud.org>.

* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): Add "grep -e -L" to the pipeline
  to account for cases where the output of "libgcrypt-config --libs"
  lacks a -L flag.
* configure.ac: When 'GUIX_LIBGCRYPT_LIBDIR' returns the empty string,
  set LIBGCRYPT_LIBDIR to "no".
* config-daemon.ac: Add missing space.
2015-10-09 20:57:24 +02:00
David Thompson 1de2fe95e0 scripts: environment: Use system* instead of system.
This allows for direct program invokation without needing a shell to act
as a command interpreter.

* guix/scripts/environment.scm (%default-shell): New variable.
  (show-help): Adjust description.  Remove '--exec' reference.
  (%default-options): Use '%default-shell'.
  (%options): Adjust '--exec' to run command via the default shell.
  (parse-args): New procedure.
  (guix-environment): Use 'parse-args'.  Use 'system*' instead of
  'system'.
* tests/guix-environment.sh: Add test for '--' command invokation.
* doc/guix.texi ("Invoking guix environment"): Use new syntax.  Remove
  '--exec' documentation.
2015-10-09 12:17:01 -04:00
David Thompson bbd00d2012 utils: Add split procedure.
* guix/utils.scm (split): New procedure.
* tests/utils.scm: Add tests.
2015-10-09 12:17:01 -04:00
Alex Kost b94ef11a53 emacs: Add 'guix-devel-lint-package'
Suggested by Ludovic Courtès <ludo@gnu.org>.

* emacs/guix-devel.el (guix-devel-setup-repl): Add a workaround for
  'guix-warning-port'.
  (guix-devel-lint-package): New command.
  (guix-devel-keys-map): Add key binding for it.
* doc/emacs.texi (Emacs Development): Document it.
2015-10-09 16:17:45 +03:00
Alex Kost e04741f160 lint: Export 'run-checkers'.
* guix/scripts/lint.scm (run-checkers): Export.  Make 'checkers'
  argument optional.
2015-10-09 16:17:45 +03:00
Alex Kost 5952111cc0 emacs: Add 'guix-devel-with-definition'.
* emacs/guix-devel.el (guix-devel-with-definition): New macro.
  (guix-devel-build-package-definition): Use it.
  (guix-devel-emacs-font-lock-keywords): New variable.
2015-10-09 16:17:45 +03:00
Alex Kost 5a60d56975 emacs: Fix 'guix-devel-setup-repl'.
Setting up guix ports needs to be done in Geiser REPL synchronously,
otherwise this operation may not be finished before the further
evaluating of guile code.

* emacs/guix-guile.el (guix-guile-prompt?): New function.
* emacs/guix-geiser.el (guix-geiser-eval-in-repl-synchronously): New
  function.
* emacs/guix-devel.el (guix-devel-setup-repl): Use it.
2015-10-09 16:17:45 +03:00
Alex Kost 7c786db4fb emacs: Fix 'guix-build-log-phase-toggle-all'.
* emacs/guix-build-log.el (guix-build-log-phase-toggle-all): Handle the
  case when there are no characters before the first phase:
  'guix-build-log-next-phase' moves to the second phase in such a case,
  and the toggling is not done properly, so use 're-search-forward'
  instead.
2015-10-09 16:17:45 +03:00
Alex Kost 88908d55e0 emacs: devel: Fix 'modify-phases' highlighting.
* emacs/guix-devel.el (guix-devel-modify-phases-font-lock-pre): Handle
  the case when 'modify-phases' is commented.
2015-10-09 16:17:44 +03:00
Alex Kost 1af9815d81 emacs: devel: Highlight gexp symbols.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* emacs/guix-devel.el (guix-devel-gexp-symbol): New face.
  (guix-devel-font-lock-keywords): Adjust to handle gexp symbols.
2015-10-09 16:14:11 +03:00
Ludovic Courtès 9765b3aeac Revert "gnu: python: Do not retain references to build tools."
This reverts commit 14f8dae6b1, which
was unintentionally pushed (it does not work with Python 3.)
2015-10-08 18:08:16 +02:00
Mark H Weaver b81378251c Merge branch 'master' into core-updates 2015-10-08 10:59:39 -04:00
Mark H Weaver b5881775ac gnu: libunwind: Add fix for CVE-2015-3239.
* gnu/packages/patches/libunwind-CVE-2015-3239.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/libunwind.scm (libunwind)[source]: Add patch.
2015-10-08 10:55:52 -04:00
Mark H Weaver f956d661ad gnu: libwmf: Add fixes for several security flaws.
* gnu/packages/patches/libwmf-CAN-2004-0941.patch,
  gnu/packages/patches/libwmf-CVE-2007-0455.patch,
  gnu/packages/patches/libwmf-CVE-2007-2756.patch,
  gnu/packages/patches/libwmf-CVE-2007-3472.patch,
  gnu/packages/patches/libwmf-CVE-2007-3473.patch,
  gnu/packages/patches/libwmf-CVE-2007-3477.patch,
  gnu/packages/patches/libwmf-CVE-2009-3546.patch: New files.
* gnu/packages/patches/libwmf-CVE-2015-0848+4588+4695+4696.patch: Delete
  file.  Replace with ...
* gnu/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch,
  gnu/packages/patches/libwmf-CVE-2015-4695.patch,
  gnu/packages/patches/libwmf-CVE-2015-4696.patch: ... these new files.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/image.scm (libwmf)[source]: Adjust set of patches.
2015-10-08 10:46:30 -04:00
Mark H Weaver 48e4a9f32f gnu: unzip: Add various fixes.
* gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch: Delete
  file.  Replace with ...
* gnu/packages/patches/unzip-overflow-long-fsize.patch: ... this new file.
* gnu/packages/patches/unzip-attribs-overflow.patch,
  gnu/packages/patches/unzip-fix-overflows-and-infloop.patch,
  gnu/packages/patches/unzip-format-secure.patch: New files.
* gnu/packages/patches/unzip-CVE-2014-9636.patch: Replace contents with
  fixed patch from Fedora.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/zip.scm (unzip)[source]: Adjust list of patches.
2015-10-08 10:07:44 -04:00
Mark H Weaver e91e28d60c gnu: wpa-supplicant: Update to 2.5.
* gnu/packages/patches/wpa-supplicant-2015-2-fix.patch,
  gnu/packages/patches/wpa-supplicant-2015-3-fix.patch,
  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch,
  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch,
  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch,
  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch,
  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch,
  gnu/packages/patches/wpa-supplicant-2015-5-fix.patch,
  gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch: Delete files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/admin.scm (wpa-supplicant-minimal): Update to 2.5.
  Remove patches.
2015-10-08 09:15:30 -04:00
Ricardo Wurmus 797e1401fe gnu: python-h5py: Fix path to hdf5 library.
* gnu/packages/python.scm (python-h5py)[arguments]: Add "fix-hdf5-paths"
  phase.
2015-10-08 14:39:11 +02:00
Ricardo Wurmus 3c4010b1e9 gnu: python-h5py, python2-h5py: Correct inputs.
* gnu/packages/python.scm (python-h5py)
  [inputs]: Remove python-cython and python-numpy.
  [propagated-inputs]: New field.
  [native-inputs]: Drop python-setuptools and add python-cython.
  (python2-h5py): Replace "inputs" with "propagated-inputs".
2015-10-08 14:39:11 +02:00
Ricardo Wurmus 1285119bde gnu: Add python-joblib.
* gnu/packages/python.scm (python-joblib, python2-joblib): New
  variables.
2015-10-08 14:39:11 +02:00
Efraim Flashner fd5b213302 Correct "Revert "gnu: camlp4: Remove extra input.""
This corrects a typo in 0d1c0660d7.
2015-10-08 12:17:21 +03:00
Efraim Flashner 0d1c0660d7 Revert "gnu: camlp4: Remove extra input."
This reverts commit d04efa0fff.
2015-10-08 12:10:47 +03:00
Mark H Weaver 319fe79dd0 Merge branch 'master' into core-updates 2015-10-07 23:55:17 -04:00
Mark H Weaver a606ed89d4 gnu: webkitgtk-2.4: Fix potential code execution vulnerability.
* gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/webkit.scm (webkitgtk-2.4)[source]: Add patch.
2015-10-07 22:54:09 -04:00
Mark H Weaver 2ab5e39d22 gnu: libvpx: Set size limit to avoid CVE-2015-1258.
* gnu/packages/video.scm (libvpx)[arguments]: Add "--size-limit"
  argument to configure.
2015-10-07 22:41:18 -04:00
Mark H Weaver 7ab73c4add gnu: openjpeg-2.x: Add fix for CVE-2015-6581.
* gnu/packages/patches/openjpeg-CVE-2015-6581.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/image.scm (openjpeg, openjpeg-2.0)[source]: Add patch.
2015-10-07 22:18:13 -04:00
Mark H Weaver 9511de1ef8 gnu: gdk-pixbuf: Update to 2.32.1.
* gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.32.1.
2015-10-07 21:49:03 -04:00
Ludovic Courtès 6a20289d5a gnu: python: Simplify list of configure flags.
* gnu/packages/patches/python-2.7-search-paths.patch,
  gnu/packages/patches/python-3-search-paths.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/python.scm (python-2)[source]: Use first patch.
  [arguments]: Remove now unneeded CPPFLAGS and LDFLAGS.
  (python)[source]: Use second patch.
  (python-minimal)[arguments]: Remove CPPFLAGS and LDFLAGS.
2015-10-08 00:05:34 +02:00
Ludovic Courtès afa181fff4 gnu: python: Build the tkinter module.
Fixes <http://bugs.gnu.org/20889>.
Reported by Federico Beffa <beffa@ieee.org>.

* gnu/packages/python.scm (python-2)[arguments]: Pass
  --with-tcltk-includes and --with-tcltk-libs.
  [inputs]: Add TCL and TK.
2015-10-07 23:25:25 +02:00
Ludovic Courtès 95288fcc6c gnu: python: Add "minimal" variants.
* gnu/packages/python.scm (python2-minimal, python-minimal): New
  variables.
  (wrap-python3): New procedure.
  (python-wrapper): Use it.
  (python-minimal-wrapper): New variable.
* gnu/packages/xml.scm (libxslt)[native-inputs]: Use
  PYTHON-MINIMAL-WRAPPER instead of PYTHON-WRAPPER.
* gnu/packages/xorg.scm (xcb-proto, libxcb, xorg-server): Likewise.
2015-10-07 23:25:22 +02:00
Efraim Flashner d04efa0fff gnu: camlp4: Remove extra input.
* gnu/packages/ocaml.scm (camlp4)[inputs]: Removed duplicate "ocaml"
  entry from native-inputs.
2015-10-07 21:22:17 +03:00
Efraim Flashner 751b7aad1e gnu: gprolog: Remove armhf from supported architectures.
* gnu/packages/gprolog.scm (gprolog)[supported-systems]: Remove
  armhf-linux from the list of supported systems.
2015-10-07 21:22:17 +03:00
Efraim Flashner 2e13698763 gnu: mosh: Update to 1.2.5.
* gnu/packages/ssh.scm (mosh): Update to 1.2.5.
2015-10-07 16:43:40 +03:00
Ludovic Courtès 0d56e3e1bc gnu: python-wrapper: Improve synopsis and description.
* gnu/packages/python.scm (python-wrapper): Add 'synopsis' field; provide
  literal 'description' value.
2015-10-07 11:53:01 +02:00
Ludovic Courtès 14f8dae6b1 gnu: python: Do not retain references to build tools.
* gnu/packages/python.scm (python-2)[arguments]: Add
  'do-not-record-configure-flags' and
  'do-not-record-configure-flags-in-makefile' phases.
2015-10-07 11:30:41 +02:00
Efraim Flashner 543dbd9859 gnu: enlightenment: Update to 0.19.12.
* gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.12.
2015-10-07 10:44:46 +03:00
Ricardo Wurmus b1006576d7 gnu: Add r-htmlwidgets.
* gnu/packages/web.scm (r-htmlwidgets): New variable.
2015-10-07 09:10:46 +02:00
Ricardo Wurmus f1a045e266 gnu: Add r-htmltools.
* gnu/packages/web.scm (r-htmltools): New variable.
2015-10-07 09:10:45 +02:00
Ricardo Wurmus dedaf7ac74 gnu: ibus-libpinyin: Add GTK+ and Glib inputs.
* gnu/packages/ibus.scm (ibus-libpinyin)[inputs]: Add gtk+.
  [native-inputs]: Add glib:bin.
2015-10-07 08:55:43 +02:00
Eric Bavier 3cbf1204ef gnu: imagemagick: Hard-code delegate paths.
If --with-frozenpaths is given, then configure will retain absolute paths
discovered for delegate programs, otherwise they are discarded.

* gnu/packages/imagemagick.scm (imagemagick)[arguments]: Add
  '--with-frozenpaths' to #:configure-flags.
2015-10-06 15:31:23 -05:00
Ludovic Courtès cf4e7083ed publish: Fix file descriptor leak.
A client closing the connection while reading from a /nar URL would
leave an open file descriptor in the server.  This patch fixes it.

* guix/scripts/publish.scm (swallow-EPIPE): New macro.
  (http-write): Use it around 'write-file' call.
2015-10-06 23:51:04 +02:00
Ludovic Courtès 38e16b4907 doc: Clarify how to run 'guix refresh -u'.
* doc/guix.texi (Invoking guix refresh): Mention ./pre-inst-env.
2015-10-06 23:51:04 +02:00
Ludovic Courtès 72c62716be import: snix: Adjust names of license attributes.
* guix/import/snix.scm (license-variable): Adjust names to current
  Nixpkgs.
2015-10-06 23:51:04 +02:00
Ludovic Courtès f073e52382 utils: Remove Nixpkgs helpers.
* guix/config.scm.in (%nixpkgs): Remove.
* guix/utils.scm (%nixpkgs-directory, nixpkgs-derivation,
  nixpkgs-derivation*): Remove.
* test-env.in: Export 'NIXPKGS'.
* tests/derivations.scm (%coreutils): Remove use of
  'nixpkgs-derivation'.
* tests/snix.scm (%nixpkgs-directory): New variable.
  Adjust users accordingly.
2015-10-06 23:51:04 +02:00
Ludovic Courtès dd01fecd23 build: Automatically determine libgcrypt's file name.
* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro.
* configure.ac: Use it when no --with-libgcrypt-* option was passed.
* README: Do not recommend --with-libgcrypt-prefix.

Co-authored-by: 宋文武 <iyzsong@gmail.com>
2015-10-06 23:51:04 +02:00
Efraim Flashner 04d1ab3bf5 gnu: elementary: Update to 1.15.2.
* gnu/packages/enlightenment.scm (elementary): Update to 1.15.2.
2015-10-06 23:33:03 +03:00
Efraim Flashner 6b3c9db11e gnu: efl: Update to 1.15.2.
* gnu/packages/enlightenment.scm (efl): Update to 1.15.2.
2015-10-06 23:13:23 +03:00
Efraim Flashner 2da45ebe56 gnu: libbluray: Remove java as native-input.
* gnu/packages/video.scm (libbluray)[inputs]: Remove "ant" and "icedtea"
  as native-inputs.
  [arguments]: Remove environmental variable "JAVA_HOME". Add configure
  flag to disable java.
2015-10-06 20:22:09 +03:00
Ludovic Courtès 42e735dfc7 gnu: gmp: Skip unreliable test.
* gnu/packages/patches/gmp-faulty-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/multiprecision.scm (gmp)[source]: Use it.
2015-10-06 15:18:44 +02:00
Ludovic Courtès 18bf40a087 gnu: gawk: Remove unneeded 'install-locale' phase.
* gnu/packages/gawk.scm (gawk)[arguments]: Remove now unneeded
  'install-locale' phase.
2015-10-06 15:02:27 +02:00
Efraim Flashner 69762e3c92 gnu: libdvdcss: Update to 1.3.99.
* gnu/packages/video.scm (libdvdcss): Update to 1.3.99.
2015-10-06 15:19:13 +03:00
Efraim Flashner 3f9f176b3a gnu: libbluray: Upgrade to 0.9.1.
* gnu/packages/video.scm (libbluray): Upgrade to 0.9.1.
  [inputs]: Add "ant" and "icedtea7" to native-inputs.
  [arguments]: Set environment variable "JAVA_HOME".
2015-10-06 15:19:13 +03:00
Ludovic Courtès e3302fec18 import: pypi: Remove unused procedure.
* guix/import/pypi.scm (join): Remove.
2015-10-05 23:10:14 +02:00
Ludovic Courtès 85e5721421 gnu: glibc: Look for locale data in versioned sub-directories.
Suggested by Mark H Weaver <mhw@netris.org>.

* gnu/packages/patches/glibc-versioned-locpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[source]: Use it.
  [arguments]: Add explicit version sub-directory to
  libc_cv_localedir.
  [native-search-paths]: Use 'GUIX_LOCPATH' instead of 'LOCPATH'.
  (glibc-locales, glibc-utf8-locales): Write to a VERSION
  sub-directory.
2015-10-05 22:34:50 +02:00
Ludovic Courtès f211b2af67 Revert "gnu: glibc: Honor 'GUIX_LOCPATH'."
This reverts commits fbb909ac7e
and 2ebe938c2f.
2015-10-05 22:34:34 +02:00
宋文武 025cc9a1ed gnu: wine: Update to 1.7.52, add more inputs.
* gnu/packages/wine.scm (wine): Update to 1.7.52.
  [inputs]: Add cups, glu and openal.
2015-10-05 18:19:21 +08:00
宋文武 4a30930b84 gnu: feh: Update to 2.14.
* gnu/packages/feh.scm (feh): Update to 2.14.
2015-10-05 16:28:30 +08:00
Andreas Enge 1eaeeddfba gnu: calibre: Update to 2.40.0.
* gnu/packages/ebook.scm (calibre): Update to 2.40.0.
2015-10-04 23:04:27 +02:00
Andreas Enge 9c32e1fef1 gnu: qt: Remove bundled copy of sqlite.
* gnu/packages/qt.scm (qt)[source]: Add snippet to remove the bundled
  copy of sqlite.

Partially fixes <http://bugs.gnu.org/21288>.
2015-10-04 23:04:27 +02:00
Andreas Enge bc554b43d6 gnu: qt: Compile with system harfbuzz.
* gnu/packages/qt.scm (qt)[source]: Add a snippet to remove one of the two
  bundled copies of harfbuzz.
  [arguments]: Pass a configure flag to use harfbuzz from the system.

Partially fixes <http://bugs.gnu.org/21288>.
2015-10-04 23:04:27 +02:00
Andreas Enge 14bcc1e1cd gnu: qt: Remove the sources of qtwebengine.
* gnu/packages/qt.scm (qt)[source]: Add snippet to remove the qtwebengine
  code, which was already not built anymore, and drop one patch used
  previously only for qtwebengine.
  [arguments]: Drop the configuration flag "-skip qtwebengine", since
  deleted modules cannot be skipped.
* gnu/packages/patches/qt5-runpath.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Unregister patch.

Partially fixes <http://bugs.gnu.org/21288>.
2015-10-04 23:04:26 +02:00
Mathieu Lirzin 2b00a55064 gnu: Add autobuild.
* gnu/packages/autotools.scm (autobuild): New variable.
2015-10-04 20:24:40 +02:00
Mark H Weaver 1a400bd589 gnu: linux-libre: Update to 4.2.3.
* gnu/packages/linux.scm (linux-libre): Update to 4.2.3.
2015-10-04 12:35:04 -04:00
Alex Kost 9fbd458b8d gnu: rtorrent: Update to 0.9.6.
* gnu/packages/bittorrent.scm (rtorrent): Update to 0.9.6.
  [source]: Use new URL.
2015-10-04 19:22:41 +03:00
Alex Kost 29b4c57bf0 gnu: libtorrent: Update to 0.13.6.
* gnu/packages/bittorrent.scm (libtorrent): Update to 0.13.6.
  [source]: Use new URL.
  [native-inputs]: Uncomment "cppunit" (for tests).
  [argument]: Remove (to enable tests).
2015-10-04 19:22:41 +03:00
Alex Kost 9db04bf542 gnu: libtorrent, rtorrent: Update home pages.
* gnu/packages/bittorrent.scm (libtorrent): Update 'home-page'.
  (rtorrent): Likewise.
2015-10-04 19:22:40 +03:00
Alex Kost 678932aa70 gnu: lirc: Update to 0.9.3.
* gnu/packages/lirc.scm (lirc): Update to 0.9.3.
  [native-inputs]: Add "libxslt".
2015-10-04 19:19:21 +03:00
Andreas Enge 7431edea5b gnu: qt-4: Disable webkit build.
* gnu/packages/qt.scm (qt-4)[source]: Add snippet to remove the webkit code
  and drop one patch used previously for webkit.
  [arguments]: Add configure flag to disable building the webkit module.
* gnu/packages/patches/qt4-tests.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Unregister patch.

Partially fixes <http://bugs.gnu.org/21288>.
2015-10-04 11:09:14 +02:00
Ludovic Courtès 2ebe938c2f doc: Mention that /X.Y must be used for GUIX_LOCPATH.
This is a followup to commit f2d7bbb.

* doc/guix.texi (Application Setup): Mention the /X.Y sub-directory.
2015-10-04 10:20:59 +02:00
Ludovic Courtès 85b81cf8c1 packages: Use locales from the /X.Y sub-directory of the locale package.
This is a followup to commit f2d7bbb.

* guix/packages.scm (patch-and-repack)[build]: Append "/X.Y" to
  LOCPATH.
2015-10-04 10:19:42 +02:00
Ludovic Courtès afd3d9316c Use "normalized codesets" everywhere.
In other words, change "xx_YY.UTF-8" to "xx_YY.utf8".

* guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of
  "en_US.UTF-8".
* guix/packages.scm (patch-and-repack): Likewise.
* guix/build/gnu-build-system.scm (install-locale): Likewise.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise.
* gnu/packages/python.scm (python-ipython): Likewise.
* gnu/packages/gawk.scm (gawk): Likewise.
* build-aux/hydra/demo-os.scm: Likewise.
* gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove
  'change-locale' phase.
2015-10-04 00:10:03 +02:00
Ludovic Courtès 8a55e217ad gnu: glibc-utf8-locales: Use the normalized codeset.
* gnu/packages/base.scm (glibc-utf8-locales)[argument]: Use the
  normalized codeset by default.
2015-10-04 00:10:03 +02:00
Ludovic Courtès b6ac54517c gnu: commencement: Remove the tricky locale compatibility handling.
This is made unnecessary by the use of 'GUIX_LOCPATH'.

* gnu/packages/commencement.scm (locale-proof-package): Remove.
  (%boot5-inputs): Add on GLIBC-UTF8-LOCALES-FINAL.  This reverts parts
  of commit 28cbc58.
* gnu/packages/gawk.scm (gawk): Set 'GUIX_LOCPATH' instead of
  'LOCPATH'.
2015-10-04 00:09:29 +02:00
Andreas Enge f8822418f1 gnu: libqtxdg: Fix download location.
* gnu/packages/lxqt.scm (libqtxdg)[source]: Fix download location.
2015-10-03 22:49:12 +02:00
Andreas Enge 250ffe4de1 gnu: liblxqt: Fix download location.
* gnu/packages/lxqt.scm (liblxqt)[source]: Fix download location.
  [description]: Fix typo.
2015-10-03 22:41:59 +02:00
Andreas Enge 54033a4db6 gnu: Add lxqt-session.
* gnu/packages/lxqt.scm (lxqt-session): New variable.
2015-10-03 21:20:41 +02:00
Ludovic Courtès f2d7bbb537 gnu: glibc: Look for locale data in versioned sub-directories.
* gnu/packages/base.scm (glibc)[native-search-paths]: Add
  'lib/locale/VERSION' for 'GUIX_LOCPATH'.
  (glibc-locales, glibc-utf8-locales): Write to a VERSION
  sub-directory.
* guix/profiles.scm (ca-certificate-bundle): Adjust LOCPATH value
  accordingly.
2015-10-03 20:17:09 +02:00
Andreas Enge cfa2e4ad40 gnu: Add lxqt-common.
* gnu/packages/lxqt.scm (lxqt-common): New variable.
2015-10-03 19:45:23 +02:00
Andreas Enge c9f6938033 gnu: liblxqt: Fix download location.
* gnu/packages/lxqt.scm (liblxqt)[source]: Use the .tar.xz release
  exclusively; drop the alternative URI for .tar.gz and correct the hash.
2015-10-03 19:45:23 +02:00
Ludovic Courtès fbb909ac7e gnu: glibc: Honor 'GUIX_LOCPATH'.
* gnu/packages/patches/glibc-guix-locpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[source]: Use it.
  [native-search-paths]: Use 'GUIX_LOCPATH' instead of 'LOCPATH'.
* doc/guix.texi (Application Setup): Introduce the term "foreign
  distro".  Document 'GUIX_LOCPATH'.
2015-10-03 17:55:13 +02:00
David Thompson 293ff8b2f3 gnu: Add file-roller.
* gnu/packages/gnome.scm (file-roller): New variable.
2015-10-03 11:17:37 -04:00
Ludovic Courtès 1668dfcd37 gnu: texinfo: Claim 'INFOPATH'.
Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>.

* gnu/packages/texinfo.scm (texinfo)[native-search-paths]: New field.
2015-10-03 14:36:12 +02:00
Ludovic Courtès 57aff6476e utils: Add 'every*'.
* guix/build/gnu-build-system.scm (every*): Move to...
* guix/build/utils.scm (every*): ... here.  New procedure.
2015-10-03 14:36:12 +02:00
Ludovic Courtès 29aca449c7 gnu: gettext: Upgrade to 0.19.6.
* gnu/packages/gettext.scm (gnu-gettext): Update to 0.19.6.
2015-10-03 14:36:12 +02:00
Ludovic Courtès e393586161 gnu: coreutils: Use upstream's fix for 'tail'.
* gnu/packages/patches/coreutils-racy-tail-test.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (coreutils)[source]: Replace this patch with
  upstream's fix for 'tail'.
2015-10-03 14:36:11 +02:00
Ludovic Courtès 2ae71b746b gnu: glibc: Do not abort when incompatible locale data is found.
* gnu/packages/patches/glibc-locale-incompatibility.patch: New file.
* gnu/packages/base.scm (glibc)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2015-10-03 14:36:07 +02:00
Ben Woodcroft 6f04e51560 gnu: vsearch: Restrict supported systems to x86_64-linux.
* gnu/packages/bioinformatics.scm (vsearch)[supported-systems]: Restrict
  to x86_64-linux.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2015-10-03 13:59:11 +02:00
Andreas Enge b8d953cbbd gnu: libmicrohttpd: Update to 0.9.44.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.44.
2015-10-02 23:30:20 +02:00
Andreas Enge 4d835808e4 gnu: eigen: Update to 3.2.6.
* gnu/packages/algebra.scm (eigen): Update to 3.2.6.
2015-10-02 23:13:20 +02:00
Andreas Enge 5768893ad1 gnu: valgrind: Enable the arm architecture during configuration.
* gnu/packages/patches/valgrind-enable-arm.patch: New file.
* gnu/packages/valgrind.scm (valgrind)[source]: Add patch.
* gnu-system.am (dist_patch_DATA): Enable patch.
2015-10-02 21:16:02 +02:00
Andreas Enge 2f8fee0623 gnu: valgrind: Update to 3.11.0.
* gnu/packages/valgrind.scm (valgrind): Update to 3.11.0.
  [source]: Remove the patches
* gnu/packages/patches/valgrind-glibc-2.22.patch,
  gnu/packages/patches/valgrind-linux-libre-4.x.patch: Delete files.
* gnu-system.am (dist_patch_DATA): Unregister the patches.
2015-10-02 20:26:45 +02:00
Andreas Enge 127cbd85c0 gnu: glpk: Update to 4.56.
* gnu/packages/maths.scm (glpk): Update to 4.56.
2015-10-02 20:07:17 +02:00
Mark H Weaver 93bd4a37ee gnu: freeimage: Add fix for CVE-2015-0852.
* gnu/packages/patches/freeimage-CVE-2015-0852.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/image.scm (freeimage)[source]: Add patch.
2015-10-02 12:53:21 -04:00
Mark H Weaver bcc09d9ac1 gnu: freeimage: Update to 3.17.0.
* gnu/packages/image.scm (freeimage): Update to 3.17.0.
  [source]: Use 'string-concatenate' in URI computation.
2015-10-02 12:53:21 -04:00
Mark H Weaver b927058237 gnu: openjpeg-2.x: Add fix for use-after-free in opj_j2k_write_mco.
* gnu/packages/patches/openjpeg-use-after-free-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/image.scm (openjpeg, openjpeg-2.0)[source]: Add patch.
  [home-page]: Update.
2015-10-02 12:33:26 -04:00
Mark H Weaver 9ab5ea449e gnu: clipper: Add 'file-name' field to source origin.
* gnu/packages/bioinformatics.scm (clipper)[source]: Add file-name.
2015-10-02 10:55:57 -04:00
Andreas Enge 71a4b2ab21 gnu: orc: Update to 0.4.24.
* gnu/packages/gstreamer.scm (orc): Update to 0.4.24.
2015-10-02 09:51:55 +02:00
Ben Woodcroft 02a8a1876a gnu: Add python-xlrd.
* gnu/packages/python.scm (python-xlrd, python2-xlrd): New variables.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-10-01 23:45:32 +02:00
Efraim Flashner bd60e4e2ef gnu: powertop: Fix url.
* gnu/packages/linux.scm (powertop): Fixed incorrect url.
2015-10-01 22:53:12 +03:00
Andreas Enge 71923a91b1 gnu: openblas: Fix configure flags on armhf and take target system into account for cross building.
* gnu/packages/maths.scm (openblas)[arguments]: Make package substitutable
  and enable runtime cpu detection only on x86 systems. Take the target
  system into account when cross compiling.
2015-10-01 19:35:16 +02:00
Efraim Flashner cfd745d6bb gnu: powertop: Update to 2.7.
* gnu/packages/linux.scm (powertop): Update to 2.7.
  [arguments]: Add "pciutils" to inputs.
2015-10-01 19:39:34 +03:00
Efraim Flashner 88377435ca gnu: graphviz: Add "doc" output.
* gnu/packages/graphviz.scm (graphviz)[outputs, arguments]: New fields.
2015-10-01 19:39:34 +03:00
Efraim Flashner 64cb2de5d0 gnu: graphviz: Update to 2.38.0.
* gnu/packages/graphviz.scm (graphviz): Update to 2.38.0.
2015-10-01 19:39:34 +03:00
Efraim Flashner 9e125175fc gnu: mpg123: Update to 1.22.4.
* gnu/packages/mp3.scm (mpg123): Update to 1.22.4.
2015-10-01 19:39:34 +03:00
Efraim Flashner b2666de0fb gnu: mpv: Update to 0.11.0.
* gnu/packages/video.scm (mpv): Update to 0.11.0.
2015-10-01 19:39:33 +03:00
Efraim Flashner d1ae7233e3 gnu: youtube-dl: Update to 2015.09.28.
* gnu/packages/video.scm (youtube-dl): Update to 2015.09.28.
2015-10-01 19:39:33 +03:00
Efraim Flashner b4eba7b088 gnu: terminology: Update to 0.9.1.
* gnu/packages/enlightenment.scm (terminology): Update to 0.9.1.
2015-10-01 19:39:33 +03:00
Efraim Flashner b0b3ebf09f gnu: enlightenment: Update to 0.19.11.
* gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.11.
2015-10-01 19:39:33 +03:00
宋文武 d032d9652f gnu: Add GNU Unifont.
* gnu/packages/fonts.scm (font-gnu-unifont): New variable.
2015-10-01 21:27:44 +08:00
David Thompson b4aa6d3dcc gnu: shroud: Update to 0.1.1.
* gnu/packages/password-utils.scm (shroud): Update to 0.1.1.
2015-10-01 08:57:14 -04:00
David Thompson dd24e9063f gnu: Add shroud.
* gnu/packages/password-utils.scm (shroud): New variable.
2015-10-01 07:35:16 -04:00
宋文武 b98ee8b7e1 gnu: xterm: Update to 320.
* gnu/packages/xorg.scm (xterm): Update to 320.
2015-10-01 17:50:21 +08:00
Ludovic Courtès fde1783087 download: Check whether HORIZONTAL ELLIPSIS can be encoded.
* guix/build/download.scm (ellipsis): New procedure.
  (store-path-abbreviation): Use it.
2015-10-01 11:28:58 +02:00
Ludovic Courtès 64c9834716 gnu: emacs: Claim 'INFOPATH'.
Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>.

* gnu/packages/emacs.scm (emacs)[native-search-path]: New field.
2015-10-01 11:28:19 +02:00
Ben Woodcroft a2950fa4dc gnu: Add vsearch.
* gnu/packages/bioinformatics.scm (vsearch): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-01 10:51:28 +02:00
Ben Woodcroft aae2b445a4 gnu: Add cityhash.
* gnu/packages/textutils.scm (cityhash): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-01 10:36:11 +02:00
Mark H Weaver b73547e179 gnu: linux-libre: Update to 4.2.2.
* gnu/packages/linux.scm (linux-libre): Update to 4.2.2.
2015-09-30 12:48:40 -04:00
Ludovic Courtès 997f86e96b gnu: pixman: Update to 0.32.8.
* gnu/packages/xdisorg.scm (pixman): Update to 0.32.8.
* gnu/packages/patches/pixman-pointer-arithmetic.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2015-09-30 17:19:27 +02:00
Ludovic Courtès 46bd6edd5a gnu: libc: Look for locale data under /run/current-system/locale/X.Y.
* gnu/packages/base.scm (glibc)[arguments]: Append VERSION to
  'libc_cv_localedir'.
* gnu/system/locale.scm (localedef-command): Write to the sub-directory
  called (package-version libc) in #$output.
  (locale-directory): Create said directory.
* doc/guix.texi (Locales): Mention the per-version sub-directory.
2015-09-30 17:06:40 +02:00
Julian Graham c24fff615b gnu: Add gzochi.
* gnu/packages/game-development.scm (gzochi): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-09-29 23:56:37 +02:00
Jeff Mickey 820dc3f5f1 gnu: Add pigz.
* gnu/packages/compression.scm (pigz): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-09-29 23:40:10 +02:00
Ludovic Courtès 0b1f0d36b1 gnu: lsh: 'lsh-authorize' uses the absolute file name of 'sexp-conv'.
Fixes <http://bugs.gnu.org/21516>.
Reported by Andreas Enge <andreas@enge.fr>.

* gnu/packages/lsh.scm (lsh)[arguments]: In 'pre-configure' phase,
  change 'src/lsh-authorize' to use the absolute file name of
  'sexp-conv'.
2015-09-28 22:54:04 +02:00
Ludovic Courtès 30d9aa5422 guix gc: Add '--list-failures' and '--clear-failures'.
Suggested by Mark H Weaver <mhw@netris.org>.

* guix/scripts/gc.scm (show-help, %options): Add --list-failures and
  --clear-failures.
  (guix-gc): Honor them.
* doc/guix.texi (Invoking guix gc): Document them.
  (Invoking guix-daemon): Mention them.
2015-09-28 22:54:04 +02:00
Ludovic Courtès 16748d8015 store: Add 'query-failed-paths' and 'clear-failed-paths' RPCs.
Suggested by Mark H Weaver <mhw@netris.org>.

* guix/store.scm (query-failed-paths, clear-failed-paths): New
  procedures.
* tests/guix-daemon.sh: Add test with daemon started with
  --cache-failures.
2015-09-28 22:54:04 +02:00
Ludovic Courtès df0a3b7f9e tests: 'open-connection-for-tests' takes an optional parameter.
* guix/tests.scm (open-connection-for-tests): Add optional FILE
  parameter; pass it to 'open-connection'.
2015-09-28 22:53:59 +02:00
Pjotr Prins b2bddb07ef gnu: Add bio-blastxmlparser.
* gnu/packages/bioinformatics.scm (bio-blastxmlparser): New variable.
2015-09-28 12:22:47 +02:00
Vicente Vera Parra 0e4e03f884 gnu: Add r-data.table.
* gnu/packages/statistics.scm (r-data.table): New variable.
2015-09-28 11:07:23 +02:00
Vicente Vera Parra 91312ebed4 gnu: Add r-chron.
* gnu/packages/statistics.scm (r-chron): New variable.
2015-09-28 11:07:10 +02:00
Ricardo Wurmus ea5616e0e6 gnu: Add r-servr.
* gnu/packages/web.scm (r-servr): New variable.
2015-09-28 10:35:19 +02:00
Ricardo Wurmus 21d3770e02 gnu: Add r-jsonlite.
* gnu/packages/web.scm (r-jsonlite): New variable.
2015-09-28 10:35:19 +02:00
Ricardo Wurmus a359c9c15c gnu: Add r-httpuv.
* gnu/packages/web.scm (r-httpuv): New variable.
2015-09-28 10:35:19 +02:00
Mark H Weaver 36743e71af doc: Fix spelling.
This is a followup to commit ba7d6c763c.

* doc/guix.texi (Synopses and Descriptions): Fix spelling.
2015-09-28 02:09:59 -04:00
Mathieu Lirzin cd8b7cfb3f lint: Fix 'check-texinfo-markup'.
Fixes a regression introduced in 5d8d8f3.

* guix/scripts/lint.scm (check-description-style): When no exception is
  thrown in 'check-texinfo-markup', return the rendered description.
2015-09-28 00:23:12 +02:00
Mathieu Lirzin ba7d6c763c doc: Add more recommandations for package descriptions.
* doc/guix.texi (Synopses and Descriptions): Warn about special
  characters in Texinfo.  Indicate how to help the translators.
2015-09-28 00:22:12 +02:00
Mathieu Lirzin ae05b1856f gnu: Add arandr.
* gnu/packages/xdisorg.scm (arandr): New variable.
2015-09-28 00:19:11 +02:00
Andreas Enge aab56ab7da gnu: avidemux: Build with Qt 5 instead of Qt 4.
* gnu/packages/video.scm (avidemux)[inputs]: Replace qt-4 by qt.
  [arguments]: Add build flag.
2015-09-27 00:06:30 +02:00
Andreas Enge c4c020b781 gnu: global: Update to 6.5.1.
* gnu/packages/code.scm (global): Update to 6.5.1.
2015-09-26 22:03:06 +02:00
Andreas Enge 308aa2e795 gnu: libmicrohttpd: Update to 0.9.43.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.43.
2015-09-26 22:03:06 +02:00
Andreas Enge f799c2820d gnu: ddrescue: Update to 1.20.
* gnu/packages/disk.scm (ddrescue): Update to 1.20.
2015-09-26 22:03:06 +02:00
Andreas Enge 19c34308d6 gnu: sipwitch: Update to 1.9.10.
* gnu/packages/telephony.scm (sipwitch): Update to 1.9.10.
2015-09-26 22:03:06 +02:00
Andreas Enge b32eabe4bf gnu: ucommon: Update to 6.6.0.
* gnu/packages/telephony.scm (ucommon): Update to 6.6.0.
2015-09-26 22:03:06 +02:00
Andreas Enge fdcb976815 gnu: parallel: Update to 20150922.
* gnu/packages/parallel.scm (parallel): Update to 20150922.
2015-09-26 22:03:06 +02:00
Paul van der Walt b2a222445e gnu: xapian: Update to 1.2.21.
* gnu/packages/search.scm (xapian): Update to 1.2.21.
2015-09-26 21:41:26 +02:00
Alex Kost 730bf80888 emacs: devel: Highlight 'modify-phases' keywords.
* emacs/guix-guile.el (guix-guile-keyword-regexp): New function.
* emacs/guix-devel.el (guix-devel-faces): New custom group.
  (guix-devel-modify-phases-keyword): New face.
  (guix-devel-modify-phases-keyword-regexp,
  guix-devel-font-lock-keywords): New variables.
  (guix-devel-modify-phases-font-lock-matcher,
  guix-devel-modify-phases-font-lock-pre): New functions.
  (guix-devel-mode): Adjust to add/remove font-lock-keywords.
2015-09-26 22:38:43 +03:00
Paul van der Walt c284e78fa4 gnu: mu: Update to 0.9.13.
* gnu/packages/mail.scm (mu): Update to 0.9.13.
2015-09-26 21:11:30 +02:00
Paul van der Walt dc5f87f42a gnu: ncmpcpp: Update to 0.6.7.
* gnu/packages/mpd.scm (ncmpcpp): Update to 0.6.7.
2015-09-26 20:57:44 +02:00
Mark H Weaver d2a6336609 gnu: qemu: Update to 2.4.0.1. Include fix for CVE-2015-6855.
* gnu/packages/patches/qemu-CVE-2015-3209.patch,
  gnu/packages/patches/qemu-CVE-2015-4037.patch,
  gnu/packages/patches/qemu-CVE-2015-4103.patch,
  gnu/packages/patches/qemu-CVE-2015-4104.patch,
  gnu/packages/patches/qemu-CVE-2015-4105.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt1.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt2.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt3.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt4.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt5.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt6.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt7.patch,
  gnu/packages/patches/qemu-CVE-2015-4106-pt8.patch,
  gnu/packages/patches/qemu-CVE-2015-5745.patch: Delete files.
* gnu/packages/patches/qemu-CVE-2015-6855.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the new patch and delete the old ones.
* gnu/packages/qemu.scm (qemu-headless): Update to 2.4.0.1.  Add the new patch
  and delete the old ones.
2015-09-26 10:32:19 -04:00
Ludovic Courtès e1556533d3 Merge branch 'core-updates' 2015-09-26 15:14:53 +02:00
Mathieu Lirzin 5d8d8f3b0a lint: Improve 'check-texinfo-markup'.
* guix/scripts/lint.scm (check-description-style): Set 'field' parameter
  when emitting a warning in 'check-texinfo-markup'.  Catch any error
  that may occur in during the 'texi->plain-text' conversion.  This is a
  followup to commit 2748ee3.
2015-09-26 15:10:13 +02:00
Andreas Enge 92f1cefb74 gnu: ibus: Add input gtk+-3.
* gnu/packages/ibus.scm (ibus)[inputs]: Add the required gtk+-3.
2015-09-26 11:22:11 +02:00
Ludovic Courtès 15d5ca1356 http-client: Backport Guile fix for 'read-chunk-header'.
Fixes the wrong-type-arg exception initially reported
at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19976#5>
by Ricardo Wurmus <rekado@elephly.net>.

* guix/http-client.scm (read-chunk-header): Backport Guile commit 53b8d5f.
2015-09-26 11:13:50 +02:00
宋文武 dd8d6d6547 gnu: Add squashfs-tools.
* gnu/packages/compression.scm (squashfs-tools): New variable.
2015-09-26 10:31:07 +08:00
Ludovic Courtès 5ef9d7deea offload: Use gzip instead of xz for compression on the master.
* guix/scripts/offload.scm (send-files): Use gzip --fast instead of xz.
2015-09-25 22:35:35 +02:00
Ludovic Courtès 62d2b57157 utils: Add #:options parameter for compression output ports.
* guix/utils.scm (compressed-output-port,
  call-with-compressed-output-port): Add #:options parameter and honor
  it.
2015-09-25 22:35:35 +02:00
Ricardo Wurmus 1f321f8763 gnu: Add Gajim.
* gnu/packages/messaging.scm (gajim): New variable.
2015-09-25 21:44:30 +02:00
Ricardo Wurmus 246bc76a15 gnu: Add python-nbxmpp.
* gnu/packages/messaging.scm (python-nbxmpp, python2-nbxmpp): New
  variables.
2015-09-25 21:44:30 +02:00
Ricardo Wurmus 22af90291f gnu: Add python-gnupg.
* gnu/packages/gnupg.scm (python-gnupg, python2-gnupg): New variables.
2015-09-25 21:44:30 +02:00
Ricardo Wurmus 5af999b898 gnu: Add pyOpenSSL.
* gnu/packages/python.scm (python-pyopenssl, python2-pyopenssl): New
  variables.
2015-09-25 21:44:30 +02:00
Ricardo Wurmus 88b47cb0e0 gnu: Add python-cryptography.
* gnu/packages/python.scm (python-cryptography, python2-cryptography):
  New variables.
2015-09-25 21:44:29 +02:00
Ricardo Wurmus aa759a5139 gnu: Add python-cryptography-vectors.
* gnu/packages/python.scm (python-cryptography-vectors,
  python2-cryptography-vectors): New variables.
2015-09-25 21:44:29 +02:00
Ricardo Wurmus 36ebf97283 gnu: Add python-pretend.
* gnu/packages/python.scm (python-pretend, python2-pretend): New
  variables.
2015-09-25 21:44:29 +02:00
Ricardo Wurmus 3f00e07866 gnu: Add python-idna.
* gnu/packages/python.scm (python-idna, python2-idna): New variables.
2015-09-25 21:44:29 +02:00
Ricardo Wurmus 9a49a5351c gnu: Add python-ipaddress.
* gnu/packages/python.scm (python2-ipaddress): New variable.
2015-09-25 21:44:29 +02:00
Ludovic Courtès 791076cc91 gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to abbe2c6.
2015-09-25 18:11:37 +02:00
Ludovic Courtès abbe2c61cf build: Bump version number.
* configure.ac: Change version to 0.9.0.
2015-09-25 17:05:07 +02:00
Ludovic Courtès e2aace769c gnu: glibc-locales: Update to glibc 2.22.
* gnu/packages/base.scm (glibc-locales)[arguments]: Remove
  'delete-file-recursively' call from 'build' phase.
* gnu/packages/patches/glibc-locales.patch: Adjust to glibc 2.22.
2015-09-25 17:02:13 +02:00
Ben Woodcroft d708b7a973 gnu: Add seqmagick.
* gnu/packages/bioinformatics.scm (seqmagick): New variable.
2015-09-25 16:16:28 +02:00
Alex Kost 665ce1ebe5 emacs: build-log: Improve regexp for the phase end.
* emacs/guix-build-log.el (guix-build-log-phase-end-regexp): Handle
  fractional number of seconds (like "0.8").
2015-09-25 10:45:38 +03:00
Ludovic Courtès c3aeac385a gnu: tcl: Add missing -L flag in tk.pc and tkConfig.sh.
* gnu/packages/tcl.scm (tk)[arguments]: Use 'modify-phases'.  Add
  'add-fontconfig-flag' phase.
  [inputs]: Add FONTCONFIG.
2015-09-24 23:01:22 +02:00
Mathieu Lirzin 23464bfd99 lint: Accept '`' character.
* guix/scripts/lint.scm (properly-starts-sentence?): Match Texinfo
  highlighting commands as a sentence start.
2015-09-24 22:55:59 +02:00
Mathieu Lirzin 2748ee3bcf lint: Check non-translated package descriptions.
* guix/ui.scm (texi->plain-text): Export.
* guix/scripts/lint.scm (check-description-style): Use it instead of
  'package-description-string'.
2015-09-24 22:46:20 +02:00
Ludovic Courtès 1007b6bf0b Merge branch 'master' into core-updates 2015-09-24 22:18:07 +02:00
Ludovic Courtès a7a4fd9a7c profiles: Make profile-specific derivations non-substitutable.
This avoids gratuitous queries of the substituter.

* guix/profiles.scm (ghc-package-cache-file): Pass #:substitutable? #f
  to 'gexp->derivation'.
  (ca-certificate-bundle): Likewise.
  (gtk-icon-themes): Likewise.
  (profile-derivation): Likewise.
  (info-dir-file): Likewise, plus #:local-build? #t.
2015-09-24 22:16:10 +02:00
Ludovic Courtès 08d7e3592f ui: Gracefully handle Unicode description strings.
Fixes <http://bugs.gnu.org/21536>.
Reported by Alex Kost <alezost@gmail.com>.

* guix/ui.scm (texi->plain-text): Wrap body in 'with-fluids'.
* tests/ui.scm ("package-description-string vs. Unicode"): New test.
2015-09-24 22:04:51 +02:00
Ludovic Courtès 75726135ce download: Don't abbreviate things that are not store items.
Fixes a regression introduced in a8be7b9a.

* guix/build/download.scm (store-path-abbreviation): Return STORE-PATH
  if it's not an actual store path.  Fixes an out-of-range exception
  when running tests/substitute.scm and tests/store.scm.
2015-09-24 21:54:37 +02:00
Ludovic Courtès 12cd4dd3a9 tests: Unset 'LOCPATH' before running bootstrap program.
Reported by Mark H Weaver <mhw@netris.org>.

* tests/build-utils.scm ("wrap-program, one input, multiple calls"): Add
  'unsetenv' call.
2015-09-24 21:21:02 +02:00
Ludovic Courtès 5c3c1427fa doc: Mention /run/current-system/locale.
* doc/guix.texi (Application Setup): Add anchor and index entry.
  (Locales): Refer to it.  Mention /run/current-system/locale.
2015-09-24 21:21:01 +02:00
Ricardo Wurmus 7a8ac75a94 gnu: Add python-pyasn1.
* gnu/packages/python.scm (python-pyasn1, python2-pyasn1): New
  variables.
2015-09-24 20:08:25 +02:00
Ricardo Wurmus 4179f952bf gnu: python-cffi: Update to 1.2.1.
* gnu/packages/python.scm (python-cffi): Update to 1.2.1.
  [native-inputs]: Add python-pytest.
  [arguments]: Enable tests.
2015-09-24 20:07:41 +02:00
Ricardo Wurmus a77adfe022 tests: cran: Use cran-uri in expected output.
* tests/cran.scm: Expect output to use "cran-uri" procedure.
2015-09-24 12:05:53 +02:00
Ludovic Courtès d6445dff14 tests: Adjust snippet test to '.file_list' hack.
This is a followup to commit 140b4bc.

* tests/packages.scm ("package-source-derivation, snippet")[source]: Add
  'chmod' call for "..".
2015-09-24 10:36:24 +02:00
Steve Sprang 9462882889 download: Fix some minor progress-logging regressions.
* guix/build/download.scm
  (string-pad-middle): Allow resulting padded string to overflow.
  (store-url-abbreviation): Remove unnecessary procedure.
  (progress-proc): Use BASENAME as default for parameter 'abbreviation'.
  (url-fetch): Display extra newlines for readability.
2015-09-23 22:04:46 -04:00
Mark H Weaver a05c06720a emacs-build-system: Fix 'package-name-version->elpa-name-version'.
Fixes a regression introduced in b7c7c03eb5.

* guix/build/emacs-build-system.scm (package-name-version->elpa-name-version):
  Remove unused 'name' binding.  Do not abuse 'strip-store-file-name' to
  remove the "emacs-" prefix, which worked before b7c7c03eb5 but not after.
2015-09-23 17:38:47 -04:00
Alex Kost 1a6c4c2f37 emacs: Add 'guix-devel-build-package-definition'.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* emacs/guix-guile.el (guix-guile-definition-regexp): New variable.
  (guix-guile-current-definition, guix-guile-boolean): New functions.
* emacs/guix-devel.el: Require 'guix-base'.
  (guix-devel-repl-processes): New variable.
  (guix-devel-setup-repl, guix-devel-setup-repl-maybe): New functions.
  (guix-devel-build-package-definition): New command.
* doc/emacs.texi (Emacs Development): Document it.
2015-09-23 13:36:37 +03:00
Alex Kost 187f80c6c5 emacs: Add development utils.
* emacs/guix-guile.el (guix-guile-current-module): New function.
* emacs/guix-devel.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Development): New node.
  (Emacs Interface): Add it.
* doc/contributing.texi (The Perfect Setup): Mention it.
* doc/guix.texi (Top): Add it.
* emacs/guix-init.el: Add 'guix-devel-activate-mode-maybe' to
  'scheme-mode-hook'.
2015-09-23 13:36:37 +03:00
Alex Kost 6f05a24df3 emacs: Add "View map" action to 'size' popup.
* emacs/guix-command.el (guix-run-view-size-map): New function.
  (guix-command-additional-execute-arguments,
  guix-command-special-executors): Add entries for "View map" action.
2015-09-23 13:36:22 +03:00
Ludovic Courtès 99d7460d78 gnu: Import modules needed by openimageio.
* gnu/packages/graphics.scm: Add missing imports.  This is a followup to
  commit 71299c1.
2015-09-23 09:05:15 +02:00
Ricardo Wurmus 71299c1297 gnu: Add openimageio.
* gnu/packages/graphics.scm (openimageio): New variable.
2015-09-23 08:35:05 +02:00
Ricardo Wurmus caf9055c13 gnu: Add XJackFreak.
* gnu/packages/audio.scm (xjackfreak): New variable.
2015-09-23 08:14:33 +02:00
Mark H Weaver bd90127ad4 Merge branch 'master' into core-updates 2015-09-22 16:38:48 -04:00
Andreas Enge 5f20553dee gnu: r-scales: Update to 0.3.0.
* gnu/packages/statistics.scm (r-scales): Update to 0.3.0.
2015-09-22 22:28:21 +02:00
Andreas Enge efd377221d gnu: csound: Update to 6.05.
* gnu/packages/audio.scm (csound): Update to 6.05.
2015-09-22 22:10:20 +02:00
Alex Kost 430505eba3 scripts: Add 'build-package'.
* guix/scripts/system.scm (maybe-build): Move to ...
* guix/scripts.scm: ...here.
  (build-package): New procedure.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-09-22 22:05:10 +03:00
Alex Kost f80a7a6c58 emacs: Add code to call guile procedures.
* emacs/guix-guile.el (guix-guile-make-call-expression): New function.
* emacs/guix-geiser.el: Require 'guix-guile'.
  (guix-geiser-call, guix-geiser-call-in-repl): New functions.
2015-09-22 22:05:10 +03:00
Alex Kost f029f8a759 emacs: Move code for evaluating to "guix-geiser.el".
* emacs/guix-backend.el: Adjust commentary. Move "eval" code to ...
  (guix-eval, guix-eval-read, guix-eval-in-repl): Adjust to use new
  functions.
* emacs/guix-geiser.el: ...here.  New file.
  (guix-geiser-eval, guix-geiser-eval-read, guix-geiser-eval-in-repl,
  guix-repl-send): New functions.
* emacs.am (ELFILES): Add "guix-geiser.el".
2015-09-22 22:05:09 +03:00
Alex Kost c74cd6cc12 emacs: Move guile related code to "guix-guile.el".
* emacs/guix-backend.el (guix-make-guile-expression): Move to...
* emacs/guix-guile.el: ... here.  New file.
* emacs/guix-base.el: Use it.
* emacs/guix-command.el: Use it.
* emacs.am (ELFILES): Add it.
2015-09-22 22:05:09 +03:00
Andreas Enge 20c6b9dae3 gnu: Add bitcoin-core.
* gnu/packages/finance.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Register it.
2015-09-22 20:07:49 +02:00
Mark H Weaver ee1c4cbaf9 gnu: linux-libre: Update to 4.2.1.
* gnu/packages/linux.scm (linux-libre): Update to 4.2.1.
2015-09-22 13:55:15 -04:00
Andreas Enge 61fe5a57a4 gnu: cgal: Update to 4.6.3.
* gnu/packages/graphics.scm (cgal): Update to 4.6.3.
2015-09-22 19:25:33 +02:00
Leo Famulari 7ae7ca0e2a gnu: recutils: Add libuuid to native-inputs.
* gnu/packages/databases.scm (recutils)[native-inputs]: Add "libuuid".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-09-22 17:41:11 +02:00
Ricardo Wurmus 4a4dac2083 licenses: Add Zope Public License.
* guix/licenses.scm (zpl2.1): New variable.
2015-09-22 14:57:00 +02:00
Alex Kost 67ee7c9576 emacs: Improve 'guix-prettify-regexp'.
* emacs/guix-prettify.el (guix-prettify-regexp): Modify to handle "nar"
  and "log".
2015-09-22 13:04:44 +03:00
Ricardo Wurmus 667d90dfee gnu: python2-ipython: Override terminado in propagated inputs.
* gnu/packages/python.scm (python2-ipython)[inputs, propagated-inputs]:
  Override inherited "python-terminado" in propagated inputs instead of
  regular inputs.
2015-09-21 16:27:23 +02:00
Ludovic Courtès 1def6f6b2c gnu: pixman: Work around pointer arithmetic bug.
* gnu/packages/patches/pixman-pointer-arithmetic.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xdisorg.scm (pixman)[source]: Use it.
2015-09-21 16:01:45 +02:00
Ricardo Wurmus 91781b7498 gnu: r-scales: Update to 0.3.0.
* gnu/packages/statistics.scm (r-scales): Update to 0.3.0.
2015-09-21 11:04:17 +02:00
Ricardo Wurmus c009bb5a40 Update CRAN mirrors.
* guix/download.scm (%mirrors): Update mirror list for CRAN.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 2a3a8ae753 gnu: Add r-dplyr.
* gnu/packages/statistics.scm (r-dplyr): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra ffd4b47851 gnu: Add r-r6.
* gnu/packages/statistics.scm (r-r6): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 5b9789a6ff gnu: Add r-testthat.
* gnu/packages/statistics.scm (r-testthat): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 834f7ff3c0 gnu: Add r-crayon.
* gnu/packages/statistics.scm (r-crayon): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra b668a95cf3 gnu: Add r-memoise.
* gnu/packages/statistics.scm (r-memoise): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 0661b4db2e gnu: Add r-pryr.
* gnu/packages/statistics.scm (r-pryr): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 1cf1cbb0ac gnu: Add r-codetools.
* gnu/packages/statistics.scm (r-codetools): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 4f0e84845d gnu: Add r-microbenchmark.
* gnu/packages/statistics.scm (r-microbenchmark): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 213656b95b gnu: Add r-knitr.
* gnu/packages/statistics.scm (r-knitr): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra ea3a80957a gnu: Add r-yaml.
* gnu/packages/statistics.scm (r-yaml): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 3f8ac35330 gnu: Add r-markdown.
* gnu/packages/statistics.scm (r-markdown): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra acbb40fa20 gnu: Add r-mime.
* gnu/packages/statistics.scm (r-mime): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra ad3f005bdd gnu: Add r-highr.
* gnu/packages/statistics.scm (r-highr): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra c5bf3abe34 gnu: Add r-formatr.
* gnu/packages/statistics.scm (r-formatr): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 256ccc926c gnu: Add r-evaluate.
* gnu/packages/statistics.scm (r-evaluate): New variable.
2015-09-21 10:48:26 +02:00
Vicente Vera Parra 675c9f447b gnu: Add r-bh.
* gnu/packages/statistics.scm (r-bh): New variable.
2015-09-21 10:48:26 +02:00
Ricardo Wurmus 9cda36227b gnu: Use cran-uri in source expressions.
* gnu/packages/statistics.scm (r-colorspace, r-dichromat, r-digest,
  r-gtable, r-labeling, r-magrittr, r-munsell, r-rcpp, r-plyr, r-proto,
  r-rcolorbrewer, r-stringi, r-stringr, r-reshape2, r-scales, r-ggplot2,
  r-assertthat, r-lazyeval, r-dbi): Use cran-uri in source expressions.
2015-09-21 10:48:26 +02:00
Ricardo Wurmus a52b625152 import: cran-sxml->sexp: Use cran-uri in package expression.
* guix/import/cran.scm (cran-sxml->sexp): Use the cran-uri procedure in
  the generated package expression.
2015-09-21 10:48:26 +02:00
Ricardo Wurmus 5546114e73 build: Add cran-uri procedure.
* guix/build-system/r.scm (cran-uri): New procedure.
2015-09-21 10:48:26 +02:00
Ricardo Wurmus fed5a6898b gnu: Add shotwell.
* gnu/packages/gnome.scm (shotwell): New variable.
2015-09-21 07:45:20 +02:00
Ricardo Wurmus b0f9c4b86c gnu: Add gexiv2.
* gnu/packages/gnome.scm (gexiv2): New variable.
2015-09-21 07:31:50 +02:00
Ricardo Wurmus af8f9f231e gnu: Add libgee.
* gnu/packages/gnome.scm (libgee): New variable.
2015-09-21 07:31:42 +02:00
Eric Bavier da494dad8e gnu: autogen: Update to 5.18.6.
* gnu/packages/autogen.scm (autogen): Update to 5.18.6.
2015-09-20 15:09:52 -05:00
Eric Bavier f210647da2 gnu: gnu-pw-mgr: Update to 1.5.
* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.5.
2015-09-20 15:09:51 -05:00
Ludovic Courtès 8fcac19975 Thank Petter. 2015-09-20 22:06:48 +02:00
Ludovic Courtès 07779d0add linux-initrd: Add LUKS/dm-crypt modules to the initrd.
Suggested by Petter <petter@mykolab.ch>
and Mark H Weaver <mhw@netris.org>.

Partly fixes <http://bugs.gnu.org/19190>.

* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add dm-crypt
  and xts.
2015-09-20 22:05:50 +02:00
Ludovic Courtès cc0e575a94 linux-boot: Mount /dev as a devtmpfs from the start.
Suggested by Petter <petter@mykolab.ch>
and Mark H Weaver <mhw@netris.org>.
Reported by Duncan Keall <duncan@duncankeall.com>.

Partly fixes <http://bugs.gnu.org/19190> by populating /dev/mapper
early enough.

* gnu/build/linux-boot.scm (mount-essential-file-systems): Mount /dev as
  a devtmpfs.
  (move-essential-file-systems): Add /dev.
  (mount-root-file-system): Mount /rw-root/dev as a devtmpfs instead of
  calling 'make-essential-device-nodes'.
  (boot-system): Remove call to 'make-essential-device-nodes'.
* gnu/system/file-systems.scm (%devtmpfs-file-system): Remove.
* doc/guix.texi (File Systems): Adjust accordingly.
2015-09-20 22:05:36 +02:00
Ricardo Wurmus 7ee5db15bf gnu: openal: Use full path to audio backend libraries.
* gnu/packages/audio.scm (openal)[arguments]: Add build phase to patch in the
  full paths to backend audio libraries.
2015-09-20 13:43:38 +02:00
Ricardo Wurmus 594360f508 gnu: vpnc: Use https for source URL.
* gnu/packages/vpn.scm (vpnc)[source]: Use https protocol for source URL.
2015-09-20 11:37:43 +02:00
Ricardo Wurmus 127b04d741 gnu: lilypond: Update to 2.19.27.
* gnu/packages/music.scm (lilypond): Update to 2.19.27.
  [inputs]: Add font-tex-gyre.
2015-09-20 11:37:36 +02:00
Ricardo Wurmus 7d1b5022e9 gnu: sfml: Update to 2.3.2.
* gnu/packages/game-development.scm (sfml): Update to 2.3.2.
  [native-inputs]: Remove.
2015-09-20 10:08:26 +02:00
Cyril Roelandt d7af106987 gnu: Add python2-keyring.
* gnu/packages/python.scm (python2-keyring): New variable.
2015-09-20 04:42:15 +02:00
Cyril Roelandt 7261d9eb16 gnu: Add python2-pyflakes and fix python2-pyflakes-0.8.1.
* gnu/packages/python.scm (python2-pyflakes): New variable.
* gnu/packages/python.scm (python2-pyflakes-0.8.1): Fix the definition.
2015-09-20 04:41:51 +02:00
Cyril Roelandt 350ba0a32b gnu: Add python-prettytable
* gnu/packages/python.scm (python-prettytable,
  python2-prettytable): New variables.
2015-09-20 04:29:10 +02:00
David Thompson f88ee3ade7 gnu: avahi: Enable libdns_sd compatibility.
* gnu/packages/avahi.scm (avahi): Add '--enable-compat-libdns_sd' configure
  flag.
2015-09-19 21:38:33 -04:00
Mark H Weaver 65d54af49f gnu: icu4c: Add fixes for CVE-2014-6585 and CVE-2015-1270.
* gnu/packages/patches/icu4c-CVE-2014-6585.patch,
  gnu/packages/patches/icu4c-CVE-2015-1270.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/icu4c.scm (icu4c)[source]: Add patches.
2015-09-19 21:35:18 -04:00
Andreas Enge a5002ae77c gnu: Add R/qtl.
* gnu/packages/bioinformatics.scm (r-qtl): New variable.

Co-authored-by: Pjotr Prins <pjotr.guix@thebird.nl>
2015-09-20 00:32:45 +02:00
Andreas Enge e49b339608 gnu: libmtp: Add additional MTP devices.
* gnu/packages/patches/libmtp-devices.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
* gnu/packages/patches/libmtp-devices.patch (libmtp)[source]: Add patch.
2015-09-19 23:38:51 +02:00
Mark H Weaver 257abebba3 gnu: gtk+: Adapt pre-configure phase to version 3.16.6.
This is a followup to commit a35b8fc6c4.

* gnu/packages/gtk.scm (gtk+)[arguments]: In 'pre-configure' phase, remove
  substitutions of 'gtk-update-icon-cache' in demo Makefiles.
2015-09-19 17:32:10 -04:00
Pjotr Prins edb15985f1 gnu: Add bioruby.
* gnu/packages/bioinformatics.scm (bioruby): New variable.
2015-09-19 12:41:52 -04:00
Pjotr Prins 28c5d42d35 gnu: Add ruby-libxml.
* gnu/packages/ruby.scm (ruby-libxml): New variable.
2015-09-19 12:31:42 -04:00
Ricardo Wurmus 7ac4610f7e gnu: Add ruby-shindo.
* gnu/packages/ruby.scm (ruby-shindo): New variable.
2015-09-19 08:51:27 -04:00
Ricardo Wurmus 8528365b0e gnu: Add ruby-formatador.
* gnu/packages/ruby.scm (ruby-formatador): New variable.
2015-09-19 08:51:13 -04:00
Ricardo Wurmus d152162fc1 gnu: Add ruby-notiffany.
* gnu/packages/ruby.scm (ruby-notiffany): New variable.
2015-09-19 08:49:11 -04:00
Ricardo Wurmus c5d14d4228 gnu: Add ruby-shellany.
* gnu/packages/ruby.scm (ruby-shellany): New variable.
2015-09-19 08:45:12 -04:00
Ricardo Wurmus 70b4cf3818 gnu: Add ruby-nenv.
* gnu/packages/ruby.scm (ruby-nenv): New variable.
2015-09-19 08:44:13 -04:00
Ricardo Wurmus ec79018e68 gnu: Add ruby-lumberjack.
* gnu/packages/ruby.scm (ruby-lumberjack): New variable.
2015-09-19 08:43:23 -04:00
Pjotr Prins 6aaa815e9f gnu: Add ruby-docile.
* gnu/packages/ruby.scm (ruby-docile): New variable.
2015-09-19 08:34:14 -04:00
Ludovic Courtès 8874f7668a gnu: ifstatus: Fix license.
* gnu/packages/networking.scm (ifstatus)[license]: Set to GPL2+.
2015-09-18 21:57:53 +02:00
Ludovic Courtès e0566f12f8 lint: Report lonely parentheses.
* guix/scripts/lint.scm (%hanging-paren-rx): New variable.
  (report-lone-parentheses): New procedure.
  (%formatting-reporters): Use it.
* tests/lint.scm ("formatting: lonely parentheses"): New test.
2015-09-18 21:54:04 +02:00
Stefan Reichoer 24a848c8e3 gnu: Add ifstatus.
* gnu/packages/networking.scm (ifstatus): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-09-18 21:54:03 +02:00
Alex Kost 4f740b677a store: Add 'set-build-options*'.
Suggested by: Ludovic Courtès <ludo@gnu.org>.

* guix/store.scm (set-build-options*): New procedure.
2015-09-18 21:42:07 +03:00
Alex Kost fa394eb99c ui: Add 'show-derivation-outputs'.
* guix/scripts/build.scm (guix-build): Extract code from here and move to...
* guix/ui.scm (show-derivation-outputs): ... here.  New procedure.
2015-09-18 21:42:06 +03:00
Alex Kost 88981dd3e2 Add (guix scripts).
* guix/ui.scm: Add missing copyright lines.
  (args-fold*, environment-build-options, %default-argument-handler,
  parse-command-line): Move to ...
* guix/scripts.scm: ...here.  New file.
* guix/scripts/archive.scm: Use it.
* guix/scripts/build.scm: Likewise.
* guix/scripts/download.scm: Likewise.
* guix/scripts/edit.scm: Likewise.
* guix/scripts/environment.scm: Likewise.
* guix/scripts/gc.scm: Likewise.
* guix/scripts/graph.scm: Likewise.
* guix/scripts/hash.scm: Likewise.
* guix/scripts/import/cpan.scm: Likewise.
* guix/scripts/import/cran.scm: Likewise.
* guix/scripts/import/elpa.scm: Likewise.
* guix/scripts/import/gem.scm: Likewise.
* guix/scripts/import/gnu.scm: Likewise.
* guix/scripts/import/hackage.scm: Likewise.
* guix/scripts/import/nix.scm: Likewise.
* guix/scripts/import/pypi.scm: Likewise.
* guix/scripts/lint.scm: Likewise.
* guix/scripts/package.scm: Likewise.
* guix/scripts/publish.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/scripts/size.scm: Likewise.
* guix/scripts/system.scm: Likewise.
* tests/ui.scm (with-environment-variable, "parse-command-line",
  "parse-command-line and --no options"): Move to ...
* tests/scripts.scm: ...here.  New file.
* Makefile.am (MODULES): Add guix/scripts.scm.
  (SCM_TESTS): Add tests/scripts.scm.
* po/guix/POTFILES.in: Add guix/scripts.scm.
2015-09-18 21:42:06 +03:00
Alex Kost b2cb869cf9 emacs: Replace 'guix-any' with 'cl-some'.
* emacs/guix-utils.el (guix-any): Remove.
* emacs/guix-command.el (guix-command-improve-argument): Use 'cl-some'
  instead of 'guix-any'.
2015-09-18 21:41:46 +03:00
Alex Kost eda1cc8b5d emacs: Add commands to show/hide build log phases.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* emacs/guix-build-log.el (guix-build-log-phase-end-regexp): New
  variable.
  (guix-build-log-phase-start, guix-build-log-phase-end,
  guix-build-log-phase-hide, guix-build-log-phase-show,
  guix-build-log-phase-hidden-p, guix-build-log-phase-toggle-function,
  guix-build-log-phase-toggle, guix-build-log-phase-toggle-all): New functions.
  (guix-build-log-mode-map): Add 'TAB'/'S-TAB' key bindings.
* doc/emacs.texi (Emacs Build Log): Document them.
2015-09-18 21:41:23 +03:00
Federico Beffa c093f9f63a gnu: Add scmutils.
* gnu/packages/scheme.scm (scmutils): New variable.
2015-09-18 14:55:53 +02:00
Pjotr Prins 212d563d26 gnu: Add ruby-bio-logger.
* gnu/packages/ruby.scm (ruby-bio-logger): New variable.
2015-09-17 17:41:22 -04:00
Steve Sprang 47770296d2 download: Only show hours in the elapsed time if necessary.
* guix/build/download.scm
  (seconds->string): Conditionally include hours in timestamp.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-09-17 14:40:46 +02:00
Christopher Allan Webber be3feafedf gnu: guile: Add guile-next
* gnu/packages/guile.scm (guile-next): New variable.
* gnu/packages/guile.scm (guile-for-guile-emacs):
  Adjust to inherit from guile-next rather than guile-2.0

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-09-17 14:38:19 +02:00
宋文武 0a129f391b gnu: harfbuzz: Comment on the "bin" output.
* gnu/packages/gtk.scm (harfbuzz): Comment on why "bin" output.
2015-09-17 19:57:36 +08:00
Ludovic Courtès 2d1db448bd gnu: Add emacs-typo.
* gnu/packages/emacs.scm (typo): New variable.
2015-09-17 11:21:42 +02:00
Ludovic Courtès d001bb5ab5 gnu: Add emacs-butler.
* gnu/packages/emacs.scm (butler): New variable.
2015-09-17 11:21:42 +02:00
Ludovic Courtès 3ffe36f534 gnu: Add emacs-deferred.
* gnu/packages/emacs.scm (emacs-deferred): New variable.
2015-09-17 11:21:42 +02:00
Pjotr Prins cd89fecbe7 gnu: Add ruby-cucumber-core.
* gnu/packages/ruby.scm (ruby-cucumber-core): New variable.
2015-09-16 20:56:16 -04:00
Steve Sprang a8be7b9a7a substitute: Improve readability of download progress report.
* guix/build/download.scm
  (string-pad-middle, store-url-abbreviation, store-path-abbreviation):
  New procedures.
  (progress-proc): Add #:abbreviation parameter and use it.  Generate a
  better indeterminate progress string.
* guix/scripts/substitute.scm (assert-valid-narinfo): Add newlines to output.
  (process-substitution): Use byte-count->string and store-path-abbreviation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-09-16 23:50:12 +02:00
Ben Woodcroft 41ddebdd2a gnu: Add mafft.
* gnu/packages/bioinformatics.scm (mafft): New variable.
2015-09-16 23:06:14 +02:00
Efraim Flashner e864722731 gnu: Add keepassx.
* gnu/packages/password-utils.scm (keepassx): New variable.
2015-09-16 23:00:01 +02:00
Cyril Roelandt 2c9d96767a gnu: Add python-requests-mock.
* gnu/packages/openstack.scm (python-requests-mock,
  python2-requests-mock): New variables.
2015-09-16 22:53:36 +02:00
Cyril Roelandt de34aface7 gnu: Add python-webob.
* gnu/packages/python.scm (python-webob, python2-webob): New variables.
2015-09-16 22:53:36 +02:00
Cyril Roelandt c7c7a93621 gnu: Add python-oslo.context.
* gnu/packages/openstack.scm (python-oslo.context,
  python2-oslo.context): New variables.
2015-09-16 22:53:36 +02:00
Cyril Roelandt 5702efe3e9 gnu: Add python-oslo.serialization.
* gnu/packages/openstack.scm (python-oslo.serialization,
  python2-oslo.serialization): New variables.
2015-09-16 22:53:36 +02:00
Ricardo Wurmus 979f9e8aed gnu: sfarklib: Update to 2.24.
* gnu/packages/compression.scm (sfarklib): Update to 2.24.
2015-09-16 22:42:45 +02:00
Ludovic Courtès 2ed74cea5c gnu: imagemagick: Update to 6.9.2-1.
* gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.2-1.
  [source]: Add imagemagick-test-segv.patch.
  [inputs]: Replace LIBJPEG-8 with LIBJPEG.
2015-09-16 17:59:16 +02:00
Pjotr Prins f9ae2c068d gnu: Add ruby-log4r.
* gnu/packages/ruby.scm (ruby-log4r): New variable.
2015-09-16 08:41:46 -04:00
Vicente Vera Parra 8ea6b30fea gnu: Add r-dbi.
* gnu/packages/statistics.scm (r-dbi): New variable.
2015-09-16 12:01:12 +02:00
Mark H Weaver 1d6c8db57c gnu: valgrind: Adapt to glibc-2.22 and linux-libre-4.x.
* gnu/packages/patches/valgrind-glibc-2.21.patch: Rename to ...
  gnu/packages/patches/valgrind-glibc-2.22.patch: ... this, and add a case for
  glibc-2.22.
* gnu/packages/patches/valgrind-linux-libre-4.x.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the new file, and rename the other one.
* gnu/packages/valgrind.scm (valgrind)[source]: Add new patch.
2015-09-15 18:21:16 -04:00
Andreas Enge b76b1dcb96 gnu: cups-filters: Add glib:bin as a native input.
* gnu/packages/cups.scm (cups-filters)[native-inputs]: Add the bin output
  of the glib package.
2015-09-15 23:55:09 +02:00
Ludovic Courtès f4e92db3cb nls: Add "TRANSLATORS:" comment about Texinfo.
* gnu/packages/abiword.scm: Add comment above 'description'.
2015-09-15 22:48:53 +02:00
Ludovic Courtès cbd02397b5 doc: Add guidelines for synopses and descriptions.
* doc/guix.texi (Synopses and Descriptions): New node.
* doc/contributing.texi (Submitting Patches): Add item that
  cross-references it.
2015-09-15 22:48:52 +02:00
Ludovic Courtès 2cbed07eef doc: Change authorship to "The GNU Guix Developers".
* doc/guix.texi: Replace outdated @author list with just "The GNU Guix
  Developers".
2015-09-15 22:48:52 +02:00
Vicente Vera Parra 6af4813430 gnu: Add r-lazyeval.
* gnu/packages/statistics.scm (r-lazyeval): New variable.
2015-09-15 22:33:57 +02:00
Mark H Weaver d02f38f3f8 gnu: gcc-toolchain: Don't try to delete OUT/bin/sh, which no longer exists.
* gnu/packages/commencement.scm (gcc-toolchain)[arguments]: Remove code that
  deletes OUT/bin/sh and OUT/bin/bash, since those files no longer exist in
  our libc package.
2015-09-15 16:12:35 -04:00
Vicente Vera Parra ed6094fc77 gnu: Add r-assertthat.
* gnu/packages/statistics.scm (r-assertthat): New variable.
2015-09-15 21:09:02 +02:00
pjotr.public12@thebird.nl 62e4cc5aa1 gnu: Add ruby-gherkin3.
* gnu/packages/ruby.scm (ruby-gherkin3): New variable.
2015-09-15 14:37:09 -04:00
Mathieu Lirzin 3500e659f1 lint: Add 'check-texinfo-markup' checker.
* guix/script/lint.scm (check-description-style): Check for invalid
  Texinfo markup.
* tests/lint.scm: Test it.
2015-09-15 19:01:23 +02:00
宋文武 c136546aaa gnu: librsvg: Update to 2.40.10.
* gnu/packages/gnome.scm (librsvg): Update to 2.40.10.
2015-09-15 20:32:23 +08:00
宋文武 4ea50f2bc8 gnu: libgsf: Update to 1.14.34.
* gnu/packages/gnome.scm (libgsf): Update to 1.14.34.
2015-09-15 20:31:47 +08:00
宋文武 eb6afbcde7 gnu: harfbuzz: Add "bin" output.
* gnu/packages/gtk.scm (harfbuzz)[outputs]: New field.
  [arguments]<#:configure-flags>: Pass '--bindir'.
2015-09-15 20:19:39 +08:00
Alex Kost 83d95c7b36 emacs: Add "View build log" action to build popup.
* emacs/guix-command.el (guix-run-view-build-log): New function.
  (guix-command-additional-execute-arguments,
  guix-command-special-executors): Add entries for "View build log"
  action.
* emacs/guix-utils.el (guix-find-file-or-url): New function.
2015-09-15 15:19:31 +03:00
Alex Kost 34850cd59d emacs: Add modes for viewing build logs.
* emacs/guix-build-log.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Build Log): Document it.  New node.
  (Emacs Interface): Add it.
* doc/guix.texi (Top): Likewise.
2015-09-15 15:19:31 +03:00
Alex Kost ea369ee1b0 emacs: Display guix command errors in the minibuffer.
* emacs/guix-main.scm (output+error): New procedure.
  (guix-command-output): Use it.
* emacs/guix-base.el (guix-command-output): Display error output in the
  minibuffer.
2015-09-15 15:19:31 +03:00
Alex Kost 46e17df661 emacs: Add customization groups for faces.
* emacs/guix.el (guix-faces): New custom group.
* emacs/guix-base.el (guix-operation-option-key): Use it.
  (guix-define-buffer-type): Generate faces group.
* emacs/guix-info.el: Adjust faces to use new groups.
  (guix-info-faces): New custom group.
* emacs/guix-list.el: Likewise
  (guix-list-faces): New custom group.
2015-09-15 15:19:30 +03:00
宋文武 fd9b3b43ab gnu: harfbuzz: Propagate graphite2 and icu4c.
* gnu/packages/gtk.scm (harfbuzz): Move graphite2 and icu4c to 'propagated-inputs'.
  [source]: Improve formatting.
2015-09-15 20:11:52 +08:00
Mark H Weaver 40f4817846 gnu: util-linux: Adapt util-linux-tests.patch to version 2.27.
This is a followup to commit 57a66c2729.

* gnu/packages/patches/util-linux-tests.patch: Adapt to util-linux 2.27.
2015-09-15 01:41:57 -04:00
Mark H Weaver 57a66c2729 gnu: util-linux: Update to 2.27.
* gnu/packages/linux.scm (util-linux): Update to 2.27.
2015-09-15 00:17:50 -04:00
Mark H Weaver 8338c24163 gnu: util-linux: Minor fixes.
* gnu/packages/linux.scm (util-linux)[source]: Return #t from the snippet.
  [arguments]: Remove "--enable-ddate" from configure flags, as it is no
  longer recognized (ddate is no longer included in util-linux).
2015-09-15 00:17:49 -04:00
Eric Bavier 50f5c46d06 guix: lint: Check for meaningful origin file names.
* guix/scripts/lint.scm (check-source-file-name): New procedure.
  (%checkers): Add 'source-file-name' checker.
* tests/lint.scm ("source-file-name", "source-file-name: v prefix")
  ("source-file-name: valid", "source-file-name: bad checkout")
  ("source-file-name: good checkout"): New tests.
* doc/guix.texi (Invoking guix lint): Mention file name check.
2015-09-14 18:03:33 -05:00
Eric Bavier 3b4d01035f guix: packages: Add origin-actual-file-name.
* guix/scripts/graph.scm (uri->file-name, node-full-name): Move origin file
  name logic to...
* guix/packages.scm (origin-actual-file-name): ...here.
* tests/packages.scm ("origin-actual-file-name")
  ("origin-actual-file-name, file-name"): New tests.
2015-09-14 18:02:37 -05:00
Steve Sprang eb95ace9f1 download: Avoid type errors when formatting download progress output.
* guix/build/download.scm (nearest-exact-integer): New procedure.
  (seconds->string, byte-count->string): Use it.
2015-09-14 23:36:26 -04:00
Ludovic Courtès d89e0990f5 guix system: Gracefully handle incomplete commands.
Fixes <http://bugs.gnu.org/21451>.
Reported by Steve Sprang <steve.sprang@gmail.com>.

* guix/scripts/system.scm (guix-system)[option-arguments]: Error out
  when ACTION is #f.
2015-09-15 00:04:27 +02:00
Mathieu Lirzin 17d8e33f31 doc: Use the recommended Scheme format.
Apply the recommended formatting rules from '.dir-locals.el' to the
examples in the manual in order to fulfill it's purpose of being a
reference.

* doc/package-hello.scm: Indent it.
* doc/guix.texi (Defining Packages, Version Numbers): Likewise.
* gnu/packages/base.scm (hello): Be consistent with the manual.
2015-09-14 23:10:58 +02:00
Pjotr Prins 9c38b54027 gnu: Add bio-locus.
* gnu/packages/bioinformatics.scm (bio-locus): New variable.
2015-09-14 12:06:04 -04:00
David Thompson 801a0a2219 Revert "gnu: Add bio-locus."
This reverts commit b429c4fbb0.
2015-09-14 12:05:15 -04:00
Pjotr Prins b429c4fbb0 gnu: Add bio-locus.
* gnu/packages/bioinformatics.scm (bio-locus): New variable.
2015-09-14 11:36:30 -04:00
宋文武 1b7b7f27bd gnu: cmake: Update to 3.3.1.
* gnu/packages/cmake.scm (cmake): Update to 3.3.1.  Enable parallel
  tests.
2015-09-14 21:05:38 +08:00
David Thompson 239db054a7 gnu: system: Add Linux container module.
* gnu/system/linux-container.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system.scm: Export 'operating-system-etc-directory',
  'operating-system-boot-script', 'operating-system-locale-directory', and
  'file-union'.
  (operating-system-boot-script): Add #:container? keyword argument.
  (operating-system-activation-script): Add #:container?  keyword argument.
  Don't call 'activate-firmware' or 'activate-ptrace-attach' when activating a
  container.
2015-09-14 08:30:46 -04:00
David Thompson 5dc876231b build: ruby: Add support for tarball and directory sources.
Previously, the Ruby build system only knew how to work with gem archives,
which made it difficult to build unreleased gems from a Git repository or
released gems in tarball form.

* gnu/build/ruby-build-system.scm (gnu:unpack, gem-archive?): New procedures.
  (unpack): Use GNU build system unpack phase for non-gem sources.
  (build): Rebuild the gemspec iff the source is a gem archive.
* guix.texi ("ruby-build-system"): Mention that tarballs and directories are
  acceptable.
2015-09-14 08:29:07 -04:00
宋文武 f56e8f5730 gnu: pciutils: Update to 3.3.1.
* gnu/packages/pciutils.scm (pciutils): Update to 3.3.1.
2015-09-14 20:01:13 +08:00
宋文武 62bffcaa3b Revert "gnu: libtasn1: Update to 4.6."
Causes a test of GnuTLS to fail:
<http://lists.gnu.org/archive/html/help-libtasn1/2015-09/msg00003.html>.

This reverts commit 866ee34f7e.
2015-09-14 19:21:23 +08:00
Cyril Roelandt 27cc9f2544 gnu: Add python-oslo.utils.
* gnu/packages/openstack.scm (python-oslo.utils, python2-oslo.utils): New variables.
2015-09-14 00:14:56 +02:00
Cyril Roelandt 2713527e06 gnu: Add python-debtcollector.
* gnu/packages/openstack.scm (python-debtcollector,
  python2-debtcollector): New variables.
2015-09-14 00:14:56 +02:00
Cyril Roelandt 5e412b6383 gnu: Add python-monotonic.
* gnu/packages/python.scm (python-monotonic, python2-monotonic): New variables.
2015-09-14 00:14:56 +02:00
Cyril Roelandt b85c85becd gnu: Add python-iso8601.
* gnu/packages/python.scm (python-iso8601, python2-iso8601): New variables.
2015-09-14 00:14:55 +02:00
Cyril Roelandt 8c692a5258 gnu: Add python-wrapt
* gnu/packages/python.scm (python-wrapt, python2-wrapt): New variables.
2015-09-14 00:14:53 +02:00
Cyril Roelandt ed56af06bc gnu: Add python-oslo.config.
* gnu/packages/openstack.scm (python-oslo.config, python2-oslo.config): New variables.
2015-09-13 23:31:57 +02:00
Cyril Roelandt 673d1a9deb gnu: Add python-stevedore.
* gnu/packages/openstack.scm (python-stevedore, python2-stevedore): New variables.
2015-09-13 23:28:50 +02:00
Cyril Roelandt 6e5e39f406 gnu: Add python-netaddr.
* gnu/packages/python.scm (python-netaddr, python2-netaddr): New variables.
2015-09-13 23:21:54 +02:00
Ludovic Courtès fb76332f80 gnu: libidn: Update to 1.32.
* gnu/packages/libidn.scm (libidn): Update to 1.32.
2015-09-13 21:36:13 +02:00
Ludovic Courtès 75710da667 Merge branch 'master' into core-updates 2015-09-13 21:28:01 +02:00
Mathieu Lirzin 59ef20304b gnu: Add cvs-fast-export.
* gnu/packages/version-control.scm (cvs-fast-export): New variable.
2015-09-13 21:23:45 +02:00
Ludovic Courtès 610075f7c9 gnu: gnupg: Update to 2.1.8.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.8.
2015-09-13 21:17:30 +02:00
Ludovic Courtès 92d0fcb6dc gnu: cpio: Upgrade to 2.12.
* gnu/packages/cpio.scm (cpio): Update to 2.12.
  [source]: Remove 'patches' field.
* gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch,
  gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch,
  gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch,
  gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch,
  gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch,
  gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove.
2015-09-13 21:14:23 +02:00
David Thompson 73374a68e9 gnu: tiled: Update to 0.13.1.
* gnu/packages/game-development.scm (tiled): Update to 0.13.1.
2015-09-13 09:20:03 -04:00
David Thompson 785fb60e1f gnu: redis: Update to 3.0.4
* gnu/packages/databases.scm (redis): Update to 3.0.4.
2015-09-13 09:04:40 -04:00
宋文武 ab20c2cc33 gnu: gnutls: Update to 3.4.5.
* gnu/packages/tls.scm (gnutls): Update to 3.4.5.
2015-09-13 18:39:39 +08:00
宋文武 e5fe08e4ba gnu: cups: Update to 2.1.0.
* gnu/packages/cups.scm (cups, cups-minimal): Update to 2.1.0.
2015-09-13 18:39:39 +08:00
宋文武 5fd92f2063 gnu: cups-filters: Update to 1.0.75.
* gnu/packages/cups.scm (cups-filters): Update to 1.0.75.
2015-09-13 18:39:39 +08:00
宋文武 47959dd442 gnu: qpdf: Update to 5.1.3.
* gnu/packages/pdf.scm (qpdf): Update to 5.1.3.
2015-09-13 18:39:39 +08:00
宋文武 62a9a23bf9 gnu: python-setuptools: Update to 18.3.1.
* gnu/packages/python.scm (python-setuptools): Update to 18.3.1.
2015-09-13 18:39:39 +08:00
宋文武 67e463ecac gnu: openldap: Update to 2.4.42.
* gnu/packages/openldap.scm (openldap): Update to 2.4.42.
2015-09-13 18:39:39 +08:00
Ludovic Courtès 0081410da0 Revert "services: 'mingetty-service' no longer takes monadic values."
This reverts commit daa48c3179.
2015-09-13 12:04:55 +02:00
Leo Famulari 82aa2a2879 gnu: Add lz4.
* gnu/packages/compression.scm (lz4): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-09-13 12:01:34 +02:00
Ludovic Courtès daa48c3179 services: 'mingetty-service' no longer takes monadic values.
* gnu/services/base.scm (mingetty-service): Change default value of
  #:motd from a monadic value to a <plain-file>.  Assume MOTD to be a
  file-like object.  Assume LOGIN-PROGRAM is a gexp or #f.
  (%base-services): Use 'plain-file' instead of 'text-file' for motd.
* gnu/system/linux.scm (unix-pam-service): Update docstring to mention
  that MOTD is a file-like object.
* doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation
  accordingly.
2015-09-13 11:54:56 +02:00
Ricardo Wurmus 5fbbd29f74 gnu: Add ibus-libpinyin.
* gnu/packages/ibus.scm (ibus-libpinyin): New variable.
2015-09-12 22:51:44 +02:00
Ricardo Wurmus 12edffe429 gnu: Add libpinyin.
* gnu/packages/ibus.scm (libpinyin): New variable.
2015-09-12 22:51:44 +02:00
David Thompson 5708a92ace gnu: minetest: Update to 0.4.13.
* gnu/packages/games.scm (minetest-data, minetest): Update to 0.4.13.
2015-09-12 11:46:31 -04:00
宋文武 a6eb73a4b1 gnu: tk: Update to 8.6.4.
* gnu/packages/tcl.scm (tk): Update to 8.6.4.
2015-09-12 15:34:27 +08:00
宋文武 84439c5113 gnu: tcl: Update to 8.6.4.
* gnu/packages/tcl.scm (tcl): Update to 8.6.4.
2015-09-12 15:25:13 +08:00
宋文武 c0ec516dc8 gnu: lzo: Update to 2.09.
* gnu/packages/compression.scm (lzo): Update to 2.09.
2015-09-12 15:02:26 +08:00
宋文武 866ee34f7e gnu: libtasn1: Update to 4.6.
* gnu/packages/tls.scm (libtasn1): Update to 4.6.
2015-09-12 15:02:22 +08:00
宋文武 ea50a7cf73 Revert "gnu: lzo: Update to 2.09."
This reverts commit 5cfb91c7d4.
2015-09-12 15:01:49 +08:00
宋文武 5cfb91c7d4 gnu: lzo: Update to 2.09.
* gnu/packages/compression.scm (lzo): Update to 2.09.
2015-09-12 14:18:09 +08:00
宋文武 aacb86fd79 gnu: glib: Update to 2.44.1.
* gnu/packages/glib.scm (glib): Update to 2.44.1.
2015-09-12 13:34:04 +08:00
宋文武 42e666494d gnu: sqlite: Update to 3.8.11.1.
* gnu/packages/databases.scm (sqlite): Update to 3.8.11.1.
  [source](uri): Add 'http://distfiles.gentoo.org'.
2015-09-12 11:55:45 +08:00
Ludovic Courtès 895067ff49 gnu: coreutils: Skip racy 'tail' tests.
This works around <http://bugs.gnu.org/21460>.

* gnu/packages/patches/coreutils-racy-tail-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (coreutils): Use it.
2015-09-11 23:16:37 +02:00
Efraim Flashner e693db426b gnu: enlightenment: Update to 0.19.9.
* gnu/packages/enlightenment (enlightenment): Update to 0.19.9.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-09-11 23:00:12 +02:00
Efraim Flashner 16460dc0e8 gnu: emotion-generic-players: Update to 1.15.0.
* gnu/packages/enlightenment.scm (emotion-generic-players):
  Update to 1.15.0.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-09-11 23:00:12 +02:00
Efraim Flashner 735331de2e gnu: evas-generic-loaders: Update to 1.15.0.
* gnu/packages/enlightenment.scm (evas-generic-loaders):
  Update to 1.15.0.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-09-11 23:00:12 +02:00
Efraim Flashner 3c07ae5d6e gnu: elementary: Update to 1.15.1.
* gnu/packages/enlightenment.scm (elementary): Update to 1.15.1.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-09-11 23:00:12 +02:00
Efraim Flashner f4db48580e gnu: efl: Update to 1.15.1.
* gnu/packages/enlightenment.scm (efl): Update to 1.15.1.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-09-11 23:00:12 +02:00
Efraim Flashner dab148b6e6 gnu: terminology: Update to 0.9.0.
* gnu/packages/enlightenment.scm (terminology): Update to 0.9.0.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-09-11 23:00:12 +02:00
Efraim Flashner b7610f23bd gnu: ncdu: Update to 1.11.
* gnu/packages/ncdu.scm (ncdu): Update to 1.11.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-09-11 23:00:12 +02:00
Andreas Enge b86c013c68 gnu: bdb: Add configure flag to fix C++ header file.
* gnu/packages/databases.scm (bdb): Build with "--enable-cxx", which causes
  HAVE_CXX_STDHEADERS to be defined in db_cxx.h in the output.
2015-09-11 22:42:23 +02:00
Andreas Enge 5bef7749d5 gnu: bdb: Fix indentation.
* gnu/packages/databases.scm (bdb): Fix indentation.
2015-09-11 22:42:11 +02:00
Andreas Enge c84940ef81 Revert "gnu: bdb: Fix indentation."
This reverts commit 41996f22ab.
2015-09-11 22:40:22 +02:00
Andreas Enge 51c591baa5 Revert "gnu: bdb: Add configure flag to fix C++ header file."
This reverts commit e4c3e2cd43.
2015-09-11 22:40:15 +02:00
Andreas Enge e4c3e2cd43 gnu: bdb: Add configure flag to fix C++ header file.
* gnu/packages/databases.scm (bdb): Build with "--enable-cxx", which causes
  HAVE_CXX_STDHEADERS to be defined in db_cxx.h in the output.
2015-09-11 22:36:50 +02:00
Andreas Enge 41996f22ab gnu: bdb: Fix indentation.
* gnu/packages/databases.scm (bdb): Fix indentation.
2015-09-11 22:36:50 +02:00
Ludovic Courtès 6fd66b6c99 gnu: Add emacs-debbugs.
* gnu/packages/emacs.scm (emacs-debbugs): New variable.
2015-09-11 22:00:23 +02:00
宋文武 d495634bc5 gnu: perl-xml-parser: Update to 2.44.
* gnu/packages/xml.scm (perl-xml-parser): Update to 2.44.
  [homepage]: Adjust accordingly.
2015-09-11 21:44:08 +08:00
宋文武 e378020042 gnu: linux-pam: Update to 1.2.1.
* gnu/packages/linux.scm (linux-pam): Update to 1.2.1.
2015-09-11 21:00:43 +08:00
宋文武 a35b8fc6c4 gnu: gtk+: Update to 3.16.6.
* gnu/packages/gtk.scm (gtk+): Update to 3.16.6.
2015-09-11 20:31:10 +08:00
宋文武 6847247c39 gnu: poppler: Update 0.36.0.
* gnu/packages/pdf.scm (poppler): Update to 0.36.0.
2015-09-11 20:28:02 +08:00
宋文武 f47fbeb23a build-system/glib-or-gtk: Don't generate 'icon-theme.cache'.
* guix/build-system/glib-or-gtk.scm (default-gtk+): Remove.
  (lower): Adjust accordingly.
* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Remove.
  (%standard-phases): Remove 'glib-or-gtk-icon-cache' phase.
2015-09-11 20:24:30 +08:00
Siniša Biđin 78edf44ce7 gnu: Add ghc-xmonad-contrib.
* gnu/packages/wm.scm (ghc-xmonad-contrib): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-09-11 03:23:13 -05:00
Siniša Biđin 6e38c4be4f gnu: Add xmonad.
* gnu/packages/wm.scm (xmonad): New variable.

Co-authored-by: Eric Bavier <bavier@member.fsf.org>
2015-09-11 03:18:32 -05:00
Ludovic Courtès a1d5a6f913 gnu: libxt: Add "doc" output.
* gnu/packages/xorg.scm (libxt)[outputs, arguments]: New fields.
2015-09-11 09:46:52 +02:00
Ludovic Courtès bac4818467 gnu: libx11: Add "doc" output.
* gnu/packages/xorg.scm (libx11)[outputs, arguments]: New fields.
2015-09-11 09:46:47 +02:00
Mark H Weaver 574d9db2ce services: elogind-configuration: Disable hibernation key by default.
* gnu/services/desktop.scm (<elogind-configuration>): Change the default value
  of the 'handle-hibernate-key' field to 'ignore'.
2015-09-10 19:46:30 -04:00
Mark H Weaver 4307c476c4 services: Add udev rules for (upower colord elogind) to %desktop-services.
* gnu/services/desktop.scm (%desktop-services): Replace the 'udev-service'
  from %base-services.
* gnu/services/base.scm (%base-services): Add a comment to keep them in sync.
2015-09-10 19:46:13 -04:00
Mark H Weaver 14454f0bc5 file-systems: Add %elogind-file-systems; add it to %base-file-systems.
* gnu/system/file-systems.scm (%elogind-file-systems): New variable.
  (%base-file-systems): Add %elogind-file-systems.
2015-09-10 19:45:26 -04:00
Ludovic Courtès 3f208ad758 guix build: '--log-file' can return URLs.
* guix/scripts/build.scm (%default-log-urls): New variable.
  (log-url): New procedure.
  (guix-build): Use it.
* doc/guix.texi (Invoking guix build): Document it.
2015-09-10 23:14:16 +02:00
Ludovic Courtès 6b02a448d2 http-client: Backport delimited input port fix from Guile.
* guix/http-client.scm (make-delimited-input-port): Backport Guile
  commit 5a10e41.
  Monkey-patch 'make-delimited-input-port' for any Guile <= 2.0.11.
2015-09-10 23:14:16 +02:00
Ludovic Courtès 1c01a30d66 http-client: Remove redundant import clause.
* guix/http-client.scm: Remove redundant #:use-module (guix utils).
2015-09-10 23:14:16 +02:00
Eric Bavier c6a3635d54 gnu: perl: Fix autosplitting of 0-time source.
* gnu/packages/patches/perl-autosplit-default-time.patch: New patch.
* gnu/packages/perl.scm (perl): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2015-09-10 03:40:34 -05:00
Eric Bavier 8b94dffde8 gnu: gnucash: Add Finance::Quote support.
* gnu/packages/patches/gnucash-price-quotes-perl.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gnucash.scm (gnucash)[source]: Use it.
  [inputs]: Add perl-date-manip and perl-finance-quote.
  [arguments]: Add 'wrap-programs' phase.  Move below inputs.
2015-09-10 03:21:55 -05:00
Eric Bavier a6d0b306c2 guix: packages: Add transitive-input-references.
* guix/packages.scm (transitive-input-references): New procedure.
* gnu/packages/version-control.scm (package-transitive-propagated-labels*)
  (package-propagated-input-refs): Delete.
  (git)[arguments]: Adjust to transitive-input-references.
2015-09-10 03:21:55 -05:00
Eric Bavier 8b45993235 gnu: Add perl-finance-quote.
* gnu/packages/web.scm (perl-finance-quote): New variable.
* gnu/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2015-09-10 03:21:55 -05:00
Eric Bavier bb1ba6b8f7 gnu: Add perl-date-manip.
* gnu/packages/perl.scm (perl-date-manip): New variable.
2015-09-10 03:21:55 -05:00
Eric Bavier 9cf6c9fcf0 gnu: Add perl-html-tableextract.
* gnu/packages/web.scm (perl-html-tableextract): New variable.
2015-09-10 03:21:55 -05:00
Eric Bavier c1b9e7e7b5 gnu: Add perl-html-element-extended.
* gnu/packages/web.scm (perl-html-element-extended): New variable.
2015-09-10 03:21:55 -05:00
Efraim Flashner a1121a7f83 gnu: ffmpeg: Update to 2.8.
* gnu/packages/video.scm (ffmpeg): Update to 2.8.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-09-10 11:55:51 +02:00
Ludovic Courtès ef30b974c9 pull: Update to the new cgit snapshot URL.
* guix/scripts/pull.scm (%snapshot-url): Update to the new URL.
2015-09-10 08:49:36 +02:00
Ludovic Courtès 9d9847e153 gnu: curl: Move man3 pages to "doc" output.
* gnu/packages/curl.scm (curl)[outputs]: New field.
  [arguments]: Add 'move-man3-pages' phase.
2015-09-09 23:29:50 +02:00
Ludovic Courtès 5625adfccc gnu: curl: Use 'modify-phases'.
* gnu/packages/curl.scm (curl)[arguments]: Use 'modify-phases'.
2015-09-09 23:29:50 +02:00
Ludovic Courtès 2fecbdbd82 gnu: gdb: Remove headers and libraries already in Binutils.
* gnu/packages/gdb.scm (gdb)[arguments]: Add #:modules.  Rename
  'post-install' phase to 'remove-libs-already-in-binutils'.  Change it
  to compute the intersection of the set of headers and libraries of GDB
  vs. Binutils and to remove each of the files found in both.
2015-09-09 23:27:10 +02:00
Ludovic Courtès f19b9b96cd gnu: gdb: Use 'modify-phases'.
* gnu/packages/gdb.scm (gdb)[arguments]: Use 'modify-phases'.
2015-09-09 23:27:10 +02:00
Ludovic Courtès c0a1ea2c75 gnu: gdb: Update to 7.10.
* gnu/packages/gdb.scm (gdb): Update to 7.10.
2015-09-09 23:27:10 +02:00
Ludovic Courtès 0334ef2ab0 linux-initrd: Compress cpio archives deterministically.
* gnu/build/linux-initrd.scm (write-cpio-archive): Use '--no-name'.
2015-09-09 23:27:10 +02:00
Mark H Weaver eb55e28c84 hydra: Remove cross-builds from armhf-linux to mips64el-linux-gnuabi64.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Modify
  'from-32-to-64?' to include 'armhf-linux' in the set of 32-bit systems.
2015-09-09 16:35:03 -04:00
Ludovic Courtès 784d6e9115 gnu: openssl: Remove run-time dependency on Perl.
This shrinks the closure of OpenSSL from 154 MiB to 73 MiB.

* gnu/packages/patches/openssl-c-rehash.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/tls.scm (openssl)[source]: Use it.
  [arguments]: Add 'remove-miscellany' phase.
* gnu/packages/certs.scm (nss-certs)[native-inputs]: Add PERL.
2015-09-09 19:01:48 +02:00
Ludovic Courtès fe8199a80c gnu: openssl: Allow shared objects to be stripped.
* gnu/packages/tls.scm (openssl)[arguments]: Add
  'make-libraries-writable' phase.
2015-09-09 18:31:05 +02:00
Ludovic Courtès 4fb254a339 gnu: openssl: Install data and documentation to PREFIX/share.
* gnu/packages/tls.scm (openssl)[arguments]: Add 'fix-man-dir' phase.
  Pass --openssldir=PREFIX/share/openssl-VERSION to ./config.
2015-09-09 18:17:38 +02:00
Ludovic Courtès b6cb13583b gnu: openssl: Use 'modify-phases'.
* gnu/packages/tls.scm (openssl)[arguments]: Use 'modify-phases'.
2015-09-09 15:31:23 +02:00
Ludovic Courtès 6f6eb85760 gnu: libtiff: Add "doc" output.
* gnu/packages/image.scm (libtiff)[outputs, arguments]: New fields.
2015-09-09 15:25:05 +02:00
宋文武 363ccf9fe2 gnu: xfce4-settings: Set the default icon theme to "gnome".
Fixes <http://bugs.gnu.org/21217>.

* gnu/packages/patches/xfce4-settings-defaults.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xfce.scm (xfce4-settings)[source]: Add patch.
2015-09-09 21:06:30 +08:00
Ricardo Wurmus c940a14559 gnu: ibus: Suggest search path.
* gnu/packages/ibus.scm (ibus)[native-search-paths]: Add path specification
  for IBUS_COMPONENT_PATH.
2015-09-09 07:25:27 +02:00
Ricardo Wurmus 3d3caf1f31 gnu: Add gMTP.
* gnu/packages/libusb.scm (gmtp): New variable.
2015-09-09 07:03:26 +02:00
Ricardo Wurmus 5b86a5842c gnu: ibus: Update to 1.5.11.
* gnu/packages/ibus.scm (ibus): Update to 1.5.11.
2015-09-09 07:01:12 +02:00
Ricardo Wurmus a228fce597 gnu: qsynth: Update to 0.4.0.
* gnu/packages/audio.scm (qsynth): Update to 0.4.0.
2015-09-09 07:00:42 +02:00
Cyril Roelandt 5a4849e11c gnu: oslotest: Update to 1.10.0
* gnu/packages/openstack.scm (python-oslotest): Update to 1.10.0.
2015-09-08 23:19:31 +02:00
Ludovic Courtès 6f96706d6f gnu: sqlite: Switch to alternate source URL.
* gnu/packages/databases.scm (sqlite)[source]: Add fossies.org URL.
2015-09-08 22:21:00 +02:00
Steve Sprang 0c0a1f22ce build: Improve information density and appearance of download progress output.
* guix/build/download.scm (seconds->string): New function.
  (byte-count->string): New function.
  (progress-bar): New function.
  (throughput->string): Remove function.
  (progress-proc): Display base file name, elapsed time, and progress bar.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-09-08 21:47:30 +02:00
Ludovic Courtès c5d8e688dc gnu: glibc: Patch 'openat64', which was buggy on 32-bit platforms.
* gnu/packages/patches/glibc-o-largefile.patch: New file.
* gnu/packages/base.scm (glibc)[source]: Add it to 'patches'.
* gnu-system.am (dist_patch_DATA): Add it.
2015-09-08 15:53:05 +02:00
Mathieu Lirzin 1cd4027cfd ui: Add package-description-string.
Provide support for Texinfo's markup in package description.

* guix/ui.scm (%text-width): New parameter.
  (texi->plain-text): New variable.
  (package->recutils): Use them.
  (package-description-string): New variable.
* emacs/guix-main.scm (%package-param-alist): Use it.
* gnu/packages/perl.scm (perl-devel-globaldestruction)
  (perl-devel-lexalias, perl-exporter-lite): Adapt to Texinfo's markup.
* gnu/packages/python.scm (python2-empy): Likewise.
2015-09-08 07:44:53 +02:00
Cyril Roelandt 8531b326f1 gnu: Add oslo.i18n.
* gnu/packages/openstack.scm (python-oslo.i18n, python2-oslo.i18n): New
  variables.
2015-09-08 00:14:11 +02:00
Cyril Roelandt 05de40c5d3 gnu: python-testtools: fix propagated inputs.
* gnu/packages/python.scm (python-testools): turn python-fixtures and
  python-testtools into propagated inputs.
2015-09-08 00:14:11 +02:00
Cyril Roelandt ea8e40d031 gnu: pbr: Update to 1.6.0
* gnu/packages/openstack.scm (python-pbr): Update to 1.6.0.
2015-09-08 00:11:16 +02:00
David Thompson 64b6ccc30e gnu: Add ruby-rack.
* gnu/packages/ruby.scm (ruby-rack): New variable.
2015-09-07 13:43:44 -04:00
David Thompson ee78d02452 build: container: Use the same clone flags as fork(3).
The intent is to make 'clone' behave a lot more like 'primitive-fork', which
calls clone(2) with SIGCHLD, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID
flags.  Notably, running 'clone' at the REPL without these flags would break
the REPL beyond repair.

* guix/build/syscalls.scm (CLONE_CHILD_CLEARTID, CLONE_CHILD_SETTID): New
  variables.
* gnu/build/linux-container.scm (namespaces->bit-mask): Add
  CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID to bit mask.
2015-09-07 13:09:58 -04:00
David Thompson 4949ada9da build: container: Setup /dev/console.
* gnu/build/linux-container.scm (mount-file-systems): Bind mount the
  controlling terminal as /dev/console.
2015-09-07 13:09:58 -04:00
David Thompson 468e56576c gnu: Add ruby-byebug.
* gnu/packages/ruby.scm (ruby-byebug): New variable.
2015-09-07 08:27:57 -04:00
David Thompson 4a9e058566 gnu: Add ruby-pg.
* gnu/packages/ruby.scm (ruby-pg): New variable.
2015-09-07 08:27:37 -04:00
David Thompson b500e7182d build: ruby: Avoid long build directory names.
Having the hash of the source gem in the source directory file name proved to
be problematic when running the test suite for the 'pg' gem that creates
UNIX-domain sockets in the source directory and exceeded the 108 character
limit on GNU/Linux systems.

* guix/build/ruby-build-system.scm (unpack): Rename unpacked gem directory to
  "gem".
2015-09-07 08:27:10 -04:00
Mark H Weaver 140b4bc6cd packages: Build tarballs in sorted order even if tar doesn't support it.
This is a followup to commit 92226a470d.

* guix/packages.scm (patch-and-repack)[build]: Determine if tar supports the
  "--sort=name" option using a run-time test.  If not supported, generate the
  sorted file list with 'find-files' and pass it to tar using "--files-from".
2015-09-06 17:25:51 -04:00
Mark H Weaver f4ae827e26 utils: find-files: Add DIRECTORIES? and FAIL-ON-ERROR? arguments.
* guix/build/utils.scm (find-files): Add DIRECTORIES? and FAIL-ON-ERROR?
  keyword arguments.
2015-09-06 17:25:50 -04:00
Andreas Enge 8957241dd4 gnu: Add enblend-enfuse.
* gnu/packages/photo.scm (enblend-enfuse): New variable.
2015-09-06 23:12:51 +02:00
Andreas Enge f03c0e01ca gnu: calibre: Update to 2.37.1.
* gnu/packages/ebook.scm (calibre): Update to 2.37.1.
2015-09-06 22:36:34 +02:00
Andreas Enge 194c7f95f1 gnu: Add FLANN.
* gnu/packages/maths.scm (flann): New variable.
2015-09-06 19:34:09 +02:00
Efraim Flashner a1703aa765 gnu: youtube-dl: Update to 2015.09.03.
* gnu/packages/video.scm (youtube-dl): Update to 2015.09.03.
2015-09-06 18:24:18 +02:00
Andreas Enge 0e6412c1d0 gnu: Add libpano13.
* gnu/packages/photo.scm (libpano13): New variable.
2015-09-06 18:20:01 +02:00
宋文武 f5c0b04bfe gnu: poppler: Update to 0.35.0.
* gnu/packages/pdf.scm (poppler): Update to 0.35.0.
2015-09-06 21:52:21 +08:00
宋文武 81ece42981 gnu: harfbuzz: Update to 1.0.3.
* gnu/packages/gtk.scm (harfbuzz): Update to 1.0.3.
2015-09-06 21:52:21 +08:00
宋文武 e6f22a828e gnu: graphite2: Update to 1.3.1.
* gnu/packages/fontutils.scm (graphite2): Update to 1.3.1.  Remove
  unused PERL from inputs.
  [native-inputs]: New field.
2015-09-06 21:52:21 +08:00
宋文武 d582eaacec gnu: Add python-fonttools.
* gnu/packages/python.scm (python-fonttools, python2-fonttools): New
  variables.
2015-09-06 21:52:21 +08:00
宋文武 030fa12ef2 gnu: fontconfig: Update to 2.11.94.
* gnu/packages/fontutils.scm (fontconfig): Update to 2.11.94.
  [arguments]: Pass '--with-cache-dir=/var/cache/fontconfig' to configure.
  Add #:phases.
2015-09-06 21:52:21 +08:00
Ludovic Courtès a5c0d8bc55 ui: Change 'P_' to return the empty string when passed the empty string.
Reported by Mathieu Lirzin <mathieu.lirzin@etu.u-bordeaux.fr>
at <https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00111.html>.

* guix/ui.scm (P_): Check whether MSGID is empty, and return it if it is.
2015-09-06 15:52:04 +02:00
David Thompson 37ab3abad3 Update copyright information in (gnu packages ruby). 2015-09-06 09:39:18 -04:00
David Thompson f847ad7bc0 gnu: Add ruby-ox.
* gnu/packages/ruby.scm (ruby-ox): New variable.
2015-09-06 09:24:17 -04:00
David Thompson 5ff89a1bd2 gnu: Add ruby-activesupport.
* gnu/packages/ruby.scm (ruby-activesupport): New variable.
2015-09-06 09:24:17 -04:00
David Thompson c99e224707 gnu: Add ruby-json.
* gnu/packages/ruby.scm (ruby-json): New variable.
2015-09-06 09:08:49 -04:00
David Thompson 08a1b7013d gnu: Add ruby-tzinfo.
* gnu/packages/ruby.scm (ruby-tzinfo): New variable.
2015-09-06 09:08:49 -04:00
David Thompson 1415792a7c gnu: Add ruby-thread-safe.
* gnu/packages/ruby.scm (ruby-thread-safe): New variable.
2015-09-06 09:08:49 -04:00
David Thompson 96e76083b8 gnu: Add ruby-pry.
* gnu/packages/ruby.scm (ruby-pry): New variable.
2015-09-06 09:08:48 -04:00
David Thompson 5337f8b97d gnu: Add ruby-slop-3.
* gnu/packages/ruby.scm (ruby-slop-3): New variable.
2015-09-06 09:08:48 -04:00
David Thompson 2e3fdea441 gnu: Add ruby-coderay.
* gnu/packages/ruby.scm (ruby-coderay): New variable.
2015-09-06 09:08:48 -04:00
David Thompson 30b0b725ff gnu: Add ruby-method-source.
* gnu/packages/ruby.scm (ruby-method-source): New variable.
2015-09-06 09:08:47 -04:00
Ludovic Courtès 386b0052f5 gnu: sound-theme-freedesktop: Specify the applicable licenses.
* gnu/packages/libcanberra.scm (sound-theme-freedesktop)[license]:
  Specify the actual licenses that apply.
2015-09-06 12:36:15 +02:00
Ludovic Courtès 12abc6e395 licenses: Add CC-BY-SA and CC-BY.
* guix/licenses.scm (cc-by-sa4.0, cc-by3.0): New variables.
2015-09-06 12:36:15 +02:00
Ludovic Courtès 90f2801e21 gnu: Set license of the bootstrap tools.
* gnu/packages/bootstrap.scm (package-from-tarball)[license]: Set to
  GPL3+.
* gnu/packages/make-bootstrap.scm (%static-binaries)[license]:
  Likewise.
2015-09-06 12:36:15 +02:00
Ludovic Courtès 52b9efe337 lint: Add 'license' checker.
* guix/scripts/lint.scm (check-license): New procedure.
  (%checkers): Add 'license' checker.
* tests/lint.scm ("license: invalid license"): New test.
2015-09-06 12:36:15 +02:00
Ludovic Courtès 718a2bde42 gnu: r-stringr: Provide valid 'home-page' URL.
* gnu/packages/statistics.scm (r-stringr)[home-page]: Set to valid URL.
2015-09-06 12:36:15 +02:00
Alex Kost d0f74308e2 gnu: coreutils-light: Rename to coreutils-minimal.
* gnu/packages/base.scm (coreutils-light): Rename to ...
  (coreutils-minimal): ...this.
* gnu/packages/commencement.scm (%boot5-inputs): Use it.
2015-09-06 12:33:21 +03:00
Alex Kost f24931d841 gnu: bash-light: Rename to bash-minimal.
* gnu/packages/bash.scm (bash-light): Rename to ...
  (bash-minimal): ...this.
  (static-bash): Use it.
* gnu/packages/make-bootstrap.scm (%bash-static): Use it.
2015-09-06 12:33:21 +03:00
Alex Kost 6480fcae24 emacs-build-system: Fix a file name of info directory.
* guix/build/emacs-build-system.scm (move-doc): Adjust to use
  "/share/info" instead of its sub-directory.
2015-09-06 12:15:51 +03:00
Alex Kost 1ce6f43a6b gnu: wpa-supplicant-light: Rename to wpa-supplicant-minimal.
* gnu/packages/admin.scm (wpa-supplicant-light): Rename to ...
  (wpa-supplicant-minimal): ...this.
  (wpa-supplicant): Use it.
* gnu/system/install.scm (installation-os): Use it.
2015-09-06 12:14:57 +03:00
Leo Famulari 761b3d44fb gnu: Add Anonymous Pro fonts.
* gnu/packages/fonts.scm (font-anonymous-pro): New variable.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-09-06 12:13:37 +03:00
David Thompson e920bfcacf gnu: Add ruby-nokogiri.
Co-Authored-By: Pjotr Prins <pjotr.public01@thebird.nl>

* gnu/packages/ruby.scm (ruby-nokogiri): New variable.
2015-09-05 20:24:08 -04:00
David Thompson bea1c0e246 gnu: Add ruby-mini-portile.
* gnu/packages/ruby.scm (ruby-mini-portile): New variable.
2015-09-05 20:24:00 -04:00
David Thompson 616eaead7e gnu: Add ruby-minitar.
* gnu/packages/ruby.scm (ruby-minitar): New variable.
2015-09-05 20:23:44 -04:00
Ludovic Courtès cfc5d39888 tests: Fix typos.
* tests/derivations.scm ("substitutable-derivation?",
  "derivation-prerequisites-to-build and substitutes, local build"): Fix
  harmless typos.
2015-09-05 22:11:03 +02:00
Ludovic Courtès 6b44a09747 download: Disable offloading for downloads.
* guix/download.scm (url-fetch): Use #:local-build? #t.
* guix/git-download.scm (git-fetch): Likewise.
2015-09-05 22:11:03 +02:00
David Thompson cf897cbacc build: syscalls: Properly handle clone errors.
* guix/build/syscalls.scm (clone): Catch -1 return value and throw error.
2015-09-05 13:42:02 -04:00
Andreas Enge b7d0b096b0 gnu: Remove #:select from module import in (gnu packages geeqie).
* gnu/packages/geeqie.scm: Import all of (gnu packages ghostscript) instead
  of selectively only the lcms variable; this helps resolve problems with
  circular dependencies when including the module.
2015-09-05 18:13:54 +02:00
Andreas Enge 1de0afd5a5 gnu: libtiff: Build with the current libjpeg instead of libjpeg-8.
* gnu/packages/image.scm (libtiff)[inputs]: Use libjpeg instead of libjpeg-9.
  [arguments]: Drop the now unneeded field.
2015-09-05 17:58:53 +02:00
Andreas Enge 45468e3649 gnu: libtiff: Update to 4.0.5.
* gnu/packages/patches/libtiff-CVE-2012-4564.patch,
  gnu/packages/patches/libtiff-CVE-2013-1960.patch,
  gnu/packages/patches/libtiff-CVE-2013-1961.patch,
  gnu/packages/patches/libtiff-CVE-2013-4231.patch,
  gnu/packages/patches/libtiff-CVE-2013-4232.patch,
  gnu/packages/patches/libtiff-CVE-2013-4243.patch,
  gnu/packages/patches/libtiff-CVE-2013-4244.patch,
  gnu/packages/patches/libtiff-CVE-2014-8127-pt1.patch,
  gnu/packages/patches/libtiff-CVE-2014-8127-pt2.patch,
  gnu/packages/patches/libtiff-CVE-2014-8127-pt3.patch,
  gnu/packages/patches/libtiff-CVE-2014-8127-pt4.patch,
  gnu/packages/patches/libtiff-CVE-2014-8128-pt1.patch,
  gnu/packages/patches/libtiff-CVE-2014-8128-pt2.patch,
  gnu/packages/patches/libtiff-CVE-2014-8128-pt3.patch,
  gnu/packages/patches/libtiff-CVE-2014-8128-pt4.patch,
  gnu/packages/patches/libtiff-CVE-2014-8128-pt5.patch,
  gnu/packages/patches/libtiff-CVE-2014-8129.patch,
  gnu/packages/patches/libtiff-CVE-2014-9330.patch,
  gnu/packages/patches/libtiff-CVE-2014-9655.patch: Delete files.
* gnu-system.am (dist_patch_DATA): Unregister the patches.
* gnu/packages/image.scm (libtiff): Update to 4.0.5 and drop the patches.
2015-09-05 17:58:45 +02:00
Andreas Enge 6376ed4a34 gnu: libtiff: Update home page.
* gnu/packages/image.scm (libtiff)[home-page]: Update.
2015-09-04 21:51:43 +02:00
Andreas Enge ced7cc92d7 gnu: vigra: Add support for OpenEXR.
* gnu/packages/image.scm (vigra)[inputs]: Add ilmbase and openexr.
  [arguments]: Augment #:configure-flags.
2015-09-04 21:30:00 +02:00
Andreas Enge f06441951c gnu: Order module imports in (gnu packages photo) alphabetically.
* gnu/packages/photo.scm: Order module imports alphabetically.
2015-09-04 21:30:00 +02:00
Andreas Enge 341f496577 gnu: Add prefix to license imports in (gnu packages photo).
* gnu/packages/photo.scm: Import (guix licenses) with #:prefix license: to
  avoid an impending clash with the import of zlib from both (guix licenses)
  and (gnu packages compression).
2015-09-04 21:30:00 +02:00
David Thompson 34582b3037 gnu: guix: Enable container tests.
* gnu/packages/package-management.scm (guix-devel): Delete
  'disable-container-tests' build phase.
2015-09-04 13:14:36 -04:00
Ludovic Courtès dbbc248aee monads: Fix 'liftN' fallback case.
Reported by Andy Wingo <wingo@igalia.com>.

* guix/monads.scm (define-lift) <fallback case>: Add missing #'.  Remove
  extra formal parameter.
* tests/monads.scm ("lift"): Add test with 'lift1' as a procedure.
2015-09-04 18:31:06 +02:00
Ludovic Courtès 3b6eddb2b2 gnu: Add 'patches'.
* gnu/packages/patchutils.scm (patches): New variables.
2015-09-04 18:27:10 +02:00
Ludovic Courtès 1c74da2137 gnu: Add python2-notmuch.
* gnu/packages/mail.scm (python2-notmuch): New variable.
2015-09-04 18:27:10 +02:00
Ludovic Courtès 7c473310a1 gnu: ath9k-htc-firmware: Update to 1.4.0.
* gnu/packages/firmware.scm (ath9k-htc-firmware): Update to 1.4.0.
2015-09-04 18:27:10 +02:00
宋文武 ca64968068 gnu: Rename librest to rest.
* gnu/packages/gnome.scm (rest): Rename from librest.
2015-09-04 23:33:26 +08:00
Alex Kost 00f34aaafe emacs: Add support for "triplet" package inputs.
Fixes <http://bugs.gnu.org/21399>.

* emacs/guix-main.scm (full-name->name+version): Adjust to handle
  "name-version:output" string.
  (package-inputs-names): Support ("name" package "output") inputs.
2015-09-04 16:01:35 +03:00
Manolis Ragkousis 21a8fe1bf5 gnu: base: Add glibc-hurd and hurd-minimal.
* gnu/packages/base.scm (glibc/hurd, glibc/hurd-headers): New variables.
* gnu/packages/hurd.scm (hurd-minimal): New variable.
* gnu/packages/patches/glibc-hurd-extern-inline.patch: New file.
* gnu/packages/patches/libpthread-glibc-preparation.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Mark H Weaver <mhw@netris.org>
2015-09-04 13:50:38 +02:00
Ludovic Courtès 035b6ff707 packages: Define '%hurd-systems'.
* guix/packages.scm (%hurd-systems): New variable.
2015-09-04 13:50:38 +02:00
Manolis Ragkousis 70db9576f4 gnu: make-bootstrap: Remove unneeded configure flag from %gcc-static.
With this commit "guix build bootstrap-tarballs --target=i686-pc-gnu" works.

* gnu/packages/make-bootstrap.scm (%gcc-static): Remove unneeded
  --disable-decimal-float.
2015-09-04 13:50:38 +02:00
Manolis Ragkousis a7ecc92dc5 gnu: hurd: Add flex as an input to mig.
* gnu/packages/hurd (mig): Add flex as an input.
2015-09-04 13:50:38 +02:00
Manolis Ragkousis 561840b4aa gnu: acl: Fix i686-gnu build.
* gnu/packages/patches/acl-hurd-path-max.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-09-04 13:50:38 +02:00
Marek Benc 0cce99684a gnu: gcc: Also substitute the dynamic linker name for GNU/Hurd.
* gnu/packages/gcc.scm (gcc-4.7): Also substitute the dynamic linker name
  for GNU (ie. Hurd) systems.

Signed-off-by: Manolis Ragkousis <manolis837@gmail.com>
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-09-04 13:50:38 +02:00
Marek Benc 66feaa320e gnu: bootstrap: Add the location of ld.so on GNU/Hurd.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add the dynamic
  linker for i686-gnu and i585-gnu.

Signed-off-by: Manolis Ragkousis <manolis837@gmail.com>
2015-09-04 13:50:16 +02:00
Ludovic Courtès 52f62492b0 gnu: acl: Remove explicit 'sed' dependency.
* gnu/packages/acl.scm (acl)[native-inputs]: Remove SED, which is
  implicit.
2015-09-04 11:58:37 +02:00
Ludovic Courtès 62ea886525 gnu: coreutils: Drop dependency on libcap when cross-compiling.
* gnu/packages/base.scm (coreutils)[inputs]: Drop LIBCAP
  when (%current-target-system) is true.
2015-09-04 11:56:51 +02:00
Ricardo Wurmus 02615bfa2f gnu: r: Drop texlive from native-inputs.
* gnu/packages/statistics.scm (r)[native-inputs]: Remove "texlive".
2015-09-04 11:55:16 +02:00
Ricardo Wurmus af23b6e946 gnu: r: Install info documentation.
* gnu/packages/statistics.scm (r)[arguments]: Add phases "make-info" and
  "install-info" to build and install info documentation.
2015-09-04 11:55:16 +02:00
Ricardo Wurmus 5e9738b7ca gnu: r: Drop IcedTea from inputs.
* gnu/packages/statistics.scm (r)[inputs]: Remove "icedtea6".
2015-09-04 11:55:16 +02:00
Ludovic Courtès 9d2f48df02 publish: Gracefully handle the lack of a deriver.
* guix/scripts/publish.scm (narinfo-string): Catch 'system-error' around
  'load-derivation' call; return BASE-INFO upon ENOENT.  This allows us
  to return the narinfo even if DERIVER is missing.  Before that, the
  exception would be uncaught, leading to 500 Internal Error on the
  client side.
2015-09-04 00:13:05 +02:00
Alex Kost 6fc92598ac gnu: magit: Update to 2.2.2.
* gnu/packages/emacs.scm (magit): Update to 2.2.2.
2015-09-03 23:25:09 +03:00
Mark H Weaver 92226a470d Build tarballs with deterministic file ordering.
* guix/packages.scm (patch-and-repack)[build],
  gnu/system/install.scm (self-contained-tarball)[build],
  gnu/packages/make-bootstrap.scm (tarball-package),
  gnu/packages/admin.scm (isc-dhcp),
  gnu/packages/video.scm (avidemux): Pass "--sort=name" to 'tar'.
2015-09-03 12:57:01 -04:00
宋文武 7b770ecaf3 gnu: tinc: Use /etc as the sysconfdir, and /var as the localstatedir.
* gnu/packages/vpn.scm (tinc)[arguments]: New field.
2015-09-03 20:43:42 +08:00
Ricardo Wurmus d11b808f4a gnu: Add r-ggplot2.
* gnu/packages/statistics.scm (r-ggplot2): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus a11ee478a6 gnu: Add r-scales.
* gnu/packages/statistics.scm (r-scales): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus 9ca731baf1 gnu: Add r-reshape2.
* gnu/packages/statistics.scm (r-reshape2): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus d5cd5c1568 gnu: Add r-stringr.
* gnu/packages/statistics.scm (r-stringr): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus 4dca98dc81 gnu: Add r-stringi.
* gnu/packages/statistics.scm (r-stringi): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus a45ba1270c gnu: Add r-rcolorbrewer.
* gnu/packages/statistics.scm (r-rcolorbrewer): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus 9a4d8968f0 gnu: Add r-proto.
* gnu/packages/statistics.scm (r-proto): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus 7e10056b6b gnu: Add r-plyr.
* gnu/packages/statistics.scm (r-plyr): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus ea69e2f853 gnu: Add r-rcpp.
* gnu/packages/statistics.scm (r-rcpp): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus 4437333958 gnu: Add r-munsell.
* gnu/packages/statistics.scm (r-munsell): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus d69c4b04fa gnu: Add r-magrittr.
* gnu/packages/statistics.scm (r-magrittr): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus b7eee9fc65 gnu: Add r-labeling.
* gnu/packages/statistics.scm (r-labeling): New variable.
2015-09-03 14:31:51 +02:00
Ricardo Wurmus 112bb3c04f gnu: Add r-gtable.
* gnu/packages/statistics.scm (r-gtable): New variable.
2015-09-03 14:31:50 +02:00
Ricardo Wurmus 177f38c7fe gnu: Add r-digest.
* gnu/packages/statistics.scm (r-digest): New variable.
2015-09-03 14:31:50 +02:00
Ricardo Wurmus 3587effb7a gnu: Add r-dichromat.
* gnu/packages/statistics.scm (r-dichromat): New variable.
2015-09-03 14:31:50 +02:00
Ricardo Wurmus b12636e6bb gnu: Add r-colorspace.
* gnu/packages/statistics.scm (r-colorspace): New variable.
2015-09-03 14:31:50 +02:00
David Thompson 38b327a9ee gnu: bundler: Update to 1.10.6.
* gnu/packages/ruby.scm (bundler): Update to 1.10.6.
2015-09-03 07:45:28 -04:00
Ricardo Wurmus d9cef6128c gnu: Add libraw.
* gnu/packages/photo.scm (libraw): New variable.
2015-09-03 13:16:47 +02:00
Ricardo Wurmus 240f2785c0 gnu: sfml: Update to 2.3.1.
* gnu/packages/game-development.scm (sfml): Update to 2.3.1.
  [inputs]: Add flac, libvorbis, xcb-util-image.
2015-09-03 13:16:23 +02:00
Mark H Weaver c4044399a9 gnu: linux-libre: Update to 4.2.
* gnu/packages/linux.scm (linux-libre): Update to 4.2.
* gnu/packages/linux-libre-x86_64.conf, gnu/packages/linux-libre-i686.conf:
  Update, based largely on https://jxself.org/git/kernel-configs.git
2015-09-03 02:47:34 -04:00
Mark H Weaver 52c20d8e15 packages: Add 'armhf-linux' to '%hydra-supported-systems'.
* guix/packages.scm (%hydra-supported-systems): Do not remove 'armhf-linux'
  from it.  It is now equal to '%supported-systems'.
2015-09-02 19:59:12 -04:00
Ludovic Courtès 4c8f997a7d graph: Add '--expression'.
* guix/scripts/graph.scm (%options, show-help): Add '--expression'.
  (guix-graph): Call 'read/eval-package-expression' for 'expression'
  pairs in OPTS.
* tests/guix-graph.sh: Add tests.
* doc/guix.texi (Invoking guix graph): Document it.
2015-09-02 23:40:07 +02:00
Andy Wingo 4650a77ea8 doc: Document polkit and elogind services.
* doc/guix.texi (Desktop Services): Add polkit-service and
  elogind-service documentation.
2015-09-02 23:06:12 +02:00
Andy Wingo 0071c7894e gnu: Add polkit service.
* gnu/services/desktop.scm (polkit-service): New function.
  (%desktop-services): Add polkit service.
2015-09-02 22:34:54 +02:00
Andy Wingo 3f130e42e0 gnu: polkit: Look for rules in /run/current-system/profile.
* gnu/packages/polkit.scm (polkit): Configure to look for actions and
  rules in the system profile.  Arrange to look for the setuid helper in
  /run/setuid-programs.  Fix introspection installation.

Based on a patch by Mark H Weaver <mhw@netris.org>.
2015-09-02 22:34:49 +02:00
Andy Wingo 7b6c5c5d74 gnu: polkit: Use elogind for seat management.
* gnu/packages/polkit.scm (polkit): Depend on elogind.
2015-09-02 22:34:12 +02:00
Andy Wingo 04463bb05e gnu: Add elogind service.
* gnu/services/desktop.scm (<elogind-configuration>): New record type.
  (elogind-configuration-file, elogind-service): New functions.
  (%desktop-services): Add elogind-service.
2015-09-02 22:22:57 +02:00
Andy Wingo 5c91962afe gnu: elogind: Update to version 219.12.
* gnu/packages/freedesktop.scm (elogind): Update to 219.12.  Use a tarball
  instead of a git checkout.
2015-09-02 22:22:57 +02:00
Leo Famulari 0c14675075 gnu: Add attic.
* gnu/packages/backup.scm (attic): New variable.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-09-02 21:55:32 +03:00
Leo Famulari 641c9871a5 gnu: Add python-msgpack.
* gnu/packages/python.scm (python-msgpack, python2-msgpack): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-09-02 21:55:31 +03:00
Leo Famulari 89b2e0b0b8 gnu: Add python-llfuse.
* gnu/packages/python.scm (python-llfuse, python2-llfuse): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-09-02 21:55:31 +03:00
Alex Kost 0b928076c7 gnu: emacs-flycheck: Use the upstream release instead of MELPA.
* gnu/packages/emacs.scm (flycheck): Change version to 0.23.
  Replace MELPA tarball with the upstream release.
2015-09-02 21:47:22 +03:00
Alex Kost d1f80aa401 emacs: Use "r" key for 'cran' action in 'import' popup.
* emacs/guix-command.el (guix-command-improve-import-argument): New
  variable and function.
  (guix-command-argument-improvers): Add it.
2015-09-02 17:00:06 +03:00
宋文武 3555771267 gnu: xfce: Add xfce4-pulseaudio-plugin.
* gnu/packages/xfce.scm (xfce)[propagated-inputs]: Add xfce4-pulseaudio-plugin.
2015-09-02 19:44:33 +08:00
宋文武 0f0c586a07 gnu: Add xfce4-pulseaudio-plugin.
* gnu/packages/xfce.scm (xfce4-pulseaudio-plugin): New variable.
2015-09-02 19:44:33 +08:00
宋文武 7ee2005ede gnu: xfce4-panel: Build with GTK+ 3 support.
* gnu/packages/xfce.scm (xfce4-panel)[arguments]: New field.
2015-09-02 19:44:33 +08:00
宋文武 75beb7e178 gnu: libxfce4ui: Build with GTK+ 3 support.
* gnu/packages/xfce.scm (libxfce4ui)[propagated-inputs]: Add gtk+.
2015-09-02 19:44:33 +08:00
Ludovic Courtès df2d51f025 gexp: Remove duplicate 'mkdir-p' definition.
* guix/gexp.scm (%mkdir-p-definition): Remove.
  (%utils-module): New variable.
  (imported-files, compiled-modules): Have gexp load %UTILS-MODULE
  instead of using %MKDIR-P-DEFINITION.
2015-09-02 11:24:57 +02:00
Ludovic Courtès 09cc7729d0 gnu: coreutils: Add dependency on libcap.
* gnu/packages/base.scm (coreutils)[inputs]: Add LIBCAP.
2015-09-02 11:20:48 +02:00
Ludovic Courtès f6c2d05ceb gnu: libcap: Update to 2.24.
* gnu/packages/linux.scm (libcap): Update to 2.24.  Fetch the source
  from mirror://kernel.org.
2015-09-02 11:12:11 +02:00
Ludovic Courtès 28cbc587d3 gnu: glibc: Upgrade to 2.22.
* gnu/packages/base.scm (glibc): Upgrade to 2.22.
  (coreutils-light): New variable.
* gnu/packages/commencement.scm (locale-proof-package): New procedure.
  (%boot5-inputs): Add LD-WRAPPER, BINUTILS-FINAL, BASH-FINAL, GNU-MAKE,
  DIFFUTILS, FINDUTILS, COREUTILS-LIGHT (pass through
  'new-libc-package'), and %BOOTSTRAP-COREUTILS&CO (passed through
  'locale-proof-package'.)
2015-09-02 10:58:28 +02:00
Ricardo Wurmus 1921b1de07 gnu: Add deeptools.
* gnu/packages/bioinformatics.scm (deeptools): New variable.
2015-09-02 10:38:43 +02:00
Ricardo Wurmus f85ccf88ef gnu: Add perl-czplib.
* gnu/packages/perl.scm (perl-czplib): New variable.
2015-09-02 10:38:43 +02:00
Ludovic Courtès 26ecc2a780 gnu: Add missing patch for Guile-Present.
This patch should have been added in cdd383e.

* gnu/packages/patches/guile-present-coding.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-09-02 09:50:25 +02:00
Ricardo Wurmus ddfddb0c45 gnu: Add ZynAddSubFX.
* gnu/packages/music.scm (zynaddsubfx): New variable.
2015-09-02 08:44:55 +02:00
Ricardo Wurmus 96f8d991ec gnu: Add minixml.
* gnu/packages/xml.scm (minixml): New variable.
2015-09-02 08:44:55 +02:00
Ricardo Wurmus 95283f3fee gnu: Add gerbv.
* gnu/packages/engineering.scm (gerbv): New variable.
2015-09-02 08:44:55 +02:00
Ricardo Wurmus 97f70018b0 gnu: Add po4a.
* gnu/packages/gettext.scm (po4a): New variable.
2015-09-02 08:44:54 +02:00
Ricardo Wurmus 3f88152d25 gnu: Add TeX Gyre fonts.
* gnu/packages/fonts.scm (font-tex-gyre): New variable.
2015-09-02 08:44:54 +02:00
Ricardo Wurmus dee38b7b41 guix: Add GUST font license 1.0.
* guix/licenses.scm (gfl1.0): New variable.
2015-09-02 08:44:54 +02:00
David Thompson a96524cc7d import: gem: Fix minor bug and add unit test.
* guix/import/gem.scm (make-gem-sexp): Properly handle an empty list of
  licenses.  When rendering a list of licenses, cons 'list onto the front of
  the expression.
* tests/gem.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
2015-09-01 20:00:01 -04:00
David Thompson 385a44bebb gnu: Add sassc.
* gnu/packages/web.scm (sassc): New variable.
2015-09-01 19:10:47 -04:00
Cyril Roelandt 2053949a9e gnu: Add python-oslotest
* gnu/packages/openstack.scm (python-oslotest, python2-olsotest): New variables.
2015-09-01 23:14:30 +02:00
Cyril Roelandt 1edd421ba5 gnu: Add python-os-client-config
* gnu/packages/openstack.scm (python-os-client-config,
  python2-os-client-config): New variables.
2015-09-01 23:14:25 +02:00
Cyril Roelandt 35f1ebeb2a gnu: Add python-mox3.
* gnu/packages/openstack.scm (python-mox3, python2-mox3): New variables.
2015-09-01 23:11:20 +02:00
Cyril Roelandt 7c4810a1e5 gnu: Add python-pbr.
* gnu/packages/openstack.scm: New file.
* gnu-system.am: Add it.
2015-09-01 23:11:16 +02:00
Cyril Roelandt 7e7b27d906 gnu: add python-appdirs.
* gnu/packages/python.scm (python-appdirs, python2-appdirs): New variables.
2015-09-01 23:08:37 +02:00
Ludovic Courtès 44fd0994a0 gnu: guile-ssh: Update to 0.8.0.
* gnu/packages/ssh.scm (guile-ssh): Update to 0.8.0.
  [inputs]: Use LIBGCRYPT instead of LIBGCRYPT-1.5.
2015-09-01 14:18:38 +02:00
Ludovic Courtès 87390c155e gnu: libssh: Update to 0.6.5.
* gnu/packages/ssh.scm (libssh): Update to 0.6.5.
  [source]: Remove 'patches'.
  [inputs]: Use LIBGCRYPT instead of LIBGCRYPT-1.5.
2015-09-01 14:18:38 +02:00
Ludovic Courtès 6e3fdbbe26 gnu: Add emacs-flycheck.
* gnu/packages/emacs.scm (flycheck): New variable.
2015-09-01 14:18:38 +02:00
Ludovic Courtès 1defd8cd2e gnu: Add emacs-let-alist.
* gnu/packages/emacs.scm (let-alist): New variable.
2015-09-01 14:18:38 +02:00
Alex Kost 761d6fd9c1 emacs: Add "View graph" action to graph popup.
* emacs/guix-command.el: Require 'guix-external'.
  (guix-run-view-graph): New function.
  (guix-command-additional-execute-arguments,
  guix-command-special-executors): Add entries for "View graph" action.
2015-09-01 13:03:51 +03:00
Alex Kost 32c0b6d78c emacs: Allow users to choose a 'find-file' function.
* emacs/guix-utils.el (guix-find-file-function): New variable.
  (guix-find-file): Use it.
2015-09-01 13:03:51 +03:00
Alex Kost 70fabd498c emacs: Add code to run 'dot' program.
* emacs/guix-external.el: New file.
* emacs.am (ELFILES): Add it.
2015-09-01 13:03:50 +03:00
Alex Kost 8b9ceb8d03 emacs: Add code to pipe guix output to external program.
* emacs/guix-main.scm: Use (ice-9 popen) module.
  (pipe-guix-output): New procedure.
2015-09-01 13:03:50 +03:00
Ludovic Courtès cdd383e9f3 gnu: Add Guile-Present.
* gnu/packages/gtk.scm (guile-present): New variable.
2015-08-31 23:02:29 +02:00
Ludovic Courtès 1a51fe2768 gnu: Add Guile-RSVG.
* gnu/packages/gtk.scm (guile-rsvg): New variable.
* gnu/packages/patches/guile-rsvg-pkgconfig.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-08-31 23:02:29 +02:00
Ricardo Wurmus 821664f115 gnu: Add frescobaldi.
* gnu/packages/music.scm (frescobaldi): New variable.
2015-08-31 22:27:32 +02:00
Ricardo Wurmus 5faa5ce4ef gnu: Add python-ly.
* gnu/packages/python.scm (python-ly): New variable.
2015-08-31 22:23:09 +02:00
Ricardo Wurmus 3efb57eaf4 gnu: Add python-poppler-qt4.
* gnu/packages/pdf.scm (python-poppler-qt4): New variable.
2015-08-31 22:23:09 +02:00
Ricardo Wurmus 8410cb6251 gnu: Add poppler-qt4.
* gnu/packages/pdf.scm (poppler-qt4): New variable.
2015-08-31 22:23:09 +02:00
Ricardo Wurmus 2cb3ab4827 gnu: Add ruby-thor.
* gnu/packages/ruby.scm (ruby-thor): New variable.
2015-08-31 17:01:33 +02:00
Ricardo Wurmus 8b9bde077a gnu: Add ruby-xml-simple.
* gnu/packages/ruby.scm (ruby-xml-simple): New variable.
2015-08-31 17:01:33 +02:00
Ricardo Wurmus cc53e63052 gnu: Add ruby-orderedhash.
* gnu/packages/ruby.scm (ruby-orderedhash): New variable.
2015-08-31 17:01:33 +02:00
Ricardo Wurmus 71a03c29bf gnu: Add ruby-atoulme-antwrap.
* gnu/packages/ruby.scm (ruby-atoulme-antwrap): New variable.
2015-08-31 17:01:33 +02:00
Ricardo Wurmus ad79eb554d gnu: Add ruby-rjb.
* gnu/packages/ruby.scm (ruby-rjb): New variable.
2015-08-31 17:01:33 +02:00
Ricardo Wurmus cf36174ffb gnu: Add ruby-builder.
* gnu/packages/ruby.scm (ruby-builder): New variable.
2015-08-31 17:01:33 +02:00
Ricardo Wurmus ab952dc375 gnu: libedit: Enable wide character support.
* gnu/packages/libedit.scm (libedit)[arguments]: Add "--enable-widec" to
  configure flags.
2015-08-31 15:39:34 +02:00
Ricardo Wurmus 0fd53ed634 gnu: libedit: Update to 20150325-3.1.
* gnu/packages/libedit.scm (libedit): Update to 20150325-3.1.
2015-08-31 15:39:34 +02:00
Ricardo Wurmus f8f3bef6aa build: Add R build system.
* guix/build-system/r.scm: New file.
* guix/build/r-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document r-build-system.
2015-08-31 15:39:34 +02:00
Ricardo Wurmus e1248602f9 import: Add 'cran' importer.
* guix/import/cran.scm: New file.
* guix/scripts/import.scm: Add "cran" to 'importers'.
* guix/scripts/import/cran.scm: New file.
* tests/cran.scm: New file.
* Makefile.am (MODULES): Add 'guix/import/cran.scm' and
  'guix/scripts/import/cran.scm'.
  (SCM_TESTS): Add 'tests/cran.scm'.
* doc/guix.texi (Invoking guix import): Document it.
* po/guix/POTFILES.in: Add 'guix/scripts/import/cran.scm'.
2015-08-31 15:39:34 +02:00
Mathieu Lirzin 9a479bc383 emacs: Use only one guix-load-path variable.
emacs/guix-init.el (guix-load-path): Move to ...
emacs/guix-backend.el (guix-load-path): ... Here. Redefine it.
2015-08-30 22:46:21 +02:00
Mathieu Lirzin 7061938fdb emacs: Fix guix-guile-program default value.
Fixes <http://bugs.gnu.org/21127>.

* emacs/guix-backend.el: Use guix-config.
  (guix-guile-program): Move to ...
* emacs/guix-config.el.in (guix-guile-program): ... here.  Use Guile
  program file name from compile-time instead of depending on PATH.
2015-08-30 22:45:47 +02:00
Mathieu Lirzin bd6163d13f build: Produce 'guix-config' instead of using compile-time tricks.
* emacs/guix-{init,profiles}.el.in: Rename to ...
* emacs/guix-{init,profiles}.el: ... these.  New files.
  Use 'guix-config'.
* emacs/guix-config.el.in: New file.
* emacs.am (nodist_lisp_DATA): Add it.  Move them to ...
  (ELFILES): ... here.
* .gitignore, configure.ac: Adjust accordingly.
2015-08-30 19:20:12 +02:00
Ludovic Courtès 8c578a6094 utils: Move 'package-name->name+version' to (guix build utils).
* guix/utils.scm (package-name->name+version): Move to...
* guix/build/utils.scm (package-name->name+version): ... here.  New
  procedure.
* guix/build/emacs-build-system.scm (package-name->name+version):
  Remove.
2015-08-30 18:38:08 +02:00
Ludovic Courtès b7c7c03eb5 utils: Add 'strip-store-file-name'.
* guix/build/utils.scm (strip-store-file-name): New procedure.
* guix/build/emacs-build-system.scm (store-directory->name-version):
  Remove.  Update callers to use 'strip-store-file-name'.
* gnu/packages/gcc.scm (make-libstdc++-doc)[arguments]: Use
  'strip-store-file-name' instead of 'string-drop'.
2015-08-30 18:38:08 +02:00
Ludovic Courtès d56f8d5e74 gnu: glibc: _PATH_BSHELL refers to our static bash.
* gnu/packages/base.scm (glibc)[arguments]: Change _PATH_BSHELL in
  paths.h to refer to STATIC-BASH.
2015-08-30 18:37:54 +02:00
Alex Kost eb097f36b1 emacs: Use prompt for packages instead popup for edit action.
* emacs/guix-base.el (guix-package-location): New function.
  (guix-edit-package): Rename and move to ...
* emacs/guix.el (guix-edit): ...here.  Make it interactive.
* emacs/guix-command.el (guix-edit-action): New function (alias to
  'guix-edit') to override the popup for edit command in "M-x guix".
* emacs/guix-list.el (guix-list-edit-package): Adjust for 'guix-edit'
  renaming.
* emacs/guix-main.scm (package-location-string): Allow to accept package
  id or package name as argument.
2015-08-30 18:26:03 +03:00
Alex Kost 9b0afb0d28 emacs: Add popup interface for guix commands.
* emacs/guix-command.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Initial Setup): Mention 'magit-popup' library.
  (Emacs Popup Interface): New node.
  (Emacs Interface): Add it.
* doc/guix.texi (Top): Likewise.
2015-08-30 18:26:03 +03:00
Alex Kost 1f13861b57 emacs: Add "guix-popup.el".
* emacs/guix-popup.el: New file.
* emacs.am (ELFILES): Add it.
2015-08-30 18:26:03 +03:00
Alex Kost c554de8929 doc: Reorganize "Emacs Interface" node.
* doc/guix.texi (Package Management): Move "Emacs Interface" node to ...
  (Top): ...here, since it is not just about package management.
* doc/emacs.texi: Shift all nodes one level up (@section -> @chapter, etc.).
  Rename "Emacs Usage" node into "Emacs Package Management".  Move "Emacs
  Configuration" node here.
2015-08-30 18:26:02 +03:00
Alex Kost 7008dffff5 emacs: Add code to run guix command in shell.
* emacs/guix-base.el (guix-run-in-shell, guix-run-in-eshell,
  guix-run-command-in-shell): New functions.
  (guix-run-in-shell-function, guix-shell-buffer-name): New variables.
2015-08-30 18:26:02 +03:00
Alex Kost 5e53b0c5a9 emacs: Add code to run guix command in REPL.
* emacs/guix-base.el (guix-run-command-in-repl, guix-command-output,
  guix-help-string): New functions.
* emacs/guix-main.scm (guix-command, guix-command-output, help-string):
  New procedures.
2015-08-30 18:26:02 +03:00
Alex Kost caa6732e96 ui: Add 'run-guix'.
* guix/ui.scm (guix-main): Move the code to run guix command line to ...
  (run-guix): ...here.  New procedure.  Export it.
2015-08-30 18:26:02 +03:00
Alex Kost 51dac38339 emacs: Add and use alist accessors.
* emacs/guix-utils.el (guix-define-alist-accessor): New macro.
  (guix-assq-value, guix-assoc-value): New functions.
  (guix-get-key-val): Remove.
* emacs/guix-base.el: Replace 'guix-get-key-val' with 'guix-assq-value'
  everywhere.
* emacs/guix-info.el: Likewise.
* emacs/guix-list.el: Likewise.
* emacs/guix-messages.el: Likewise.
2015-08-30 18:26:02 +03:00
Alex Kost d007d8a10c emacs: Add minibuffer readers.
* emacs/guix-read.el: New file.
* emacs.am (ELFILES): Add it.
2015-08-30 18:26:02 +03:00
Alex Kost 26476d5852 emacs: Add help variables.
* emacs/guix-pcomplete.el (guix-pcomplete-parse-package-regexp,
  guix-pcomplete-parse-command-regexp,
  guix-pcomplete-parse-long-option-regexp,
  guix-pcomplete-parse-short-option-regexp,
  guix-pcomplete-parse-list-regexp, guix-pcomplete-parse-regexp-group,
  guix-pcomplete-systems, guix-pcomplete-hash-formats,
  guix-pcomplete-refresh-subsets, guix-pcomplete-key-policies): Move and
  rename to ...
* emacs/guix-help-vars.el (guix-help-parse-package-regexp,
  guix-help-parse-command-regexp, guix-help-parse-long-option-regexp,
  guix-help-parse-short-option-regexp, guix-help-parse-list-regexp,
  guix-help-parse-regexp-group, guix-help-system-types,
  guix-help-hash-formats, guix-help-refresh-subsets,
  guix-help-key-policies): ...here.  New file.
  (guix-help-parse-option-regexp, guix-help-source-types,
  guix-help-verify-options, guix-help-elpa-archives): New variables.
* emacs.am (ELFILES): Add "guix-help-vars.el".
2015-08-30 18:26:02 +03:00
Alex Kost 25a2839c9d emacs: Add 'guix-package-names'.
* emacs/guix-main.scm (package-names, package-names-lists): New procedures.
* emacs/guix-base.el (guix-package-names): New function.
2015-08-30 18:26:02 +03:00
Alex Kost 43b40c4b15 emacs: Add 'guix-graph-type-names'.
* emacs/guix-main.scm: Use (guix scripts graph) module.
  (graph-type-names): New procedure.
* emacs/guix-base.el (guix-graph-type-names): New function.
2015-08-30 18:26:02 +03:00
Alex Kost c1a8c5ab1c guix graph: Export node types and <node-type> accessors.
* guix/scripts/graph.scm (%node-types, node-type, node-type?,
  node-type-identifier, node-type-label, node-type-edges,
  node-type-convert, node-type-name, node-type-description): Export.
2015-08-30 18:26:02 +03:00
Alex Kost 056b5ceffc emacs: Add 'guix-lint-checker-names'.
* emacs/guix-main.scm: Use (guix scripts lint) module.
  (lint-checker-names): New procedure.
* emacs/guix-base.el (guix-lint-checker-names): New function.
2015-08-30 18:26:02 +03:00
Alex Kost 521a11e0a6 guix lint: Export checkers and <lint-checker> accessors.
* guix/scripts/lint.scm (%checkers, lint-checker, lint-checker?,
  lint-checker-name, lint-checker-description, lint-checker-check):
  Export.
2015-08-30 18:26:01 +03:00
Alex Kost 6543601fa0 emacs: Add 'guix-memoized-defalias' macro.
* emacs/guix-utils.el (guix-memoized-defalias): New macro.
  (guix-memoized-font-lock-keywords): New variable.
2015-08-30 18:26:01 +03:00
Alex Kost e767752c79 emacs: Add 'guix-any'.
* emacs/guix-utils.el (guix-any): New function.
2015-08-30 18:26:01 +03:00
Alex Kost ad0f31f6a5 emacs: Add utils to copy guix command.
* emacs/guix-utils.el (guix-copy-as-kill, guix-copy-command-as-kill):
  New functions.
2015-08-30 18:26:01 +03:00
Alex Kost 009d6388e6 emacs: Add utils to make symbol and string for guix command.
* emacs/guix-utils.el (guix-shell-quote-argument, guix-command-symbol,
  guix-command-string): New functions.
2015-08-30 18:26:01 +03:00
Alex Kost 1ce96dd927 emacs: Add and use 'guix-concat-strings'.
* emacs/guix-utils.el (guix-concat-strings): New function.
* emacs/guix-pcomplete.el (guix-pcomplete-short-options): Use it.
* emacs/guix-base.el (guix-get-package-strings): Likewise.
2015-08-30 18:26:01 +03:00
Alex Kost c10521e976 emacs: Add and use 'guix-while-search'.
* emacs/guix-utils.el (guix-while-search): New macro.
* emacs/guix-pcomplete.el (guix-pcomplete-run-guix-and-search): Use it.
* emacs/guix-prettify.el (guix-prettify-decompose-buffer): Likewise.
2015-08-30 18:26:01 +03:00
Alex Kost 935d079bb7 emacs: Add 'guix-prettify' to 'guix' custom group.
* emacs/guix-prettify.el (guix-prettify): Add 'guix' group.
2015-08-30 18:26:01 +03:00
Alex Kost cc77415053 emacs: Remove leftover internal variable.
This is a followup to commit 74cc67372e.

* emacs/guix-base.el (guix-define-buffer-type): Remove 'mode-map'
  variable.
2015-08-30 18:26:01 +03:00
Ludovic Courtès 57f65bcc9c gnu: glibc: Use 'modify-phases'.
* gnu/packages/base.scm (glibc)[arguments]: Use 'modify-phases' instead
  of 'alist-cons-before'.
2015-08-30 17:08:09 +02:00
Ludovic Courtès 5c962e93e5 build-system/gnu: Use monotic time to measure elapsed time.
* guix/build/gnu-build-system.scm (gnu-build)[elapsed-time]: New
  procedure.
  Use it, and use (current-time time-monotonic) instead
  of (gettimeofday).  Show one digit after the comma for the elapsed
  time.
2015-08-30 17:07:45 +02:00
Ludovic Courtès 409ba9a2cb gnu: ncurses: Really install headers to OUT/include.
* gnu/packages/ncurses.scm (ncurses)[arguments]: Pass --enable-overwrite.
2015-08-30 13:53:43 +02:00
Ludovic Courtès 600233bdd2 gnu: clutter: Add "doc" output.
* gnu/packages/gnome.scm (clutter)[outputs]: New field.
  [arguments]: Pass --with-html-dir.
2015-08-30 12:14:44 +02:00
Ludovic Courtès 30dc88d975 gnu: Add libchamplain.
* gnu/packages/gnome.scm (libchamplain): New variable.
2015-08-30 12:14:32 +02:00
David Thompson 20c05ea94a gnu: Make ruby-diff-lcs a public package.
* gnu/packages/ruby.scm (ruby-diff-lcs-for-rspec): Rename this...
  (ruby-diff-lcs): ... to this, and export it.
  (ruby-rspec-expectation, ruby-rspec-mocks): Use new varaible.
2015-08-29 22:12:24 -04:00
Ludovic Courtès 532164194a download: Keep a single copy of the mirror file.
This saves ~10% on 'guix build inkscape -Sd'.

* guix/download.scm (%mirror-file): New variable.
  (url-fetch): Remove #:mirrors parameter.
  Remove 'mirror-file'; refer to '%mirror-file' instead.
2015-08-29 23:56:47 +02:00
Ludovic Courtès b263651860 doc: Mention the "normalized codeset" used in locale names.
* doc/guix.texi (Locales): Introduce "codeset".
  <%default-locale-definitions>: Mention the "normalized codeset", with
  an xref to libc's manual.
* gnu/system/locale.scm (%default-locale-definitions)[utf8-locale]:
  Mention the "normalized codeset" in a comment.
2015-08-29 23:56:47 +02:00
Ludovic Courtès 3d20ebd6cb refresh: Add missing newline in warning message.
Reported by karhunkynsi on #guix.

* guix/scripts/refresh.scm (update-package): Add missing newline in
  string literal passed to 'warning'.
2015-08-29 23:56:47 +02:00
David Thompson 0bfdfd377e gnu: ruby-i18n: Update to 0.7.0.
* gnu/packages/ruby.scm (ruby-i18n): Update to 0.7.0.
2015-08-29 17:29:03 -04:00
Ricardo Wurmus 2d8781a491 gnu: mpv: Replace "jack-2" with "jack-1".
* gnu/packages/video.scm (mpv)[inputs]: Replace "jack-2" with "jack-1".
2015-08-29 21:45:54 +02:00
Ricardo Wurmus 0dc2e348dc gnu: gst-plugins-good: Replace "jack-2" with "jack-1".
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Replace "jack-2" with
  "jack-1".
2015-08-29 21:45:54 +02:00
Ricardo Wurmus 6a5894a823 gnu: audacity: Replace "jack-2" with "jack-1".
* gnu/packages/audacity.scm (audacity)[inputs]: Replace "jack-2" with
  "jack-1".
2015-08-29 21:45:54 +02:00
Ricardo Wurmus 01e327b556 gnu: rsound: Add file-name field to source origin.
* gnu/packages/audio.scm (rsound)[source]: Add 'file-name' field.
2015-08-29 21:45:54 +02:00
Ricardo Wurmus 276f49df73 gnu: rsound: Replace "jack-2" with "jack-1".
* gnu/packages/audio.scm (rsound)[inputs]: Replace "jack-2" with "jack-1".
2015-08-29 21:45:54 +02:00
宋文武 122d0d10c6 gnu: Add yelp-tools.
* gnu/packages/gnome.scm (yelp-tools): New variable.
2015-08-29 15:07:54 +08:00
宋文武 de3d612a52 gnu: Add yelp.
* gnu/packages/gnome.scm (yelp): New variable.
2015-08-29 15:07:54 +08:00
宋文武 c3b97bd902 gnu: Add yelp-xsl.
* gnu/packages/gnome.scm (yelp-xsl): New variable.
2015-08-29 15:07:54 +08:00
Ludovic Courtès 96c4621056 gnu: Use 'install-file' instead of 'mkdir-p' and 'copy-file' in obvious cases.
* gnu/packages/bioinformatics.scm (bedtools, bowtie, bwa, hisat, samtools,
  plink, star): Use 'install-file' instead of 'mkdir-p' + 'copy-file'.
* gnu/packages/check.scm (catch-framework): Likewise.
* gnu/packages/code.scm (global): Likewise.
* gnu/packages/emacs.scm (magit-svn, haskell-mode, emacs-pdf-tools):
  Likewise.
* gnu/packages/engineering.scm (fastcap, fasthenry): Likewise.
* gnu/packages/gnuzilla.scm (nss): Likewise.
* gnu/packages/guile.scm (guile-minikanren): Likewise.
* gnu/packages/java.scm (swt): Likewise.
* gnu/packages/make-bootstrap.scm (%static-binaries): Likewise.
* gnu/packages/maths.scm (lpsolve): Likewise.
* gnu/packages/mp3.scm (mpc123): Likewise.
* gnu/packages/ninja.scm (ninja): Likewise.
* gnu/packages/python.scm (python-numpy, python-pyparsing): Likewise.
* gnu/packages/screen.scm (dtach): Likewise.
* gnu/packages/synergy.scm (synergy): Likewise.
* gnu/packages/textutils.scm (utf8proc): Likewise.
* gnu/packages/version-control.scm (git-test-sequence): Likewise.
* gnu/packages/wicd.scm (wicd): Likewise.
2015-08-29 01:25:08 +02:00
Ludovic Courtès 4cc2ed98cf utils: Add 'install-file'.
* guix/build/utils.scm (install-file): New procedure.
2015-08-29 01:25:08 +02:00
Ludovic Courtès 90d891fc6c gnu: glibc: Do not copy static Bash binary to bin/.
This avoids problems when installing 'glibc' in a profile, where glibc's
limited 'bash' would take precedence over the valid 'bash'.

* gnu/packages/base.scm (glibc)[arguments]: Do not copy STATIC-BASH to
  OUT/bin.  Instead, simply refer to it directly.
  [inputs]: Use STATIC-BASH instead of BASH-LIGHT.
* gnu/packages/commencement.scm (static-bash-for-glibc): Likewise.
  (glibc-final)[arguments]: Add STATIC-BASH-FOR-GLIBC to
  #:allowed-references.
  (gcc-final)[arguments]: Likewise.
  [native-inputs]: Add "static-bash".
2015-08-29 01:25:08 +02:00
Ludovic Courtès aad5df4058 gnu: ncurses: Remove obsolete hack.
* gnu/packages/ncurses.scm (ncurses)[arguments]: Remove obsolete Solaris
  hack.
2015-08-29 01:25:08 +02:00
Ludovic Courtès bfaaffb06a gnu: ncurses: Rework trick to avoid reference to the bootstrap bash.
This removes reliance on the availability of 'bin/sh' in glibc.

* gnu/packages/ncurses.scm (ncurses): Remove 'configure-phase'.  Add
  'remove-shebang-phase'.
  [arguments]: Remove distinction between cross builds and native builds.  Use
  'modify-phases'.  Add 'remove-unneeded-shebang' phase.
2015-08-29 01:25:08 +02:00
Ludovic Courtès 7b06688048 gnu: ncurses: Upgrade to 6.0.
* gnu/packages/ncurses.scm (ncurses): Upgrade to 6.0.  Change library names to
  '.so.6'.
2015-08-29 01:25:07 +02:00
Ludovic Courtès f02c902cbe gnu: binutils: Upgrade to 2.25.1.
* gnu/packages/base.scm (binutils): Upgrade to 2.25.1.
2015-08-29 01:25:07 +02:00
Ludovic Courtès 6c7f44efc2 gnu: Add 'bash-static'.
* gnu/packages/bash.scm (static-bash): New variable.
2015-08-29 01:25:07 +02:00
Ludovic Courtès ced200328c download: Keep only 2 store items for all the downloads.
This significantly reduces churn in the store.  It also reduces run time
of 'guix build inkscape -Sd' by ~10%.

* guix/download.scm (url-fetch)[mirror-file]: New variable.
  [builder]: Get URL from the "guix download url" env. var.  Get the mirrors
  from MIRROR-FILE.  Pass #:script-name and #:env-vars to 'gexp->derivation'.
2015-08-29 01:22:54 +02:00
Ludovic Courtès 0309e1b0ba gexp: Add #:script-name parameter to 'gexp->derivation'.
* guix/gexp.scm (gexp->derivation): Add #:script-name parameter.
* doc/guix.texi (G-Expressions): Document it.
2015-08-29 01:22:54 +02:00
Ludovic Courtès b6c6105cac monads: Inline the procedure returned by liftN.
* guix/monads.scm (define-lift): Turn into a macro that open-codes the result
  of its lift.
2015-08-29 01:22:54 +02:00
宋文武 ca2a55d46b gnu: shadow: Update to 4.2.1.
* gnu/packages/admin.scm (shadow): Update to 4.2.1.
  [source]: Use the release tarball.
2015-08-28 19:53:26 +08:00
Leo Famulari cef644e627 gnu: Add abduco.
* gnu/packages/abduco.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-28 11:46:48 +02:00
Siniša Biđin df1db7672d gnu: Add cabal-install.
* gnu/packages/haskell.scm (cabal-install): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-28 11:00:03 +02:00
Ludovic Courtès 7bce9fa5f3 gnu: conky: Fix license.
* gnu/packages/conky.scm (conky)[license]: Set to LICENSE:GPL3+.
2015-08-28 09:37:15 +02:00
David Thompson 58724c488b gnu: services: Add nginx-service.
* gnu/services/web.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* guix.texi ("Web Services"): New section.
2015-08-27 22:10:40 -04:00
David Thompson 3aae8145a7 import: Add Ruby gem importer.
* gnu/scripts/import.scm (importers): Add "gem".
* gnu/import/gem.scm: New file.
* gnu/scripts/import/gem.scm: New file.
* Makefile.am (MODULES): Add them.
* guix.texi ("invoking guix import"): Document it.
2015-08-27 19:45:06 -04:00
David Thompson 140b304815 import: pypi: Move generally useful procedures to utils module.
* guix/import/pypi.scm (make-pypi-sexp): Factorize license to symbol
  conversion code.
  (string->license, snake-case, guix-hash-url): Move from here...
* guix/import/utils.scm: ... to here.
  (license->symbol): New procedure.
2015-08-27 18:02:35 -04:00
David Thompson f8da3af086 gnu: Add ruby-arel.
* gnu/packages/ruby.scm (ruby-arel): New variable.
2015-08-27 18:02:35 -04:00
Siniša Biđin 555e436ea2 gnu: Add conky.
* gnu/packages/conky.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-08-27 23:34:24 +02:00
Siniša Biđin 6edb5b7765 gnu: lua: Add patch to generate pkg-config file.
* gnu/packages/patches/lua-pkgconfig.patch: New file.
* gnu/packages/lua.scm (lua)[source]: Add patch.
* gnu-system.am (dist_patch_DATA): Register patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-27 23:34:24 +02:00
Ludovic Courtès 25ae74cffa Thank Eric Hanchrow. 2015-08-27 23:34:23 +02:00
Alex Kost f2638f0b37 emacs: Add completions for 'guix graph'.
* emacs/guix-pcomplete.el (guix-pcomplete-parse-linter-regexp): Improve
  and rename to ...
  (guix-pcomplete-parse-list-regexp): ...this.  New variable.
  (guix-pcomplete-lint-checkers): Use it.
  (guix-pcomplete-graph-types): New function.
  (guix-pcomplete-complete-command-arg): Complete package names for
  'guix graph' command.
  (guix-pcomplete-complete-option-arg): Complete '-t/--type' option.
2015-08-27 17:50:01 +03:00
Alex Kost 89949e8f54 gnu: git-modes: Update to 1.2.0.
* gnu/packages/emacs.scm (git-modes): Update to 1.2.0.
  [arguments]: Disable tests.
2015-08-27 17:16:31 +03:00
Alex Kost be379ee77d gnu: magit-svn: Update to 2.1.0.
* gnu/packages/emacs.scm: Use (gnu packages base) module.  Remove
  duplicated (gnu packages guile) and (gnu packages linux) modules.
  (magit-svn): Update to 2.1.0.
  [source]: Use 'url-fetch' method.
  [inputs]: Remove.  Move "emacs" to 'native-inputs', move "magit" to
  'propagated-inputs'.
  [native-inputs]: Add "tar" and "gzip".
  [propagated-inputs]: Add "dash".
  [arguments]: Adjust builder for the new inputs and unpacking the source.
2015-08-27 17:16:30 +03:00
Alex Kost 55f29c39f5 gnu: magit: Update to 2.2.1.
* gnu/packages/emacs.scm (magit): Update to 2.2.1.
  [inputs]: Remove 'git:gui'.
  [propagated-inputs]: Add 'dash', remove 'git-modes'.
  [arguments]: Add PREFIX and DASH_DIR to 'make-flags'.  Remove
  'configure', 'augment-load-path' and 'post-install' phases.
2015-08-27 17:16:30 +03:00
Ludovic Courtès ef80ca96fa daemon: Require a signature for imports made by root.
This reinstates commit aa0f8409, which was inadvertently undone in commit
322eeb87.

Running 'guix archive --import' as root would have let corrupt or unauthentic
store items through.

Reported by Eric Hanchrow <eric.hanchrow@gmail.com>
at <http://bugs.gnu.org/21354>.

* nix/nix-daemon/nix-daemon.cc (performOp) <wopImportPaths>: Pass true as the
  first argument to 'importPaths'.
2015-08-27 10:58:31 +02:00
Ludovic Courtès 54e515eb75 tests: Skip 'set-network-interface-address' test when running as root.
Reported by Eric Hanchrow <eric.hanchrow@gmail.com>
in <http://bugs.gnu.org/21354>.

* tests/syscalls.scm ("set-network-interface-address"): Skip when (getuid)
  returns zero.
2015-08-27 10:52:11 +02:00
Ludovic Courtès d1f38287f4 Add graph.scm to 'POTFILES'.
* po/guix/POTFILES.in: Add guix/scripts/graph.scm.
2015-08-27 09:13:39 +02:00
Ludovic Courtès 888569161c Add 'guix graph'.
* guix/scripts/graph.scm, tests/graph.scm, tests/guix-graph.sh,
  doc/images/coreutils-bag-graph.dot, doc/images/coreutils-graph.dot: New
  files.
* Makefile.am (MODULES): Add guix/scripts/graph.scm.
  (SH_TESTS): Add tests/guix-graph.sh.
  (SCM_TESTS): Add tests/graph.scm.
* doc.am (DOT_FILES, DOT_VECTOR_GRAPHICS): New variables.
  (EXTRA_DIST): Use them.
  (dist_infoimage_DATA): Use $(DOT_FILES).
  (pdf-local, info-local, ps-local): Likewise.
* doc/guix.texi (Packages with Multiple Outputs): Add cross-reference to 'guix
  graph'.
  (Invoking guix gc): Likewise.
  (Invoking guix graph): New section.
2015-08-27 00:49:23 +02:00
Ludovic Courtès 12e5b26643 build: Do not build (guix build syscalls) if 'mount' is missing from libc.
This disables compilation of this module on GNU/Hurd.
Reported by Manolis Ragkousis <manolis837@gmail.com>.

* m4/guix.m4 (GUIX_CHECK_LIBC_MOUNT): New variable.
* configure.ac: Use it.  Define 'BUILD_SYSCALLS_MODULE' conditional.
* Makefile.am (MODULES, EXTRA_DIST): Make 'guix/build/syscalls.scm'
  conditional on BUILD_SYSCALLS_MODULE.
2015-08-27 00:49:23 +02:00
Ludovic Courtès c2b8467645 gexp: Add 'lower-object'.
* guix/gexp.scm (lower-object): New procedure.
  (lower-inputs, lower-references, gexp->sexp): Use it.
* tests/gexp.scm ("lower-object"): New test.
* doc/guix.texi (G-Expressions): Document it.
2015-08-27 00:49:23 +02:00
Ricardo Wurmus f7283db37d gnu: Add BioPerl.
* gnu/packages/bioinformatics.scm (bioperl-minimal): New variable.
2015-08-26 17:54:52 +02:00
Ludovic Courtès 14e2e44d44 gnu: pius: Adjust to the new libpius.
Prior to this commit the libpius modules would not be found and the default
GnuPG file name would be /usr/bin/gpg.

* gnu/packages/gnupg.scm (pius)[inputs]: Remove PYTHON-2.
  [build-system]: Switch to PYTHON-BUILD-SYSTEM.
  [arguments]: Add #:python.  Change to add a single phase,
  'set-gpg-file-name'.
2015-08-26 00:43:37 +02:00
Ludovic Courtès fe32241ad5 tests: Work around Btrfs handling of nlink for empty directories.
Fixes <http://bugs.gnu.org/21280>.
Reported by Leo Famulari <leo@famulari.name>.

* tests/nar.scm (file-tree-equal?): Use #t as the initial result.  Btrfs would
  set nlink to 1 instead of 2 for an empty directory, thereby leading
  'file-tree-equal?' to return #f.
2015-08-26 00:43:36 +02:00
Mathieu Lirzin 45fed6d32c gnu: ratpoison: Clean definition.
* gnu/packages/ratpoison.scm (ratpoison)[arguments]: Use modify-phases.
  [inputs]: Sort alphabetically.  Move ratpoison.desktop to ...
  [native-inputs]: ... here.
2015-08-25 23:40:46 +02:00
Ricardo Wurmus 2d0fd07bb9 gnu: Add Pure Data.
* gnu/packages/music.scm (pd): New variable.
2015-08-25 19:07:01 +02:00
宋文武 9a59673d26 gnu: tmux: Update to 2.0.
* gnu/packages/tmux.scm (tmux): Update to 2.0.
  Update source uri and home-page to github.
2015-08-25 19:42:14 +08:00
宋文武 80700c4d6a gnu: weechat: Update to 1.3.
* gnu/packages/weechat.scm (weechat): Update to 1.3.
2015-08-25 19:28:14 +08:00
Mark H Weaver 6bf99bac95 guix package: -s shows outputs.
* guix/ui.scm (package->recutils): Print "outputs:".
2015-08-24 20:22:36 -04:00
Andy Wingo be23021d93 gnu: llvm: Update to 3.6.2.
* gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 3.6.2.
2015-08-24 11:45:18 -04:00
Andy Wingo b81f56932e gnu: clang-runtime: New package, propagated by clang.
* gnu/packages/llvm.scm (clang-runtime-from-llvm): New function.
  (clang-from-llvm): Add clang-runtime argument and propagate clang-runtime
  input.
  (clang-runtime, clang-runtime-3.5): New variables.
  (clang, clang-3.5): Adapt to propagate clang-runtime modules.
2015-08-24 11:45:06 -04:00
Andy Wingo 22d0e9b792 gnu: Simplify LLVM build.
* gnu/packages/llvm.scm (llvm)[arguments]: Remove phases argument.
  Add to configure-flags "-DCMAKE_SKIP_BUILD_RPATH=FALSE" and
  "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE".
2015-08-24 11:40:41 -04:00
Siniša Biđin c34507d662 gnu: Add ghc-x11-xft.
* gnu/packages/haskell.scm (ghc-x11-xft): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 720fb41c69 gnu: Add ghc-x11.
* gnu/packages/haskell.scm (ghc-x11): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 1c77d0caa9 gnu: Add ghc-data-default.
* gnu/packages/haskell.scm (ghc-data-default): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 7fc7186ede gnu: Add ghc-utf8-string.
* gnu/packages/haskell.scm (ghc-utf8-string): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 4271d13474 gnu: Add ghc-data-default-instances-dlist.
* gnu/packages/haskell.scm (ghc-data-default-instances-dlist):
  New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 05b964ae85 gnu: Add ghc-extensible-exceptions.
* gnu/packages/haskell.scm (ghc-extensible-exceptions): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin eb6ae860e5 gnu: Add ghc-dlist.
* gnu/packages/haskell.scm (ghc-dlist): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 684f29abfc gnu: Add ghc-data-default-instances-old-locale.
* gnu/packages/haskell.scm (ghc-data-default-instances-old-locale):
  New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 77a23be2aa gnu: Add ghc-data-default-instances-containers.
* gnu/packages/haskell.scm (ghc-data-default-instances-containers):
  New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 9deb95aa95 gnu: Add ghc-data-default-instances-base.
* gnu/packages/haskell.scm (ghc-data-default-instances-base): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
Siniša Biđin 5079a0af0d gnu: Add ghc-data-default-class.
* gnu/packages/haskell.scm (ghc-data-default-class): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 16:49:57 -05:00
宋文武 9297065a2b system: Make PAM store SHA-512 encrypted passwords in /etc/shadow.
Fixes <http://bugs.gnu.org/21318>.

* gnu/system/linux.scm (unix-pam-service)[password]: Add 'sha512' and
  'shadow' to arguments.
2015-08-24 08:13:32 +08:00
Ludovic Courtès c6e59259fd gnu: hwloc: Propagate libpciaccess.
* gnu/packages/mpi.scm (hwloc)[inputs]: Move LIBPCIACCESS to...
  [propagated-inputs]: ... here.  New field.
2015-08-24 00:28:36 +02:00
Eric Dvorsak 63b1bdbc43 gnu: Add i3status.
* gnu/packages/wm.scm (i3status): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 11:32:09 -05:00
Eric Dvorsak 5c37126f68 gnu: Add libconfuse.
* gnu/packages/wm.scm (libconfuse): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 11:30:41 -05:00
Eric Dvorsak bda2ded6b6 gnu: Add i3-wm.
* gnu/packages/wm.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 11:28:16 -05:00
Eric Dvorsak 94a3d8fd6b gnu: Add xcb-util-cursor.
* gnu/packages/xorg.scm (xcb-util-cursor): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 11:26:10 -05:00
Eric Dvorsak c808ca02dd gnu: Add libev.
* gnu/packages/libevent.scm (libev): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 11:26:10 -05:00
Eric Dvorsak d8f1c07499 gnu: Add libyajl.
* gnu/packages/web.scm (libyajl): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 11:26:03 -05:00
Eric Dvorsak f187b2a29f gnu: Add Pod-Simple.
* gnu/packages/perl.scm (perl-pod-simple): New variable.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2015-08-23 11:26:03 -05:00
Andreas Enge 3573b634ba gnu: Add LablGtk.
* gnu/packages/ocaml.scm (lablgtk): New variable.
2015-08-23 19:56:22 +02:00
Andreas Enge 0a38a49702 gnu: libgnomeui: Propagate inputs.
* gnu/packages/gnome.scm (libgnomeui): Propagate inputs libbonoboui and
  libgnomecanvas as stipulated by libgnomeui-2.0.pc.
2015-08-23 19:44:06 +02:00
Andreas Enge 92dcc23d2b gnu: libglade: Propagate inputs.
* gnu/packages/gnome.scm (libglade): Propagate inputs gtk+-2 and libxml
  as stipulated by libglade-2.0.pc.
2015-08-23 19:27:48 +02:00
Andreas Enge 006faa3589 gnu: camlp4: Update to 4.02+6.
* gnu/packages/ocaml.scm (camlp4): Update to 4.02+6.
2015-08-23 18:49:45 +02:00
Andreas Enge d4bf3dacd2 gnu: camlp5: Update to 6.14.
* gnu/packages/ocaml.scm (camlp5): Update to 6.14.
2015-08-23 18:30:27 +02:00
Andreas Enge b9d8756b13 gnu: Add unison.
* gnu/packages/ocaml.scm (unison): New variable.
2015-08-23 18:11:16 +02:00
Andreas Enge be78e52cb0 gnu: ocaml: Update to 4.02.3.
* gnu/packages/ocaml.scm (ocaml): Update to 4.02.3.
2015-08-23 16:30:52 +02:00
宋文武 2e718b9f21 gnu: gnome-desktop, gnome-themes-standard: Update to 3.16.2.
* gnu/packages/gnome.scm (gnome-desktop, gnome-themes-standard):
  Update to 3.16.2.
2015-08-23 18:50:26 +08:00
宋文武 bcb354ad94 gnu: Fix build failures due to missing XMLLINT.
This is a followup to commit 4b58d88.

* gnu/packages/gnome.scm (eog, epiphany, evince, gnome-desktop,
  gnome-klotski, gnome-mines, gnome-terminal, rhythmbox, seahorse,
  simple-scan, totem): Add LIBXML2 to native-inputs.
  (evince, gnome-desktop, rhythmbox): Move ITSTOOL to native-inputs.
2015-08-23 18:41:25 +08:00
宋文武 a63a73dcb7 gnu: gdk-pixbuf: Merge the two 'arguments' fields.
This is a followup to commit 0d5ddad.

* gnu/packages/gtk.scm (gdk-pixbuf): Merge the two 'arguments' fields.
2015-08-22 21:52:32 -04:00
David Thompson caf87fd8c6 gnu: tiled: Update to 0.13.0.
* gnu/packages/game-development (tiled): Update to 0.13.0.
2015-08-22 21:03:53 -04:00
宋文武 83a2e49204 gnu: Add accountsservice.
* gnu/packages/freedesktop.scm (accountsservice): New variable.
2015-08-22 17:18:01 +08:00
Mark H Weaver 86aff7912c gnu: d-feet: Return booleans from phase procedures.
* gnu/packages/gnome.scm (d-feet)[arguments]: Return booleans from phase
  procedures.  Omit unused 'inputs' keyword argument from 'pre-check' phase.
2015-08-22 02:34:41 -04:00
Mark H Weaver 020cdbd0e4 gnu: git-manpages: Update sha256 hash for version 2.5.0.
This is a followup to commit c1b7ea1e24.

* gnu/packages/version-control.scm (git-manpages)[source]: Update sha256 hash.
2015-08-22 02:32:43 -04:00
宋文武 a3856b2ce3 gnu: Add d-feet.
* gnu/packages/gnome.scm (d-feet): New variable.
2015-08-22 13:42:23 +08:00
宋文武 4b58d88bcd gnu: itstool: Wrap with PYTHONPATH.
* gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 'inputs'.
  [arguments]: New field.
2015-08-22 13:42:23 +08:00
Efraim Flashner de1d7cbbdc gnu: abcde: Update to 2.7.
* gnu/packages/cdrom.scm (abcde): Update to 2.7.
2015-08-22 00:44:40 -04:00
Jeff Mickey c1b7ea1e24 gnu: git: Update to 2.5.0
* gnu/packages/version-control.scm (git): Update to 2.5.0
2015-08-21 23:57:09 -04:00
Efraim Flashner 2bcfdd8f9c gnu: youtube-dl: Update to 2015.08.16.1.
* gnu/packages/video.scm (youtube-dl): Update to 2015.08.16.1.
2015-08-21 23:10:07 -04:00
Leo Famulari 491ae037ec gnu: Add dvtm.
* gnu/packages/dvtm.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-08-21 22:38:07 -04:00
Mark H Weaver 314529c271 gnu: curl: Update to 7.44.0.
* gnu/packages/curl.scm (curl): Update to 7.44.0.
2015-08-21 12:02:22 -04:00
Mark H Weaver 0058239ed3 gnu: subversion: Update to 1.8.14.
* gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/version-control.scm (subversion): Update to 1.8.14.  Remove
  patch.
2015-08-21 12:02:22 -04:00
Mark H Weaver 686b1bab5b gnu: ruby: Update to 2.2.3.
* gnu/packages/ruby.scm (ruby): Update to 2.2.3.
2015-08-21 12:02:22 -04:00
Mark H Weaver 0d5ddad41b gnu: gdk-pixbuf: Update to 2.31.6.
* gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.31.6.
  [arguments]: Add 'disable-failing-tests' phase.
2015-08-21 12:02:21 -04:00
Mark H Weaver 9cdce047d0 gnu: gnutls: Update to 3.4.4.1.
* gnu/packages/patches/gnutls-doc-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/tls.scm (gnutls): Update to 3.4.4.1.  Add patch.
  [arguments]: Add 'delete-prebuilt-unfixed-info-file' phase.
  In 'move-doc' phase, copy man pages to the correct directory.
  [native-inputs]: Add 'texinfo'.
2015-08-21 12:02:20 -04:00
Andreas Enge 80601ec179 gnu: libmtp: Update to 1.1.9.
* gnu/packages/libusb.scm (libmtp): Update to 1.1.9.
2015-08-21 09:14:21 +02:00
David Thompson 477ac94ba2 gnu: inconsolata: Fix typo in variable name.
* gnu/packages/fonts.scm (font-incosolata): Rename to...
  (font-inconsolata): ... this.
2015-08-20 19:04:43 -04:00
Ludovic Courtès 3d89031804 gnu: Add fuse-exfat.
* gnu/packages/linux.scm (fuse-exfat): New variable.
2015-08-20 21:00:09 +02:00
Ludovic Courtès 8f43d1ba99 gnu: Add exfat-utils.
* gnu/packages/mtools.scm (exfat-utils): New variable.
2015-08-20 20:59:49 +02:00
Ludovic Courtès 4a9999871c bash completion: Cache the list of subcommands and available packages.
* etc/completion/bash/guix (_guix_complete_available_package): Cache the list
  of available packages in '_guix_available_packages' and use it.
  (_guix_complete): Cache the list of subcommands in '_guix_subcommands' and
  use it.
2015-08-20 19:57:33 +02:00
Ludovic Courtès fa96048f0a profiles: Remove duplicate entries in 'etc/profile'.
Reported by Andy Wingo
at <http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00109.html>.

* guix/profiles.scm (profile-derivation)[builder]: Delete duplicates in
  SEARCH-PATHS.
2015-08-20 19:12:36 +02:00
Jeff Mickey feca8e2bc7 gnu: Add tinc.
* gnu/packages/vpn.scm (tinc): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-20 18:01:44 +02:00
Jeff Mickey 08cc159a70 gnu: pavucontrol: Update to 3.0.
* gnu/packages/pulseaudio.scm (pavucontrol): Update to 3.0.
* gnu/packages/patches/pavucontrol-sigsegv.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-20 17:52:29 +02:00
Andy Wingo cee32ee4d3 gnu: Add GeoClue desktop service.
* gnu/services/desktop.scm (bool): New top-level helper.
  (upower-configuration-file): Use top-level `bool'.
  (geoclue-application): New public function.
  (%standard-geoclue-applications): New public variable.
  (geoclue-service): New public variable.
  (%desktop-services): Add GeoClue.  Add a comment about activation.
* doc/guix.texi (Desktop Services): Document the GeoClue service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-20 17:05:30 +02:00
Ludovic Courtès 4006fd87b5 gnu: dmd: Apply 'make-forkexec-constructor' patch.
Proposed by Andy Wingo <wingo@igalia.com>.

* gnu/packages/admin.scm (dmd): Add 'base-version' and 'patch-level'
  variables.
  [source]: Use 'base-version' instead of 'version'.  Add 'patches' field.
2015-08-20 16:57:25 +02:00
Eric Dvorsak dede51a18b gnu: Add font-inconsolata
* gnu/packages/fonts.scm (font-inconsolata): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-20 16:41:12 +02:00
Eric Dvorsak e93b88f782 gnu: Add font-ubuntu.
* gnu/packages/fonts/scm (font-ubuntu): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-20 16:40:10 +02:00
Siniša Biđin a6dcdcac76 doc: Add missing gawk dependency to hello recipe.
* doc/guix.texi (Defining Packages): Add gawk dependency.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-20 16:34:02 +02:00
宋文武 5084eb4595 gnu: libinput: Update to 0.21.0.
* gnu/packages/freedesktop.scm (libinput): Update to 0.21.0.
2015-08-20 17:05:36 +08:00
Ricardo Wurmus 2824146bd8 guix: Add Sleepycat license.
* guix/licenses.scm (sleepycat): New variable.
2015-08-20 08:32:28 +02:00
Steve Sprang 6ef9edbff3 gnu: Add figlet.
* gnu/packages/figlet.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-08-20 08:28:47 +02:00
Steve Sprang de63b20ed1 gnu: Add pwgen.
* gnu/packages/password-utils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-08-20 00:53:30 -04:00
David Thompson 0d2794005c scripts: package: Add --install-from-file option.
* guix/scripts/package.scm (show-help): Add help text for --install-from-file
  option.
  (%options): Add --install-from-file option.
* tests/guix-package.sh: Test it.
* doc/guix.texi ("invoking guix package"): Document it.
* doc/package-hello.scm: New file.
* doc.am (EXTRA_DIST): Add it.
2015-08-19 22:23:59 -04:00
Ludovic Courtès 83bde59fb3 size: Get the item's size from the daemon rather than compute it.
This removes all I/O, which obviously makes things faster.

* guix/scripts/size.scm (file-size, store-item-exists?): Remove.
  (query-path-info*): New procedure.
  (file-size*): Rename to...
  (file-size): ... this; adjust caller.  Use 'query-path-info*' instead of
  'file-size'.
2015-08-19 11:39:18 +02:00
Ludovic Courtès 40a7d4e58b lint: Add 'formatting' checker.
* guix/scripts/lint.scm (report-tabulations, report-trailing-white-space,
  report-long-line, report-formatting-issues, check-formatting): New
  procedures.
  (%formatting-reporters): New variable.
  (%checkers): Add 'formatting' checker.
* tests/lint.scm ("formatting: tabulation", "formatting: trailing white
  space", "formatting: long line", "formatting: alright"): New tests.
* doc/guix.texi (Invoking guix lint): Mention the 'formatting' checker.
2015-08-19 11:39:17 +02:00
Mark H Weaver 7cb6f648b2 gnu: qemu: Update to 2.3.1. Add fix for CVE-2015-5745.
* gnu/packages/patches/qemu-CVE-2015-5745.patch: New file.
* gnu/packages/patches/qemu-CVE-2015-3456.patch,
  gnu/packages/patches/qemu-CVE-2015-5154-pt1.patch,
  gnu/packages/patches/qemu-CVE-2015-5154-pt2.patch,
  gnu/packages/patches/qemu-CVE-2015-5154-pt3.patch,
  gnu/packages/patches/qemu-CVE-2015-5158.patch: Delete files.
* gnu-system.am (dist_patch_DATA): Add new file and remove the deleted ones.
* gnu/packages/qemu.scm (qemu): Update to 2.3.1.  Add new patch and remove the
  deleted ones.
2015-08-18 23:57:25 -04:00
Mark H Weaver 2376963411 Revert "PRELIMINARY: gnu: Add ppp."
This reverts commit ba139bd75b.
2015-08-18 23:56:18 -04:00
Mark H Weaver e4fb9d2d97 Revert "PRELIMINARY: dbus-service: Include system-services directories."
This reverts commit e3484421cb.
2015-08-18 23:56:18 -04:00
Mark H Weaver 89a39d4e76 Revert "PRELIMINARY: gnu: polkit: Work on making it functional in practice."
This reverts commit e640340b9e.
2015-08-18 23:56:17 -04:00
Mark H Weaver 139d7e9541 Revert "PRELIMINARY: Add dbus-fixed."
This reverts commit 86e3f95a09.
2015-08-18 23:56:16 -04:00
Mark H Weaver 3b65abacff Revert "PRELIMINARY: Add three programs to %setuid-programs."
This reverts commit fb1e06fc5f.
2015-08-18 23:56:16 -04:00
Mark H Weaver 46c92ea058 Revert "PRELIMINARY: Modify dbus-configuration to find setuid helper."
This reverts commit fe1f2c80a1.
2015-08-18 23:56:15 -04:00
Mark H Weaver 6744aba846 Revert "PRELIMINARY: gnu: wpa-supplicant: Install dbus service files."
This reverts commit 9243fdf779.
2015-08-18 23:56:14 -04:00
Mark H Weaver 7f1b865819 Revert "PRELIMINARY: gnu: Add network-manager."
This reverts commit 0f402e4cf8.
2015-08-18 23:56:10 -04:00
Mark H Weaver 0f402e4cf8 PRELIMINARY: gnu: Add network-manager.
* gnu/packages/patches/network-manager-platform-managed.patch,
  gnu/packages/network-manager.scm: New files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add network-manager.scm.
  (dist_patch_DATA): Add network-manager-platform-managed.patch.
2015-08-18 23:52:57 -04:00
Mark H Weaver 9243fdf779 PRELIMINARY: gnu: wpa-supplicant: Install dbus service files. 2015-08-18 23:52:57 -04:00
Mark H Weaver fe1f2c80a1 PRELIMINARY: Modify dbus-configuration to find setuid helper. 2015-08-18 23:52:57 -04:00
Mark H Weaver fb1e06fc5f PRELIMINARY: Add three programs to %setuid-programs. 2015-08-18 23:52:57 -04:00
Mark H Weaver 86e3f95a09 PRELIMINARY: Add dbus-fixed. 2015-08-18 23:52:57 -04:00
Mark H Weaver e640340b9e PRELIMINARY: gnu: polkit: Work on making it functional in practice. 2015-08-18 23:52:57 -04:00
Mark H Weaver e3484421cb PRELIMINARY: dbus-service: Include system-services directories. 2015-08-18 23:52:57 -04:00
Mark H Weaver ba139bd75b PRELIMINARY: gnu: Add ppp.
TODO: Fix 'license' field.

* gnu/packages/networking.scm (ppp): New variable.
2015-08-18 23:52:57 -04:00
Mark H Weaver e41e013b1b gnu: linux-libre: Update to 4.1.6.
* gnu/packages/linux.scm (linux-libre): Update to 4.1.6.
2015-08-18 23:18:14 -04:00
宋文武 8a0263f17b gnu: tk: Build with Xft support.
* gnu/packages/tcl.scm (tk)[inputs]: Add LIBXFT.
  [native-inputs]: New field.
2015-08-19 09:19:09 +08:00
Daniel Pimentel 9523f6378a gnu: Add Rage player.
* gnu/packages/enlightenment.scm: Add Rage.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-08-19 00:36:41 +02:00
David Thompson e83c6d009f build: ruby: Rewrite build system to use gem archives.
Co-Authored-By: Pjotr Prins <pjotr.public01@thebird.nl>

* guix/build-system/ruby.scm (lower): Remove git dependency.
  (rubygems-uri): New procedure.
* guix/build/ruby-build-system (gitify): Delete.
  (unpack): Use 'gem unpack' utility.
  (check): Add docstring.
  (build): Repack modified gem.
  (install): Rebuild unpacked gem and install it.
  (%standard-phases): Remove gitify and build phases.
* gnu/packages/ruby.scm (ruby-hoe, ruby-rake-compiler, ruby-i18n,
  ruby-rspec-support, ruby-rspec-core, ruby-diff-lcs-for-rspec,
  ruby-rspec-expectations, ruby-rspec-mocks, ruby-rspec, bundler,
  ruby-useragent, ruby-bacon, ruby-arel, ruby-connection-pool,
  ruby-net-http-persistent, ruby-minitest, ruby-minitest-sprint,
  ruby-minitest-bacon, ruby-daemons, ruby-git, ruby-slop,
  ruby-multipart-post): Convert to new build system.
* doc/guix.texi (ruby-build-system): Document the gem archive requirement.
2015-08-18 17:58:13 -04:00
Andreas Enge 4ab9f96a5c gnu: calibre: Update to 2.35.0.
* gnu/packages/ebook.scm (calibre): Update to 2.35.0.
2015-08-17 22:44:58 +02:00
David Thompson 39e336b5c8 syscalls: setns: Skip binding if there is no such C function.
On systems with a glibc prior to 2.14, the 'setns' function is not available.

Thanks to Eric Bavier for reporting the issue.

* guix/build/syscalls.scm (setns): Wrap with 'false-if-exception'.
2015-08-17 14:51:18 -04:00
Ricardo Wurmus 12a9f4af01 gnu: r: Add R_LIBS_SITE to native-search-paths.
* gnu/packages/statistics.scm (r)[native-search-paths]: Add
  specification for "R_LIBS_SITE" variable.
2015-08-17 10:35:41 +02:00
Ricardo Wurmus 62de2545e1 gnu: r: Update to 3.2.2.
* gnu/packages/statistics.scm (r): Update to 3.2.2.
2015-08-17 10:35:41 +02:00
Eric Bavier 9b459fc7e1 gnu: Add American fuzzy lop.
* gnu/packages/debug.scm (american-fuzzy-lop): New variable.
2015-08-16 18:06:25 -05:00
Eric Bavier 20c263b00f gnu: qemu: Honor #:configure-flags argument.
* gnu/packages/qemu.scm (qemu-headless)[arguments]: Honor #:configure-flags
  arguments for configure phase.
2015-08-16 18:06:25 -05:00
Ricardo Wurmus 4e0143738f gnu: ardour: Update to 4.2.
* gnu/packages/audio.scm (ardour): Update to 4.2.
2015-08-16 21:55:44 +02:00
David Thompson eb537f5748 gnu: notmuch: Update to 0.20.2.
* gnu/packages/mail.scm (notmuch): Update to 0.20.2.  Add python-sphinx native
  input.  Rewrite phases using 'modify-phases' syntax.
2015-08-16 15:35:05 -04:00
David Thompson 07cd148c7a gnu: offlineimap: Update to 6.5.7.
* gnu/packages/mail.scm (offlineimap): Update to 6.5.7.
2015-08-16 10:29:08 -04:00
Ricardo Wurmus 497674280f gnu: guitarix: Update to 0.33.0.
* gnu/packages/audio.scm (guitarix): Update to 0.33.0.
  [native-inputs]: Add faust.
2015-08-16 07:55:08 +02:00
David Thompson a10052acd5 gnu: Add znc.
* gnu/packages/messaging.scm (znc): New variable.
2015-08-15 13:08:09 -04:00
Taylan Ulrich Bayırlı/Kammer a6d605e648 gnu: Remove mplayer2.
* gnu/packages/video.scm (mplayer2): Removed variable.
2015-08-15 15:20:02 +02:00
宋文武 80a747c4fe gnu: epiphany: Add dconf to propagated-inputs.
* gnu/packages/gnome.scm (epiphany)[propagated-inputs]: New field.
2015-08-15 21:10:06 +08:00
Andreas Enge ad11974e8f gnu: flint: Disable parallel tests.
* gnu/packages/algebra.scm (flint)[arguments]: Disable parallel tests,
  which makes the build pass on arm.
2015-08-15 09:24:30 +02:00
Eric Bavier c449a07693 gnu: Add Gamine.
* gnu/packages/games.scm (gamine): New variable.
2015-08-14 12:11:59 -05:00
宋文武 907f939b9b gnu: glib-networking: Prefer 'SSL_CERT_FILE' as TLS CA file.
This is an improvement over commit af6100f.

* gnu/packages/gnome.scm (glib-networking)[source](patches): New field.
  [arguments]: Pass '/etc/ssl/certs/ca-certificates.crt' to configure.
  Set 'SSL_CERT_FILE' to '/dev/null' in 'use-empty-ssl-cert-file' phase.
  (libsoup)[arguments]: Set 'SSL_CERT_FILE' to '/dev/null' in
  'pre-check' phase.
* gnu/packages/patches/glib-networking-ssl-cert-file.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2015-08-14 17:58:48 -04:00
Andreas Enge 6c591c8ed7 gnu: flint: Update to 2.5.2.
* gnu/packages/algebra.scm (flint): Update to 2.5.2.
* gnu/packages/patches/flint-ldconfig.patch: New file.
* gnu-system.am (dist_patch_DATA): Register the patch.
2015-08-14 18:14:33 +02:00
Andreas Enge 91430de6df gnu: flint: Rewrite using the modify-phases syntax.
* gnu/packages/algebra.scm (flint)[arguments]: Rewrite the phases using
  the modify-phases syntax.
2015-08-14 18:14:33 +02:00
Mark H Weaver c2099a4c82 gnu: wireless-tools: Build shared library; remove non-free headers.
* gnu/packages/linux.scm (wireless-tools)[source]: Replace unneeded
  old snippet with a new one that removes non-free files.
  [arguments]: Use modify-phases.  Remove custom 'configure' phase.  Add
  make-flags.
  [license]: Change to (list gpl2 lgpl2.1+).
2015-08-14 11:34:58 -04:00
Ricardo Wurmus c1670a8196 gnu: shogun: Move package to machine-learning.scm.
* gnu/packages/bioinformatics.scm (shogun): Move from here...
* gnu/packages/machine-learning.scm (shogun): ...to here.
2015-08-14 17:17:05 +02:00
David Thompson 365481116c gnu: Add guile-redis.
* gnu/packages/guile.scm (guile-redis): New variable.
2015-08-14 07:30:36 -04:00
David Thompson 27f5e13e0a gnu: Add haunt.
* gnu/packages/guile.scm (haunt): New variable.
2015-08-14 07:29:35 -04:00
宋文武 8ff275687d Revert "gnu: glib-networking: Use '/etc/ssl/certs/ca-certificates.crt' as TLS CA file."
This broke libsoup tests.

This reverts commit af6100f51b.
2015-08-14 15:30:53 +08:00
Eric Bavier 1cdecaf5e6 gnu: fish: Update to 2.2.0.
* gnu/packages/fish.scm (fish): Update to 2.2.0.
2015-08-14 01:51:32 -05:00
Eric Bavier 50aec63560 gnu: calcurse: Update to 4.0.0.
* gnu/packages/calcurse.scm (calcurse): Update to 4.0.0.
  [arguments]: New field.
2015-08-14 01:30:35 -05:00
Eric Bavier 61be05c3c3 gnu: c-reduce: Update to 2.3.0.
* gnu/packages/debug.scm (c-reduce): Update to 2.3.0.
  [inputs]: Use latest llvm and clang.
2015-08-14 01:22:18 -05:00
宋文武 af6100f51b gnu: glib-networking: Use '/etc/ssl/certs/ca-certificates.crt' as TLS CA file.
* gnu/packages/gnome.scm (glib-networking)[arguments]: Pass
  '--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt' to configure.
  Add 'disable-failing-tls-tests' phase.
2015-08-14 11:32:09 +08:00
Mark H Weaver f6a9bf848f gnu: webkitgtk: Update to 2.8.5.
* gnu/packages/webkit.scm (webkitgtk): Update to 2.8.5.
  [arguments]: Add 'add-gst-plugins-base-include-path' phase.
2015-08-13 22:10:11 -04:00
Mark H Weaver 625c91767f gnu: webkitgtk/gtk+-2: Change name field to "webkitgtk-gtk2".
* gnu/packages/webkit.scm (webkitgtk/gtk+-2)[name]: Change to
  "webkitgtk-gtk2".
2015-08-13 22:10:11 -04:00
宋文武 159093a70f gnu: Add wesnoth.
* gnu/packages/games.scm (wesnoth): New variable.
2015-08-13 17:49:38 +08:00
Mark H Weaver c755c85467 gnu: Add rfkill.
* gnu/packages/linux.scm (rfkill): New variable.
2015-08-12 22:10:58 -04:00
Mark H Weaver c037a0f7ce gnu: icecat: Add fixes for CVE-2015-{4473,4482,4488,4489,4491,4492}.
WARNING: CVE-2015-4473 may not be fully addressed here, because I was unable
to backport some of the patches (for upstream bugs 1182711 and 1146213).  I
was also unable to backport CVE-2015-4484 (upstream bug 1171540) and
CVE-2015-4487 (upstream bug 1171603).  I was unable to find any commit in the
upstream repository that claims to address bug 1105914 (CVE-2015-4478).

* gnu/packages/patches/icecat-CVE-2015-4473-partial.patch,
  gnu/packages/patches/icecat-CVE-2015-4482.patch,
  gnu/packages/patches/icecat-CVE-2015-4488.patch,
  gnu/packages/patches/icecat-CVE-2015-4489.patch,
  gnu/packages/patches/icecat-CVE-2015-4491.patch,
  gnu/packages/patches/icecat-CVE-2015-4492.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.
2015-08-12 20:37:44 -04:00
Mark H Weaver f74c577ce0 gnu: linux-libre: Update to 4.1.5.
* gnu/packages/linux.scm (linux-libre): Update to 4.1.5.
2015-08-12 13:30:05 -04:00
Andreas Enge c769a1638b gnu: sipwitch: Update to 1.9.9.
* gnu/packages/telephony.scm (sipwitch): Update to 1.9.9.
2015-08-12 18:17:29 +02:00
Andreas Enge 619a660f6e gnu: ucommon: Update to 6.5.1.
* gnu/packages/telephony.scm (ucommon): Update to 6.5.1.
2015-08-12 18:17:29 +02:00
Mark H Weaver 2f9c3d1939 gnu: openssh: Update to 7.0p1.
* gnu/packages/ssh.scm (openssh): Update to 7.0p1.
2015-08-12 12:06:04 -04:00
Mathieu Lirzin 8cba71c7a0 gnu: ratpoison: Update to 1.4.8.
* gnu/packages/ratpoison.scm (ratpoison): Update to 1.4.8.
* gnu/packages/patches/ratpoison-shell.patch: Adapt to it.
2015-08-12 15:30:04 +02:00
Andreas Enge aae70767bf gnu: avidemux: Update to 2.6.10. Disable GTK+ build.
* gnu/packages/video.scm (avidemux): Update to 2.6.10. Disable the GTK+
  build, which fails, and remove the gtk+ input.
2015-08-12 09:54:26 +02:00
Mark H Weaver ae4784af54 gnu: wicd: Fix bugs in curses interface program.
* gnu/packages/patches/wicd-bitrate-none-fix.patch,
  gnu/packages/patches/wicd-get-selected-profile-fix.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/wicd.scm (wicd)[source]: Add patches.
2015-08-12 00:22:02 -04:00
Andreas Enge 1e738fc8a5 gnu: gnupg: Update to 2.1.7.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.7.
2015-08-11 23:39:45 +02:00
Alex Kost 0ce4c9d5ca Add new entries to .mailmap.
* .mailmap: Add new lines for Andy Wingo and Eric Dvorsak.
2015-08-11 20:23:46 +03:00
Andreas Enge 176be3d436 gnu: calibre: Update to 2.34.0.
* gnu/packages/ebook.scm (calibre): Update to 2.34.0.
2015-08-11 16:57:47 +02:00
Andreas Enge e8bdd73ac6 gnu: python-sip, python-pyqt: Fix computation of python library path.
* gnu/packages/qt.scm (python-sip, python2-sip, python-pyqt, python2-pyqt,
    python-pyqt-4, python2-pyqt-4)[arguments]: Fix computation of python
    library path for multi-digit python versions.
2015-08-11 15:50:10 +02:00
David Thompson bc459b617f tests: containers: Skip if setgroups file does not exist.
Fixes bug #21226.

Linux 3.19 introduced a fix for a security vulnerability in user namespaces.
This fix introduced a new proc file called 'setgroups' and was backported to
many older kernels.  However, some users run a kernel that is new enough to
support user namespaces yet old enough to not include the patch, so we must
skip the tests.

* tests/containers.scm: Skip all tests if /proc/self/setgroups does not exist.
2015-08-11 08:30:28 -04:00
宋文武 7549f98415 gnu: Add epiphany.
* gnu/packages/gnome.scm (epiphany): New variable.
2015-08-11 17:27:01 +08:00
Andreas Enge 9975549142 gnu: python-pyqt-4: Update to 4.11.4.
* gnu/packages/qt.scm (python-pyqt-4, python2-pyqt-4): Update to 4.11.4.
2015-08-10 15:59:37 +02:00
Andreas Enge 0c84e33ec1 gnu: python-pyqt: Update to 5.5.
* gnu/packages/qt.scm (python-pyqt, python2-pyqt): Update to 5.5.
2015-08-10 15:47:04 +02:00
Andreas Enge d032bb7464 gnu: python-sip: Update to 4.16.9.
* gnu/packages/qt.scm (python-sip, python2-sip): Update to 4.16.9.
2015-08-10 15:47:04 +02:00
Alex Kost 1d3eaef90c import: elpa: Fix typo.
Reported by Eric Dvorsak <eric@dvorsak.fr> on #guix.

* guix/scripts/import/elpa.scm (%default-options): Remove redundant
  quote which led to an error if --archive option was not specified.
2015-08-10 15:46:10 +03:00
Cyril Roelandt 98bdee6725 gnu: Bump python-six to 1.9.0.
* gnu/packages/python.scm (python-six): Bump to 1.9.0.
2015-08-09 16:44:39 +02:00
David Thompson 463f676682 gnu: Add redis.
* gnu/packages/databases.scm (redis): New variable.
2015-08-08 14:55:08 -04:00
Andy Wingo 0abe1d86f5 gnu: Add simple-scan.
* gnu/packages/gnome.scm (simple-scan): New variable.
2015-08-08 14:09:56 -04:00
Andy Wingo 7c88b6bd5c gnu: Add gusb.
* gnu/packages/gnome.scm (gusb): New variable.
2015-08-08 14:09:56 -04:00
Andy Wingo 3bc4544929 gnu: Add gtk-doc.
* gnu/packages/gtk.scm (gtk-doc): New variable.

Modified-By: Mark H Weaver <mhw@netris.org>
2015-08-08 14:09:56 -04:00
Andy Wingo 3b71b36c08 gnu: sane-backends: Support USB scanners.
* gnu/packages/scanner.scm (sane-backends): Build with libusb-compat as an
  input and install a udev rule to give users access to scanners.

Modified-By: Mark H Weaver <mhw@netris.org>
2015-08-08 14:09:56 -04:00
Andy Wingo e0477b7391 gnu: Add libusb-compat.
* gnu/packages/libusb.scm (libusb-compat): New variable.

Modified-By: Mark H Weaver <mhw@netris.org>
2015-08-08 14:09:56 -04:00
Mark H Weaver 7a75b02ae5 gnu: Move ghostscript-with-x into (gnu packages ghostscript).
* gnu/packages/gv.scm (ghostscript/x): Move ...
* gnu/packages/ghostscript.scm (ghostscript/x): ... to here.
2015-08-08 14:09:56 -04:00
David Thompson 831bc1468e build: container: Add #:host-uids argument to call-with-container.
It's not always possible to map 65536 uids when creating a container as the
root user within another user namespace.  This is true when building Guix
within the build daemon's container.  By using a uid range of 1 by default,
even as the root user, the tests now pass.

* gnu/build/linux-container.scm (initialize-user-namespace, run-container):
  Add 'host-uids' argument.
  (call-with-container): Add #:host-uids keyword argument.
* tests/containers.scm ("container-excursion"): Update 'run-container' call.
2015-08-08 14:04:13 -04:00
David Thompson 8c812f2aee build: file-systems: Allow for bind mounting regular files.
* gnu/build/file-systems.scm (regular-file?): New procedure.
  (mount-file-system): Create a regular file instead of a directory when bind
  mounting a regular file.
2015-08-08 14:04:00 -04:00
Mark H Weaver 014cbde612 gnu: aalib: Pass --build to configure.
* gnu/packages/video.scm (aalib)[arguments]: In configure phase, accept
  'build' keyword argument and pass it to 'configure'.
2015-08-08 00:01:44 -04:00
Mark H Weaver a5e55dfbb7 gnu: icecat: Add fix for CVE-2015-4495.
* gnu/packages/patches/icecat-CVE-2015-4495.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch.  Move the 'patches'
  field above the snippet.
2015-08-07 23:08:41 -04:00
Eric Dvorsak ff6f33cf80 gnu: python-2: Update to 2.7.10.
* gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch,
  gnu/packages/patches/python-libffi-mips-n32-fix.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/python.scm (python-2): Update to 2.7.10.  Remove patches.
  Update comment showing test failures.
2015-08-06 16:33:54 -04:00
Mark H Weaver 9f6509c655 python-build-system: Fix 'get-python-version'.
* guix/build/python-build-system.scm (get-python-version): Rewrite to handle
  multiple-digit version number components.
2015-08-06 16:33:54 -04:00
Mark H Weaver 494e9b9167 gnu: vamp: Update to new upstream source (without version number bump).
Upstream changed the tarball contents without changing the version number.

* gnu/packages/audio.scm (vamp)[source]: Update source URI and hash.
2015-08-05 12:21:22 -04:00
Mark H Weaver 0a143f673c gnu: Add pidgin-otr.
* gnu/packages/messaging.scm (pidgin-otr): New variable.
2015-08-04 16:21:17 -04:00
Mark H Weaver b1a2bc895a gnu: Add pidgin.
* gnu/packages/patches/pidgin-add-search-path.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/messaging.scm (pidgin): New variable.
2015-08-04 16:21:17 -04:00
Mark H Weaver 008b525734 gnu: libotr: Modify description to not rely on preservation of formatting.
* gnu/packages/messaging.scm (libotr)[description]: Modify formatting.
2015-08-04 16:21:17 -04:00
Mark H Weaver 57661278a7 gnu: Remove linux-libre-4.0.
* gnu/packages/linux.scm (linux-libre-4.0): Remove.
2015-08-04 11:58:26 -04:00
Mark H Weaver 57082417f3 system: Default to newest linux-libre.
* gnu/system.scm (<operating-system>)[kernel]: Change default to
  LINUX-LIBRE.
2015-08-04 11:58:26 -04:00
Mark H Weaver ef872381ce gnu: linux-libre: Update to 4.1.4.
* gnu/packages/linux.scm (linux-libre): Update to 4.1.4.
2015-08-04 11:58:26 -04:00
David Thompson 2d0942392d gnu: node: Update to 0.12.7.
* gnu/packages/node.scm (node): Update to 0.12.7.
2015-08-03 10:02:58 -04:00
Mark H Weaver d2892f3a2d gnu: icu4c: Add fix for CVE-2015-4760.
* gnu/packages/patches/icu4c-CVE-2015-4760.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/icu4c.scm (icu4c)[source]: Add patch.
2015-08-03 02:10:14 -04:00
Steve Sprang 4988dd4008 doc: Fix minor typos.
* doc/guix.texi (Invoking guix-daemon, Application Setup, The Store): Fix
  typos.
2015-08-02 22:15:16 -04:00
Eric Dvorsak 8d801045ff gnu: Move python2-ansible to (gnu packages admin).
* gnu/packages/python.scm (python2-ansible): Move to ...
    * gnu/packages/admin.scm (ansible): ... here.
2015-08-01 21:57:26 -04:00
Mark H Weaver 29408532b4 gnu: ratpoison: Fix ratpoison.desktop URI.
* gnu/packages/ratpoison.scm (ratpoison.desktop): Change URI to use https.
2015-08-01 20:27:45 -04:00
Andreas Enge 0256c7469a gnu: texlive: Update to 2015.
* gnu/packages/texlive.scm (texlive-extra-src, texlive-texmf-src,
  texlive-bin, texlive-texmf, texlive): Update to 2015.
  (texlive-bin): Add inputs gmp and mpfr. Add configure flags to use
  system gmp and mpfr.
  (texlive-texmf)[arguments]: Add tlpkg directory to PERL5LIB path during
  the 'texmf-config phase.
2015-08-01 18:29:38 +02:00
Federico Beffa 48dbeef733 gnu: Add emacs-ob-ipython.
* gnu/packages/emacs.scm (emacs-ob-ipython): New variable.
2015-08-01 12:37:14 +02:00
Federico Beffa 3a0b1b9afc gnu: python-ipython: Update to 3.2.1.
* gnu/packages/python.scm (python-ipython, python2-ipython): Update to 3.2.1.
  Add optional dependencies required for notebooks.
  (python-ipython): Fix and enable tests (1 still failing).
2015-08-01 12:37:14 +02:00
Federico Beffa 4aadb1dff7 gnu: Add python-terminado.
* gnu/packages/python.scm (python-terminado, python2-terminado): New
  variables.
2015-08-01 12:37:13 +02:00
Federico Beffa 6d992d078e gnu: Add python-ptyprocess.
* gnu/packages/python.scm (python-ptyprocess, python2-ptyprocess): New
  variables.
2015-08-01 12:37:13 +02:00
Federico Beffa 61b9ac53c3 gnu: Add python-mistune.
* gnu/packages/python.scm (python-mistune, python2-mistune): New variables.
2015-08-01 12:37:13 +02:00
Federico Beffa cf9ce01fb3 gnu: Add emacs-f.
* gnu/packages/emacs.scm (emacs-f): New variable.
2015-08-01 12:37:13 +02:00
Federico Beffa 40aee1a133 build: emacs: Fix bug and improvement robustness.
* guix/build/emacs-build-system.scm (emacs-inputs): Fix matching pattern.
  (patch-el-files): Improve regexp pattern.
2015-08-01 12:37:13 +02:00
Federico Beffa 85777fe57a gnu: Add emacs-s.
* gnu/packages/emacs.scm (emacs-s): New variable.
2015-08-01 12:37:13 +02:00
Federico Beffa d4dbf10eb1 gnu: Add emacs-dash.
* gnu/packages/emacs.scm (emacs-dash): New variable.
2015-08-01 12:37:13 +02:00
Federico Beffa 6544aba5fc import: elpa: Improve error message reporting.
* guix/import/elpa.scm (filter-dependencies): Fix bug.
  (call-with-downloaded-file): Add optional parameter 'error-thunk'.
  (fetch-package-description): Use it.
2015-08-01 12:36:21 +02:00
Federico Beffa 23bae7bb86 gnu: Add fasthenry.
* gnu/packages/engineering.scm (fasthenry): New variable.
* gnu/packages/patches/fasthenry-spAllocate.patch,
  gnu/packages/patches/fasthenry-spBuild.patch,
  gnu/packages/patches/fasthenry-spFactor.patch,
  gnu/packages/patches/fasthenry-spSolve.patch,
  gnu/packages/patches/fasthenry-spUtils.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
2015-08-01 12:29:37 +02:00
Federico Beffa 930945015c gnu: Add fastcap.
* gnu/packages/engineering.scm (fastcap): New variable.
  (broken-tarball-fetch): New function.  Suggested by Ludovic Courtès
  <ludo@gnu.org>.
* gnu/packages/patches/fastcap-mulGlobal.patch,
  gnu/packages/patches/fastcap-mulSetup.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
2015-08-01 12:29:37 +02:00
Manolis Ragkousis 8fd857f5da gnu: cross-base: Disable libcilkrts in cross-gcc.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Add "--disable-libcilkrts".
2015-07-31 17:47:23 +03:00
David Thompson 4ecfbda72e gnu: Add graphios.
* gnu/packages/admin.scm (graphios): New variable.
2015-07-31 08:41:57 -04:00
Eric Dvorsak 9589c6890a gnu: Add python2-ansible.
* gnu/packages/python.scm (python2-ansible): New variable.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:32 +03:00
Eric Dvorsak f9da1d8afa gnu: Add python-passlib.
* gnu/packages/python.scm (python-passlib, python2-passlib): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:32 +03:00
Eric Dvorsak feb0d9c340 gnu: Add python-py-bcrypt.
* gnu/packages/python.scm (python-py-bcrypt, python2-py-bcrypt): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:32 +03:00
Eric Dvorsak 429fdea1ab gnu: Add python-paramiko.
* gnu/packages/python.scm (python-paramiko, python2-paramiko): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:32 +03:00
Eric Dvorsak de73dbf62d gnu: Add python-httplib2.
* gnu/packages/python.scm (python-httplib2, python-httplib2): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:31 +03:00
Eric Dvorsak 670398751e gnu: Add python-ecdsa.
* gnu/packages/python.scm (python-ecdsa, python2-ecdsa): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:31 +03:00
Eric Dvorsak 52323f32fa gnu: Add python-ccm.
* gnu/packages/python.scm (python-ccm, python2-ccm): New variables.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:31 +03:00
Eric Dvorsak 345f0611af gnu: Add python2-pycrypto.
* gnu/packages/python.scm (python2-pycrypto): New variable.

Signed-off-by: Alex Kost <alezost@gmail.com>
2015-07-31 10:59:31 +03:00
Mark H Weaver 99e29da156 gnu: expat: Add fix for CVE-2015-1283.
* gnu/packages/patches/expat-CVE-2015-1283.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xml.scm (expat)[source]: Add patch.
2015-07-30 08:21:28 -04:00
Ricardo Wurmus 8c454dcd12 gnu: Add Klick.
* gnu/packages/music.scm (klick): New variable.
2015-07-29 09:54:53 +02:00
Mark H Weaver 7ef4119f0a gnu: qemu: Add fixes for CVE-2015-5154 and CVE-2015-5158.
* gnu/packages/patches/qemu-CVE-2015-5154-pt1.patch,
  gnu/packages/patches/qemu-CVE-2015-5154-pt2.patch,
  gnu/packages/patches/qemu-CVE-2015-5154-pt3.patch,
  gnu/packages/patches/qemu-CVE-2015-5158.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/qemu.scm (qemu-headless)[source]: Add patches.
2015-07-27 18:50:35 -04:00
Mathieu Lirzin bae877624e gnu: Move markdown to (gnu packages markdown).
* gnu/packages/textutils.scm (markdown): Move to ...
* gnu/packages/markdown.scm (markdown): ... here.
2015-07-28 00:25:52 +02:00
Andreas Enge 44a477e1ac gnu: liblxqt: Fix build with Qt 5.5.
* gnu/packages/patches/liblxqt-include.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
* gnu/packages/lxqt.scm (liblxqt)[source]: Use patch.
2015-07-27 22:54:58 +02:00
Andreas Enge 6cef1b9b99 gnu: libqtxdg: Update to 1.2.0.
* gnu/packages/lxqt.scm (libqtxdg)[source]: Update to 1.2.0.
  [arguments]: Enable test builds.
2015-07-27 22:35:44 +02:00
Mark H Weaver cac8bc38a0 gnu: Add newt.
* gnu/packages/slang.scm (newt): New variable.
2015-07-27 15:12:52 -04:00
Mark H Weaver 5df2316d73 gnu: Add ethtool.
* gnu/packages/networking.scm (ethtool): New variable.
2015-07-27 15:12:52 -04:00
Mark H Weaver a2b2aebea9 gnu: Add libndp.
* gnu/packages/networking.scm (libndp): New variable.
2015-07-27 15:12:52 -04:00
宋文武 3dc8828f18 gnu: Add GVFS.
* gnu/packages/gnome.scm (gvfs): New variable.
2015-07-27 21:24:51 +08:00
宋文武 cff77d4897 gnu: libmtp: Propagate inputs.
* gnu/packages/libusb.scm (libmtp): Propagate inputs libgcrypt and libusb.
2015-07-27 21:22:18 +08:00
Mark H Weaver 35a12b4719 gnu: ghostscript: Add fix for CVE-2015-3228.
* gnu/packages/patches/ghostscript-CVE-2015-3228.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/ghostscript.scm (ghostscript)[source]: Add patch.
2015-07-27 04:38:44 -04:00
Ricardo Wurmus 6d7a0eeded gnu: icedtea7: Update to 2.6.1.
* gnu/packages/java.scm (icedtea7): Update to 2.6.1.
2015-07-27 10:29:43 +02:00
Andreas Enge f7fb0ccb69 gnu: qt: Update to 5.5.0.
* gnu/packages/qt.scm (qt): Update to 5.5.0. Update download location.
  Drop patch and snippet.
  [arguments]: Add configure flag to drop qtwebengine module bundling
  chromium.
  [native-inputs]: Drop ninja, needed only for qtwebengine.
  [inputs]: Add harfbuzz to avoid use of bundled copy.
  (qt-4)[inputs]: Remove inherited harfbuzz again.
* gnu/packages/patches/qt5-conflicting-typedefs.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Unregister patch.
* gnu/packages/patches/qt5-runpath.patch: Adapt patch.
2015-07-27 09:41:16 +02:00
Christopher Allan Webber b8050e7183 gnu: Add pelican.
* gnu/packages/python.scm (pelican): New variable.
2015-07-26 14:29:08 -04:00
Christopher Allan Webber 59ad30e3a8 gnu: Add python-blinker.
* gnu/packages/python.scm (python-blinker, python2-blinker): New variables.
2015-07-26 13:13:36 -04:00
Ricardo Wurmus e727ed6aef gnu: ntk: Add missing license import.
* gnu/packages/fltk.scm: Import lgpl2.0+ license.
2015-07-26 22:46:23 +02:00
Ricardo Wurmus bcbc02fd09 gnu: portaudio: Build with jack-1.
* gnu/packages/audio.scm (portaudio)[inputs]: Replace "jack-2" with "jack-1".
2015-07-26 22:08:18 +02:00
Ricardo Wurmus ca01b3ad96 gnu: jack-1: Propagate "bdb".
* gnu/packages/audio.scm (jack-1)[inputs]: Move "bdb" from here...
   [propagated-inputs]: ...to here.
2015-07-26 22:08:18 +02:00
Ricardo Wurmus 8e80244a5f gnu: Add Non Sequencer.
* gnu/packages/music.scm (non-sequencer): New variable.
2015-07-26 22:08:18 +02:00
Ricardo Wurmus a997470163 gnu: Add NTK.
* gnu/packages/fltk.scm (ntk): New variable.
2015-07-26 22:08:17 +02:00
Andreas Enge a060ca3201 gnu: avidemux: Install libraries to lib.
* gnu/packages/video.scm (avidemux)[source]: Add patch to install to lib
  directory instead of lib64 or lib32 depending on the architecture.
  [arguments]: Use the lib instead of the lib64 directory for flags in the
  build phase, so that these flags should now also work on i686.
* gnu/packages/patches/avidemux-install-to-lib.patch: New file.
* gnu-system.am (dist_patch_DATA): Register it.
2015-07-26 15:24:20 +02:00
Mark H Weaver 2520c84a6f gnu: magit: Update to 1.4.2.
* gnu/packages/emacs.scm (magit): Update to 1.4.2.
2015-07-26 00:45:06 -04:00
Mark H Weaver eb26970a21 gnu: openssl: Add reference to upstream GCC bug in comment.
This is a followup to commit e12027179f.

* gnu/packages/tls.scm (openssl)[arguments]: Add reference to upstream
  GCC bug in comment.
2015-07-25 23:55:29 -04:00
宋文武 171ae35c13 gnu: Add udisks.
* gnu/packages/freedesktop.scm (udisks): New variable.
2015-07-26 11:28:34 +08:00
宋文武 cfbbff31cc gnu: Add libatasmart.
* gnu/packages/freedesktop.scm (libatasmart): New variable.
2015-07-26 11:27:39 +08:00
宋文武 65cb2d61e6 gnu: colord: Propagate inputs.
* gnu/packages/gnome.scm (colord): Propagate inputs glib, eudev and lcms.
2015-07-26 09:52:45 +08:00
宋文武 ea2262914a gnu: Prefer libgudev as GUDEV (GObject bindings for libudev) provider.
* gnu/packages/gnome.scm (upower, gnome-settings-daemon, rhythmbox)
  gnu/packages/xfce.scm (thunar, thunar-volman): Switch to libgudev as
  GUDEV provider.
2015-07-26 09:52:45 +08:00
宋文武 41af5e7b72 gnu: Add libgudev.
* gnu/packages/gnome.scm (libgudev): New variable.
2015-07-26 09:52:45 +08:00
Ludovic Courtès ac5d70cdab gnu: perl-data-stag: Fix typo in description.
Reported by Anders Jonsson <anders.jonsson@norsjovallen.se>.

* gnu/packages/perl.scm (perl-data-stag)[description]: Fix typo.
2015-07-26 00:57:44 +02:00
Ludovic Courtès 72b891e50e vm: Make the list of partitions to build a parameter.
* gnu/build/vm.scm (<partition>): New record type.
  (fold2): New procedure.
  (initialize-partition-table): Remove #:bootable? and
  'partition-size' parameters.  Add 'partitions' parameter.  Invoke 'parted'
  with '--script'.
  (initialize-root-partition): Remove.
  (initialize-partition, root-partition-initializer): New procedures.
  (initialize-hard-disk): Remove #:system-directory, #:disk-image-size,
  #:file-system-type, #:file-system-label, #:closures, #:copy-closures?,
  #:bootable?, and #:register-closures? parameters.  Add #:partitions.
  Rewrite to use 'initialize-partition' for each item of PARTITIONS.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix records)
  to #:modules default value.
  (qemu-image): Adjust accordingly.
2015-07-26 00:57:44 +02:00
Ludovic Courtès 5b9da1f955 system: Add 'ping6' to %SETUID-PROGRAMS.
* gnu/system.scm (%setuid-programs): Add 'ping6'.
2015-07-26 00:57:44 +02:00
Ben Woodcroft b81cb1f2f3 gnu: bedtools: Add patch to fix compilation on 32 bit systems.
* gnu/packages/patches/bedtools-32bit-compilation.patch: New file.
* gnu/packages/bioinformatics.scm (bedtools)[source]: Add patch.
* gnu-system.am (dist_patch_DATA): Register patch.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2015-07-25 19:16:49 +02:00
Andreas Enge c6c86cd7a5 gnu: vlc: Update input Qt to version 5.
* gnu/packages/video.scm (vlc)[inputs]: Switch from Qt version 4 to 5.
2015-07-25 18:29:00 +02:00
Andreas Enge 9c55bae607 gnu: vlc: Update to 2.2.1.
* gnu/packages/video.scm (vlc): Update to 2.2.1.
2015-07-25 17:28:43 +02:00
Ludovic Courtès e7f5691d45 syscalls: Add 'network-interfaces', which wraps libc's 'getifaddrs'.
Based on discussions with Rohan Prinja <rohan.prinja@gmail.com>.

* guix/build/syscalls.scm (<interface>): New record type.
  (write-interface, values->interface, unfold-interface-list,
  network-interfaces, free-ifaddrs): New procedures.
  (ifaddrs): New C struct.
  (%struct-ifaddrs-type, %sizeof-ifaddrs): New macros.
* tests/syscalls.scm ("network-interfaces returns one or more interfaces",
  "network-interfaces returns \"lo\""): New tests.
2015-07-25 14:43:45 +02:00
Ludovic Courtès 573b4c1ff3 syscalls: 'define-c-struct' properly align reads.
* guix/build/syscalls.scm (alignof*, align): New macros.
  (write-types, read-types): Use 'align' to compute the actual offset to
  read/write a value of TYPE0.
2015-07-25 14:43:45 +02:00
Ludovic Courtès 3ca337699a syscalls: 'read-socket-address' gracefully handles unsupported families.
* guix/build/syscalls.scm (PF_PACKET, AF_PACKET): New variables.
  (read-socket-address): Make 'index' optional.  Return (vector FAMILY) when
  FAMILY is neither AF_INET nor AF_INET6.
2015-07-25 14:43:44 +02:00
Ludovic Courtès 4a30e84e61 syscalls: 'define-c-struct' distinguishes pointers from integers.
* guix/build/syscalls.scm (read-type): Add special-case for when TYPE is '*.
2015-07-25 14:43:44 +02:00
Ludovic Courtès b89e74054e syscalls: Rename 'network-interfaces' and 'all-network-interfaces'.
* guix/build/syscalls.scm (network-interfaces): Rename to...
  (network-interface-names): ... this.
  (all-network-interfaces): Rename to...
  (all-network-interface-names): ... this.
* gnu/services/networking.scm (dhcp-client-service): Adjust accordingly.
* tests/syscalls.scm ("all-network-interfaces"): Rename to...
  ("all-network-interface-names"): ... this, and adjust accordingly.
  ("network-interfaces"): Rename to...
  ("network-interface-names"): ... this, and adjust accordingly.
2015-07-25 14:43:44 +02:00
Ludovic Courtès 53de532f28 doc: Make "Application Setup" more prominent.
* doc/guix.texi (Binary Installation): Add reference to "Application Setup".
2015-07-25 14:43:44 +02:00
Ben Woodcroft bd4af2f940 gnu: bedtools: Update to 2.24.0.
* gnu/packages/bioinformatics.scm (bedtools): Update to 2.24.0.
2015-07-25 00:02:54 -04:00
Mark H Weaver 7409c8d42b gnu: e2fsprogs: Update to 1.42.13.
* gnu/packages/linux.scm (e2fsprogs): Update to 1.42.13.  Change the source
  URI to use the .tar.xz file from kernel.org.
2015-07-24 17:12:53 -04:00
Andreas Enge 6bb5a8a1c1 gnu: Add liblxqt.
* gnu/packages/lxqt.scm (liblxqt): New variable.
2015-07-24 23:10:54 +02:00
Andreas Enge 4a8276704f gnu: Add kwindowsystem.
* gnu/packages/kde-frameworks.scm (kwindowsystem): New variable.
2015-07-24 23:01:14 +02:00
Andreas Enge f272987aa2 gnu: Add extra-cmake-modules.
* gnu/packages/kde-frameworks.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Register it.
2015-07-24 22:25:33 +02:00
Andreas Enge d0dfc06683 gnu: ripperX: Update to 2.8.0.
* gnu/packages/mp3.scm (ripperx): Update to 2.8.0. Drop one patch and
  add another one.
* gnu/packages/patches/ripperx-libm.patch: Remove file.
* gnu/packages/patches/ripperx-missing-file.patch: New file.
* gnu-system.am (dist_patch_DATA): Register one patch and unregister the
  other.
2015-07-24 21:16:29 +02:00
Andreas Enge 10b1f68877 gnu: Add cm.
* gnu/packages/algebra.scm (cm): New variable.
2015-07-24 18:53:03 +02:00
Andreas Enge 9f51293cee gnu: algebra: Prefix imported licenses.
* gnu/packages/algebra.scm (mpfrcx, fplll, pari-gp, gp2c, flint, arb,
  bc, fftw, eigen)[license]: Prefix imported licenses.
2015-07-24 18:41:36 +02:00
Andreas Enge 878c8f3f47 gnu: mpfrcx: Propagate inputs.
* gnu/packages/algebra.scm (mpfrcx): Propagate inputs gmp, mpfr and mpc.
2015-07-24 18:36:15 +02:00
Ludovic Courtès 47e0ba8fe5 gnu: clang: Disable distro detection and remove FHS assumptions.
* gnu/packages/patches/clang-libc-search-path.patch: Disable distro detection
  and remove hard-coded FHS file names, both of which would lead to breakage
  on non-GuixSD systems.
2015-07-24 17:29:37 +02:00
Ludovic Courtès 8fe5b1d1d1 doc: Fix name of GNU FreeFont package.
Fixes <http://bugs.gnu.org/21121>.
Reported by Malcolm Cook <MEC@stowers.org>.

* doc/guix.texi (Application Setup): Fix name of GNU FreeFont package.
2015-07-24 01:23:53 +02:00
Ludovic Courtès ec2406efc7 vm: Use the 'umount' procedure instead of util-linux's 'umount' command.
* gnu/build/vm.scm (initialize-root-partition, initialize-hard-disk): Use the
  'umount' procedure instead of invoking the 'umount' command.
* gnu/system/vm.scm (qemu-image): Remove UTIL-LINUX from INPUTS.
2015-07-24 01:19:57 +02:00
Ludovic Courtès e9ba6357e3 doc: Clarify that tar timestamp warnings affect tar <= 1.26.
* doc/guix.texi (Binary Installation): Explain that warnings were triggered by
  tar <= 1.26.
2015-07-24 01:19:57 +02:00
Ludovic Courtès 7e96eb1a08 gnu: guile-static: Add 'umount' procedure.
* gnu/packages/patches/guile-linux-syscalls.patch: Add 'umount' subr.
2015-07-24 01:19:57 +02:00
Ludovic Courtès 7c0a91049b gnu: Add extundelete.
* gnu/packages/linux.scm (extundelete): New variable.
2015-07-24 01:19:57 +02:00
Andreas Enge 324bdcd87e gnu: gp2c: Update to 0.0.9pl3.
* gnu/packages/algebra.scm (gp2c): Update to 0.0.9pl3.
2015-07-23 22:20:00 +02:00
Andreas Enge 424ce93d95 gnu: arb: Update to 2.7.0.
* gnu/packages/algebra.scm (arb): Update to 2.7.0.
2015-07-23 22:17:30 +02:00
Andreas Enge ec5f3ec416 gnu: parallel: Update to 20150722.
* gnu/packages/parallel.scm (parallel): Update to 20150722.
2015-07-23 20:23:56 +02:00
Andreas Enge b4b4c81bbe gnu: ucommon: Update to 6.3.6.
* gnu/packages/telephony.scm (ucommon): Update to 6.3.6.
2015-07-23 20:22:09 +02:00
Andreas Enge cce11514c7 gnu: ffmpeg: Update to 2.7.2.
* gnu/packages/video.scm (ffmpeg): Update to 2.7.2.
2015-07-23 19:22:59 +02:00
宋文武 3f1470100a gnu: retroarch: Update to 1.2.2.
* gnu/packages/games.scm (retroarch): Update to 1.2.2.
2015-07-23 22:32:00 +08:00
Ludovic Courtès 015878fdbb Thank Anders. 2015-07-23 09:42:24 +02:00
Ludovic Courtès 69b4ffcfbd Fix typos in translatable strings.
Reported by Anders Jonsson <anders.jonsson@norsjovallen.se>.

* gnu/packages/backup.scm, gnu/packages/databases.scm,
  gnu/packages/linux.scm, gnu/packages/perl.scm,
  gnu/packages/web.scm, guix/scripts/lint.scm,
  guix/scripts/publish.scm: Fix typos in translatable strings.
2015-07-23 09:42:23 +02:00
Ludovic Courtès 4d40227cce doc: Fix typos in "Setuid Programs".
* doc/guix.texi (Setuid Programs): Fix typos.
2015-07-23 09:42:23 +02:00
Mark H Weaver 6bb5c4ef71 gnu: tor: Update to 0.2.6.10.
* gnu/packages/tor.scm (tor): Update to 0.2.6.10.
2015-07-22 22:10:39 -04:00
Ludovic Courtès 0e9f9f7bc2 Thank Malcolm. 2015-07-22 23:47:35 +02:00
Ludovic Courtès 254b1c2e95 doc: Suggest unpacking with --warning=no-timestamp.
Suggested by Malcolm Cook <MEC@stowers.org>.

* doc/guix.texi (Binary Installation): Suggest --warning=no-timestamp.
2015-07-22 23:47:35 +02:00
Mark H Weaver fa1fdb8dfe gnu: linux-libre: Update to 4.1.3 and 4.0.9.
* gnu/packages/linux.scm (linux-libre): Update to 4.1.3.
  (linux-libre-4.0): Update to 4.0.9.
2015-07-22 17:43:17 -04:00
Ludovic Courtès 31ea3ebb05 Thank Dave. 2015-07-22 22:56:42 +02:00
Ludovic Courtès aafa0dffb1 doc: Mention zeroed mtimes in the binary tarball.
Fixes <http://bugs.gnu.org/21111>.
Reported by Dave Love <fx@gnu.org>.

* doc/guix.texi (Binary Installation): Add paragraph about "implausibly old
  time stamps" warning from tar.
2015-07-22 22:56:41 +02:00
Ludovic Courtès d490d06e0f size: Add '--substitute-urls' option.
* guix/scripts/size.scm (show-help, %options): Add --substitute-urls.
  (%default-options): Add 'substitute-urls'.
  (guix-size): Honor it.
* doc/guix.texi (Invoking guix size): Document it.
2015-07-22 22:56:41 +02:00
Ludovic Courtès 1eabf4ec63 derivations: Improve docstring of 'substitution-oracle'.
* guix/derivations.scm (substitution-oracle): Improve docstring.
2015-07-22 22:56:41 +02:00
Ludovic Courtès b59df2434a derivations: Improve complexity of 'substitution-oracle'.
* guix/derivations.scm (substitution-oracle): Use a final 'concatenate'
  instead of repeated 'append's.
2015-07-22 22:56:41 +02:00
Ludovic Courtès 1bd4e6db15 doc: Mention initial passwords in "System Installation".
Suggested by remo_ on IRC.

* doc/guix.texi (System Installation): Explicitly mention user account
  passwords.
  (User Accounts): Add 'user-account-password' anchor.
2015-07-22 22:56:41 +02:00
Ludovic Courtès 2c59cbc26a import: hackage: Remove reference to unbound variable.
* guix/scripts/import/hackage.scm (guix-import-hackage): Fix error message for
  imports from stdin, which referred to unbound variable 'package-name'.
2015-07-22 22:56:41 +02:00
Ludovic Courtès 1acd8d22af size: Remove leftover 'pk'.
* guix/scripts/size.scm (profile->page-map): Remove leftover 'pk'.
2015-07-22 22:56:41 +02:00
Christopher Allan Webber f3d8cd79d1 gnu: guile-minikanren: Fix README location.
* gnu/packages/guile.scm (minikanren): Fix output location for README.org

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-07-22 22:56:41 +02:00
Andreas Enge 1436c5c7e8 gnu: teckit: Update to 2.5.4.
* gnu/packages/fontutils.scm (teckit): Update to 2.5.4. Drop patch.
  Use svn-fetch for download.
  [arguments]: Add phase to call autogen.
  [native-inputs]: New field.
* gnu/packages/patches/teckit-cstdio.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Unregister patch.
2015-07-22 19:29:17 +02:00
Mark H Weaver 8fd3c1ff6e gnu: git-modes: Add file-name field to source origin.
* gnu/packages/emacs.scm (git-modes)[source]: Add 'file-name' field.
2015-07-22 11:50:07 -04:00
Mathieu Lirzin eea410f172 gnu: ratpoison: Add multiple monitors support.
* gnu/packages/ratpoison.scm (ratpoison)[inputs]: Add "libxinerama".
2015-07-22 13:38:40 +02:00
Ludovic Courtès 77d8bb1552 Merge branch 'version-0.8.3' 2015-07-22 02:18:47 +02:00
Mark H Weaver 476b2877ad gnu: libsbsms: Fix build on non-Intel platforms.
* gnu/packages/audio.scm (libsbsms)[arguments]: Add "--disable-sse" to
  configure-flags unless on x86_64.
2015-07-21 18:25:41 -04:00
Mark H Weaver 09c414d80c gnu: libsbsms: Use modify-phases.
* gnu/packages/audio.scm (libsbsms)[arguments]: Use modify-phases.
2015-07-21 18:25:41 -04:00
Mathieu Lirzin 729b44e3ae gnu: Add lxrandr.
* gnu/packages/lxde.scm (lxrandr): New variable.
2015-07-22 00:15:16 +02:00
Mathieu Lirzin 6f92ad5a51 gnu: Add lxtask.
* gnu/packages/lxde.scm (lxtask): New variable.
2015-07-22 00:15:16 +02:00
Mathieu Lirzin 753dc7d311 gnu: Add lxterminal.
* gnu/packages/lxde.scm (lxterminal): New variable.
2015-07-22 00:15:16 +02:00
Mathieu Lirzin b3527d5d58 gnu: Add pcmanfm.
* gnu/packages/lxde.scm (pcmanfm): New variable.
2015-07-22 00:15:16 +02:00
Mathieu Lirzin 19dd998313 gnu: Add libfm.
* gnu/packages/lxde.scm (libfm): New variable.
  (libfm-extra): Inherit from it.
2015-07-22 00:15:15 +02:00
Mathieu Lirzin 6e6b5344b0 gnu: Add menu-cache.
* gnu/packages/lxde.scm (menu-cache): New variable.
2015-07-22 00:15:15 +02:00
Mathieu Lirzin 83365461a7 gnu: Add libfm-extra.
* gnu/packages/lxde.scm (libfm-extra): New variable.
2015-07-22 00:15:15 +02:00
504 changed files with 51369 additions and 12930 deletions
+1
View File
@@ -23,6 +23,7 @@
(eval . (put 'lambda* 'scheme-indent-function 1))
(eval . (put 'substitute* 'scheme-indent-function 1))
(eval . (put 'modify-phases 'scheme-indent-function 1))
(eval . (put 'modify-services 'scheme-indent-function 1))
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'origin 'scheme-indent-function 0))
+9 -2
View File
@@ -120,9 +120,16 @@ GTAGS
/emacs/Makefile
/emacs/guix-autoloads.el
/emacs/guix-helper.scm
/emacs/guix-init.el
/emacs/guix-profiles.el
/emacs/guix-config.el
/doc/os-config-bare-bones.texi
/doc/os-config-desktop.texi
/doc/*.1
/etc/guix-daemon.service
/doc/images/bootstrap-graph.pdf
/doc/images/coreutils-bag-graph.png
/doc/images/coreutils-graph.png
/doc/images/coreutils-size-map.eps
/doc/images/service-graph.png
/doc/images/service-graph.eps
/doc/images/service-graph.pdf
/doc/images/dmd-graph.png
+2
View File
@@ -3,6 +3,7 @@
Alexander I. Grafov <grafov@gmail.com>
Amirouche Boubekki <amirouche@hypermove.net>
Andy Wingo <wingo@igalia.com> <wingo@pobox.com>
Ben Woodcroft <b.woodcroft@uq.edu.au> <donttrustben@gmail.com>
Claes Wallin (韋嘉誠) <claes.wallin@greatsinodevelopment.com>
Cyprien Nicolas <cyprien@nicolas.tf> <c.nicolas+gitorious@gmail.com>
@@ -10,6 +11,7 @@ David Thompson <davet@gnu.org> <dthompson2@worcester.edu>
David Thompson <davet@gnu.org> <dthompson@member.fsf.org>
Deck Pickard <deck.r.pickard@gmail.com> <nebu@kipple>
Eric Bavier <bavier@member.fsf.org> <ericbavier@gmail.com>
Eric Dvorsak <eric@dvorsak.fr> <yenda1@gmail.com>
John Darrington <jmd@gnu.org> <john@darrington.wattle.id.au>
Joshua Grant <tadni@riseup.net> <gzg@riseup.net>
Joshua Grant <tadni@riseup.net> <jgrant@parenthetical.io>
+40 -5
View File
@@ -48,6 +48,7 @@ MODULES = \
guix/nar.scm \
guix/derivations.scm \
guix/gnu-maintenance.scm \
guix/upstream.scm \
guix/licenses.scm \
guix/build-system.scm \
guix/build-system/cmake.scm \
@@ -58,6 +59,7 @@ MODULES = \
guix/build-system/perl.scm \
guix/build-system/python.scm \
guix/build-system/waf.scm \
guix/build-system/r.scm \
guix/build-system/ruby.scm \
guix/build-system/trivial.scm \
guix/ftp-client.scm \
@@ -77,6 +79,7 @@ MODULES = \
guix/build/gnu-dist.scm \
guix/build/perl-build-system.scm \
guix/build/python-build-system.scm \
guix/build/r-build-system.scm \
guix/build/ruby-build-system.scm \
guix/build/waf-build-system.scm \
guix/build/haskell-build-system.scm \
@@ -88,7 +91,6 @@ MODULES = \
guix/build/rpath.scm \
guix/build/cvs.scm \
guix/build/svn.scm \
guix/build/syscalls.scm \
guix/build/gremlin.scm \
guix/build/emacs-utils.scm \
guix/build/graft.scm \
@@ -98,8 +100,10 @@ MODULES = \
guix/import/gnu.scm \
guix/import/snix.scm \
guix/import/cabal.scm \
guix/import/cran.scm \
guix/import/hackage.scm \
guix/import/elpa.scm \
guix/scripts.scm \
guix/scripts/download.scm \
guix/scripts/build.scm \
guix/scripts/archive.scm \
@@ -113,6 +117,8 @@ MODULES = \
guix/scripts/refresh.scm \
guix/scripts/system.scm \
guix/scripts/lint.scm \
guix/scripts/challenge.scm \
guix/scripts/import/cran.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/hackage.scm \
@@ -121,9 +127,19 @@ MODULES = \
guix/scripts/publish.scm \
guix/scripts/edit.scm \
guix/scripts/size.scm \
guix/scripts/graph.scm \
guix/scripts/container.scm \
guix/scripts/container/exec.scm \
guix.scm \
$(GNU_SYSTEM_MODULES)
if BUILD_SYSCALLS_MODULE
MODULES += \
guix/build/syscalls.scm
endif
if BUILD_DAEMON_OFFLOAD
MODULES += \
@@ -191,6 +207,7 @@ SCM_TESTS = \
tests/packages.scm \
tests/snix.scm \
tests/hackage.scm \
tests/cran.scm \
tests/elpa.scm \
tests/store.scm \
tests/monads.scm \
@@ -202,8 +219,12 @@ SCM_TESTS = \
tests/gremlin.scm \
tests/lint.scm \
tests/publish.scm \
tests/scripts.scm \
tests/size.scm \
tests/graph.scm \
tests/challenge.scm \
tests/file-systems.scm \
tests/services.scm \
tests/containers.scm
if HAVE_GUILE_JSON
@@ -213,11 +234,13 @@ MODULES += \
guix/import/pypi.scm \
guix/scripts/import/pypi.scm \
guix/import/cpan.scm \
guix/scripts/import/cpan.scm
guix/scripts/import/gem.scm \
guix/import/gem.scm
SCM_TESTS += \
tests/pypi.scm \
tests/cpan.scm
tests/cpan.scm \
tests/gem.scm
endif
@@ -232,6 +255,8 @@ SH_TESTS = \
tests/guix-archive.sh \
tests/guix-authenticate.sh \
tests/guix-environment.sh \
tests/guix-environment-container.sh \
tests/guix-graph.sh \
tests/guix-lint.sh
if BUILD_DAEMON
@@ -298,6 +323,13 @@ EXTRA_DIST += \
endif !BUILD_DAEMON_OFFLOAD
if !BUILD_SYSCALLS_MODULE
EXTRA_DIST += \
guix/build/syscalls.scm
endif !BUILD_SYSCALLS_MODULE
CLEANFILES = \
$(GOBJECTS) \
@@ -307,6 +339,10 @@ AM_V_GUILEC = $(AM_V_GUILEC_$(V))
AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
AM_V_GUILEC_0 = @echo " GUILEC" $@;
# Flags passed to 'guild compile'.
GUILD_COMPILE_FLAGS = \
-Wformat -Wunbound-variable -Warity-mismatch
# Unset 'GUILE_LOAD_COMPILED_PATH' altogether while compiling. Otherwise, if
# $GUILE_LOAD_COMPILED_PATH contains $(moduledir), we may find .go files in
# there that are newer than the local .scm files (for instance because the
@@ -322,8 +358,7 @@ AM_V_GUILEC_0 = @echo " GUILEC" $@;
LC_ALL=C \
$(top_builddir)/pre-inst-env \
$(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)" \
-Wformat -Wunbound-variable -Warity-mismatch \
--target="$(host)" \
$(GUILD_COMPILE_FLAGS) --target="$(host)" \
-o "$@" "$<"
SUFFIXES = .go
+258
View File
@@ -10,6 +10,264 @@ Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.9.0 (since 0.8.3)
** Package management
*** New guix graph command, to draw package graphs
*** New guix challenge command, to challenge the authenticity of binaries
*** guix environment has a new --container option
*** guix substitute now honors all the specified substitute URLs
*** New guix import cran command, to import R packages from CRAN
*** Package descriptions can now include Texinfo markup rendered on the fly
*** guix package has a new --install-from-file option
*** guix package --search shows package outputs
*** guix refresh can refresh selected non-GNU package definitions
*** The --ad-hoc option of guix environment is now positional
*** The --exec option of guix environment is deprecated; use -- instead
*** guix build has a new --file option
*** guix build --log-file can now return URLs
*** guix size now has a --substitute-urls option and is much faster
*** New guix lint checkers: formatting, license, source-file-name
*** Download progress report has been improved
*** Emacs shell-mode completions for guix commands updated
*** Emacs: New M-x guix popup interface
** Distribution
*** New extensible service composition API
The operating system service API in (gnu services) has been completely
rewritten, significantly improving extensibility and modularity, while
providing a framework that makes it easy to reason about service composition.
Consequently, several sources of redundancy and confusion in
operating-system declarations have been eliminated. See “Service
Composition” in the manual.
*** New extension-graph and dmd-graph sub-commands for guix system
*** New container sub-command for guix system
*** New guix container command, to deal with GuixSD containers
*** New list-generations sub-command for guix system
*** operating-system has a new locale-libcs field
*** New services: nginx-service, udisks-service, guix-publish-service
*** %desktop-services now includes Polkit, GeoClue, elogind, UDisks, and more
*** dbus-daemon now has proper support for lazy service activation
*** wicd-service automatically adds Wicd to the system profile
*** slim-service automatically adds xterm to the system profile
*** hydra.gnu.org now provides substitutes for armhf-linux
*** /run/systemd is mounted as tmpfs by default, for use by elogind
*** glibc package no longer contains Bash in its bin/ directory
*** libc now looks for locale data in a versioned sub-directory
*** libc honors the new GUIX_LOCPATH environment variable
*** Xfce now defaults to the GNOME icon theme
*** 543 new packages
abduco, accountsservice, american-fuzzy-lop, ansible, arandr, attic,
autobuild, bash-minimal, bash-static, bio-blastxmlparser, bio-locus,
bioperl-minimal, bioruby, bitcoin-core, bspwm, byobu, cabal-install, cityhash,
clang-runtime, clang-runtime, cm, cmus, conky, coreutils-minimal, cpphs,
cvs-fast-export, d-feet, deeptools, diffoscope, dosbox, dvtm, emacs-butler,
emacs-dash, emacs-debbugs, emacs-deferred, emacs-f, emacs-flycheck,
emacs-let-alist, emacs-ob-ipython, emacs-s, emacs-typo, enblend-enfuse,
epiphany, esmtp, ethtool, evilwm, exfat-utils, express-beta-diversity,
extra-cmake-modules, extundelete, fastcap, fasthenry, figlet, file-roller,
flann, font-anonymous-pro, font-gnu-unifont, font-inconsolata, font-tex-gyre,
font-ubuntu, frescobaldi, fuse-exfat, gajim, gamine, gerbv, gexiv2,
ghc-adjunctions, ghc-aeson, ghc-alex, ghc-annotated-wl-pprint,
ghc-ansi-terminal, ghc-ansi-wl-pprint, ghc-appar, ghc-async, ghc-attoparsec,
ghc-auto-update, ghc-base-compat, ghc-base-orphans, ghc-base64-bytestring,
ghc-bifunctors, ghc-blaze-builder, ghc-blaze-html, ghc-blaze-markup,
ghc-byteorder, ghc-bytestring-builder, ghc-cereal, ghc-cgi, ghc-charset,
ghc-cheapskate, ghc-clock, ghc-cmdargs, ghc-comonad, ghc-contravariant,
ghc-cookie, ghc-css-text, ghc-data-default, ghc-data-default-class,
ghc-data-default-instances-base, ghc-data-default-instances-containers,
ghc-data-default-instances-dlist, ghc-data-default-instances-old-locale,
ghc-digest, ghc-distributive, ghc-dlist, ghc-doctest, ghc-easy-file,
ghc-exceptions, ghc-extensible-exceptions, ghc-extra, ghc-fast-logger,
ghc-fingertree, ghc-free, ghc-generic-deriving, ghc-gluraw, ghc-glut,
ghc-haddock, ghc-haddock-api, ghc-haddock-library, ghc-half, ghc-happy,
ghc-haskell-src, ghc-haskell-src-exts, ghc-hspec, ghc-hspec-core,
ghc-hspec-expectations, ghc-hspec-meta, ghc-html, ghc-http-types, ghc-iproute,
ghc-kan-extensions, ghc-lens, ghc-lifted-base, ghc-logict, ghc-mmorph,
ghc-monad-control, ghc-multipart, ghc-nats, ghc-objectname, ghc-old-locale,
ghc-old-time, ghc-opengl, ghc-openglraw, ghc-optparse-applicative,
ghc-parsers, ghc-pcre-light, ghc-polyparse, ghc-prelude-extras,
ghc-profunctors, ghc-quickcheck-instances, ghc-quickcheck-io,
ghc-quickcheck-unicode, ghc-reducers, ghc-reflection, ghc-regex-base,
ghc-regex-compat, ghc-regex-posix, ghc-regex-tdfa-rc, ghc-resourcet, ghc-safe,
ghc-scientific, ghc-sdl, ghc-sdl-image, ghc-sdl-mixer, ghc-semigroupoids,
ghc-semigroups, ghc-setenv, ghc-silently, ghc-simple-reflect, ghc-smallcheck,
ghc-statevar, ghc-streaming-commons, ghc-stringbuilder, ghc-stringsearch,
ghc-tagged, ghc-tagsoup, ghc-tasty, ghc-tasty-ant-xml, ghc-tasty-golden,
ghc-tasty-hunit, ghc-tasty-quickcheck, ghc-tasty-smallcheck, ghc-temporary,
ghc-temporary-rc, ghc-transformers-base, ghc-transformers-compat,
ghc-trifecta, ghc-unbounded-delays, ghc-uniplate, ghc-unix-compat,
ghc-unix-time, ghc-utf8-string, ghc-vault, ghc-vector-binary-instances,
ghc-void, ghc-wai, ghc-wai-extra, ghc-wai-logger, ghc-word8, ghc-x11,
ghc-x11-xft, ghc-xhtml, ghc-xml, ghc-xmonad-contrib, ghc-xss-sanitize,
ghc-zip-archive, glibc-hurd, glibc-hurd-headers, gmtp, graphios, gtk-doc,
guile-next, guile-present, guile-redis, guile-rsvg, guile-wisp, gusb, gvfs,
gzochi, haunt, hlint, hscolour, hspec-discover, hurd-minimal, i3-wm, i3status,
ibus-libpinyin, idris, ifstatus, keepassx, klick, kwindowsystem, lablgtk,
libatasmart, libchamplain, libchop, libconfuse, libcue, libesmtp, libev,
libfm, libfm-extra, libgee, libgudev, liblxqt, libndp, libpano13, libpinyin,
libraw, libusb-compat, libyajl, lxqt-common, lxqt-session, lxrandr, lxtask,
lxterminal, lz4, mafft, manaplus, mars, menu-cache, minixml, mosaik,
nestopia-ue, newt, non-sequencer, ntk, openimageio, opusfile, patches, pbzip2,
pcmanfm, pcre2, pd, pelican, perl-czplib, perl-date-manip, perl-finance-quote,
perl-html-element-extended, perl-html-tableextract, perl-pod-simple, physfs,
pidgin, pidgin-otr, pigz, po4a, poppler-qt4, pwgen, python-appdirs,
python-bandit, python-blinker, python-ccm, python-chardet,
python-cryptography, python-cryptography-vectors, python-debian,
python-debtcollector, python-ecdsa, python-file, python-fonttools,
python-gnupg, python-hacking, python-httplib2, python-idna,
python-ipython-genutils, python-iso8601, python-joblib, python-libarchive-c,
python-llfuse, python-ly, python-minimal, python-minimal, python-mistune,
python-monotonic, python-mox3, python-msgpack, python-nbxmpp, python-netaddr,
python-numexpr, python-os-client-config, python-os-testr, python-oslo.config,
python-oslo.context, python-oslo.i18n, python-oslo.log,
python-oslo.serialization, python-oslo.utils, python-oslosphinx,
python-oslotest, python-paramiko, python-passlib, python-pathpy, python-patsy,
python-pbr, python-pbr, python-pexpect, python-pickleshare, python-pip,
python-poppler-qt4, python-pretend, python-prettytable, python-ptyprocess,
python-py-bcrypt, python-pyasn1, python-pyopenssl, python-pytest-runner,
python-requests-mock, python-setuptools-scm, python-simplegeneric,
python-statsmodels, python-stevedore, python-tempest-lib, python-terminado,
python-tlsh, python-traitlets, python-webob, python-wrapt, python-xlrd,
python2-appdirs, python2-bandit, python2-blinker, python2-ccm,
python2-chardet, python2-cryptography, python2-cryptography-vectors,
python2-debian, python2-debtcollector, python2-ecdsa, python2-file,
python2-fonttools, python2-gnupg, python2-hacking, python2-httplib2,
python2-idna, python2-ipaddress, python2-ipython-genutils, python2-iso8601,
python2-joblib, python2-keyring, python2-libarchive-c, python2-llfuse,
python2-mistune, python2-monotonic, python2-mox3, python2-msgpack,
python2-nbxmpp, python2-netaddr, python2-notmuch, python2-numexpr,
python2-os-client-config, python2-os-testr, python2-oslo.config,
python2-oslo.context, python2-oslo.i18n, python2-oslo.log,
python2-oslo.serialization, python2-oslo.utils, python2-oslosphinx,
python2-oslotest, python2-paramiko, python2-passlib, python2-pathpy,
python2-patsy, python2-pbr, python2-pbr, python2-pexpect, python2-pickleshare,
python2-pip, python2-pretend, python2-prettytable, python2-ptyprocess,
python2-py-bcrypt, python2-pyasn1, python2-pycrypto, python2-pyopenssl,
python2-pytest-runner, python2-requests-mock, python2-setuptools-scm,
python2-simplegeneric, python2-statsmodels, python2-stevedore,
python2-tempest-lib, python2-terminado, python2-tlsh, python2-traitlets,
python2-webob, python2-wrapt, python2-xlrd, r-assertthat, r-bh, r-chron,
r-codetools, r-colorspace, r-crayon, r-data.table, r-dbi, r-dichromat,
r-digest, r-dplyr, r-evaluate, r-formatr, r-ggplot2, r-gtable, r-highr,
r-htmltools, r-htmlwidgets, r-httpuv, r-jsonlite, r-knitr, r-labeling,
r-lazyeval, r-magrittr, r-markdown, r-memoise, r-microbenchmark, r-mime,
r-munsell, r-plyr, r-proto, r-pryr, r-qtl, r-r6, r-rcolorbrewer, r-rcpp,
r-reshape2, r-scales, r-servr, r-stringi, r-stringr, r-testthat, r-yaml, rage,
raincat, redis, rest, rfkill, rpm, ruby-activesupport, ruby-atoulme-antwrap,
ruby-bio-logger, ruby-builder, ruby-byebug, ruby-coderay, ruby-cucumber-core,
ruby-diff-lcs, ruby-docile, ruby-ffi, ruby-formatador, ruby-gherkin3,
ruby-json, ruby-libxml, ruby-listen, ruby-log4r, ruby-lumberjack,
ruby-method-source, ruby-mini-portile, ruby-minitar, ruby-nenv, ruby-nokogiri,
ruby-notiffany, ruby-orderedhash, ruby-ox, ruby-permutation, ruby-pg,
ruby-pry, ruby-rack, ruby-rb-inotify, ruby-rjb, ruby-rubygems-tasks,
ruby-shellany, ruby-shindo, ruby-simplecov-html, ruby-thor, ruby-thread-safe,
ruby-tzinfo, ruby-xml-simple, ruby-yard, sassc, scmutils, seqmagick, shotwell,
shroud, simple-scan, squashfs-tools, sxhkd, tinc, udisks, unison, vsearch,
webkitgtk-gtk2, wesnoth, wpa-supplicant-minimal, xcb-util-cursor, xcompmgr,
xfce4-pulseaudio-plugin, xjackfreak, xlsfonts, xmonad, yapet, yelp,
yelp-tools, yelp-xsl, znc, zynaddsubfx
*** 268 package updates
abcde-2.7, arb-2.7.0, ardour-4.2, at-spi2-atk-2.18.1, at-spi2-core-2.18.1,
ath9k-htc-firmware-1.4.0, atk-2.18.0, atkmm-2.24.1, autogen-5.18.6,
avidemux-2.6.10, bedtools-2.24.0, binutils-2.25.1,
binutils-static-stripped-tarball-2.25.1, bison-3.0.4, bluez-5.35,
bundler-1.10.6, c-reduce-2.3.0, cairomm-1.12.0, calcurse-4.0.0,
calibre-2.41.0, camlp5-6.14, cgal-4.6.3, chess-6.2.2, clang-3.6.2,
claws-mail-3.13.0, cmake-3.3.2, complexity-1.3, conkeror-1.0pre1.20150730,
cpio-2.12, crossmap-0.2.1, csound-6.05, cups-2.1.0, cups-filters-1.0.75,
cups-minimal-2.1.0, curl-7.45.0, dbus-1.10.0, dbus-1.10.0.a, ddrescue-1.20,
dmd-0.2.01, docbook-xml-4.4, docbook-xml-4.5, dosfstools-3.0.28,
e2fsck-static-1.42.13, e2fsprogs-1.42.13, efl-1.15.2, eigen-3.2.6,
elementary-1.15.2, emotion-generic-players-1.15.0, enlightenment-0.19.12,
eudev-3.1.5, evas-generic-loaders-1.15.0, feh-2.14, ffmpeg-2.8, fish-2.2.0,
flint-2.5.2, fontconfig-2.11.94, freeglut-3.0.0, freeimage-3.17.0,
freeipmi-1.4.11, gcc-4.9.3, gcc-4.9.3, gcc-4.9.3, gcc-5.2.0,
gcc-toolchain-5.2.0, gcj-4.9.3, gdb-7.10, gdk-pixbuf-2.32.1, geiser-0.8.1,
gettext-0.19.6, ghc-7.10.2, ghc-hashable-1.2.3.3, ghc-http-4000.2.20,
ghc-mtl-2.2.1, ghc-network-2.6.2.1, ghc-network-uri-2.6.0.3,
ghc-primitive-0.6.1.0, ghc-quickcheck-2.8.1, ghc-syb-0.6, ghc-text-1.2.1.3,
ghc-vector-0.11.0.0, giflib-5.1.1, git-2.5.0, git-manpages-2.5.0,
git-modes-1.2.0, glib-2.46.1, glib-networking-2.46.1, glibc-2.22,
glibc-locales-2.22, glibc-stripped-tarball-2.22, glibc-utf8-locales-2.22,
glibmm-2.46.1, global-6.5.1, glpk-4.56, gnome-desktop-3.16.2,
gnome-themes-standard-3.16.2, gnu-pw-mgr-1.6, gnumach-headers-1.6,
gnupg-2.1.9, gnurl-7.45.0, gnutls-3.4.5, gobject-introspection-1.46.0,
gp2c-0.0.9pl3, graphite2-1.3.3, graphviz-2.38.0,
gsettings-desktop-schemas-3.18.0, gsl-2.0, gst-libav-1.6.1,
gst-plugins-base-1.6.1, gst-plugins-good-1.6.1, gst-plugins-ugly-1.6.1,
gstreamer-1.6.1, gtk+-3.18.2, gtkmm-3.18.0, guile-ssh-0.8.0, guitarix-0.33.0,
guix-0.8.3, guix-0.8.3.b485f75, harfbuzz-1.0.5, help2man-1.47.2,
hurd-headers-0.7, ibus-1.5.11, icecat-38.3.0-gnu1, icedtea6-1.13.8,
icedtea7-2.6.2, imagemagick-6.9.2-1, intltool-0.51.0, json-glib-1.0.4,
leptonica-1.72, less-481, libbluray-0.9.0, libcap-2.24, libdrm-2.4.65,
libdvdcss-1.3.99, libedit-20150325-3.1, libgcrypt-1.6.3, libgsf-1.14.34,
libidn-1.32, libinput-0.21.0, libmicrohttpd-0.9.45, libmtp-1.1.9,
libotr-4.1.0, libpcap-1.7.4, libpciaccess-0.13.4, libqtxdg-1.2.0,
librsvg-2.40.11, libsigc++-2.6.1, libsoup-2.52.1, libssh-0.6.5, libtiff-4.0.5,
libtorrent-0.13.6, libva-1.6.1, lilypond-2.19.27, links-2.12,
linux-libre-4.2.5, linux-pam-1.2.1, lirc-0.9.3, llvm-3.6.2, lua-5.2.3,
lzo-2.09, magit-2.3.0, mesa-11.0.3, mesa-headers-11.0.3, mig-1.6,
minetest-0.4.13, mosh-1.2.5, mpg123-1.22.4, mplayer-1.2, mpv-0.11.0,
mu-0.9.13, mutt-1.5.24, ncdu-1.11, ncmpcpp-0.6.7, ncurses-6.0, node-0.12.7,
notmuch-0.20.2, ntp-4.2.8p4, ocaml-4.02.3, offlineimap-6.5.7, openblas-0.2.15,
openjpeg-2.1.0, openldap-2.4.42, openssh-7.0p1, orc-0.4.24, pango-1.38.1,
pangomm-2.38.1, parallel-20151022, pavucontrol-3.0,
pbtranscript-tofu-2.2.3.8f5467fe6, pciutils-3.3.1, perf-4.2.5,
perl-xml-parser-2.44, pixman-0.32.8, poppler-0.37.0, powertop-2.7,
python-cffi-1.2.1, python-dateutil-2.2, python-fixtures-1.3.1,
python-ipython-3.2.1, python-pyflakes-0.9.2, python-pygobject-3.18.0,
python-pyqt-4.11.4, python-pyqt-5.5, python-requests-2.8.0,
python-scipy-0.16.0, python-setuptools-18.3.1, python-sip-4.16.9,
python-six-1.9.0, python2-cffi-1.2.1, python2-dateutil-2.2,
python2-fixtures-1.3.1, python2-ipython-3.2.1, python2-pygobject-3.18.0,
python2-pyqt-4.11.4, python2-pyqt-5.5, python2-requests-2.8.0,
python2-scipy-0.16.0, python2-setuptools-18.3.1, python2-sip-4.16.9,
python2-six-1.9.0, qemu-2.4.0.1, qemu-headless-2.4.0.1, qpdf-5.1.3,
qsynth-0.4.0, qt-5.5.1, r-3.2.2, racket-6.2.1, ratpoison-1.4.8, readline-6.3,
retroarch-1.2.2, ripperx-2.8.0, rtorrent-0.9.6, ruby-2.2.3, ruby-arel-6.0.3,
ruby-bacon-1.2.0, ruby-i18n-0.7.0, samtools-1.2, sfarklib-2.24, sfml-2.3.2,
shadow-4.2.1, sipwitch-1.9.14, sqlite-3.8.11.1, subversion-1.8.14,
synergy-1.7.4, tcl-8.6.4, tcpdump-4.7.4, teckit-2.5.4, terminology-0.9.1,
texlive-2015, texlive-bin-2015, texlive-texmf-2015, tiled-0.13.1, tk-8.6.4,
tmux-2.0, tor-0.2.6.10, ucommon-6.6.2, units-2.12, util-linux-2.27,
vala-0.30.0, valgrind-3.11.0, vlc-2.2.1, webkitgtk-2.8.5, weechat-1.3,
wine-1.7.52, wpa-supplicant-2.5, xapian-1.2.21, xterm-320,
youtube-dl-2015.11.01, zsh-5.1.1
** Programming interfaces
*** Rewritten (gnu services) module; (gnu services …) modules adjusted
*** New Emacs development tools, see “Development” in the manual
*** (guix gexp) provides the declarative computed-file, program-file, etc.
*** New (guix upstream) module, for generalized upstream release tracking
** Noteworthy bug fixes
*** Passwords in /etc/shadow are SHA512-hashed (http://bugs.gnu.org/21318)
*** daemon: Require a signature for imports made by root
(http://bugs.gnu.org/21354)
*** emacs: Fix guix-guile-program default value (http://bugs.gnu.org/21127)
*** Compressed initrds no longer include timestamps
*** Partly fix handling of encrypted root partitions
(http://bugs.gnu.org/19190)
*** Python now includes tkinter (http://bugs.gnu.org/20889)
*** Memoize the results of package-with-python2 (http://bugs.gnu.org/21675)
*** Use the daemon's substitute URLs by default (http://bugs.gnu.org/20217)
*** guix system --no-grub works correctly for init and reconfigure
(http://bugs.gnu.org/21068)
** Native language support
*** Updated translations: da
* Changes in 0.8.3 (since 0.8.2)
** Package management
-1
View File
@@ -59,7 +59,6 @@ To do so:
guix environment guix
- Re-run the 'configure' script passing it the option
'--with-libgcrypt-prefix=$HOME/.guix-profile/', as well as
'--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir'
value of the currently installed Guix (failing to do that would lead the
new Guix to consider the store to be empty!).
+7 -1
View File
@@ -13,18 +13,23 @@ infrastructure help:
Daniel Clark <dclark@pobox.com>
Alexandru Cojocaru <xojoc@gmx.com>
Aleix Conchillo Flaqué <aconchillo@gmail.com>
Malcolm Cook <MEC@stowers.org>
Rafael Ferreira <rafael.f.f1@gmail.com>
Christian Grothoff <christian@grothoff.org>
Eric Hanchrow <eric.hanchrow@gmail.com>
Konrad Hinsen <konrad.hinsen@fastmail.net>
Brandon Invergo <brandon@gnu.org>
Anders Jonsson <anders.jonsson@norsjovallen.se>
Jeffrin Jose <ahiliation@yahoo.co.in>
Kete <kete@ninthfloor.org>
Daniel Kochmański <dkochmanski@hellsgate.pl>
Matthew Lien <bluet@bluet.org>
Niels Möller <nisse@lysator.liu.se>
Dave Love <fx@gnu.org>
Niels Möller <nisse@lysator.liu.se>
Cyprien Nicolas <cyprien@nicolas.tf>
Yutaka Niibe <gniibe@fsij.org>
Andrei Osipov <andrspv@gmail.com>
Petter <petter@mykolab.ch>
Adam Pribyl <pribyl@lowlevel.cz>
Pjotr Prins <pjotr.public12@thebird.nl>
Yakkala Yagnesh Raghava <hi@yagnesh.org>
@@ -35,6 +40,7 @@ infrastructure help:
Alexander Shendi <Alexander.Shendi@web.de>
Alen Skondro <askondro@gmail.com>
Matthias Wachs <wachs@net.in.tum.de>
Christopher Allan Webber <cwebber@dustycloud.org>
Philip Woods <elzairthesorcerer@gmail.com>
GNU Guix also includes non-software works. Thanks to the following
+4 -4
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,13 +23,13 @@
;;;
(use-modules (gnu))
(use-service-modules desktop xorg networking avahi)
(use-service-modules desktop xorg networking avahi dbus)
(use-package-modules linux xorg tor avahi)
(operating-system
(host-name "gnu")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(locale "en_US.utf8")
(bootloader (grub-configuration
(device "/dev/sda")))
@@ -71,7 +71,7 @@ You can log in as 'guest' or 'root' with no password.
#:gateway "10.0.2.2")
(avahi-service)
(dbus-service (list avahi))
(dbus-service)
(tor-service)
%base-services))
+4 -3
View File
@@ -221,10 +221,11 @@ valid."
(define (cross-jobs system)
(define (from-32-to-64? target)
;; Return true if SYSTEM is 32-bit and TARGET is 64-bit.
;; This hacks prevents known-to-fail cross-builds from i686-linux to
;; Return true if SYSTEM is 32-bit and TARGET is 64-bit. This hack
;; prevents known-to-fail cross-builds from i686-linux or armhf-linux to
;; mips64el-linux-gnuabi64.
(and (string-prefix? "i686-" system)
(and (or (string-prefix? "i686-" system)
(string-prefix? "armhf-" system))
(string-suffix? "64" target)))
(define (same? target)
+7 -1
View File
@@ -48,6 +48,7 @@
(gnu packages version-control)
(gnu packages package-management)
(gnu packages graphviz)
(gnu packages man)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
@@ -71,7 +72,12 @@
(define (tarball-package checkout)
"Return a package that does `make distcheck' from CHECKOUT, a directory
containing a Git checkout of Guix."
(dist-package guix checkout))
(dist-package (package
(inherit guix)
(native-inputs `(("graphviz" ,graphviz)
("help2man" ,help2man)
,@(package-native-inputs guix))))
checkout))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
+1 -1
View File
@@ -51,7 +51,7 @@ if test "x$guix_build_daemon" = "xyes"; then
no)
LIBGCRYPT_LIBS="-lgcrypt"
;;
*)
*)
LIBGCRYPT_LIBS="-L$LIBGCRYPT_LIBDIR -lgcrypt"
;;
esac
+27 -16
View File
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
AC_INIT([GNU Guix], [0.8.3], [bug-guix@gnu.org], [guix],
AC_INIT([GNU Guix], [0.9.0], [bug-guix@gnu.org], [guix],
[http://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
@@ -85,6 +85,11 @@ dnl Check whether (srfi srfi-37) works, and provide our own if it doesn't.
GUIX_CHECK_SRFI_37
AM_CONDITIONAL([INSTALL_SRFI_37], [test "x$ac_cv_guix_srfi_37_broken" = xyes])
dnl Check whether (guix build syscalls) can be built.
GUIX_CHECK_LIBC_MOUNT
AM_CONDITIONAL([BUILD_SYSCALLS_MODULE],
[test "x$guix_cv_libc_has_mount" = "xyes"])
AC_ARG_WITH([nix-prefix],
[AS_HELP_STRING([--with-nix-prefix=DIR],
[search for Nix in DIR (for testing purposes and '--disable-daemon' builds)])],
@@ -127,23 +132,21 @@ else
AC_MSG_RESULT([not found])
fi
LIBGCRYPT="libgcrypt"
LIBGCRYPT_LIBDIR="no"
LIBGCRYPT_PREFIX="no"
AC_ARG_WITH([libgcrypt-prefix],
[AS_HELP_STRING([--with-libgcrypt-prefix=DIR], [search for GNU libgcrypt in DIR])],
[case "$withval" in
yes|no)
LIBGCRYPT="libgcrypt"
LIBGCRYPT_PREFIX="no"
LIBGCRYPT_LIBDIR="no"
;;
*)
LIBGCRYPT="$withval/lib/libgcrypt"
LIBGCRYPT_PREFIX="$withval"
LIBGCRYPT_LIBDIR="$withval/lib"
;;
esac],
[LIBGCRYPT="libgcrypt"
LIBGCRYPT_PREFIX="no"
LIBGCRYPT_LIBDIR="no"])
esac])
AC_ARG_WITH([libgcrypt-libdir],
[AS_HELP_STRING([--with-libgcrypt-libdir=DIR],
@@ -157,13 +160,21 @@ AC_ARG_WITH([libgcrypt-libdir],
LIBGCRYPT="$withval/libgcrypt"
LIBGCRYPT_LIBDIR="$withval"
;;
esac],
[if test "x$LIBGCRYPT" = x; then
LIBGCRYPT="libgcrypt"
fi
if test "x$LIBGCRYPT_LIBDIR" = x; then
esac])
dnl If none of the --with-libgcrypt-* options was used, try to determine the
dnl absolute file name of libgcrypt.so.
case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in
xnono)
GUIX_LIBGCRYPT_LIBDIR([LIBGCRYPT_LIBDIR])
if test "x$LIBGCRYPT_LIBDIR" != x; then
LIBGCRYPT="$LIBGCRYPT_LIBDIR/libgcrypt"
else
dnl 'config-daemon.ac' expects "no" in this case.
LIBGCRYPT_LIBDIR="no"
fi])
fi
;;
esac
dnl Library name suitable for `dynamic-link'.
AC_MSG_CHECKING([for libgcrypt shared library name])
@@ -195,13 +206,13 @@ AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_CONFIG_FILES([test-env], [chmod +x test-env])
dnl Emacs interface.
AC_PATH_PROG([DOT_USER_PROGRAM], [dot], [dot])
AM_PATH_LISPDIR
AM_CONDITIONAL([HAVE_EMACS], [test "x$EMACS" != "xno"])
emacsuidir="${guilemoduledir}/guix/emacs"
AC_SUBST([emacsuidir])
AC_CONFIG_FILES([emacs/guix-init.el
emacs/guix-profiles.el
AC_CONFIG_FILES([emacs/guix-config.el
emacs/guix-helper.scm])
AC_OUTPUT
+21 -8
View File
@@ -18,15 +18,27 @@
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
info_TEXINFOS = doc/guix.texi
DOT_FILES = \
doc/images/bootstrap-graph.dot \
doc/images/coreutils-graph.dot \
doc/images/coreutils-bag-graph.dot \
doc/images/service-graph.dot \
doc/images/dmd-graph.dot
DOT_VECTOR_GRAPHICS = \
$(DOT_FILES:%.dot=%.eps) \
$(DOT_FILES:%.dot=%.pdf)
EXTRA_DIST += \
doc/contributing.texi \
doc/emacs.texi \
doc/fdl-1.3.texi \
doc/images/bootstrap-graph.dot \
doc/images/bootstrap-graph.eps \
doc/images/bootstrap-graph.pdf \
$(DOT_FILES) \
$(DOT_VECTOR_GRAPHICS) \
doc/images/coreutils-size-map.eps \
doc/environment-gdb.scm
doc/environment-gdb.scm \
doc/package-hello.scm
OS_CONFIG_EXAMPLES_TEXI = \
doc/os-config-bare-bones.texi \
@@ -43,7 +55,7 @@ doc/os-config-%.texi: gnu/system/examples/%.tmpl
infoimagedir = $(infodir)/images
dist_infoimage_DATA = \
doc/images/bootstrap-graph.png \
$(DOT_FILES:%.dot=%.png) \
doc/images/coreutils-size-map.png
# Try hard to obtain an image size and aspect that's reasonable for inclusion
@@ -71,9 +83,9 @@ DOT_OPTIONS = \
# We cannot add new dependencies to `doc/guix.pdf' & co. (info "(automake)
# Extending"). Using the `-local' rules is imperfect, because they may be
# triggered after the main rule. Oh, well.
pdf-local: $(top_srcdir)/doc/images/bootstrap-graph.pdf
info-local: $(top_srcdir)/doc/images/bootstrap-graph.png
ps-local: $(top_srcdir)/doc/images/bootstrap-graph.eps \
pdf-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.pdf)
info-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.png)
ps-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.eps) \
$(top_srcdir)/doc/images/coreutils-size-map.eps
dvi-local: ps-local
@@ -101,6 +113,7 @@ endef
SUBCOMMANDS := \
archive \
build \
challenge \
download \
edit \
environment \
+48
View File
@@ -27,6 +27,7 @@ the installation instructions (@pxref{Requirements}).
@item @url{http://gnu.org/software/autoconf/, GNU Autoconf};
@item @url{http://gnu.org/software/automake/, GNU Automake};
@item @url{http://gnu.org/software/gettext/, GNU Gettext};
@item @url{http://gnu.org/software/texinfo/, GNU Texinfo};
@item @url{http://www.graphviz.org/, Graphviz};
@item @url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}.
@end itemize
@@ -86,11 +87,40 @@ Similarly, for a Guile session using the Guix modules:
@example
$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
;;; ("x86_64-linux")
@end example
@noindent
@cindex REPL
@cindex read-eval-print loop
@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile
Reference Manual}):
@example
$ ./pre-inst-env guile
scheme@@(guile-user)> ,use(guix)
scheme@@(guile-user)> ,use(gnu)
scheme@@(guile-user)> (define snakes
(fold-packages
(lambda (package lst)
(if (string-prefix? "python"
(package-name package))
(cons package lst)
lst))
'()))
scheme@@(guile-user)> (length snakes)
$1 = 361
@end example
The @command{pre-inst-env} script sets up all the environment variables
necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}.
Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the
local source tree; it simply updates the @file{~/.config/guix/latest}
symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if
you want to upgrade your local source tree.
@node The Perfect Setup
@section The Perfect Setup
@@ -121,6 +151,9 @@ facilities to directly operate on the syntax tree, such as raising an
s-expression or wrapping it, swallowing or rejecting the following
s-expression, etc.
GNU Guix also comes with a minor mode that provides some additional
functionality for Scheme buffers (@pxref{Emacs Development}).
@node Coding Style
@section Coding Style
@@ -206,6 +239,10 @@ Before submitting a patch that adds or modifies a package definition,
please run through this check list:
@enumerate
@item
Take some time to provide an adequate synopsis and description for the
package. @xref{Synopses and Descriptions}, for some guidelines.
@item
Run @code{guix lint @var{package}}, where @var{package} is the
name of the new or modified package, and fix any errors it reports
@@ -227,6 +264,17 @@ For important changes, check that dependent package (if applicable) are
not affected by the change; @code{guix refresh --list-dependent
@var{package}} will help you do that (@pxref{Invoking guix refresh}).
@item
Check whether the package's build process is deterministic. This
typically means checking whether an independent build of the package
yields the exact same result that you obtained, bit for bit.
A simple way to do that is with @command{guix challenge}
(@pxref{Invoking guix challenge}). You may run it once the package has
been committed and built by @code{hydra.gnu.org} to check whether it
obtains the same result as you did. Better yet: Find another machine
that can build it and run @command{guix publish}.
@end enumerate
When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a
+214 -30
View File
@@ -1,29 +1,24 @@
@node Emacs Interface
@section Emacs Interface
@chapter Emacs Interface
@cindex Emacs
GNU Guix comes with a visual user interface for GNU@tie{}Emacs, known
as ``guix.el''. It can be used for routine package management tasks,
pretty much like the @command{guix package} command (@pxref{Invoking
guix package}). Specifically, ``guix.el'' makes it easy to:
@itemize
@item browse and display packages and generations;
@item search, install, upgrade and remove packages;
@item display packages from previous generations;
@item do some other useful things.
@end itemize
GNU Guix comes with several useful modules (known as ``guix.el'') for
GNU@tie{}Emacs which are intended to make an Emacs user interaction with
Guix convenient and fun.
@menu
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
* Usage: Emacs Usage. Using the interface.
* Configuration: Emacs Configuration. Configuring the interface.
* Package Management: Emacs Package Management. Managing packages and generations.
* Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands.
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
* Completions: Emacs Completions. Completing @command{guix} shell command.
* Build Log Mode: Emacs Build Log. Highlighting Guix build logs.
* Completions: Emacs Completions. Completing @command{guix} shell command.
* Development: Emacs Development. Tools for Guix developers.
@end menu
@node Emacs Initial Setup
@subsection Initial Setup
@section Initial Setup
On the Guix System Distribution (@pxref{GNU Distribution}), ``guix.el''
is ready to use, provided Guix is installed system-wide, which is the
@@ -43,6 +38,12 @@ later;
@uref{http://nongnu.org/geiser/, Geiser}, version 0.3 or later: it is
used for interacting with the Guile process.
@item
@uref{https://github.com/magit/magit/, magit-popup library}. You
already have this library if you use Magit 2.1.0 or later. This library
is an optional dependency---it is required only for @kbd{M-x@tie{}guix}
command (@pxref{Emacs Popup Interface}).
@end itemize
When it is done ``guix.el'' may be configured by requiring a special
@@ -105,22 +106,32 @@ emacs, The GNU Emacs Manual}).
You can activate Emacs packages installed in your profile whenever you
want using @kbd{M-x@tie{}guix-emacs-load-autoloads}.
@node Emacs Usage
@subsection Usage
@node Emacs Package Management
@section Package Management
Once ``guix.el'' has been successfully configured, you should be able to
use commands for displaying packages and generations. This information
can be displayed in a ``list'' or ``info'' buffer.
use a visual interface for routine package management tasks, pretty much
like the @command{guix package} command (@pxref{Invoking guix package}).
Specifically, it makes it easy to:
@itemize
@item browse and display packages and generations;
@item search, install, upgrade and remove packages;
@item display packages from previous generations;
@item do some other useful things.
@end itemize
@menu
* Commands: Emacs Commands. @kbd{M-x guix-@dots{}}
* General information: Emacs General info. Common for both interfaces.
* ``List'' buffer: Emacs List buffer. List-like interface.
* ``Info'' buffer: Emacs Info buffer. Help-like interface.
* Configuration: Emacs Configuration. Configuring the interface.
@end menu
@node Emacs Commands
@subsubsection Commands
@subsection Commands
All commands for displaying packages and generations use the current
profile, which can be changed with
@@ -191,7 +202,7 @@ Once @command{guix pull} has succeeded, the Guix REPL is restared. This
allows you to keep using the Emacs interface with the updated Guix.
@node Emacs General info
@subsubsection General information
@subsection General information
The following keys are available for both ``list'' and ``info'' types of
buffers:
@@ -216,6 +227,8 @@ prefix argument is used. This has the same meaning as @code{--manifest}
option (@pxref{Invoking guix package}).
@item C-c C-z
@cindex REPL
@cindex read-eval-print loop
Go to the Guix REPL (@pxref{The REPL,,, geiser, Geiser User Manual}).
@item h
@@ -235,7 +248,7 @@ was restarted, you may want to revert ``list'' buffer (by pressing
@kbd{g}).
@node Emacs List buffer
@subsubsection ``List'' buffer
@subsection ``List'' buffer
An interface of a ``list'' buffer is similar to the interface provided
by ``package.el'' (@pxref{Package Menu,,, emacs, The GNU Emacs Manual}).
@@ -310,7 +323,7 @@ with another marked generation.
@end table
@node Emacs Info buffer
@subsubsection ``Info'' buffer
@subsection ``Info'' buffer
The interface of an ``info'' buffer is similar to the interface of
@code{help-mode} (@pxref{Help Mode,,, emacs, The GNU Emacs Manual}).
@@ -484,12 +497,92 @@ Various settings for ``info'' buffers.
@end table
@node Emacs Prettify
@subsection Guix Prettify Mode
@node Emacs Popup Interface
@section Popup Interface
Along with ``guix.el'', GNU@tie{}Guix comes with ``guix-prettify.el''.
It provides a minor mode for abbreviating store file names by replacing
hash sequences of symbols with ``@dots{}'':
If you ever used Magit, you know what ``popup interface'' is
(@pxref{Top,,, magit-popup, Magit-Popup User Manual}). Even if you are
not acquainted with Magit, there should be no worries as it is very
intuitive.
So @kbd{M-x@tie{}guix} command provides a top-level popup interface for
all available guix commands. When you select an option, you'll be
prompted for a value in the minibuffer. Many values have completions,
so don't hesitate to press @key{TAB} key. Multiple values (for example,
packages or lint checkers) should be separated by commas.
After specifying all options and switches for a command, you may choose
one of the available actions. The following default actions are
available for all commands:
@itemize
@item
Run the command in the Guix REPL. It is faster than running
@code{guix@tie{}@dots{}} command directly in shell, as there is no
need to run another guile process and to load required modules there.
@item
Run the command in a shell buffer. You can set
@code{guix-run-in-shell-function} variable to fine tune the shell buffer
you want to use.
@item
Add the command line to the kill ring (@pxref{Kill Ring,,, emacs, The
GNU Emacs Manual}).
@end itemize
Several commands (@command{guix graph}, @command{guix system dmd-graph}
and @command{guix system extension-graph}) also have a ``View graph''
action, which allows you to view a generated graph using @command{dot}
command (specified by @code{guix-dot-program} variable). By default a
PNG file will be saved in @file{/tmp} directory and will be opened
directly in Emacs. This behavior may be changed with the following
variables:
@table @code
@item guix-find-file-function
Function used to open a generated graph. If you want to open a graph in
an external program, you can do it by modifying this variable---for
example, you can use a functionality provided by the Org Mode
(@pxref{Top,,, org, The Org Manual}):
@example
(setq guix-find-file-function 'org-open-file)
(add-to-list 'org-file-apps '("\\.png\\'" . "sxiv %s"))
@end example
@item guix-dot-default-arguments
Command line arguments to run @command{dot} command. If you change an
output format (for example, into @code{-Tpdf}), you also need to change
the next variable.
@item guix-dot-file-name-function
Function used to define a name of the generated graph file. Default
name is @file{/tmp/guix-emacs-graph-XXXXXX.png}.
@end table
So, for example, if you want to generate and open a PDF file in your
Emacs, you may change the settings like this:
@example
(defun my-guix-pdf-graph ()
"/tmp/my-current-guix-graph.pdf")
(setq guix-dot-default-arguments '("-Tpdf")
guix-dot-file-name-function 'my-guix-pdf-graph)
@end example
@node Emacs Prettify
@section Guix Prettify Mode
GNU@tie{}Guix also comes with ``guix-prettify.el''. It provides a minor
mode for abbreviating store file names by replacing hash sequences of
symbols with ``@dots{}'':
@example
/gnu/store/72f54nfp6g1hz873w8z3gfcah0h4nl9p-foo-0.1
@@ -525,8 +618,43 @@ mode hooks (@pxref{Hooks,,, emacs, The GNU Emacs Manual}), for example:
@end example
@node Emacs Build Log
@section Build Log Mode
GNU@tie{}Guix provides major and minor modes for highlighting build
logs. So when you have a file with a package build output---for
example, a file returned by @command{guix build --log-file @dots{}}
command (@pxref{Invoking guix build}), you may call @kbd{M-x
guix-build-log-mode} command in the buffer with this file. This major
mode highlights some lines specific to build output and provides the
following key bindings:
@table @kbd
@item M-n
Move to the next build phase.
@item M-p
Move to the previous build phase.
@item @key{TAB}
Toggle (show/hide) the body of the current build phase.
@item S-@key{TAB}
Toggle (show/hide) the bodies of all build phases.
@end table
There is also @kbd{M-x guix-build-log-minor-mode} which also provides
the same highlighting and the same key bindings as the major mode, but
prefixed with @kbd{C-c}. By default, this minor mode is enabled in
shell buffers (@pxref{Interactive Shell,,, emacs, The GNU Emacs
Manual}). If you don't like it, set
@code{guix-build-log-minor-mode-activate} to nil.
@node Emacs Completions
@subsection Shell Completions
@section Shell Completions
Another feature that becomes available after configuring Emacs interface
(@pxref{Emacs Initial Setup}) is completing of @command{guix}
@@ -554,3 +682,59 @@ something:
@item @code{guix lint --checkers=synopsis,des}@key{TAB}
@end itemize
@node Emacs Development
@section Development
By default, when you open a Scheme file, @code{guix-devel-mode} will be
activated (if you don't want it, set @code{guix-devel-activate-mode} to
nil). This minor mode provides the following key bindings:
@table @kbd
@item C-c . k
Copy the name of the current Guile module into kill ring
(@code{guix-devel-copy-module-as-kill}).
@item C-c . u
Use the current Guile module. Often after opening a Scheme file, you
want to use a module it defines, so you switch to the Geiser REPL and
write @code{,use (some module)} there. You may just use this command
instead (@code{guix-devel-use-module}).
@item C-c . b
Build a package defined by the current variable definition. The
building process is run in the current Geiser REPL. If you modified the
current package definition, don't forget to reevaluate it before calling
this command---for example, with @kbd{C-M-x} (@pxref{To eval or not to
eval,,, geiser, Geiser User Manual})
(@code{guix-devel-build-package-definition}).
@item C-c . s
Build a source derivation of the package defined by the current variable
definition. This command has the same meaning as @code{guix build -S}
shell command (@pxref{Invoking guix build})
(@code{guix-devel-build-package-source}).
@item C-c . l
Lint (check) a package defined by the current variable definition
(@pxref{Invoking guix lint}) (@code{guix-devel-lint-package}).
@end table
Unluckily, there is a limitation related to long-running REPL commands.
When there is a running process in a Geiser REPL, you are not supposed
to evaluate anything in a scheme buffer, because this will ``freeze''
the REPL: it will stop producing any output (however, the evaluating
process will continue---you will just not see any progress anymore). Be
aware: even moving the point in a scheme buffer may ``break'' the REPL
if Autodoc (@pxref{Autodoc and friends,,, geiser, Geiser User Manual})
is enabled (which is the default).
So you have to postpone editing your scheme buffers until the running
evaluation will be finished in the REPL.
Alternatively, to avoid this limitation, you may just run another Geiser
REPL, and while something is being evaluated in the previous REPL, you
can continue editing a scheme file with the help of the current one.
+1794 -232
View File
File diff suppressed because it is too large Load Diff
+215
View File
@@ -0,0 +1,215 @@
digraph "Guix bag-emerged" {
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" [label = "coreutils-8.24", shape = box, fontname = Helvetica];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" [color = red];
"/gnu/store/xpgn2qn54c323liliyqj6q11b5xnb1db-coreutils-8.24.drv" -> "/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" [label = "perl-5.16.1", shape = box, fontname = Helvetica];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [label = "tar-1.28", shape = box, fontname = Helvetica];
"/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [label = "gzip-1.6", shape = box, fontname = Helvetica];
"/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [label = "bzip2-1.0.6", shape = box, fontname = Helvetica];
"/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [label = "xz-5.0.4", shape = box, fontname = Helvetica];
"/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [label = "file-5.22", shape = box, fontname = Helvetica];
"/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [label = "diffutils-3.3", shape = box, fontname = Helvetica];
"/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [label = "patch-2.7.5", shape = box, fontname = Helvetica];
"/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [label = "sed-4.2.2", shape = box, fontname = Helvetica];
"/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [label = "findutils-4.4.2", shape = box, fontname = Helvetica];
"/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [label = "gawk-4.1.3", shape = box, fontname = Helvetica];
"/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [label = "grep-2.21", shape = box, fontname = Helvetica];
"/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [label = "coreutils-8.24", shape = box, fontname = Helvetica];
"/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [label = "make-4.1", shape = box, fontname = Helvetica];
"/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [label = "bash-4.3.39", shape = box, fontname = Helvetica];
"/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [label = "ld-wrapper-0", shape = box, fontname = Helvetica];
"/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [label = "binutils-2.25.1", shape = box, fontname = Helvetica];
"/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [label = "gcc-4.9.3", shape = box, fontname = Helvetica];
"/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [label = "glibc-2.22", shape = box, fontname = Helvetica];
"/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [label = "glibc-utf8-locales-2.22", shape = box, fontname = Helvetica];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" [label = "acl-2.2.52", shape = box, fontname = Helvetica];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/6i8brik0khb2s5r6ih7h6g22l9s2xmph-acl-2.2.52.drv" -> "/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" [label = "gettext-0.19.6", shape = box, fontname = Helvetica];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" -> "/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" [label = "expat-2.1.0", shape = box, fontname = Helvetica];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/n3ix2bl79ijv1v1winwf4qj46hlhyrdv-expat-2.1.0.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" [label = "attr-2.4.46", shape = box, fontname = Helvetica];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/a076d7ng0h3ynr1hsiyk4fmh3w1g4cv8-gettext-0.19.6.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" -> "/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" [label = "gmp-6.0.0a", shape = box, fontname = Helvetica];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/wmvpskqsw6hgriy0vbmmm6c4wp8rxp2c-gmp-6.0.0a.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" [label = "m4-1.4.17", shape = box, fontname = Helvetica];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/1mwk0rc4lfcy3vax50ss8x3qfa304g67-m4-1.4.17.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" [label = "libcap-2.24", shape = box, fontname = Helvetica];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/mi4a8m41ssrp7lv3b8vibw0a7ahv2mmg-perl-5.16.1.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/0pr679inn5xj91z4d63scc7vgfji9vpp-tar-1.28.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/p3szkb87bp9fxhn715g88skry8g3jgkq-gzip-1.6.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/i398qn04cwvnzph7a0cckxqr9q0k3lyr-bzip2-1.0.6.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/wvnnsn89magnvn39zm3fv245s9m7yn5f-xz-5.0.4.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/sag0sx1zycnwixwfdrxwj1i9g2phxrh4-file-5.22.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/p61bsw6093x3wfg5vz3172wl9bzrlc3w-diffutils-3.3.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/rzsyx70vnfb8cm40r0b591vyvww2i5y6-patch-2.7.5.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/mc5fgclyr0v26242hmg30srv9ij27wyv-sed-4.2.2.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/ig9nr2f5hvr88br028r9nsdg4xpmmybg-findutils-4.4.2.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/jls1kj3pvqjpbmm7c09fhszfd3m61zif-gawk-4.1.3.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/vvlh6szjxr5iy192fsv9p4dwf39nhapf-grep-2.21.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/mysb2grsl1wc931xm08adncnqjwvdds7-coreutils-8.24.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/n0n20i1brmhmjvw9lx33f2l3dmzx873n-make-4.1.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/64cizlhq38x99dvjvza6c5ha226a9bf5-bash-4.3.39.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/mbshnjz590h3l1c3y2rxzqvn45bhx32b-ld-wrapper-0.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/hf62yhvyrr1rm5y8mq5afih12s9jasic-binutils-2.25.1.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/8mff0w2203h6m5s495knxg09is3qj15f-gcc-4.9.3.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/2pspbpclj4yq5dqd71fnqwa69s8xxryf-glibc-2.22.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/nflynk1n90yh41yfi91raczynka2mf86-glibc-utf8-locales-2.22.drv" [color = red];
"/gnu/store/d7d6k5bhk7gz3pvhxdn2f33jzlxg4c5l-libcap-2.24.drv" -> "/gnu/store/3lq0fkjmjb917asbj9f24vcxxnq3kwai-attr-2.4.46.drv" [color = red];
}
+25
View File
@@ -0,0 +1,25 @@
digraph "Guix package" {
"70481600" [label = "coreutils-8.24", shape = box, fontname = Helvetica];
"70481600" -> "50717824" [color = red];
"70481600" -> "57499200" [color = red];
"70481600" -> "57496320" [color = red];
"70481600" -> "69877504" [color = red];
"50717824" [label = "perl-5.16.1", shape = box, fontname = Helvetica];
"57499200" [label = "acl-2.2.52", shape = box, fontname = Helvetica];
"57499200" -> "70563904" [color = red];
"57499200" -> "50717824" [color = red];
"57499200" -> "70563520" [color = red];
"70563904" [label = "gettext-0.19.6", shape = box, fontname = Helvetica];
"70563904" -> "69316352" [color = red];
"69316352" [label = "expat-2.1.0", shape = box, fontname = Helvetica];
"70563520" [label = "attr-2.4.46", shape = box, fontname = Helvetica];
"70563520" -> "70563904" [color = red];
"70563520" -> "50717824" [color = red];
"57496320" [label = "gmp-6.0.0a", shape = box, fontname = Helvetica];
"57496320" -> "57498432" [color = red];
"57498432" [label = "m4-1.4.17", shape = box, fontname = Helvetica];
"69877504" [label = "libcap-2.24", shape = box, fontname = Helvetica];
"69877504" -> "50717824" [color = red];
"69877504" -> "70563520" [color = red];
}
+75
View File
@@ -0,0 +1,75 @@
digraph "Guix dmd-service" {
"user-file-systems" [label = "user-file-systems", shape = box, fontname = Helvetica];
"user-processes" -> "user-file-systems" [color = red];
"user-processes" [label = "user-processes", shape = box, fontname = Helvetica];
"nscd" -> "user-processes" [color = red];
"guix-daemon" -> "user-processes" [color = red];
"syslogd" -> "user-processes" [color = red];
"term-tty6" -> "user-processes" [color = red];
"term-tty5" -> "user-processes" [color = red];
"term-tty4" -> "user-processes" [color = red];
"term-tty3" -> "user-processes" [color = red];
"term-tty2" -> "user-processes" [color = red];
"term-tty1" -> "user-processes" [color = red];
"networking" -> "user-processes" [color = red];
"nscd" [label = "nscd", shape = box, fontname = Helvetica];
"guix-daemon" [label = "guix-daemon", shape = box, fontname = Helvetica];
"syslogd" [label = "syslogd", shape = box, fontname = Helvetica];
"ssh-daemon" -> "syslogd" [color = red];
"ssh-daemon" [label = "ssh-daemon", shape = box, fontname = Helvetica];
"term-tty6" [label = "term-tty6", shape = box, fontname = Helvetica];
"console-font-tty6" -> "term-tty6" [color = red];
"console-font-tty6" [label = "console-font-tty6", shape = box, fontname = Helvetica];
"term-tty5" [label = "term-tty5", shape = box, fontname = Helvetica];
"console-font-tty5" -> "term-tty5" [color = red];
"console-font-tty5" [label = "console-font-tty5", shape = box, fontname = Helvetica];
"term-tty4" [label = "term-tty4", shape = box, fontname = Helvetica];
"console-font-tty4" -> "term-tty4" [color = red];
"console-font-tty4" [label = "console-font-tty4", shape = box, fontname = Helvetica];
"term-tty3" [label = "term-tty3", shape = box, fontname = Helvetica];
"console-font-tty3" -> "term-tty3" [color = red];
"console-font-tty3" [label = "console-font-tty3", shape = box, fontname = Helvetica];
"term-tty2" [label = "term-tty2", shape = box, fontname = Helvetica];
"console-font-tty2" -> "term-tty2" [color = red];
"console-font-tty2" [label = "console-font-tty2", shape = box, fontname = Helvetica];
"term-tty1" [label = "term-tty1", shape = box, fontname = Helvetica];
"console-font-tty1" -> "term-tty1" [color = red];
"console-font-tty1" [label = "console-font-tty1", shape = box, fontname = Helvetica];
"networking" [label = "networking", shape = box, fontname = Helvetica];
"ssh-daemon" -> "networking" [color = red];
"root-file-system" [label = "root-file-system", shape = box, fontname = Helvetica];
"file-system-/run/user" -> "root-file-system" [color = red];
"file-system-/run/systemd" -> "root-file-system" [color = red];
"file-system-/gnu/store" -> "root-file-system" [color = red];
"file-system-/dev/shm" -> "root-file-system" [color = red];
"file-system-/dev/pts" -> "root-file-system" [color = red];
"user-processes" -> "root-file-system" [color = red];
"udev" -> "root-file-system" [color = red];
"file-system-/run/user" [label = "file-system-/run/user", shape = box, fontname = Helvetica];
"user-processes" -> "file-system-/run/user" [color = red];
"file-system-/run/systemd" [label = "file-system-/run/systemd", shape = box, fontname = Helvetica];
"user-processes" -> "file-system-/run/systemd" [color = red];
"file-system-/gnu/store" [label = "file-system-/gnu/store", shape = box, fontname = Helvetica];
"user-processes" -> "file-system-/gnu/store" [color = red];
"file-system-/dev/shm" [label = "file-system-/dev/shm", shape = box, fontname = Helvetica];
"user-processes" -> "file-system-/dev/shm" [color = red];
"file-system-/dev/pts" [label = "file-system-/dev/pts", shape = box, fontname = Helvetica];
"user-processes" -> "file-system-/dev/pts" [color = red];
"udev" [label = "udev", shape = box, fontname = Helvetica];
"term-tty6" -> "udev" [color = red];
"term-tty5" -> "udev" [color = red];
"term-tty4" -> "udev" [color = red];
"term-tty3" -> "udev" [color = red];
"term-tty2" -> "udev" [color = red];
"term-tty1" -> "udev" [color = red];
"networking" -> "udev" [color = red];
"host-name" [label = "host-name", shape = box, fontname = Helvetica];
"term-tty6" -> "host-name" [color = red];
"term-tty5" -> "host-name" [color = red];
"term-tty4" -> "host-name" [color = red];
"term-tty3" -> "host-name" [color = red];
"term-tty2" -> "host-name" [color = red];
"term-tty1" -> "host-name" [color = red];
"loopback" [label = "loopback", shape = box, fontname = Helvetica];
}
+40
View File
@@ -0,0 +1,40 @@
digraph "Service Type Dependencies" {
dmd [shape = box, fontname = Helvetica];
pam [shape = box, fontname = Helvetica];
etc [shape = box, fontname = Helvetica];
profile [shape = box, fontname = Helvetica];
accounts [shape = box, fontname = Helvetica];
activation [shape = box, fontname = Helvetica];
boot [shape = box, fontname = Helvetica];
system [shape = house, fontname = Helvetica];
lshd -> dmd;
lshd -> pam;
udev -> dmd;
nscd -> dmd [label = "extends"];
"nss-mdns" -> nscd;
"kvm-rules" -> udev;
colord -> udev;
dbus -> dmd;
colord -> dbus;
upower -> udev;
upower -> dbus;
polkit -> dbus;
polkit -> pam;
elogind -> dbus;
elogind -> udev;
elogind -> polkit [label = "extends"];
dmd -> boot;
colord -> accounts;
accounts -> activation;
accounts -> etc;
etc -> activation;
activation -> boot;
pam -> etc;
elogind -> pam;
guix -> dmd;
guix -> activation;
guix -> accounts;
boot -> system;
etc -> system;
profile -> system;
}
+19
View File
@@ -0,0 +1,19 @@
(use-modules (guix)
(guix build-system gnu)
(guix licenses))
(package
(name "hello")
(version "2.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version
".tar.gz"))
(sha256
(base32
"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
(build-system gnu-build-system)
(synopsis "Hello, GNU world: An example GNU package")
(description "Guess what GNU Hello prints!")
(home-page "http://www.gnu.org/software/hello/")
(license gpl3+))
+13 -4
View File
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2014 Alex Kost <alezost@gmail.com>
# Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
#
# This file is part of GNU Guix.
#
@@ -21,13 +21,24 @@ AUTOLOADS = emacs/guix-autoloads.el
ELFILES = \
emacs/guix-backend.el \
emacs/guix-base.el \
emacs/guix-build-log.el \
emacs/guix-command.el \
emacs/guix-devel.el \
emacs/guix-emacs.el \
emacs/guix-external.el \
emacs/guix-geiser.el \
emacs/guix-guile.el \
emacs/guix-help-vars.el \
emacs/guix-history.el \
emacs/guix-info.el \
emacs/guix-init.el \
emacs/guix-list.el \
emacs/guix-messages.el \
emacs/guix-pcomplete.el \
emacs/guix-popup.el \
emacs/guix-prettify.el \
emacs/guix-profiles.el \
emacs/guix-read.el \
emacs/guix-utils.el \
emacs/guix.el
@@ -37,9 +48,7 @@ dist_lisp_DATA = \
$(ELFILES) \
$(AUTOLOADS)
nodist_lisp_DATA = \
emacs/guix-init.el \
emacs/guix-profiles.el
nodist_lisp_DATA = emacs/guix-config.el
$(AUTOLOADS): $(ELFILES)
$(EMACS) --batch --eval \
+19 -59
View File
@@ -1,6 +1,6 @@
;;; guix-backend.el --- Communication with Geiser
;;; guix-backend.el --- Making and using Guix REPL
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
@@ -19,9 +19,10 @@
;;; Commentary:
;; This file provides the code for interacting with Guile using Geiser.
;; This file provides the code for interacting with Guile using Guix REPL
;; (Geiser REPL with some guix-specific additions).
;; By default (if `guix-use-guile-server' is non-nil) 2 Geiser REPLs are
;; By default (if `guix-use-guile-server' is non-nil) 2 Guix REPLs are
;; started. The main one (with "guile --listen" process) is used for
;; "interacting" with a user - for showing a progress of
;; installing/deleting Guix packages. The second (internal) REPL is
@@ -52,26 +53,19 @@
;;; Code:
(require 'geiser-mode)
(require 'geiser-guile)
(require 'guix-geiser)
(require 'guix-config)
(require 'guix-external)
(require 'guix-emacs)
(defvar guix-load-path
(file-name-directory (or load-file-name
(locate-library "guix")))
(defvar guix-load-path guix-config-emacs-interface-directory
"Directory with scheme files for \"guix.el\" package.")
(defvar guix-helper-file
(expand-file-name "guix-helper.scm" guix-load-path)
"Auxiliary scheme file for loading.")
(defvar guix-guile-program (or geiser-guile-binary "guile")
"Name of the guile executable used for Guix REPL.
May be either a string (the name of the executable) or a list of
strings of the form:
(NAME . ARGS)
Where ARGS is a list of arguments to the guile program.")
;;; REPL
@@ -315,46 +309,15 @@ additional internal REPL if it exists."
(defvar guix-operation-buffer nil
"Buffer from which the latest Guix operation was performed.")
(defun guix-make-guile-expression (fun &rest args)
"Return string containing a guile expression for calling FUN with ARGS."
(format "(%S %s)" fun
(mapconcat
(lambda (arg)
(cond
((null arg) "'()")
((or (eq arg t)
;; An ugly hack to separate 'false' from nil
(equal arg 'f)
(keywordp arg))
(concat "#" (prin1-to-string arg t)))
((or (symbolp arg) (listp arg))
(concat "'" (prin1-to-string arg)))
(t (prin1-to-string arg))))
args
" ")))
(defun guix-eval (str)
"Evaluate STR with guile expression using Guix REPL.
See `guix-geiser-eval' for details."
(guix-geiser-eval str (guix-get-repl-buffer 'internal)))
(defun guix-eval (str &optional wrap)
"Evaluate guile expression STR.
If WRAP is non-nil, wrap STR into (begin ...) form.
Return a list of strings with result values of evaluation."
(with-current-buffer (guix-get-repl-buffer 'internal)
(let* ((wrapped (if wrap (geiser-debug--wrap-region str) str))
(code `(:eval (:scm ,wrapped)))
(ret (geiser-eval--send/wait code)))
(if (geiser-eval--retort-error ret)
(error "Error in evaluating guile expression: %s"
(geiser-eval--retort-output ret))
(cdr (assq 'result ret))))))
(defun guix-eval-read (str &optional wrap)
"Evaluate guile expression STR.
For the meaning of WRAP, see `guix-eval'.
Return elisp expression of the first result value of evaluation."
;; Parsing scheme code with elisp `read' is probably not the best idea.
(read (replace-regexp-in-string
"#f\\|#<unspecified>" "nil"
(replace-regexp-in-string
"#t" "t" (car (guix-eval str wrap))))))
(defun guix-eval-read (str)
"Evaluate STR with guile expression using Guix REPL.
See `guix-geiser-eval-read' for details."
(guix-geiser-eval-read str (guix-get-repl-buffer 'internal)))
(defun guix-eval-in-repl (str &optional operation-buffer operation-type)
"Switch to Guix REPL and evaluate STR with guile expression there.
@@ -368,10 +331,7 @@ successful executing of the current operation,
(setq guix-repl-operation-p t
guix-repl-operation-type operation-type
guix-operation-buffer operation-buffer)
(let ((repl (guix-get-repl-buffer)))
(with-current-buffer repl
(geiser-repl--send str))
(geiser-repl--switch-to-buffer repl)))
(guix-geiser-eval-in-repl str (guix-get-repl-buffer)))
(provide 'guix-backend)
+115 -23
View File
@@ -1,6 +1,6 @@
;;; guix-base.el --- Common definitions -*- lexical-binding: t -*-
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
@@ -30,6 +30,7 @@
(require 'cl-lib)
(require 'guix-profiles)
(require 'guix-backend)
(require 'guix-guile)
(require 'guix-utils)
(require 'guix-history)
(require 'guix-messages)
@@ -89,8 +90,8 @@ Each element of the list has a form:
(defun guix-get-param-title (entry-type param)
"Return title of an ENTRY-TYPE entry parameter PARAM."
(or (guix-get-key-val guix-param-titles
entry-type param)
(or (guix-assq-value guix-param-titles
entry-type param)
(prog1 (symbol-name param)
(message "Couldn't find title for '%S %S'."
entry-type param))))
@@ -102,15 +103,15 @@ Each element of the list has a form:
(defun guix-get-full-name (entry &optional output)
"Return name specification of the package ENTRY and OUTPUT."
(guix-get-name-spec (guix-get-key-val entry 'name)
(guix-get-key-val entry 'version)
(guix-get-name-spec (guix-assq-value entry 'name)
(guix-assq-value entry 'version)
output))
(defun guix-entry-to-specification (entry)
"Return name specification by the package or output ENTRY."
(guix-get-name-spec (guix-get-key-val entry 'name)
(guix-get-key-val entry 'version)
(guix-get-key-val entry 'output)))
(guix-get-name-spec (guix-assq-value entry 'name)
(guix-assq-value entry 'version)
(guix-assq-value entry 'output)))
(defun guix-entries-to-specifications (entries)
"Return name specifications by the package or output ENTRIES."
@@ -120,13 +121,13 @@ Each element of the list has a form:
(defun guix-get-installed-outputs (entry)
"Return list of installed outputs for the package ENTRY."
(mapcar (lambda (installed-entry)
(guix-get-key-val installed-entry 'output))
(guix-get-key-val entry 'installed)))
(guix-assq-value installed-entry 'output))
(guix-assq-value entry 'installed)))
(defun guix-get-entry-by-id (id entries)
"Return entry from ENTRIES by entry ID."
(cl-find-if (lambda (entry)
(equal id (guix-get-key-val entry 'id)))
(equal id (guix-assq-value entry 'id)))
entries))
(defun guix-get-package-id-and-output-by-output-id (oid)
@@ -172,13 +173,40 @@ If PATH is relative, it is considered to be relative to
(move-to-column col)
(recenter 1))))
(defun guix-edit-package (id)
"Edit (go to location of) package with ID."
(let ((loc (guix-eval-read (guix-make-guile-expression
'package-location-string id))))
(if loc
(guix-find-location loc)
(message "Couldn't find package location."))))
(defun guix-package-location (id-or-name)
"Return location of a package with ID-OR-NAME.
For the meaning of location, see `guix-find-location'."
(guix-eval-read (guix-make-guile-expression
'package-location-string id-or-name)))
;;; Receivable lists of packages, lint checkers, etc.
(guix-memoized-defun guix-graph-type-names ()
"Return a list of names of available graph node types."
(guix-eval-read (guix-make-guile-expression 'graph-type-names)))
(guix-memoized-defun guix-refresh-updater-names ()
"Return a list of names of available refresh updater types."
(guix-eval-read (guix-make-guile-expression 'refresh-updater-names)))
(guix-memoized-defun guix-lint-checker-names ()
"Return a list of names of available lint checkers."
(guix-eval-read (guix-make-guile-expression 'lint-checker-names)))
(guix-memoized-defun guix-package-names ()
"Return a list of names of available packages."
(sort
;; Work around <https://github.com/jaor/geiser/issues/64>:
;; list of strings is parsed much slower than list of lists,
;; so we use 'package-names-lists' instead of 'package-names'.
;; (guix-eval-read (guix-make-guile-expression 'package-names))
(mapcar #'car
(guix-eval-read (guix-make-guile-expression
'package-names-lists)))
#'string<))
;;; Buffers and auto updating.
@@ -391,8 +419,8 @@ following keywords are available:
(buf-str (concat buf-type-str " buffer"))
(prefix (concat "guix-" entry-type-str "-" buf-type-str))
(group (intern prefix))
(faces-group (intern (concat prefix "-faces")))
(mode-map-str (concat prefix "-mode-map"))
(mode-map (intern mode-map-str))
(parent-mode (intern (concat "guix-" buf-type-str "-mode")))
(mode (intern (concat prefix "-mode")))
(mode-init-fun (intern (concat prefix "-mode-initialize")))
@@ -420,6 +448,10 @@ following keywords are available:
:prefix ,(concat prefix "-")
:group ',(intern (concat "guix-" buf-type-str)))
(defgroup ,faces-group nil
,(concat "Faces for " buf-type-str " buffer with " entry-str ".")
:group ',(intern (concat "guix-" buf-type-str "-faces")))
(defcustom ,buf-name-var ,buf-name-val
,(concat "Default name of the " buf-str " for displaying " entry-str ".")
:type 'string
@@ -767,7 +799,7 @@ GENERATION is a generation number of `guix-profile' profile."
(defface guix-operation-option-key
'((t :inherit font-lock-warning-face))
"Face used for the keys of operation options."
:group 'guix)
:group 'guix-faces)
(defcustom guix-operation-confirm t
"If nil, do not prompt to confirm an operation."
@@ -910,11 +942,11 @@ ENTRIES is a list of package entries to get info about packages."
(outputs (cdr spec))
(entry (guix-get-entry-by-id id entries)))
(when entry
(let ((location (guix-get-key-val entry 'location)))
(let ((location (guix-assq-value entry 'location)))
(concat (guix-get-full-name entry)
(when outputs
(concat ":"
(mapconcat #'identity outputs ",")))
(guix-concat-strings outputs ",")))
(when location
(concat "\t(" location ")")))))))
specs)))
@@ -1007,7 +1039,7 @@ Each element from GENERATIONS is a generation number."
profile generation)))
(guix-eval-in-repl
(guix-make-guile-expression
'switch-to-generation profile generation)
'switch-to-generation* profile generation)
operation-buffer)))
(defun guix-package-source-path (package-id)
@@ -1060,6 +1092,66 @@ FILE. With a prefix argument, also prompt for PROFILE."
(concat "--manifest=" file))
operation-buffer)))
;;; Executing guix commands
(defcustom guix-run-in-shell-function #'guix-run-in-shell
"Function used to run guix command.
The function is called with a single argument - a command line string."
:type '(choice (function-item guix-run-in-shell)
(function-item guix-run-in-eshell)
(function :tag "Other function"))
:group 'guix)
(defcustom guix-shell-buffer-name "*shell*"
"Default name of a shell buffer used for running guix commands."
:type 'string
:group 'guix)
(declare-function comint-send-input "comint" t)
(defun guix-run-in-shell (string)
"Run command line STRING in `guix-shell-buffer-name' buffer."
(shell guix-shell-buffer-name)
(goto-char (point-max))
(insert string)
(comint-send-input))
(declare-function eshell-send-input "esh-mode" t)
(defun guix-run-in-eshell (string)
"Run command line STRING in eshell buffer."
(eshell)
(goto-char (point-max))
(insert string)
(eshell-send-input))
(defun guix-run-command-in-shell (args)
"Execute 'guix ARGS ...' command in a shell buffer."
(funcall guix-run-in-shell-function
(guix-command-string args)))
(defun guix-run-command-in-repl (args)
"Execute 'guix ARGS ...' command in Guix REPL."
(guix-eval-in-repl
(apply #'guix-make-guile-expression
'guix-command args)))
(defun guix-command-output (args)
"Return string with 'guix ARGS ...' output."
(cl-multiple-value-bind (output error)
(guix-eval (apply #'guix-make-guile-expression
'guix-command-output args))
;; Remove trailing new space from the error string.
(message (replace-regexp-in-string "\n\\'" "" (read error)))
(read output)))
(defun guix-help-string (&optional commands)
"Return string with 'guix COMMANDS ... --help' output."
(guix-eval-read
(apply #'guix-make-guile-expression
'help-string commands)))
;;; Pull
+371
View File
@@ -0,0 +1,371 @@
;;; guix-build-log.el --- Major and minor modes for build logs -*- lexical-binding: t -*-
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides a major mode (`guix-build-log-mode') and a minor mode
;; (`guix-build-log-minor-mode') for highlighting Guix build logs.
;;; Code:
(defgroup guix-build-log nil
"Settings for `guix-build-log-mode'."
:group 'guix)
(defgroup guix-build-log-faces nil
"Faces for `guix-build-log-mode'."
:group 'guix-build-log
:group 'guix-faces)
(defface guix-build-log-title-head
'((t :inherit font-lock-keyword-face))
"Face for '@' symbol of a log title."
:group 'guix-build-log-faces)
(defface guix-build-log-title-start
'((t :inherit guix-build-log-title-head))
"Face for a log title denoting a start of a process."
:group 'guix-build-log-faces)
(defface guix-build-log-title-success
'((t :inherit guix-build-log-title-head))
"Face for a log title denoting a successful end of a process."
:group 'guix-build-log-faces)
(defface guix-build-log-title-fail
'((t :inherit error))
"Face for a log title denoting a failed end of a process."
:group 'guix-build-log-faces)
(defface guix-build-log-title-end
'((t :inherit guix-build-log-title-head))
"Face for a log title denoting an undefined end of a process."
:group 'guix-build-log-faces)
(defface guix-build-log-phase-name
'((t :inherit font-lock-function-name-face))
"Face for a phase name."
:group 'guix-build-log-faces)
(defface guix-build-log-phase-start
'((default :weight bold)
(((class grayscale) (background light)) :foreground "Gray90")
(((class grayscale) (background dark)) :foreground "DimGray")
(((class color) (min-colors 16) (background light))
:foreground "DarkGreen")
(((class color) (min-colors 16) (background dark))
:foreground "LimeGreen")
(((class color) (min-colors 8)) :foreground "green"))
"Face for the start line of a phase."
:group 'guix-build-log-faces)
(defface guix-build-log-phase-end
'((((class grayscale) (background light)) :foreground "Gray90")
(((class grayscale) (background dark)) :foreground "DimGray")
(((class color) (min-colors 16) (background light))
:foreground "ForestGreen")
(((class color) (min-colors 16) (background dark))
:foreground "LightGreen")
(((class color) (min-colors 8)) :foreground "green")
(t :weight bold))
"Face for the end line of a phase."
:group 'guix-build-log-faces)
(defface guix-build-log-phase-success
'((t))
"Face for the 'succeeded' word of a phase line."
:group 'guix-build-log-faces)
(defface guix-build-log-phase-fail
'((t :inherit error))
"Face for the 'failed' word of a phase line."
:group 'guix-build-log-faces)
(defface guix-build-log-phase-seconds
'((t :inherit font-lock-constant-face))
"Face for the number of seconds for a phase."
:group 'guix-build-log-faces)
(defcustom guix-build-log-minor-mode-activate t
"If non-nil, then `guix-build-log-minor-mode' is automatically
activated in `shell-mode' buffers."
:type 'boolean
:group 'guix-build-log)
(defcustom guix-build-log-mode-hook '()
"Hook run after `guix-build-log-mode' is entered."
:type 'hook
:group 'guix-build-log)
(defvar guix-build-log-phase-name-regexp "`\\([^']+\\)'"
"Regexp for a phase name.")
(defvar guix-build-log-phase-start-regexp
(concat "^starting phase " guix-build-log-phase-name-regexp)
"Regexp for the start line of a 'build' phase.")
(defun guix-build-log-title-regexp (&optional state)
"Return regexp for the log title.
STATE is a symbol denoting a state of the title. It should be
`start', `fail', `success' or `nil' (for a regexp matching any
state)."
(let* ((word-rx (rx (1+ (any word "-"))))
(state-rx (cond ((eq state 'start) (concat word-rx "started"))
((eq state 'success) (concat word-rx "succeeded"))
((eq state 'fail) (concat word-rx "failed"))
(t word-rx))))
(rx-to-string
`(and bol (group "@") " " (group (regexp ,state-rx)))
t)))
(defun guix-build-log-phase-end-regexp (&optional state)
"Return regexp for the end line of a 'build' phase.
STATE is a symbol denoting how a build phase was ended. It should be
`fail', `success' or `nil' (for a regexp matching any state)."
(let ((state-rx (cond ((eq state 'success) "succeeded")
((eq state 'fail) "failed")
(t (regexp-opt '("succeeded" "failed"))))))
(rx-to-string
`(and bol "phase " (regexp ,guix-build-log-phase-name-regexp)
" " (group (regexp ,state-rx)) " after "
(group (1+ (or digit "."))) " seconds")
t)))
(defvar guix-build-log-phase-end-regexp
;; For efficiency, it is better to have a regexp for the general line
;; of the phase end, then to call the function all the time.
(guix-build-log-phase-end-regexp)
"Regexp for the end line of a 'build' phase.")
(defvar guix-build-log-font-lock-keywords
`((,(guix-build-log-title-regexp 'start)
(1 'guix-build-log-title-head)
(2 'guix-build-log-title-start))
(,(guix-build-log-title-regexp 'success)
(1 'guix-build-log-title-head)
(2 'guix-build-log-title-success))
(,(guix-build-log-title-regexp 'fail)
(1 'guix-build-log-title-head)
(2 'guix-build-log-title-fail))
(,(guix-build-log-title-regexp)
(1 'guix-build-log-title-head)
(2 'guix-build-log-title-end))
(,guix-build-log-phase-start-regexp
(0 'guix-build-log-phase-start)
(1 'guix-build-log-phase-name prepend))
(,(guix-build-log-phase-end-regexp 'success)
(0 'guix-build-log-phase-end)
(1 'guix-build-log-phase-name prepend)
(2 'guix-build-log-phase-success prepend)
(3 'guix-build-log-phase-seconds prepend))
(,(guix-build-log-phase-end-regexp 'fail)
(0 'guix-build-log-phase-end)
(1 'guix-build-log-phase-name prepend)
(2 'guix-build-log-phase-fail prepend)
(3 'guix-build-log-phase-seconds prepend)))
"A list of `font-lock-keywords' for `guix-build-log-mode'.")
(defvar guix-build-log-common-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "M-n") 'guix-build-log-next-phase)
(define-key map (kbd "M-p") 'guix-build-log-previous-phase)
(define-key map (kbd "TAB") 'guix-build-log-phase-toggle)
(define-key map (kbd "<tab>") 'guix-build-log-phase-toggle)
(define-key map (kbd "<backtab>") 'guix-build-log-phase-toggle-all)
(define-key map [(shift tab)] 'guix-build-log-phase-toggle-all)
map)
"Parent keymap for 'build-log' buffers.
For `guix-build-log-mode' this map is used as is.
For `guix-build-log-minor-mode' this map is prefixed with 'C-c'.")
(defvar guix-build-log-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent
map (make-composed-keymap (list guix-build-log-common-map)
special-mode-map))
(define-key map (kbd "c") 'compilation-shell-minor-mode)
(define-key map (kbd "v") 'view-mode)
map)
"Keymap for `guix-build-log-mode' buffers.")
(defvar guix-build-log-minor-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c") guix-build-log-common-map)
map)
"Keymap for `guix-build-log-minor-mode' buffers.")
(defun guix-build-log-phase-start (&optional with-header?)
"Return the start point of the current build phase.
If WITH-HEADER? is non-nil, do not skip 'starting phase ...' header.
Return nil, if there is no phase start before the current point."
(save-excursion
(end-of-line)
(when (re-search-backward guix-build-log-phase-start-regexp nil t)
(unless with-header? (end-of-line))
(point))))
(defun guix-build-log-phase-end ()
"Return the end point of the current build phase."
(save-excursion
(beginning-of-line)
(when (re-search-forward guix-build-log-phase-end-regexp nil t)
(point))))
(defun guix-build-log-phase-hide ()
"Hide the body of the current build phase."
(interactive)
(let ((beg (guix-build-log-phase-start))
(end (guix-build-log-phase-end)))
(when (and beg end)
;; If not on the header line, move to it.
(when (and (> (point) beg)
(< (point) end))
(goto-char (guix-build-log-phase-start t)))
(remove-overlays beg end 'invisible t)
(let ((o (make-overlay beg end)))
(overlay-put o 'evaporate t)
(overlay-put o 'invisible t)))))
(defun guix-build-log-phase-show ()
"Show the body of the current build phase."
(interactive)
(let ((beg (guix-build-log-phase-start))
(end (guix-build-log-phase-end)))
(when (and beg end)
(remove-overlays beg end 'invisible t))))
(defun guix-build-log-phase-hidden-p ()
"Return non-nil, if the body of the current build phase is hidden."
(let ((beg (guix-build-log-phase-start)))
(and beg
(cl-some (lambda (o)
(overlay-get o 'invisible))
(overlays-at beg)))))
(defun guix-build-log-phase-toggle-function ()
"Return a function to toggle the body of the current build phase."
(if (guix-build-log-phase-hidden-p)
#'guix-build-log-phase-show
#'guix-build-log-phase-hide))
(defun guix-build-log-phase-toggle ()
"Show/hide the body of the current build phase."
(interactive)
(funcall (guix-build-log-phase-toggle-function)))
(defun guix-build-log-phase-toggle-all ()
"Show/hide the bodies of all build phases."
(interactive)
(save-excursion
;; Some phases may be hidden, and some shown. Whether to hide or to
;; show them, it is determined by the state of the first phase here.
(goto-char (point-min))
(let ((fun (save-excursion
(re-search-forward guix-build-log-phase-start-regexp nil t)
(guix-build-log-phase-toggle-function))))
(while (re-search-forward guix-build-log-phase-start-regexp nil t)
(funcall fun)))))
(defun guix-build-log-next-phase (&optional arg)
"Move to the next build phase.
With ARG, do it that many times. Negative ARG means move
backward."
(interactive "^p")
(if arg
(when (zerop arg) (user-error "Try again"))
(setq arg 1))
(let ((search-fun (if (> arg 0)
#'re-search-forward
#'re-search-backward))
(n (abs arg))
found last-found)
(save-excursion
(end-of-line (if (> arg 0) 1 0)) ; skip the current line
(while (and (not (zerop n))
(setq found
(funcall search-fun
guix-build-log-phase-start-regexp
nil t)))
(setq n (1- n)
last-found found)))
(when last-found
(goto-char last-found)
(forward-line 0))
(or found
(user-error (if (> arg 0)
"No next build phase"
"No previous build phase")))))
(defun guix-build-log-previous-phase (&optional arg)
"Move to the previous build phase.
With ARG, do it that many times. Negative ARG means move
forward."
(interactive "^p")
(guix-build-log-next-phase (- (or arg 1))))
;;;###autoload
(define-derived-mode guix-build-log-mode special-mode
"Guix-Build-Log"
"Major mode for viewing Guix build logs.
\\{guix-build-log-mode-map}"
(setq font-lock-defaults '(guix-build-log-font-lock-keywords t)))
;;;###autoload
(define-minor-mode guix-build-log-minor-mode
"Toggle Guix Build Log minor mode.
With a prefix argument ARG, enable Guix Build Log minor mode if
ARG is positive, and disable it otherwise. If called from Lisp,
enable the mode if ARG is omitted or nil.
When Guix Build Log minor mode is enabled, it highlights build
log in the current buffer. This mode can be enabled
programmatically using hooks:
(add-hook 'shell-mode-hook 'guix-build-log-minor-mode)
\\{guix-build-log-minor-mode-map}"
:init-value nil
:lighter " Guix-Build-Log"
:keymap guix-build-log-minor-mode-map
:group 'guix-build-log
(if guix-build-log-minor-mode
(font-lock-add-keywords nil guix-build-log-font-lock-keywords)
(font-lock-remove-keywords nil guix-build-log-font-lock-keywords))
(when font-lock-mode
(font-lock-fontify-buffer)))
;;;###autoload
(defun guix-build-log-minor-mode-activate-maybe ()
"Activate `guix-build-log-minor-mode' depending on
`guix-build-log-minor-mode-activate' variable."
(when guix-build-log-minor-mode-activate
(guix-build-log-minor-mode)))
;;;###autoload
(add-to-list 'auto-mode-alist
;; Regexp for log files (usually placed in /var/log/guix/...)
(cons (rx "/guix/drvs/" (= 2 alnum) "/" (= 30 alnum)
"-" (+ (any alnum "-+.")) ".drv" string-end)
'guix-build-log-mode))
(provide 'guix-build-log)
;;; guix-build-log.el ends here
+720
View File
@@ -0,0 +1,720 @@
;;; guix-command.el --- Popup interface for guix commands -*- lexical-binding: t -*-
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides a magit-like popup interface for running guix
;; commands in Guix REPL. The entry point is "M-x guix". When it is
;; called the first time, "guix --help" output is parsed and
;; `guix-COMMAND-action' functions are generated for each available guix
;; COMMAND. Then a window with these commands is popped up. When a
;; particular COMMAND is called, "guix COMMAND --help" output is parsed,
;; and a user get a new popup window with available options for this
;; command and so on.
;; To avoid hard-coding all guix options, actions, etc., as much data is
;; taken from "guix ... --help" outputs as possible. But this data is
;; still incomplete: not all long options have short analogs, also
;; special readers should be used for some options (for example, to
;; complete package names while prompting for a package). So after
;; parsing --help output, the arguments are "improved". All arguments
;; (switches, options and actions) are `guix-command-argument'
;; structures.
;; Only "M-x guix" command is available after this file is loaded. The
;; rest commands/actions/popups are generated on the fly only when they
;; are needed (that's why there is a couple of `eval'-s in this file).
;; COMMANDS argument is used by many functions in this file. It means a
;; list of guix commands without "guix" itself, e.g.: ("build"),
;; ("import" "gnu"). The empty list stands for the plain "guix" without
;; subcommands.
;; All actions in popup windows are divided into 2 groups:
;;
;; - 'Popup' actions - used to pop up another window. For example, every
;; action in the 'guix' or 'guix import' window is a popup action. They
;; are defined by `guix-command-define-popup-action' macro.
;;
;; - 'Execute' actions - used to do something with the command line (to
;; run a command in Guix REPL or to copy it into kill-ring) constructed
;; with the current popup. They are defined by
;; `guix-command-define-execute-action' macro.
;;; Code:
(require 'cl-lib)
(require 'guix-popup)
(require 'guix-utils)
(require 'guix-help-vars)
(require 'guix-read)
(require 'guix-base)
(require 'guix-guile)
(require 'guix-external)
(defgroup guix-commands nil
"Settings for guix popup windows."
:group 'guix)
(defvar guix-command-complex-with-shared-arguments
'("system")
"List of guix commands which have subcommands with shared options.
I.e., 'guix foo --help' is the same as 'guix foo bar --help'.")
(defun guix-command-action-name (&optional commands &rest name-parts)
"Return name of action function for guix COMMANDS."
(guix-command-symbol (append commands name-parts (list "action"))))
;;; Command arguments
(cl-defstruct (guix-command-argument
(:constructor guix-command-make-argument)
(:copier guix-command-copy-argument))
name char doc fun switch? option? action?)
(cl-defun guix-command-modify-argument
(argument &key
(name nil name-bound?)
(char nil char-bound?)
(doc nil doc-bound?)
(fun nil fun-bound?)
(switch? nil switch?-bound?)
(option? nil option?-bound?)
(action? nil action?-bound?))
"Return a modified version of ARGUMENT."
(declare (indent 1))
(let ((copy (guix-command-copy-argument argument)))
(and name-bound? (setf (guix-command-argument-name copy) name))
(and char-bound? (setf (guix-command-argument-char copy) char))
(and doc-bound? (setf (guix-command-argument-doc copy) doc))
(and fun-bound? (setf (guix-command-argument-fun copy) fun))
(and switch?-bound? (setf (guix-command-argument-switch? copy) switch?))
(and option?-bound? (setf (guix-command-argument-option? copy) option?))
(and action?-bound? (setf (guix-command-argument-action? copy) action?))
copy))
(defun guix-command-modify-argument-from-alist (argument alist)
"Return a modified version of ARGUMENT or nil if it wasn't modified.
Each assoc from ALIST have a form (NAME . PLIST). NAME is an
argument name. PLIST is a property list of argument parameters
to be modified."
(let* ((name (guix-command-argument-name argument))
(plist (guix-assoc-value alist name)))
(when plist
(apply #'guix-command-modify-argument
argument plist))))
(defmacro guix-command-define-argument-improver (name alist)
"Define NAME variable and function to modify an argument from ALIST."
(declare (indent 1))
`(progn
(defvar ,name ,alist)
(defun ,name (argument)
(guix-command-modify-argument-from-alist argument ,name))))
(guix-command-define-argument-improver
guix-command-improve-action-argument
'(("graph" :char ?G)
("environment" :char ?E)
("publish" :char ?u)
("pull" :char ?P)
("size" :char ?z)))
(guix-command-define-argument-improver
guix-command-improve-common-argument
'(("--help" :switch? nil)
("--version" :switch? nil)))
(guix-command-define-argument-improver
guix-command-improve-target-argument
'(("--target" :char ?T)))
(guix-command-define-argument-improver
guix-command-improve-system-type-argument
'(("--system" :fun guix-read-system-type)))
(guix-command-define-argument-improver
guix-command-improve-load-path-argument
'(("--load-path" :fun read-directory-name)))
(guix-command-define-argument-improver
guix-command-improve-search-paths-argument
'(("--search-paths" :char ?P)))
(guix-command-define-argument-improver
guix-command-improve-substitute-urls-argument
'(("--substitute-urls" :char ?U)))
(guix-command-define-argument-improver
guix-command-improve-hash-argument
'(("--format" :fun guix-read-hash-format)))
(guix-command-define-argument-improver
guix-command-improve-key-policy-argument
'(("--key-download" :fun guix-read-key-policy)))
(defvar guix-command-improve-common-build-argument
'(("--no-substitutes" :char ?s)
("--no-build-hook" :char ?h)
("--max-silent-time" :char ?x)))
(defun guix-command-improve-common-build-argument (argument)
(guix-command-modify-argument-from-alist
argument
(append guix-command-improve-load-path-argument
guix-command-improve-substitute-urls-argument
guix-command-improve-common-build-argument)))
(guix-command-define-argument-improver
guix-command-improve-archive-argument
'(("--generate-key" :char ?k)))
(guix-command-define-argument-improver
guix-command-improve-build-argument
'(("--no-grafts" :char ?g)
("--root" :fun guix-read-file-name)
("--sources" :char ?S :fun guix-read-source-type :switch? nil)
("--with-source" :fun guix-read-file-name)))
(guix-command-define-argument-improver
guix-command-improve-environment-argument
'(("--exec" :fun read-shell-command)
("--load" :fun guix-read-file-name)))
(guix-command-define-argument-improver
guix-command-improve-gc-argument
'(("--list-dead" :char ?D)
("--list-live" :char ?L)
("--referrers" :char ?f)
("--verify" :fun guix-read-verify-options-string)))
(guix-command-define-argument-improver
guix-command-improve-graph-argument
'(("--type" :fun guix-read-graph-type)))
(guix-command-define-argument-improver
guix-command-improve-import-argument
'(("cran" :char ?r)))
(guix-command-define-argument-improver
guix-command-improve-import-elpa-argument
'(("--archive" :fun guix-read-elpa-archive)))
(guix-command-define-argument-improver
guix-command-improve-lint-argument
'(("--checkers" :fun guix-read-lint-checker-names-string)))
(guix-command-define-argument-improver
guix-command-improve-package-argument
;; Unlike all other options, --install/--remove do not have a form
;; '--install=foo,bar' but '--install foo bar' instead, so we need
;; some tweaks.
'(("--install"
:name "--install " :fun guix-read-package-names-string
:switch? nil :option? t)
("--remove"
:name "--remove " :fun guix-read-package-names-string
:switch? nil :option? t)
("--install-from-file" :fun guix-read-file-name)
("--manifest" :fun guix-read-file-name)
("--do-not-upgrade" :char ?U)
("--roll-back" :char ?R)
("--show" :char ?w :fun guix-read-package-name)))
(guix-command-define-argument-improver
guix-command-improve-refresh-argument
'(("--select" :fun guix-read-refresh-subset)
("--type" :fun guix-read-refresh-updater-names-string)
("--key-server" :char ?S)))
(guix-command-define-argument-improver
guix-command-improve-size-argument
'(("--map-file" :fun guix-read-file-name)))
(guix-command-define-argument-improver
guix-command-improve-system-argument
'(("disk-image" :char ?D)
("vm-image" :char ?V)
("--on-error" :char ?E)
("--no-grub" :char ?g)
("--full-boot" :char ?b)))
(defvar guix-command-argument-improvers
'((()
guix-command-improve-action-argument)
(("archive")
guix-command-improve-common-build-argument
guix-command-improve-target-argument
guix-command-improve-system-type-argument
guix-command-improve-archive-argument)
(("build")
guix-command-improve-common-build-argument
guix-command-improve-target-argument
guix-command-improve-system-type-argument
guix-command-improve-build-argument)
(("download")
guix-command-improve-hash-argument)
(("hash")
guix-command-improve-hash-argument)
(("environment")
guix-command-improve-common-build-argument
guix-command-improve-search-paths-argument
guix-command-improve-system-type-argument
guix-command-improve-environment-argument)
(("gc")
guix-command-improve-gc-argument)
(("graph")
guix-command-improve-graph-argument)
(("import")
guix-command-improve-import-argument)
(("import" "gnu")
guix-command-improve-key-policy-argument)
(("import" "elpa")
guix-command-improve-import-elpa-argument)
(("lint")
guix-command-improve-lint-argument)
(("package")
guix-command-improve-common-build-argument
guix-command-improve-search-paths-argument
guix-command-improve-package-argument)
(("refresh")
guix-command-improve-key-policy-argument
guix-command-improve-refresh-argument)
(("size")
guix-command-improve-system-type-argument
guix-command-improve-substitute-urls-argument
guix-command-improve-size-argument)
(("system")
guix-command-improve-common-build-argument
guix-command-improve-system-argument))
"Alist of guix commands and argument improvers for them.")
(defun guix-command-improve-argument (argument improvers)
"Return ARGUMENT modified with IMPROVERS."
(or (cl-some (lambda (improver)
(funcall improver argument))
improvers)
argument))
(defun guix-command-improve-arguments (arguments commands)
"Return ARGUMENTS for 'guix COMMANDS ...' modified for popup interface."
(let ((improvers (cons 'guix-command-improve-common-argument
(guix-assoc-value guix-command-argument-improvers
commands))))
(mapcar (lambda (argument)
(guix-command-improve-argument argument improvers))
arguments)))
(defun guix-command-parse-arguments (&optional commands)
"Return a list of parsed 'guix COMMANDS ...' arguments."
(with-temp-buffer
(insert (guix-help-string commands))
(let (args)
(guix-while-search guix-help-parse-option-regexp
(let* ((short (match-string-no-properties 1))
(name (match-string-no-properties 2))
(arg (match-string-no-properties 3))
(doc (match-string-no-properties 4))
(char (if short
(elt short 1) ; short option letter
(elt name 2))) ; first letter of the long option
;; If "--foo=bar" or "--foo[=bar]" then it is 'option'.
(option? (not (string= "" arg)))
;; If "--foo" or "--foo[=bar]" then it is 'switch'.
(switch? (or (string= "" arg)
(eq ?\[ (elt arg 0)))))
(push (guix-command-make-argument
:name name
:char char
:doc doc
:switch? switch?
:option? option?)
args)))
(guix-while-search guix-help-parse-command-regexp
(let* ((name (match-string-no-properties 1))
(char (elt name 0)))
(push (guix-command-make-argument
:name name
:char char
:fun (guix-command-action-name commands name)
:action? t)
args)))
args)))
(defun guix-command-rest-argument (&optional commands)
"Return '--' argument for COMMANDS."
(cl-flet ((argument (&rest args)
(apply #'guix-command-make-argument
:name "-- " :char ?= :option? t args)))
(let ((command (car commands)))
(cond
((member command
'("archive" "build" "challenge" "edit" "environment"
"graph" "lint" "refresh"))
(argument :doc "Packages" :fun 'guix-read-package-names-string))
((string= command "download")
(argument :doc "URL"))
((string= command "gc")
(argument :doc "Paths" :fun 'guix-read-file-name))
((member command '("hash" "system"))
(argument :doc "File" :fun 'guix-read-file-name))
((string= command "size")
(argument :doc "Package" :fun 'guix-read-package-name))
((equal commands '("import" "nix"))
(argument :doc "Nixpkgs Attribute"))
;; Other 'guix import' subcommands, but not 'import' itself.
((and (cdr commands)
(string= command "import"))
(argument :doc "Package name"))))))
(defun guix-command-additional-arguments (&optional commands)
"Return additional arguments for COMMANDS."
(let ((rest-arg (guix-command-rest-argument commands)))
(and rest-arg (list rest-arg))))
;; Ideally only `guix-command-arguments' function should exist with the
;; contents of `guix-command-all-arguments', but we need to make a
;; special case for `guix-command-complex-with-shared-arguments' commands.
(defun guix-command-all-arguments (&optional commands)
"Return list of all arguments for 'guix COMMANDS ...'."
(let ((parsed (guix-command-parse-arguments commands)))
(append (guix-command-improve-arguments parsed commands)
(guix-command-additional-arguments commands))))
(guix-memoized-defalias guix-command-all-arguments-memoize
guix-command-all-arguments)
(defun guix-command-arguments (&optional commands)
"Return list of arguments for 'guix COMMANDS ...'."
(let ((command (car commands)))
(if (member command
guix-command-complex-with-shared-arguments)
;; Take actions only for 'guix system', and switches+options for
;; 'guix system foo'.
(funcall (if (null (cdr commands))
#'cl-remove-if-not
#'cl-remove-if)
#'guix-command-argument-action?
(guix-command-all-arguments-memoize (list command)))
(guix-command-all-arguments commands))))
(defun guix-command-switch->popup-switch (switch)
"Return popup switch from command SWITCH argument."
(list (guix-command-argument-char switch)
(or (guix-command-argument-doc switch)
"Unknown")
(guix-command-argument-name switch)))
(defun guix-command-option->popup-option (option)
"Return popup option from command OPTION argument."
(list (guix-command-argument-char option)
(or (guix-command-argument-doc option)
"Unknown")
(let ((name (guix-command-argument-name option)))
(if (string-match-p " \\'" name) ; ends with space
name
(concat name "=")))
(or (guix-command-argument-fun option)
'read-from-minibuffer)))
(defun guix-command-action->popup-action (action)
"Return popup action from command ACTION argument."
(list (guix-command-argument-char action)
(or (guix-command-argument-doc action)
(guix-command-argument-name action)
"Unknown")
(guix-command-argument-fun action)))
(defun guix-command-sort-arguments (arguments)
"Sort ARGUMENTS by name in alphabetical order."
(sort arguments
(lambda (a1 a2)
(let ((name1 (guix-command-argument-name a1))
(name2 (guix-command-argument-name a2)))
(cond ((null name1) nil)
((null name2) t)
(t (string< name1 name2)))))))
(defun guix-command-switches (arguments)
"Return switches from ARGUMENTS."
(cl-remove-if-not #'guix-command-argument-switch? arguments))
(defun guix-command-options (arguments)
"Return options from ARGUMENTS."
(cl-remove-if-not #'guix-command-argument-option? arguments))
(defun guix-command-actions (arguments)
"Return actions from ARGUMENTS."
(cl-remove-if-not #'guix-command-argument-action? arguments))
(defun guix-command-post-process-args (args)
"Adjust appropriately command line ARGS returned from popup command."
;; XXX We need to split "--install foo bar" and similar strings into
;; lists of strings. But some commands (e.g., 'guix hash') accept a
;; file name as the 'rest' argument, and as file names may contain
;; spaces, splitting by spaces will break such names. For example, the
;; following argument: "-- /tmp/file with spaces" will be transformed
;; into the following list: ("--" "/tmp/file" "with" "spaces") instead
;; of the wished ("--" "/tmp/file with spaces").
(let* (rest
(rx (rx string-start
(or "-- " "--install " "--remove ")))
(args (mapcar (lambda (arg)
(if (string-match-p rx arg)
(progn (push (split-string arg) rest)
nil)
arg))
args)))
(if rest
(apply #'append (delq nil args) rest)
args)))
;;; 'Execute' actions
(defvar guix-command-default-execute-arguments
(list
(guix-command-make-argument
:name "repl" :char ?r :doc "Run in Guix REPL")
(guix-command-make-argument
:name "shell" :char ?s :doc "Run in shell")
(guix-command-make-argument
:name "copy" :char ?c :doc "Copy command line"))
"List of default 'execute' action arguments.")
(defvar guix-command-additional-execute-arguments
(let ((graph-arg (guix-command-make-argument
:name "view" :char ?v :doc "View graph")))
`((("build")
,(guix-command-make-argument
:name "log" :char ?l :doc "View build log"))
(("graph") ,graph-arg)
(("size")
,(guix-command-make-argument
:name "view" :char ?v :doc "View map"))
(("system" "dmd-graph") ,graph-arg)
(("system" "extension-graph") ,graph-arg)))
"Alist of guix commands and additional 'execute' action arguments.")
(defun guix-command-execute-arguments (commands)
"Return a list of 'execute' action arguments for COMMANDS."
(mapcar (lambda (arg)
(guix-command-modify-argument arg
:action? t
:fun (guix-command-action-name
commands (guix-command-argument-name arg))))
(append guix-command-default-execute-arguments
(guix-assoc-value
guix-command-additional-execute-arguments commands))))
(defvar guix-command-special-executors
'((("environment")
("repl" . guix-run-environment-command-in-repl))
(("pull")
("repl" . guix-run-pull-command-in-repl))
(("build")
("log" . guix-run-view-build-log))
(("graph")
("view" . guix-run-view-graph))
(("size")
("view" . guix-run-view-size-map))
(("system" "dmd-graph")
("view" . guix-run-view-graph))
(("system" "extension-graph")
("view" . guix-run-view-graph)))
"Alist of guix commands and alists of special executers for them.
See also `guix-command-default-executors'.")
(defvar guix-command-default-executors
'(("repl" . guix-run-command-in-repl)
("shell" . guix-run-command-in-shell)
("copy" . guix-copy-command-as-kill))
"Alist of default executers for action names.")
(defun guix-command-executor (commands name)
"Return function to run command line arguments for guix COMMANDS."
(or (guix-assoc-value guix-command-special-executors commands name)
(guix-assoc-value guix-command-default-executors name)))
(defun guix-run-environment-command-in-repl (args)
"Run 'guix ARGS ...' environment command in Guix REPL."
;; As 'guix environment' usually tries to run another process, it may
;; be fun but not wise to run this command in Geiser REPL.
(when (or (member "--dry-run" args)
(member "--search-paths" args)
(when (y-or-n-p
(format "'%s' command will spawn an external process.
Do you really want to execute this command in Geiser REPL? "
(guix-command-string args)))
(message "May \"M-x shell-mode\" be with you!")
t))
(guix-run-command-in-repl args)))
(defun guix-run-pull-command-in-repl (args)
"Run 'guix ARGS ...' pull command in Guix REPL.
Perform pull-specific actions after operation, see
`guix-after-pull-hook' and `guix-update-after-pull'."
(guix-eval-in-repl
(apply #'guix-make-guile-expression 'guix-command args)
nil 'pull))
(defun guix-run-view-build-log (args)
"Add --log-file to ARGS, run 'guix ARGS ...' build command, and
open the log file(s)."
(let* ((args (if (member "--log-file" args)
args
(apply #'list (car args) "--log-file" (cdr args))))
(output (guix-command-output args))
(files (split-string output "\n" t)))
(dolist (file files)
(guix-find-file-or-url file)
(guix-build-log-mode))))
(defun guix-run-view-graph (args)
"Run 'guix ARGS ...' graph command, make the image and open it."
(let* ((graph-file (guix-dot-file-name))
(dot-args (guix-dot-arguments graph-file)))
(if (guix-eval-read (guix-make-guile-expression
'pipe-guix-output args dot-args))
(guix-find-file graph-file)
(error "Couldn't create a graph"))))
(defun guix-run-view-size-map (args)
"Run 'guix ARGS ...' size command, and open the map file."
(let* ((wished-map-file
(cl-some (lambda (arg)
(and (string-match "--map-file=\\(.+\\)" arg)
(match-string 1 arg)))
args))
(map-file (or wished-map-file (guix-png-file-name)))
(args (if wished-map-file
args
(apply #'list
(car args)
(concat "--map-file=" map-file)
(cdr args)))))
(guix-command-output args)
(guix-find-file map-file)))
;;; Generating popups, actions, etc.
(defmacro guix-command-define-popup-action (name &optional commands)
"Define NAME function to generate (if needed) and run popup for COMMANDS."
(declare (indent 1) (debug t))
(let* ((popup-fun (guix-command-symbol `(,@commands "popup")))
(doc (format "Call `%s' (generate it if needed)."
popup-fun)))
`(defun ,name (&optional arg)
,doc
(interactive "P")
(unless (fboundp ',popup-fun)
(guix-command-generate-popup ',popup-fun ',commands))
(,popup-fun arg))))
(defmacro guix-command-define-execute-action (name executor
&optional commands)
"Define NAME function to execute the current action for guix COMMANDS.
EXECUTOR function is called with the current command line arguments."
(declare (indent 1) (debug t))
(let* ((arguments-fun (guix-command-symbol `(,@commands "arguments")))
(doc (format "Call `%s' with the current popup arguments."
executor)))
`(defun ,name (&rest args)
,doc
(interactive (,arguments-fun))
(,executor (append ',commands
(guix-command-post-process-args args))))))
(defun guix-command-generate-popup-actions (actions &optional commands)
"Generate 'popup' commands from ACTIONS arguments for guix COMMANDS."
(dolist (action actions)
(let ((fun (guix-command-argument-fun action)))
(unless (fboundp fun)
(eval `(guix-command-define-popup-action ,fun
,(append commands
(list (guix-command-argument-name action)))))))))
(defun guix-command-generate-execute-actions (actions &optional commands)
"Generate 'execute' commands from ACTIONS arguments for guix COMMANDS."
(dolist (action actions)
(let ((fun (guix-command-argument-fun action)))
(unless (fboundp fun)
(eval `(guix-command-define-execute-action ,fun
,(guix-command-executor
commands (guix-command-argument-name action))
,commands))))))
(defun guix-command-generate-popup (name &optional commands)
"Define NAME popup with 'guix COMMANDS ...' interface."
(let* ((command (car commands))
(man-page (concat "guix" (and command (concat "-" command))))
(doc (format "Popup window for '%s' command."
(guix-concat-strings (cons "guix" commands)
" ")))
(args (guix-command-arguments commands))
(switches (guix-command-sort-arguments
(guix-command-switches args)))
(options (guix-command-sort-arguments
(guix-command-options args)))
(popup-actions (guix-command-sort-arguments
(guix-command-actions args)))
(execute-actions (unless popup-actions
(guix-command-execute-arguments commands)))
(actions (or popup-actions execute-actions)))
(if popup-actions
(guix-command-generate-popup-actions popup-actions commands)
(guix-command-generate-execute-actions execute-actions commands))
(eval
`(guix-define-popup ,name
,doc
'guix-commands
:man-page ,man-page
:switches ',(mapcar #'guix-command-switch->popup-switch switches)
:options ',(mapcar #'guix-command-option->popup-option options)
:actions ',(mapcar #'guix-command-action->popup-action actions)
:max-action-columns 4))))
;;;###autoload (autoload 'guix "guix-command" "Popup window for 'guix'." t)
(guix-command-define-popup-action guix)
(defalias 'guix-edit-action #'guix-edit)
(defvar guix-command-font-lock-keywords
(eval-when-compile
`((,(rx "("
(group "guix-command-define-"
(or "popup-action"
"execute-action"
"argument-improver"))
symbol-end
(zero-or-more blank)
(zero-or-one
(group (one-or-more (or (syntax word) (syntax symbol))))))
(1 font-lock-keyword-face)
(2 font-lock-function-name-face nil t)))))
(font-lock-add-keywords 'emacs-lisp-mode guix-command-font-lock-keywords)
(provide 'guix-command)
;;; guix-command.el ends here
+38
View File
@@ -0,0 +1,38 @@
;;; guix-config.el --- Compile-time configuration of Guix.
;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Code:
(defconst guix-config-emacs-interface-directory
(replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@"))
(defconst guix-config-state-directory
;; This must match `NIX_STATE_DIR' as defined in `daemon.am'.
(or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix"))
(defconst guix-config-guile-program "@GUILE@"
"Name of the 'guile' executable defined at configure time.")
(defconst guix-config-dot-program "@DOT_USER_PROGRAM@"
"Name of the 'dot' executable defined at configure time.")
(provide 'guix-config)
;;; guix-config.el ends here
+377
View File
@@ -0,0 +1,377 @@
;;; guix-devel.el --- Development tools -*- lexical-binding: t -*-
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides commands useful for developing Guix (or even
;; arbitrary Guile code) with Geiser.
;;; Code:
(require 'lisp-mode)
(require 'guix-guile)
(require 'guix-geiser)
(require 'guix-utils)
(require 'guix-base)
(defgroup guix-devel nil
"Settings for Guix development utils."
:group 'guix)
(defgroup guix-devel-faces nil
"Faces for `guix-devel-mode'."
:group 'guix-devel
:group 'guix-faces)
(defface guix-devel-modify-phases-keyword
'((t :inherit font-lock-preprocessor-face))
"Face for a `modify-phases' keyword ('delete', 'replace', etc.)."
:group 'guix-devel-faces)
(defface guix-devel-gexp-symbol
'((t :inherit font-lock-keyword-face))
"Face for gexp symbols ('#~', '#$', etc.).
See Info node `(guix) G-Expressions'."
:group 'guix-devel-faces)
(defcustom guix-devel-activate-mode t
"If non-nil, then `guix-devel-mode' is automatically activated
in Scheme buffers."
:type 'boolean
:group 'guix-devel)
(defun guix-devel-use-modules (&rest modules)
"Use guile MODULES."
(apply #'guix-geiser-call "use-modules" modules))
(defun guix-devel-use-module (&optional module)
"Use guile MODULE in the current Geiser REPL.
MODULE is a string with the module name - e.g., \"(ice-9 match)\".
Interactively, use the module defined by the current scheme file."
(interactive (list (guix-guile-current-module)))
(guix-devel-use-modules module)
(message "Using %s module." module))
(defun guix-devel-copy-module-as-kill ()
"Put the name of the current guile module into `kill-ring'."
(interactive)
(guix-copy-as-kill (guix-guile-current-module)))
(defun guix-devel-setup-repl (&optional repl)
"Setup REPL for using `guix-devel-...' commands."
(guix-devel-use-modules "(guix monad-repl)"
"(guix scripts)"
"(guix store)"
"(guix ui)")
;; Without this workaround, the warning/build output disappears. See
;; <https://github.com/jaor/geiser/issues/83> for details.
(guix-geiser-eval-in-repl-synchronously
"(begin
(guix-warning-port (current-warning-port))
(current-build-output-port (current-error-port)))"
repl 'no-history 'no-display))
(defvar guix-devel-repl-processes nil
"List of REPL processes configured by `guix-devel-setup-repl'.")
(defun guix-devel-setup-repl-maybe (&optional repl)
"Setup (if needed) REPL for using `guix-devel-...' commands."
(let ((process (get-buffer-process (or repl (guix-geiser-repl)))))
(when (and process
(not (memq process guix-devel-repl-processes)))
(guix-devel-setup-repl repl)
(push process guix-devel-repl-processes))))
(defmacro guix-devel-with-definition (def-var &rest body)
"Run BODY with the current guile definition bound to DEF-VAR.
Bind DEF-VAR variable to the name of the current top-level
definition, setup the current REPL, use the current module, and
run BODY."
(declare (indent 1) (debug (symbolp body)))
`(let ((,def-var (guix-guile-current-definition)))
(guix-devel-setup-repl-maybe)
(guix-devel-use-modules (guix-guile-current-module))
,@body))
(defun guix-devel-build-package-definition ()
"Build a package defined by the current top-level variable definition."
(interactive)
(guix-devel-with-definition def
(when (or (not guix-operation-confirm)
(guix-operation-prompt (format "Build '%s'?" def)))
(guix-geiser-eval-in-repl
(concat ",run-in-store "
(guix-guile-make-call-expression
"build-package" def
"#:use-substitutes?" (guix-guile-boolean
guix-use-substitutes)
"#:dry-run?" (guix-guile-boolean guix-dry-run)))))))
(defun guix-devel-build-package-source ()
"Build the source of the current package definition."
(interactive)
(guix-devel-with-definition def
(when (or (not guix-operation-confirm)
(guix-operation-prompt
(format "Build '%s' package source?" def)))
(guix-geiser-eval-in-repl
(concat ",run-in-store "
(guix-guile-make-call-expression
"build-package-source" def
"#:use-substitutes?" (guix-guile-boolean
guix-use-substitutes)
"#:dry-run?" (guix-guile-boolean guix-dry-run)))))))
(defun guix-devel-lint-package ()
"Check the current package.
See Info node `(guix) Invoking guix lint' for details."
(interactive)
(guix-devel-with-definition def
(guix-devel-use-modules "(guix scripts lint)")
(when (or (not guix-operation-confirm)
(y-or-n-p (format "Lint '%s' package?" def)))
(guix-geiser-eval-in-repl
(format "(run-checkers %s)" def)))))
;;; Font-lock
(defvar guix-devel-modify-phases-keyword-regexp
(rx (+ word))
"Regexp for a 'modify-phases' keyword ('delete', 'replace', etc.).")
(defun guix-devel-modify-phases-font-lock-matcher (limit)
"Find a 'modify-phases' keyword.
This function is used as a MATCHER for `font-lock-keywords'."
(ignore-errors
(down-list)
(or (re-search-forward guix-devel-modify-phases-keyword-regexp
limit t)
(set-match-data nil))
(up-list)
t))
(defun guix-devel-modify-phases-font-lock-pre ()
"Skip the next sexp, and return the end point of the current list.
This function is used as a PRE-MATCH-FORM for `font-lock-keywords'
to find 'modify-phases' keywords."
(let ((in-comment? (nth 4 (syntax-ppss))))
;; If 'modify-phases' is commented, do not try to search for its
;; keywords.
(unless in-comment?
(ignore-errors (forward-sexp))
(save-excursion (up-list) (point)))))
(defconst guix-devel-keywords
'("call-with-compressed-output-port"
"call-with-container"
"call-with-decompressed-port"
"call-with-derivation-narinfo"
"call-with-derivation-substitute"
"call-with-error-handling"
"call-with-temporary-directory"
"call-with-temporary-output-file"
"define-enumerate-type"
"define-gexp-compiler"
"define-lift"
"define-monad"
"define-operation"
"define-record-type*"
"emacs-substitute-sexps"
"emacs-substitute-variables"
"mbegin"
"mlet"
"mlet*"
"modify-services"
"munless"
"mwhen"
"run-with-state"
"run-with-store"
"signature-case"
"substitute*"
"substitute-keyword-arguments"
"test-assertm"
"use-package-modules"
"use-service-modules"
"use-system-modules"
"with-atomic-file-output"
"with-atomic-file-replacement"
"with-derivation-narinfo"
"with-derivation-substitute"
"with-directory-excursion"
"with-error-handling"
"with-monad"
"with-mutex"
"with-store"))
(defvar guix-devel-font-lock-keywords
`((,(rx (or "#~" "#$" "#$@" "#+" "#+@")) .
'guix-devel-gexp-symbol)
(,(guix-guile-keyword-regexp (regexp-opt guix-devel-keywords))
(1 'font-lock-keyword-face))
(,(guix-guile-keyword-regexp "modify-phases")
(1 'font-lock-keyword-face)
(guix-devel-modify-phases-font-lock-matcher
(guix-devel-modify-phases-font-lock-pre)
nil
(0 'guix-devel-modify-phases-keyword nil t))))
"A list of `font-lock-keywords' for `guix-devel-mode'.")
;;; Indentation
(defmacro guix-devel-scheme-indent (&rest rules)
"Set `scheme-indent-function' according to RULES.
Each rule should have a form (SYMBOL VALUE). See `put' for details."
(declare (indent 0))
`(progn
,@(mapcar (lambda (rule)
`(put ',(car rule) 'scheme-indent-function ,(cadr rule)))
rules)))
(defun guix-devel-indent-package (state indent-point normal-indent)
"Indentation rule for 'package' form."
(let* ((package-eol (line-end-position))
(count (if (and (ignore-errors (down-list) t)
(< (point) package-eol)
(looking-at "inherit\\>"))
1
0)))
(lisp-indent-specform count state indent-point normal-indent)))
(defun guix-devel-indent-modify-phases-keyword (count)
"Return indentation function for 'modify-phases' keywords."
(lambda (state indent-point normal-indent)
(when (ignore-errors
(goto-char (nth 1 state)) ; start of keyword sexp
(backward-up-list)
(looking-at "(modify-phases\\>"))
(lisp-indent-specform count state indent-point normal-indent))))
(defalias 'guix-devel-indent-modify-phases-keyword-1
(guix-devel-indent-modify-phases-keyword 1))
(defalias 'guix-devel-indent-modify-phases-keyword-2
(guix-devel-indent-modify-phases-keyword 2))
(guix-devel-scheme-indent
(bag 0)
(build-system 0)
(call-with-compressed-output-port 2)
(call-with-container 1)
(call-with-decompressed-port 2)
(call-with-error-handling 0)
(container-excursion 1)
(emacs-batch-edit-file 1)
(emacs-batch-eval 0)
(emacs-substitute-sexps 1)
(emacs-substitute-variables 1)
(file-system 0)
(graft 0)
(manifest-entry 0)
(manifest-pattern 0)
(mbegin 1)
(mlet 2)
(mlet* 2)
(modify-phases 1)
(modify-services 1)
(munless 1)
(mwhen 1)
(operating-system 0)
(origin 0)
(package 'guix-devel-indent-package)
(run-with-state 1)
(run-with-store 1)
(signature-case 1)
(substitute* 1)
(substitute-keyword-arguments 1)
(test-assertm 1)
(with-atomic-file-output 1)
(with-derivation-narinfo 1)
(with-derivation-substitute 2)
(with-directory-excursion 1)
(with-error-handling 0)
(with-monad 1)
(with-mutex 1)
(with-store 1)
(wrap-program 1)
;; 'modify-phases' keywords:
(replace 'guix-devel-indent-modify-phases-keyword-1)
(add-after 'guix-devel-indent-modify-phases-keyword-2)
(add-before 'guix-devel-indent-modify-phases-keyword-2))
(defvar guix-devel-keys-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "b") 'guix-devel-build-package-definition)
(define-key map (kbd "s") 'guix-devel-build-package-source)
(define-key map (kbd "l") 'guix-devel-lint-package)
(define-key map (kbd "k") 'guix-devel-copy-module-as-kill)
(define-key map (kbd "u") 'guix-devel-use-module)
map)
"Keymap with subkeys for `guix-devel-mode-map'.")
(defvar guix-devel-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c .") guix-devel-keys-map)
map)
"Keymap for `guix-devel-mode'.")
;;;###autoload
(define-minor-mode guix-devel-mode
"Minor mode for `scheme-mode' buffers.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise. If called from Lisp, enable the mode
if ARG is omitted or nil.
When Guix Devel mode is enabled, it provides the following key
bindings:
\\{guix-devel-mode-map}"
:init-value nil
:lighter " Guix"
:keymap guix-devel-mode-map
(if guix-devel-mode
(progn
(setq-local font-lock-multiline t)
(font-lock-add-keywords nil guix-devel-font-lock-keywords))
(setq-local font-lock-multiline nil)
(font-lock-remove-keywords nil guix-devel-font-lock-keywords))
(when font-lock-mode
(font-lock-fontify-buffer)))
;;;###autoload
(defun guix-devel-activate-mode-maybe ()
"Activate `guix-devel-mode' depending on
`guix-devel-activate-mode' variable."
(when guix-devel-activate-mode
(guix-devel-mode)))
(defvar guix-devel-emacs-font-lock-keywords
(eval-when-compile
`((,(rx "(" (group "guix-devel-with-definition") symbol-end) . 1))))
(font-lock-add-keywords 'emacs-lisp-mode
guix-devel-emacs-font-lock-keywords)
(provide 'guix-devel)
;;; guix-devel.el ends here
+88
View File
@@ -0,0 +1,88 @@
;;; guix-external.el --- External programs -*- lexical-binding: t -*-
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides auxiliary code for running external programs.
;;; Code:
(require 'guix-config)
(defgroup guix-external nil
"Settings for external programs."
:group 'guix)
(defcustom guix-guile-program guix-config-guile-program
"Name of the 'guile' executable used for Guix REPL.
May be either a string (the name of the executable) or a list of
strings of the form:
(NAME . ARGS)
Where ARGS is a list of arguments to the guile program."
:type 'string
:group 'guix-external)
(defcustom guix-dot-program
(if (file-name-absolute-p guix-config-dot-program)
guix-config-dot-program
(executable-find "dot"))
"Name of the 'dot' executable."
:type 'string
:group 'guix-external)
(defcustom guix-dot-default-arguments
'("-Tpng")
"Default arguments for 'dot' program."
:type '(repeat string)
:group 'guix-external)
(defcustom guix-dot-file-name-function #'guix-png-file-name
"Function used to define a file name of a temporary 'dot' file.
The function is called without arguments."
:type '(choice (function-item guix-png-file-name)
(function :tag "Other function"))
:group 'guix-external)
(defun guix-dot-arguments (output-file &rest args)
"Return a list of dot arguments for writing a graph into OUTPUT-FILE.
If ARGS is nil, use `guix-dot-default-arguments'."
(or guix-dot-program
(error (concat "Couldn't find 'dot'.\n"
"Set guix-dot-program to a proper value")))
(apply #'list
guix-dot-program
(concat "-o" output-file)
(or args guix-dot-default-arguments)))
(defun guix-dot-file-name ()
"Call `guix-dot-file-name-function'."
(funcall guix-dot-file-name-function))
(defun guix-png-file-name ()
"Return '.png' file name in the `temporary-file-directory'."
(concat (make-temp-name
(concat (file-name-as-directory temporary-file-directory)
"guix-emacs-graph-"))
".png"))
(provide 'guix-external)
;;; guix-external.el ends here
+114
View File
@@ -0,0 +1,114 @@
;;; guix-geiser.el --- Interacting with Geiser -*- lexical-binding: t -*-
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides functions to evaluate guile code using Geiser.
;;; Code:
(require 'geiser-mode)
(require 'guix-guile)
(defun guix-geiser-repl ()
"Return the current Geiser REPL."
(or geiser-repl--repl
(geiser-repl--repl/impl 'guile)
(error "Geiser REPL not found")))
(defun guix-geiser-eval (str &optional repl)
"Evaluate STR with guile expression using Geiser REPL.
If REPL is nil, use the current Geiser REPL.
Return a list of strings with result values of evaluation."
(with-current-buffer (or repl (guix-geiser-repl))
(let ((res (geiser-eval--send/wait `(:eval (:scm ,str)))))
(if (geiser-eval--retort-error res)
(error "Error in evaluating guile expression: %s"
(geiser-eval--retort-output res))
(cdr (assq 'result res))))))
(defun guix-geiser-eval-read (str &optional repl)
"Evaluate STR with guile expression using Geiser REPL.
Return elisp expression of the first result value of evaluation."
;; Parsing scheme code with elisp `read' is probably not the best idea.
(read (replace-regexp-in-string
"#f\\|#<unspecified>" "nil"
(replace-regexp-in-string
"#t" "t" (car (guix-geiser-eval str repl))))))
(defun guix-repl-send (cmd &optional save-history)
"Send CMD input string to the current REPL buffer.
This is the same as `geiser-repl--send', but with SAVE-HISTORY
argument. If SAVE-HISTORY is non-nil, save CMD in the REPL
history."
(when (and cmd (eq major-mode 'geiser-repl-mode))
(geiser-repl--prepare-send)
(goto-char (point-max))
(comint-kill-input)
(insert cmd)
(let ((comint-input-filter (if save-history
comint-input-filter
'ignore)))
(comint-send-input nil t))))
(defun guix-geiser-eval-in-repl (str &optional repl no-history no-display)
"Switch to Geiser REPL and evaluate STR with guile expression there.
If NO-HISTORY is non-nil, do not save STR in the REPL history.
If NO-DISPLAY is non-nil, do not switch to the REPL buffer."
(let ((repl (or repl (guix-geiser-repl))))
(with-current-buffer repl
;; XXX Since Geiser 0.8, `geiser-repl--send' has SAVE-HISTORY
;; argument, so use this function eventually and remove
;; `guix-repl-send'.
(guix-repl-send str (not no-history)))
(unless no-display
(geiser-repl--switch-to-buffer repl))))
(defun guix-geiser-eval-in-repl-synchronously (str &optional repl
no-history no-display)
"Evaluate STR in Geiser REPL synchronously, i.e. wait until the
REPL operation will be finished.
See `guix-geiser-eval-in-repl' for the meaning of arguments."
(let* ((repl (if repl (get-buffer repl) (guix-geiser-repl)))
(running? nil)
(filter (lambda (output)
(setq running?
(and (get-buffer-process repl)
(not (guix-guile-prompt? output))))))
(comint-output-filter-functions
(cons filter comint-output-filter-functions)))
(guix-geiser-eval-in-repl str repl no-history no-display)
(while running?
(sleep-for 0.1))))
(defun guix-geiser-call (proc &rest args)
"Call (PROC ARGS ...) synchronously using the current Geiser REPL.
PROC and ARGS should be strings."
(guix-geiser-eval
(apply #'guix-guile-make-call-expression proc args)))
(defun guix-geiser-call-in-repl (proc &rest args)
"Call (PROC ARGS ...) in the current Geiser REPL.
PROC and ARGS should be strings."
(guix-geiser-eval-in-repl
(apply #'guix-guile-make-call-expression proc args)))
(provide 'guix-geiser)
;;; guix-geiser.el ends here
+98
View File
@@ -0,0 +1,98 @@
;;; guix-guile.el --- Auxiliary tools for working with guile code -*- lexical-binding: t -*-
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides functions for parsing guile code, making guile
;; expressions, etc.
;;; Code:
(require 'geiser-guile)
(defvar guix-guile-definition-regexp
(rx bol "(define"
(zero-or-one "*")
(zero-or-one "-public")
(one-or-more space)
(zero-or-one "(")
(group (one-or-more (or word (syntax symbol)))))
"Regexp used to find the guile definition.")
(defun guix-guile-current-definition ()
"Return string with name of the current top-level guile definition."
(save-excursion
(beginning-of-defun)
(if (looking-at guix-guile-definition-regexp)
(match-string-no-properties 1)
(error "Couldn't find the current definition"))))
(defun guix-guile-current-module ()
"Return a string with the current guile module.
Return nil, if current buffer does not define a module."
;; Modified version of `geiser-guile--get-module'.
(save-excursion
(geiser-syntax--pop-to-top)
(when (or (re-search-backward geiser-guile--module-re nil t)
(looking-at geiser-guile--library-re)
(re-search-forward geiser-guile--module-re nil t))
(match-string-no-properties 1))))
(defun guix-guile-boolean (arg)
"Return a string with guile boolean value.
Transform elisp ARG (nil or non-nil) to the guile boolean (#f or #t)."
(concat "#" (prin1-to-string (if arg 't 'f))))
(defun guix-guile-keyword-regexp (keyword)
"Return regexp to find guile KEYWORD."
(format "(\\(%s\\)\\_>" keyword))
(defun guix-guile-make-call-expression (proc &rest args)
"Return \"(PROC ARGS ...)\" string.
PROC and ARGS should be strings."
(format "(%s %s)"
proc
(mapconcat #'identity args " ")))
(defun guix-make-guile-expression (fun &rest args)
"Return string containing a guile expression for calling FUN with ARGS."
(format "(%S %s)" fun
(mapconcat
(lambda (arg)
(cond
((null arg) "'()")
((or (eq arg t)
;; An ugly hack to separate 'false' from nil.
(equal arg 'f)
(keywordp arg))
(concat "#" (prin1-to-string arg t)))
((or (symbolp arg) (listp arg))
(concat "'" (prin1-to-string arg)))
(t (prin1-to-string arg))))
args
" ")))
(defun guix-guile-prompt? (string)
"Return non-nil, if STRING contains a Guile prompt."
(or (string-match-p geiser-guile--prompt-regexp string)
(string-match-p geiser-guile--debugger-prompt-regexp string)))
(provide 'guix-guile)
;;; guix-guile.el ends here
+108
View File
@@ -0,0 +1,108 @@
;;; guix-help-vars.el --- Variables related to --help output
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides regular expressions to parse various "guix
;; ... --help" outputs and lists of non-receivable items (system types,
;; hash formats, etc.).
;;; Code:
;;; Regexps for parsing "guix ..." outputs
(defvar guix-help-parse-option-regexp
(rx bol " "
(zero-or-one (group "-" (not (any "- ")))
",")
(one-or-more " ")
(group "--" (one-or-more (or wordchar "-")))
(group (zero-or-one "[")
(zero-or-one "="))
(zero-or-more (not space))
(one-or-more space)
(group (one-or-more any)))
"Common regexp used to find command options.")
(defvar guix-help-parse-command-regexp
(rx bol " "
(group wordchar (one-or-more (or wordchar "-"))))
"Regexp used to find guix commands.
'Command' means any option not prefixed with '-'. For example,
guix subcommand, system action, importer, etc.")
(defvar guix-help-parse-long-option-regexp
(rx (or " " ", ")
(group "--" (one-or-more (or wordchar "-"))
(zero-or-one "=")))
"Regexp used to find long options.")
(defvar guix-help-parse-short-option-regexp
(rx bol (one-or-more blank)
"-" (group (not (any "- "))))
"Regexp used to find short options.")
(defvar guix-help-parse-package-regexp
(rx bol (group (one-or-more (not blank))))
"Regexp used to find names of the packages.")
(defvar guix-help-parse-list-regexp
(rx bol (zero-or-more blank) "- "
(group (one-or-more (or wordchar "-"))))
"Regexp used to find various lists (lint checkers, graph types).")
(defvar guix-help-parse-regexp-group 1
"Parenthesized expression of regexps used to find commands and
options.")
;;; Non-receivable lists of system types, hash formats, etc.
(defvar guix-help-system-types
'("x86_64-linux" "i686-linux" "armhf-linux" "mips64el-linux")
"List of supported systems.")
(defvar guix-help-source-types
'("package" "all" "transitive")
"List of supported sources types.")
(defvar guix-help-hash-formats
'("nix-base32" "base32" "base16" "hex" "hexadecimal")
"List of supported hash formats.")
(defvar guix-help-refresh-subsets
'("core" "non-core")
"List of supported 'refresh' subsets.")
(defvar guix-help-key-policies
'("interactive" "always" "never")
"List of supported key download policies.")
(defvar guix-help-verify-options
'("repair" "contents")
"List of supported 'verify' options")
(defvar guix-help-elpa-archives
'("gnu" "melpa" "melpa-stable")
"List of supported ELPA archives.")
(provide 'guix-help-vars)
;;; guix-help-vars.el ends here
+51 -46
View File
@@ -33,25 +33,30 @@
:prefix "guix-info-"
:group 'guix)
(defgroup guix-info-faces nil
"Faces for info buffers."
:group 'guix-info
:group 'guix-faces)
(defface guix-info-param-title
'((t :inherit font-lock-type-face))
"Face used for titles of parameters."
:group 'guix-info)
:group 'guix-info-faces)
(defface guix-info-file-path
'((t :inherit link))
"Face used for file paths."
:group 'guix-info)
:group 'guix-info-faces)
(defface guix-info-url
'((t :inherit link))
"Face used for URLs."
:group 'guix-info)
:group 'guix-info-faces)
(defface guix-info-time
'((t :inherit font-lock-constant-face))
"Face used for timestamps."
:group 'guix-info)
:group 'guix-info-faces)
(defface guix-info-action-button
'((((type x w32 ns) (class color))
@@ -59,7 +64,7 @@
:background "lightgrey" :foreground "black")
(t :inherit button))
"Face used for action buttons."
:group 'guix-info)
:group 'guix-info-faces)
(defface guix-info-action-button-mouse
'((((type x w32 ns) (class color))
@@ -67,7 +72,7 @@
:background "grey90" :foreground "black")
(t :inherit highlight))
"Mouse face used for action buttons."
:group 'guix-info)
:group 'guix-info-faces)
(defcustom guix-info-ignore-empty-vals nil
"If non-nil, do not display parameters with nil values."
@@ -178,13 +183,13 @@ The order of displayed parameters is the same as in this list.")
(defun guix-info-get-insert-methods (entry-type param)
"Return list of insert methods for parameter PARAM of ENTRY-TYPE.
See `guix-info-insert-methods' for details."
(guix-get-key-val guix-info-insert-methods
entry-type param))
(guix-assq-value guix-info-insert-methods
entry-type param))
(defun guix-info-get-displayed-params (entry-type)
"Return parameters of ENTRY-TYPE that should be displayed."
(guix-get-key-val guix-info-displayed-params
entry-type))
(guix-assq-value guix-info-displayed-params
entry-type))
(defun guix-info-get-indent (&optional level)
"Return `guix-info-indent' \"multiplied\" by LEVEL spaces.
@@ -232,7 +237,7 @@ Use `guix-info-insert-ENTRY-TYPE-function' or
"Insert title and value of a PARAM at point.
ENTRY is alist with parameters and their values.
ENTRY-TYPE is a type of ENTRY."
(let ((val (guix-get-key-val entry param)))
(let ((val (guix-assq-value entry param)))
(unless (and guix-info-ignore-empty-vals (null val))
(let* ((title (guix-get-param-title entry-type param))
(insert-methods (guix-info-get-insert-methods entry-type param))
@@ -414,43 +419,43 @@ See `insert-text-button' for the meaning of PROPERTIES."
'((((type tty pc) (class color)) :weight bold)
(t :height 1.6 :weight bold :inherit variable-pitch))
"Face for package name and version headings."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-name
'((t :inherit font-lock-keyword-face))
"Face used for a name of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-name-button
'((t :inherit button))
"Face used for a full name that can be used to describe a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-version
'((t :inherit font-lock-builtin-face))
"Face used for a version of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-synopsis
'((((type tty pc) (class color)) :weight bold)
(t :height 1.1 :weight bold :inherit variable-pitch))
"Face used for a synopsis of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-description
'((t))
"Face used for a description of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-license
'((t :inherit font-lock-string-face))
"Face used for a license of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-location
'((t :inherit link))
"Face used for a location of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-installed-outputs
'((default :weight bold)
@@ -462,17 +467,17 @@ See `insert-text-button' for the meaning of PROPERTIES."
:foreground "green")
(t :underline t))
"Face used for installed outputs of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-uninstalled-outputs
'((t :weight bold))
"Face used for uninstalled outputs of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defface guix-package-info-obsolete
'((t :inherit error))
"Face used if a package is obsolete."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defvar guix-info-insert-package-function
#'guix-package-info-insert-with-heading
@@ -492,12 +497,12 @@ filling them to fit the window."
(defun guix-package-info-insert-heading (entry)
"Insert the heading for package ENTRY.
Show package name, version, and `guix-package-info-heading-params'."
(guix-format-insert (concat (guix-get-key-val entry 'name) " "
(guix-get-key-val entry 'version))
(guix-format-insert (concat (guix-assq-value entry 'name) " "
(guix-assq-value entry 'version))
'guix-package-info-heading)
(insert "\n\n")
(mapc (lambda (param)
(let ((val (guix-get-key-val entry param))
(let ((val (guix-assq-value entry param))
(face (guix-get-symbol (symbol-name param)
'info 'package)))
(when val
@@ -541,7 +546,7 @@ Face name is `guix-package-info-TYPE-inputs'."
(defface ,face
'((t :inherit guix-package-info-name-button))
,(concat "Face used for " type-desc "inputs of a package.")
:group 'guix-package-info)
:group 'guix-package-info-faces)
(define-button-type ',btn
:supertype 'guix-package-name
@@ -587,10 +592,10 @@ If nil, insert installed info in a default way.")
(defun guix-package-info-insert-outputs (outputs entry)
"Insert OUTPUTS from package ENTRY at point."
(and (guix-get-key-val entry 'obsolete)
(and (guix-assq-value entry 'obsolete)
(guix-package-info-insert-obsolete-text))
(and (guix-get-key-val entry 'non-unique)
(guix-get-key-val entry 'installed)
(and (guix-assq-value entry 'non-unique)
(guix-assq-value entry 'installed)
(guix-package-info-insert-non-unique-text
(guix-get-full-name entry)))
(insert "\n")
@@ -617,11 +622,11 @@ If nil, insert installed info in a default way.")
Make some fancy text with buttons and additional stuff if the
current OUTPUT is installed (if there is such output in
`installed' parameter of a package ENTRY)."
(let* ((installed (guix-get-key-val entry 'installed))
(obsolete (guix-get-key-val entry 'obsolete))
(let* ((installed (guix-assq-value entry 'installed))
(obsolete (guix-assq-value entry 'obsolete))
(installed-entry (cl-find-if
(lambda (entry)
(string= (guix-get-key-val entry 'output)
(string= (guix-assq-value entry 'output)
output))
installed))
(action-type (if installed-entry 'delete 'install)))
@@ -655,8 +660,8 @@ ENTRY is an alist with package info."
(current-buffer)))
(concat type-str " '" full-name "'")
'action-type type
'id (or (guix-get-key-val entry 'package-id)
(guix-get-key-val entry 'id))
'id (or (guix-assq-value entry 'package-id)
(guix-assq-value entry 'id))
'output output)))
(defun guix-package-info-insert-output-path (path &optional _)
@@ -672,7 +677,7 @@ ENTRY is an alist with package info."
(defface guix-package-info-source
'((t :inherit link :underline nil))
"Face used for a source URL of a package."
:group 'guix-package-info)
:group 'guix-package-info-faces)
(defcustom guix-package-info-auto-find-source nil
"If non-nil, find a source file after pressing a \"Show\" button.
@@ -720,7 +725,7 @@ PACKAGE-ID is an ID of the package which source to show."
(entries (cl-substitute-if
new-entry
(lambda (entry)
(equal (guix-get-key-val entry 'id)
(equal (guix-assq-value entry 'id)
entry-id))
guix-entries
:count 1)))
@@ -746,9 +751,9 @@ SOURCE is a list of URLs."
(guix-info-insert-indent)
(if (null source)
(guix-format-insert nil)
(let* ((source-file (guix-get-key-val entry 'source-file))
(entry-id (guix-get-key-val entry 'id))
(package-id (or (guix-get-key-val entry 'package-id)
(let* ((source-file (guix-assq-value entry 'source-file))
(entry-id (guix-assq-value entry 'id))
(package-id (or (guix-assq-value entry 'package-id)
entry-id)))
(if (null source-file)
(guix-info-insert-action-button
@@ -798,13 +803,13 @@ If nil, insert output in a default way.")
"Insert output VERSION and obsolete text if needed at point."
(guix-info-insert-val-default version
'guix-package-info-version)
(and (guix-get-key-val entry 'obsolete)
(and (guix-assq-value entry 'obsolete)
(guix-package-info-insert-obsolete-text)))
(defun guix-output-info-insert-output (output entry)
"Insert OUTPUT and action buttons at point."
(let* ((installed (guix-get-key-val entry 'installed))
(obsolete (guix-get-key-val entry 'obsolete))
(let* ((installed (guix-assq-value entry 'installed))
(obsolete (guix-assq-value entry 'obsolete))
(action-type (if installed 'delete 'install)))
(guix-info-insert-val-default
output
@@ -825,17 +830,17 @@ If nil, insert output in a default way.")
(defface guix-generation-info-number
'((t :inherit font-lock-keyword-face))
"Face used for a number of a generation."
:group 'guix-generation-info)
:group 'guix-generation-info-faces)
(defface guix-generation-info-current
'((t :inherit guix-package-info-installed-outputs))
"Face used if a generation is the current one."
:group 'guix-generation-info)
:group 'guix-generation-info-faces)
(defface guix-generation-info-not-current
'((t nil))
"Face used if a generation is not the current one."
:group 'guix-generation-info)
:group 'guix-generation-info-faces)
(defvar guix-info-insert-generation-function nil
"Function used to insert a generation information.
@@ -874,7 +879,7 @@ If nil, insert generation in a default way.")
(guix-switch-to-generation guix-profile (button-get btn 'number)
(current-buffer)))
"Switch to this generation (make it the current one)"
'number (guix-get-key-val entry 'number))))
'number (guix-assq-value entry 'number))))
(provide 'guix-info)
+6 -5
View File
@@ -1,8 +1,5 @@
(require 'guix-autoloads)
(defvar guix-load-path
(replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@")
"Directory with scheme files for \"guix.el\" package.")
(require 'guix-emacs)
(defcustom guix-package-enable-at-startup t
"If non-nil, activate Emacs packages installed in a user profile.
@@ -12,8 +9,12 @@ avoid loading autoloads of Emacs packages installed in
:type 'boolean
:group 'guix)
(add-to-list 'load-path (guix-emacs-directory))
(when guix-package-enable-at-startup
(require 'guix-emacs)
(guix-emacs-load-autoloads 'all))
(add-hook 'scheme-mode-hook 'guix-devel-activate-mode-maybe)
(add-hook 'shell-mode-hook 'guix-build-log-minor-mode-activate-maybe)
(provide 'guix-init)
+34 -29
View File
@@ -1,6 +1,6 @@
;;; guix-list.el --- List buffers for displaying entries -*- lexical-binding: t -*-
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
@@ -35,10 +35,15 @@
:prefix "guix-list-"
:group 'guix)
(defgroup guix-list-faces nil
"Faces for list buffers."
:group 'guix-list
:group 'guix-faces)
(defface guix-list-file-path
'((t :inherit guix-info-file-path))
"Face used for file paths."
:group 'guix-list)
:group 'guix-list-faces)
(defcustom guix-list-describe-warning-count 10
"The maximum number of entries for describing without a warning.
@@ -110,13 +115,13 @@ parameters and their values).")
(defun guix-list-get-param-title (entry-type param)
"Return title of an ENTRY-TYPE entry parameter PARAM."
(or (guix-get-key-val guix-list-column-titles
entry-type param)
(or (guix-assq-value guix-list-column-titles
entry-type param)
(guix-get-param-title entry-type param)))
(defun guix-list-get-column-format (entry-type)
"Return column format for ENTRY-TYPE."
(guix-get-key-val guix-list-column-format entry-type))
(guix-assq-value guix-list-column-format entry-type))
(defun guix-list-get-displayed-params (entry-type)
"Return list of parameters of ENTRY-TYPE that should be displayed."
@@ -170,7 +175,7 @@ ENTRIES should have a form of `guix-entries'."
Values are taken from ENTRIES which should have the form of
`guix-entries'."
(mapcar (lambda (entry)
(list (guix-get-key-val entry 'id)
(list (guix-assq-value entry 'id)
(guix-list-get-tabulated-entry entry entry-type)))
entries))
@@ -180,9 +185,9 @@ Parameters are taken from ENTRY of ENTRY-TYPE."
(guix-list-make-tabulated-vector
entry-type
(lambda (param _)
(let ((val (guix-get-key-val entry param))
(fun (guix-get-key-val guix-list-column-value-methods
entry-type param)))
(let ((val (guix-assq-value entry param))
(fun (guix-assq-value guix-list-column-value-methods
entry-type param)))
(if fun
(funcall fun val entry)
(guix-get-string val))))))
@@ -221,7 +226,7 @@ VAL may be nil."
(guix-package-list-mode
(guix-list-current-id))
(guix-output-list-mode
(guix-get-key-val (guix-list-current-entry) 'package-id))))
(guix-assq-value (guix-list-current-entry) 'package-id))))
(defun guix-list-for-each-line (fun &rest args)
"Call FUN with ARGS for each entry line."
@@ -262,7 +267,7 @@ ARGS is a list of additional values.")
(defsubst guix-list-get-mark (name)
"Return mark character by its NAME."
(or (guix-get-key-val guix-list-mark-alist name)
(or (guix-assq-value guix-list-mark-alist name)
(error "Mark '%S' not found" name)))
(defsubst guix-list-get-mark-string (name)
@@ -355,8 +360,8 @@ With ARG, unmark all lines."
"Put marks according to `guix-list-mark-alist'."
(guix-list-for-each-line
(lambda ()
(let ((mark-name (car (guix-get-key-val guix-list-marked
(guix-list-current-id)))))
(let ((mark-name (car (guix-assq-value guix-list-marked
(guix-list-current-id)))))
(tabulated-list-put-tag
(guix-list-get-mark-string (or mark-name 'empty)))))))
@@ -472,7 +477,7 @@ With prefix (if ARG is non-nil), describe entries marked with any mark."
(defun guix-list-edit-package ()
"Go to the location of the current package."
(interactive)
(guix-edit-package (guix-list-current-package-id)))
(guix-edit (guix-list-current-package-id)))
;;; Displaying packages
@@ -488,12 +493,12 @@ With prefix (if ARG is non-nil), describe entries marked with any mark."
(defface guix-package-list-installed
'((t :inherit guix-package-info-installed-outputs))
"Face used if there are installed outputs for the current package."
:group 'guix-package-list)
:group 'guix-package-list-faces)
(defface guix-package-list-obsolete
'((t :inherit guix-package-info-obsolete))
"Face used if a package is obsolete."
:group 'guix-package-list)
:group 'guix-package-list-faces)
(defcustom guix-package-list-generation-marking-enabled nil
"If non-nil, allow putting marks in a list with 'generation packages'.
@@ -524,16 +529,16 @@ likely)."
Colorize it with `guix-package-list-installed' or
`guix-package-list-obsolete' if needed."
(guix-get-string name
(cond ((guix-get-key-val entry 'obsolete)
(cond ((guix-assq-value entry 'obsolete)
'guix-package-list-obsolete)
((guix-get-key-val entry 'installed)
((guix-assq-value entry 'installed)
'guix-package-list-installed))))
(defun guix-package-list-get-installed-outputs (installed &optional _)
"Return string with outputs from INSTALLED entries."
(guix-get-string
(mapcar (lambda (entry)
(guix-get-key-val entry 'output))
(guix-assq-value entry 'output))
installed)))
(defun guix-package-list-marking-check ()
@@ -562,7 +567,7 @@ be separated with \",\")."
(interactive "P")
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(all (guix-get-key-val entry 'outputs))
(all (guix-assq-value entry 'outputs))
(installed (guix-get-installed-outputs entry))
(available (cl-set-difference all installed :test #'string=)))
(or available
@@ -597,7 +602,7 @@ be separated with \",\")."
(installed (guix-get-installed-outputs entry)))
(or installed
(user-error "This package is not installed"))
(when (or (guix-get-key-val entry 'obsolete)
(when (or (guix-assq-value entry 'obsolete)
(y-or-n-p "This package is not obsolete. Try to upgrade it anyway? "))
(guix-package-list-mark-outputs
'upgrade installed
@@ -611,14 +616,14 @@ accept an entry as argument."
(guix-package-list-marking-check)
(let ((obsolete (cl-remove-if-not
(lambda (entry)
(guix-get-key-val entry 'obsolete))
(guix-assq-value entry 'obsolete))
guix-entries)))
(guix-list-for-each-line
(lambda ()
(let* ((id (guix-list-current-id))
(entry (cl-find-if
(lambda (entry)
(equal id (guix-get-key-val entry 'id)))
(equal id (guix-assq-value entry 'id)))
obsolete)))
(when entry
(funcall fun entry)))))))
@@ -682,7 +687,7 @@ The specification is suitable for `guix-process-package-actions'."
(interactive)
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-key-val entry 'installed)))
(installed (guix-assq-value entry 'installed)))
(if installed
(user-error "This output is already installed")
(guix-list--mark 'install t))))
@@ -692,7 +697,7 @@ The specification is suitable for `guix-process-package-actions'."
(interactive)
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-key-val entry 'installed)))
(installed (guix-assq-value entry 'installed)))
(if installed
(guix-list--mark 'delete t)
(user-error "This output is not installed"))))
@@ -702,10 +707,10 @@ The specification is suitable for `guix-process-package-actions'."
(interactive)
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-key-val entry 'installed)))
(installed (guix-assq-value entry 'installed)))
(or installed
(user-error "This output is not installed"))
(when (or (guix-get-key-val entry 'obsolete)
(when (or (guix-assq-value entry 'obsolete)
(y-or-n-p "This output is not obsolete. Try to upgrade it anyway? "))
(guix-list--mark 'upgrade t))))
@@ -777,8 +782,8 @@ VAL is a boolean value."
"Switch current profile to the generation at point."
(interactive)
(let* ((entry (guix-list-current-entry))
(current (guix-get-key-val entry 'current))
(number (guix-get-key-val entry 'number)))
(current (guix-assq-value entry 'current))
(number (guix-assq-value entry 'number)))
(if current
(user-error "This generation is already the current one")
(guix-switch-to-generation guix-profile number (current-buffer)))))
+91 -6
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,6 +45,7 @@
(use-modules
(ice-9 vlist)
(ice-9 match)
(ice-9 popen)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-11)
@@ -57,6 +58,8 @@
(guix licenses)
(guix utils)
(guix ui)
(guix scripts graph)
(guix scripts lint)
(guix scripts package)
(guix scripts pull)
(gnu packages))
@@ -68,7 +71,26 @@
(define (list-maybe obj)
(if (list? obj) obj (list obj)))
(define full-name->name+version package-name->name+version)
(define (output+error thunk)
"Call THUNK and return 2 values: output and error output as strings."
(let ((output-port (open-output-string))
(error-port (open-output-string)))
(with-output-to-port output-port
(lambda () (with-error-to-port error-port thunk)))
(let ((strings (list (get-output-string output-port)
(get-output-string error-port))))
(close-output-port output-port)
(close-output-port error-port)
(apply values strings))))
(define (full-name->name+version spec)
"Given package specification SPEC with or without output,
return two values: name and version. For example, for SPEC
\"foo-0.9.1b:lib\", return \"foo\" and \"0.9.1b\"."
(let-values (((name version output)
(package-specification->name+version+output spec)))
(values name version)))
(define (name+version->full-name name version)
(string-append name "-" version))
@@ -244,6 +266,10 @@ Example:
(filter-map (match-lambda
((_ (? package? package))
(package-full-name package))
((_ (? package? package) output)
(make-package-specification (package-name package)
(package-version package)
output))
(_ #f))
inputs))
@@ -279,7 +305,7 @@ Example:
(license . ,package-license-names)
(source . ,package-source-names)
(synopsis . ,package-synopsis)
(description . ,package-description)
(description . ,package-description-string)
(home-url . ,package-home-page)
(outputs . ,package-outputs)
(non-unique . ,(negate package-unique?))
@@ -887,9 +913,10 @@ GENERATIONS is a list of generation numbers."
(with-store store
(delete-generations store profile generations)))
(define (package-location-string package-id)
"Return a location string of a package PACKAGE-ID."
(and-let* ((package (package-by-id package-id))
(define (package-location-string id-or-name)
"Return a location string of a package with ID-OR-NAME."
(and-let* ((package (or (package-by-id id-or-name)
(first (packages-by-name id-or-name))))
(location (package-location package)))
(location->string location)))
@@ -927,3 +954,61 @@ GENERATIONS is a list of generation numbers."
(build-derivations store derivations))
(format #t "The source store path: ~a~%"
(package-source-derivation->store-path derivation))))))
;;; Executing guix commands
(define (guix-command . args)
"Run 'guix ARGS ...' command."
(catch 'quit
(lambda () (apply run-guix args))
(const #t)))
(define (guix-command-output . args)
"Return 2 strings with 'guix ARGS ...' output and error output."
(output+error
(lambda ()
(parameterize ((guix-warning-port (current-error-port)))
(apply guix-command args)))))
(define (help-string . commands)
"Return string with 'guix COMMANDS ... --help' output."
(apply guix-command-output `(,@commands "--help")))
(define (pipe-guix-output guix-args command-args)
"Run 'guix GUIX-ARGS ...' command and pipe its output to a shell command
defined by COMMAND-ARGS.
Return #t if the shell command was executed successfully."
(let ((pipe (apply open-pipe* OPEN_WRITE command-args)))
(with-output-to-port pipe
(lambda () (apply guix-command guix-args)))
(zero? (status:exit-val (close-pipe pipe)))))
;;; Lists of packages, lint checkers, etc.
(define (graph-type-names)
"Return a list of names of available graph node types."
(map node-type-name %node-types))
(define (refresh-updater-names)
"Return a list of names of available refresh updater types."
(map (@ (guix upstream) upstream-updater-name)
(@ (guix scripts refresh) %updaters)))
(define (lint-checker-names)
"Return a list of names of available lint checkers."
(map (lambda (checker)
(symbol->string (lint-checker-name checker)))
%checkers))
(define (package-names)
"Return a list of names of available packages."
(delete-duplicates
(fold-packages (lambda (pkg res)
(cons (package-name pkg) res))
'())))
;; See the comment to 'guix-package-names' function in "guix-popup.el".
(define (package-names-lists)
(map list (package-names)))
+4 -4
View File
@@ -1,6 +1,6 @@
;;; guix-messages.el --- Minibuffer messages
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
@@ -186,14 +186,14 @@
(defun guix-result-message (profile entries entry-type
search-type search-vals)
"Display an appropriate message after displaying ENTRIES."
(let* ((type-spec (guix-get-key-val guix-messages
entry-type search-type))
(let* ((type-spec (guix-assq-value guix-messages
entry-type search-type))
(fun-or-count-spec (car type-spec)))
(if (functionp fun-or-count-spec)
(funcall fun-or-count-spec profile entries search-vals)
(let* ((count (length entries))
(count-key (if (> count 1) 'many count))
(msg-spec (guix-get-key-val type-spec count-key))
(msg-spec (guix-assq-value type-spec count-key))
(msg (car msg-spec))
(args (cdr msg-spec)))
(mapc (lambda (subst)
+43 -73
View File
@@ -28,58 +28,7 @@
(require 'pcmpl-unix)
(require 'cl-lib)
(require 'guix-utils)
;;; Regexps for parsing various "guix ..." outputs
(defvar guix-pcomplete-parse-package-regexp
(rx bol (group (one-or-more (not blank))))
"Regexp used to find names of the packages.")
(defvar guix-pcomplete-parse-command-regexp
(rx bol " "
(group wordchar (one-or-more (or wordchar "-"))))
"Regexp used to find guix commands.
'Command' means any option not prefixed with '-'. For example,
guix subcommand, system action, importer, etc.")
(defvar guix-pcomplete-parse-long-option-regexp
(rx (or " " ", ")
(group "--" (one-or-more (or wordchar "-"))
(zero-or-one "=")))
"Regexp used to find long options.")
(defvar guix-pcomplete-parse-short-option-regexp
(rx bol (one-or-more blank)
"-" (group (not (any "- "))))
"Regexp used to find short options.")
(defvar guix-pcomplete-parse-linter-regexp
(rx bol "- " (group (one-or-more (or wordchar "-"))))
"Regexp used to find 'lint' checkers.")
(defvar guix-pcomplete-parse-regexp-group 1
"Parenthesized expression of regexps used to find commands and
options.")
;;; Non-receivable completions
(defvar guix-pcomplete-systems
'("x86_64-linux" "i686-linux" "armhf-linux" "mips64el-linux")
"List of supported systems.")
(defvar guix-pcomplete-hash-formats
'("nix-base32" "base32" "base16" "hex" "hexadecimal")
"List of supported hash formats.")
(defvar guix-pcomplete-refresh-subsets
'("core" "non-core")
"List of supported 'refresh' subsets.")
(defvar guix-pcomplete-key-policies
'("interactive" "always" "never")
"List of supported key download policies.")
(require 'guix-help-vars)
;;; Interacting with guix
@@ -104,9 +53,8 @@ Return a list of strings matching REGEXP.
GROUP specifies a parenthesized expression used in REGEXP."
(with-temp-buffer
(apply #'guix-pcomplete-run-guix args)
(goto-char (point-min))
(let (result)
(while (re-search-forward regexp nil t)
(guix-while-search regexp
(push (match-string-no-properties group) result))
(nreverse result))))
@@ -128,7 +76,7 @@ function call is returned."
(let* ((args '("--help"))
(args (if command (cons command args) args))
(res (apply #'guix-pcomplete-run-guix-and-search
,regexp guix-pcomplete-parse-regexp-group args)))
,regexp guix-help-parse-regexp-group args)))
,(if filter
`(funcall ,filter res)
'res))))
@@ -137,23 +85,23 @@ function call is returned."
"If COMMAND is nil, return a list of available guix commands.
If COMMAND is non-nil (it should be a string), return available
subcommands, actions, etc. for this guix COMMAND."
guix-pcomplete-parse-command-regexp)
guix-help-parse-command-regexp)
(guix-pcomplete-define-options-finder guix-pcomplete-long-options
"Return a list of available long options for guix COMMAND."
guix-pcomplete-parse-long-option-regexp)
guix-help-parse-long-option-regexp)
(guix-pcomplete-define-options-finder guix-pcomplete-short-options
"Return a string with available short options for guix COMMAND."
guix-pcomplete-parse-short-option-regexp
guix-help-parse-short-option-regexp
(lambda (list)
(mapconcat #'identity list "")))
(guix-concat-strings list "")))
(guix-memoized-defun guix-pcomplete-all-packages ()
"Return a list of all available Guix packages."
(guix-pcomplete-run-guix-and-search
guix-pcomplete-parse-package-regexp
guix-pcomplete-parse-regexp-group
guix-help-parse-package-regexp
guix-help-parse-regexp-group
"package" "--list-available"))
(guix-memoized-defun guix-pcomplete-installed-packages (&optional profile)
@@ -162,17 +110,31 @@ subcommands, actions, etc. for this guix COMMAND."
(list (concat "--profile=" profile))))
(args (append '("package" "--list-installed") args)))
(apply #'guix-pcomplete-run-guix-and-search
guix-pcomplete-parse-package-regexp
guix-pcomplete-parse-regexp-group
guix-help-parse-package-regexp
guix-help-parse-regexp-group
args)))
(guix-memoized-defun guix-pcomplete-lint-checkers ()
"Return a list of all available lint checkers."
(guix-pcomplete-run-guix-and-search
guix-pcomplete-parse-linter-regexp
guix-pcomplete-parse-regexp-group
guix-help-parse-list-regexp
guix-help-parse-regexp-group
"lint" "--list-checkers"))
(guix-memoized-defun guix-pcomplete-graph-types ()
"Return a list of all available graph types."
(guix-pcomplete-run-guix-and-search
guix-help-parse-list-regexp
guix-help-parse-regexp-group
"graph" "--list-types"))
(guix-memoized-defun guix-pcomplete-refresh-updaters ()
"Return a list of all available refresh updater types."
(guix-pcomplete-run-guix-and-search
guix-help-parse-list-regexp
guix-help-parse-regexp-group
"refresh" "--list-updaters"))
;;; Completing
@@ -254,8 +216,8 @@ group - the argument.")
"Complete argument for guix COMMAND."
(cond
((member command
'("archive" "build" "edit" "environment" "lint" "refresh"
"size"))
'("archive" "build" "challenge" "edit" "environment"
"graph" "lint" "refresh" "size"))
(while t
(pcomplete-here (guix-pcomplete-all-packages))))
(t (pcomplete-here* (pcomplete-entries)))))
@@ -276,7 +238,7 @@ INPUT is the current partially completed string."
((option? "-L" "--load-path")
(complete* (pcomplete-dirs)))
((string= "--key-download" option)
(complete* guix-pcomplete-key-policies))
(complete* guix-help-key-policies))
((command? "package")
(cond
@@ -305,19 +267,23 @@ INPUT is the current partially completed string."
((and (command? "archive" "build" "size")
(option? "-s" "--system"))
(complete* guix-pcomplete-systems))
(complete* guix-help-system-types))
((and (command? "build")
(option? "-r" "--root"))
(complete* (pcomplete-entries)))
((and (command? "graph")
(option? "-t" "--type"))
(complete* (guix-pcomplete-graph-types)))
((and (command? "environment")
(option? "-l" "--load"))
(complete* (pcomplete-entries)))
((and (command? "hash" "download")
(option? "-f" "--format"))
(complete* guix-pcomplete-hash-formats))
(complete* guix-help-hash-formats))
((and (command? "lint")
(option? "-c" "--checkers"))
@@ -328,9 +294,13 @@ INPUT is the current partially completed string."
(option? "-u" "--user"))
(complete* (pcmpl-unix-user-names)))
((and (command? "refresh")
(option? "-s" "--select"))
(complete* guix-pcomplete-refresh-subsets))
((command? "refresh")
(cond
((option? "-s" "--select")
(complete* guix-help-refresh-subsets))
((option? "-t" "--type")
(guix-pcomplete-complete-comma-args
(guix-pcomplete-refresh-updaters)))))
((and (command? "size")
(option? "-m" "--map-file"))
+48
View File
@@ -0,0 +1,48 @@
;;; guix-popup.el --- Popup windows library
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides `guix-define-popup' macro which is just an alias
;; to `magit-define-popup'. According to the manual (info
;; "(magit-popup) Defining prefix and suffix commands") `magit-popup'
;; library will eventually be superseded by a more general library.
;;; Code:
(require 'magit-popup)
(defalias 'guix-define-popup 'magit-define-popup)
(defvar guix-popup-font-lock-keywords
(eval-when-compile
`((,(rx "("
(group "guix-define-popup")
symbol-end
(zero-or-more blank)
(zero-or-one
(group (one-or-more (or (syntax word) (syntax symbol))))))
(1 font-lock-keyword-face)
(2 font-lock-function-name-face nil t)))))
(font-lock-add-keywords 'emacs-lisp-mode guix-popup-font-lock-keywords)
(provide 'guix-popup)
;;; guix-popup.el ends here
+17 -11
View File
@@ -1,6 +1,6 @@
;;; guix-prettify.el --- Prettify Guix store file names
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
@@ -47,9 +47,12 @@
;;; Code:
(require 'guix-utils)
(defgroup guix-prettify nil
"Prettify Guix store file names."
:prefix "guix-prettify-"
:group 'guix
:group 'font-lock
:group 'convenience)
@@ -74,9 +77,14 @@ disabling `guix-prettify-mode' a little faster."
:group 'guix-prettify)
(defcustom guix-prettify-regexp
(rx "/"
(or "nix" "gnu")
"/store/"
;; The following file names / URLs should be abbreviated:
;; /gnu/store/…-foo-0.1
;; /nix/store/…-foo-0.1
;; http://hydra.gnu.org/nar/…-foo-0.1
;; http://hydra.gnu.org/log/…-foo-0.1
(rx "/" (or "store" "nar" "log") "/"
;; Hash-parts do not include "e", "o", "u" and "t". See base32Chars
;; at <https://github.com/NixOS/nix/blob/master/src/libutil/hash.cc>
(group (= 32 (any "0-9" "a-d" "f-n" "p-s" "v-z"))))
@@ -136,13 +144,11 @@ enabling/disabling `guix-prettify-mode'. If nil, do nothing.")
(remove-text-properties (point-min)
(point-max)
'(composition nil))
(save-excursion
(goto-char (point-min))
(while (re-search-forward guix-prettify-regexp nil t)
(remove-text-properties
(match-beginning guix-prettify-regexp-group)
(match-end guix-prettify-regexp-group)
'(composition nil))))))))
(guix-while-search guix-prettify-regexp
(remove-text-properties
(match-beginning guix-prettify-regexp-group)
(match-end guix-prettify-regexp-group)
'(composition nil)))))))
;;;###autoload
(define-minor-mode guix-prettify-mode
@@ -19,12 +19,14 @@
;;; Code:
(require 'guix-config)
(defvar guix-user-profile
(expand-file-name "~/.guix-profile")
"User profile.")
(defvar guix-default-profile
(concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix")
(concat guix-config-state-directory
"/profiles/per-user/"
(getenv "USER")
"/guix-profile")
+182
View File
@@ -0,0 +1,182 @@
;;; guix-read.el --- Minibuffer readers
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provides functions to prompt a user for packages, system
;; types, hash formats and other guix related stuff.
;;; Code:
(require 'guix-help-vars)
(require 'guix-utils)
(require 'guix-base)
(defun guix-read-file-name (prompt &optional dir default-filename
mustmatch initial predicate)
"Read file name.
This function is similar to `read-file-name' except it also
expands the file name."
(expand-file-name (read-file-name prompt dir default-filename
mustmatch initial predicate)))
(defmacro guix-define-reader (name read-fun completions prompt)
"Define NAME function to read from minibuffer.
READ-FUN may be `completing-read', `completing-read-multiple' or
another function with the same arguments."
`(defun ,name (&optional prompt initial-contents)
(,read-fun ,(if prompt
`(or prompt ,prompt)
'prompt)
,completions nil nil initial-contents)))
(defmacro guix-define-readers (&rest args)
"Define reader functions.
ARGS should have a form [KEYWORD VALUE] ... The following
keywords are available:
- `completions-var' - variable used to get completions.
- `completions-getter' - function used to get completions.
- `single-reader', `single-prompt' - name of a function to read
a single value, and a prompt for it.
- `multiple-reader', `multiple-prompt' - name of a function to
read multiple values, and a prompt for it.
- `multiple-separator' - if specified, another
`<multiple-reader-name>-string' function returning a string
of multiple values separated the specified separator will be
defined."
(let (completions-var
completions-getter
single-reader
single-prompt
multiple-reader
multiple-prompt
multiple-separator)
;; Process the keyword args.
(while (keywordp (car args))
(pcase (pop args)
(`:completions-var (setq completions-var (pop args)))
(`:completions-getter (setq completions-getter (pop args)))
(`:single-reader (setq single-reader (pop args)))
(`:single-prompt (setq single-prompt (pop args)))
(`:multiple-reader (setq multiple-reader (pop args)))
(`:multiple-prompt (setq multiple-prompt (pop args)))
(`:multiple-separator (setq multiple-separator (pop args)))
(_ (pop args))))
(let ((completions
(cond ((and completions-var completions-getter)
`(or ,completions-var
(setq ,completions-var
(funcall ',completions-getter))))
(completions-var
completions-var)
(completions-getter
`(funcall ',completions-getter)))))
`(progn
,(when (and completions-var
(not (boundp completions-var)))
`(defvar ,completions-var nil))
,(when single-reader
`(guix-define-reader ,single-reader completing-read
,completions ,single-prompt))
,(when multiple-reader
`(guix-define-reader ,multiple-reader completing-read-multiple
,completions ,multiple-prompt))
,(when (and multiple-reader multiple-separator)
(let ((name (intern (concat (symbol-name multiple-reader)
"-string"))))
`(defun ,name (&optional prompt initial-contents)
(guix-concat-strings
(,multiple-reader prompt initial-contents)
,multiple-separator))))))))
(guix-define-readers
:completions-var guix-help-system-types
:single-reader guix-read-system-type
:single-prompt "System type: ")
(guix-define-readers
:completions-var guix-help-source-types
:single-reader guix-read-source-type
:single-prompt "Source type: ")
(guix-define-readers
:completions-var guix-help-hash-formats
:single-reader guix-read-hash-format
:single-prompt "Hash format: ")
(guix-define-readers
:completions-var guix-help-refresh-subsets
:single-reader guix-read-refresh-subset
:single-prompt "Refresh subset: ")
(guix-define-readers
:completions-getter guix-refresh-updater-names
:multiple-reader guix-read-refresh-updater-names
:multiple-prompt "Refresh updater,s: "
:multiple-separator ",")
(guix-define-readers
:completions-var guix-help-key-policies
:single-reader guix-read-key-policy
:single-prompt "Key policy: ")
(guix-define-readers
:completions-var guix-help-elpa-archives
:single-reader guix-read-elpa-archive
:single-prompt "ELPA archive: ")
(guix-define-readers
:completions-var guix-help-verify-options
:multiple-reader guix-read-verify-options
:multiple-prompt "Verify option,s: "
:multiple-separator ",")
(guix-define-readers
:completions-getter guix-graph-type-names
:single-reader guix-read-graph-type
:single-prompt "Graph node type: ")
(guix-define-readers
:completions-getter guix-lint-checker-names
:multiple-reader guix-read-lint-checker-names
:multiple-prompt "Linter,s: "
:multiple-separator ",")
(guix-define-readers
:completions-getter guix-package-names
:single-reader guix-read-package-name
:single-prompt "Package: "
:multiple-reader guix-read-package-names
:multiple-prompt "Package,s: "
:multiple-separator " ")
(provide 'guix-read)
;;; guix-read.el ends here
+114 -8
View File
@@ -128,6 +128,53 @@ split it into several short lines."
(fill-region (point-min) (point-max)))
(buffer-string)))
(defun guix-concat-strings (strings separator &optional location)
"Return new string by concatenating STRINGS with SEPARATOR.
If LOCATION is a symbol `head', add another SEPARATOR to the
beginning of the returned string; if `tail' - add SEPARATOR to
the end of the string; if nil, do not add SEPARATOR; otherwise
add both to the end and to the beginning."
(let ((str (mapconcat #'identity strings separator)))
(cond ((null location)
str)
((eq location 'head)
(concat separator str))
((eq location 'tail)
(concat str separator))
(t
(concat separator str separator)))))
(defun guix-shell-quote-argument (argument)
"Quote shell command ARGUMENT.
This function is similar to `shell-quote-argument', but less strict."
(if (equal argument "")
"''"
(replace-regexp-in-string
"\n" "'\n'"
(replace-regexp-in-string
(rx (not (any alnum "-=,./\n"))) "\\\\\\&" argument))))
(defun guix-command-symbol (&optional args)
"Return symbol by concatenating 'guix' and ARGS (strings)."
(intern (guix-concat-strings (cons "guix" args) "-")))
(defun guix-command-string (&optional args)
"Return 'guix ARGS ...' string with quoted shell arguments."
(let ((args (mapcar #'guix-shell-quote-argument args)))
(guix-concat-strings (cons "guix" args) " ")))
(defun guix-copy-as-kill (string &optional no-message?)
"Put STRING into `kill-ring'.
If NO-MESSAGE? is non-nil, do not display a message about it."
(kill-new string)
(unless no-message?
(message "'%s' has been added to kill ring." string)))
(defun guix-copy-command-as-kill (args &optional no-message?)
"Put 'guix ARGS ...' string into `kill-ring'.
See also `guix-copy-as-kill'."
(guix-copy-as-kill (guix-command-string args) no-message?))
(defun guix-completing-read-multiple (prompt table &optional predicate
require-match initial-input
hist def inherit-input-method)
@@ -146,20 +193,58 @@ Return time value."
(require 'org)
(org-read-date nil t nil prompt))
(defun guix-get-key-val (alist &rest keys)
"Return value from ALIST by KEYS.
ALIST is alist of alists of alists ... which can be consecutively
accessed with KEYS."
(let ((val alist))
(dolist (key keys val)
(setq val (cdr (assq key val))))))
(defcustom guix-find-file-function #'find-file
"Function used to find a file.
The function is called by `guix-find-file' with a file name as a
single argument."
:type '(choice (function-item find-file)
(function-item org-open-file)
(function :tag "Other function"))
:group 'guix)
(defun guix-find-file (file)
"Find FILE if it exists."
(if (file-exists-p file)
(find-file file)
(funcall guix-find-file-function file)
(message "File '%s' does not exist." file)))
(defvar url-handler-regexp)
(defun guix-find-file-or-url (file-or-url)
"Find FILE-OR-URL."
(require 'url-handlers)
(let ((file-name-handler-alist
(cons (cons url-handler-regexp 'url-file-handler)
file-name-handler-alist)))
(find-file file-or-url)))
(defmacro guix-while-search (regexp &rest body)
"Evaluate BODY after each search for REGEXP in the current buffer."
(declare (indent 1) (debug t))
`(save-excursion
(goto-char (point-min))
(while (re-search-forward ,regexp nil t)
,@body)))
;;; Alist accessors
(defmacro guix-define-alist-accessor (name assoc-fun)
"Define NAME function to access alist values using ASSOC-FUN."
`(defun ,name (alist &rest keys)
,(format "Return value from ALIST by KEYS using `%s'.
ALIST is alist of alists of alists ... which can be consecutively
accessed with KEYS."
assoc-fun)
(if (or (null alist) (null keys))
alist
(apply #',name
(cdr (,assoc-fun (car keys) alist))
(cdr keys)))))
(guix-define-alist-accessor guix-assq-value assq)
(guix-define-alist-accessor guix-assoc-value assoc)
;;; Diff
@@ -199,6 +284,27 @@ See `defun' for the meaning of arguments."
(mapconcat #'symbol-name arglist " ")
docstring)))
(defmacro guix-memoized-defalias (symbol definition &optional docstring)
"Set SYMBOL's function definition to memoized version of DEFINITION."
(declare (doc-string 3) (indent 1))
`(defalias ',symbol
(guix-memoize #',definition)
,(or docstring
(format "Memoized version of `%S'." definition))))
(defvar guix-memoized-font-lock-keywords
(eval-when-compile
`((,(rx "("
(group "guix-memoized-" (or "defun" "defalias"))
symbol-end
(zero-or-more blank)
(zero-or-one
(group (one-or-more (or (syntax word) (syntax symbol))))))
(1 font-lock-keyword-face)
(2 font-lock-function-name-face nil t)))))
(font-lock-add-keywords 'emacs-lisp-mode guix-memoized-font-lock-keywords)
(provide 'guix-utils)
;;; guix-utils.el ends here
+16 -1
View File
@@ -1,6 +1,6 @@
;;; guix.el --- Interface for GNU Guix package manager
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;; Package-Requires: ((geiser "0.3"))
;; Keywords: tools
@@ -32,12 +32,18 @@
(require 'guix-list)
(require 'guix-info)
(require 'guix-utils)
(require 'guix-read)
(defgroup guix nil
"Interface for Guix package manager."
:prefix "guix-"
:group 'external)
(defgroup guix-faces nil
"Guix faces."
:group 'guix
:group 'faces)
(defcustom guix-list-single-package nil
"If non-nil, list a package even if it is the only matching result.
If nil, show a single package in the info buffer."
@@ -193,6 +199,15 @@ Interactively with prefix, prompt for PROFILE."
(float-time from)
(float-time to)))
;;;###autoload
(defun guix-edit (id-or-name)
"Edit (go to location of) package with ID-OR-NAME."
(interactive (list (guix-read-package-name)))
(let ((loc (guix-package-location id-or-name)))
(if loc
(guix-find-location loc)
(message "Couldn't find package location."))))
(provide 'guix)
;;; guix.el ends here
+19 -4
View File
@@ -18,15 +18,24 @@
# Bash completion for Guix commands.
declare _guix_available_packages
_guix_complete_available_package ()
{
local prefix="$1"
local packages="$(${COMP_WORDS[0]} package -A "^$prefix" | cut -f1)"
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
if [ -z "$_guix_available_packages" ]
then
# Cache the complete list because it rarely changes and makes
# completion much faster.
_guix_available_packages="$(${COMP_WORDS[0]} package -A | cut -f1)"
fi
COMPREPLY=($(compgen -W "$_guix_available_packages" -- "$prefix"))
}
_guix_complete_installed_package ()
{
# Here we do not cache the list of installed packages because that
# may change over time and the list is relatively small anyway.
local prefix="$1"
local packages="$(${COMP_WORDS[0]} package -I "^$prefix" | cut -f1)"
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
@@ -88,6 +97,8 @@ _guix_complete_file ()
COMPREPLY=()
}
declare _guix_subcommands
_guix_complete ()
{
local word_count=${#COMP_WORDS[*]}
@@ -105,8 +116,12 @@ _guix_complete ()
case $COMP_CWORD in
1)
local subcommands="$(guix --help | grep '^ ' | cut -c 2-)"
COMPREPLY=($(compgen -W "$subcommands" -- "$word_at_point"))
if [ -z "$_guix_subcommands" ]
then
# Cache the list of subcommands to speed things up.
_guix_subcommands="$(guix --help | grep '^ ' | cut -c 2-)"
fi
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
;;
*)
if _guix_is_command "package"
+87 -69
View File
@@ -25,7 +25,7 @@ GNU_SYSTEM_MODULES = \
gnu.scm \
gnu/artwork.scm \
gnu/packages.scm \
gnu/packages/aarddict.scm \
gnu/packages/abduco.scm \
gnu/packages/abiword.scm \
gnu/packages/acct.scm \
gnu/packages/acl.scm \
@@ -65,6 +65,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/commencement.scm \
gnu/packages/compression.scm \
gnu/packages/conkeror.scm \
gnu/packages/conky.scm \
gnu/packages/cook.scm \
gnu/packages/cpio.scm \
gnu/packages/cppi.scm \
@@ -87,6 +88,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/docbook.scm \
gnu/packages/doxygen.scm \
gnu/packages/dunst.scm \
gnu/packages/dvtm.scm \
gnu/packages/ebook.scm \
gnu/packages/ed.scm \
gnu/packages/elf.scm \
@@ -96,7 +98,9 @@ GNU_SYSTEM_MODULES = \
gnu/packages/enlightenment.scm \
gnu/packages/fcitx.scm \
gnu/packages/feh.scm \
gnu/packages/figlet.scm \
gnu/packages/file.scm \
gnu/packages/finance.scm \
gnu/packages/firmware.scm \
gnu/packages/fish.scm \
gnu/packages/flashing-tools.scm \
@@ -116,7 +120,6 @@ GNU_SYSTEM_MODULES = \
gnu/packages/gcc.scm \
gnu/packages/gd.scm \
gnu/packages/gdb.scm \
gnu/packages/gdbm.scm \
gnu/packages/geeqie.scm \
gnu/packages/gettext.scm \
gnu/packages/ghostscript.scm \
@@ -163,6 +166,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/jrnl.scm \
gnu/packages/julia.scm \
gnu/packages/kde.scm \
gnu/packages/kde-frameworks.scm \
gnu/packages/key-mon.scm \
gnu/packages/language.scm \
gnu/packages/less.scm \
@@ -234,10 +238,12 @@ GNU_SYSTEM_MODULES = \
gnu/packages/onc-rpc.scm \
gnu/packages/openbox.scm \
gnu/packages/openldap.scm \
gnu/packages/openstack.scm \
gnu/packages/orpheus.scm \
gnu/packages/ots.scm \
gnu/packages/package-management.scm \
gnu/packages/parallel.scm \
gnu/packages/password-utils.scm \
gnu/packages/patchutils.scm \
gnu/packages/pciutils.scm \
gnu/packages/pcre.scm \
@@ -319,6 +325,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/wget.scm \
gnu/packages/wicd.scm \
gnu/packages/wine.scm \
gnu/packages/wm.scm \
gnu/packages/wordnet.scm \
gnu/packages/wv.scm \
gnu/packages/wxwidgets.scm \
@@ -339,21 +346,24 @@ GNU_SYSTEM_MODULES = \
gnu/services/avahi.scm \
gnu/services/base.scm \
gnu/services/databases.scm \
gnu/services/dbus.scm \
gnu/services/desktop.scm \
gnu/services/dmd.scm \
gnu/services/lirc.scm \
gnu/services/networking.scm \
gnu/services/ssh.scm \
gnu/services/web.scm \
gnu/services/xorg.scm \
\
gnu/system.scm \
gnu/system/file-systems.scm \
gnu/system/grub.scm \
gnu/system/install.scm \
gnu/system/linux.scm \
gnu/system/linux-container.scm \
gnu/system/linux-initrd.scm \
gnu/system/locale.scm \
gnu/system/nss.scm \
gnu/system/pam.scm \
gnu/system/shadow.scm \
gnu/system/vm.scm \
\
@@ -375,6 +385,7 @@ dist_patch_DATA = \
gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch \
gnu/packages/patches/abiword-use-proper-png-api.patch \
gnu/packages/patches/abiword-wmf-version-lookup-fix.patch \
gnu/packages/patches/acl-hurd-path-max.patch \
gnu/packages/patches/aegis-constness-error.patch \
gnu/packages/patches/aegis-perl-tempdir1.patch \
gnu/packages/patches/aegis-perl-tempdir2.patch \
@@ -389,14 +400,18 @@ dist_patch_DATA = \
gnu/packages/patches/audacity-fix-ffmpeg-binding.patch \
gnu/packages/patches/automake-skip-amhello-tests.patch \
gnu/packages/patches/avahi-localstatedir.patch \
gnu/packages/patches/avidemux-install-to-lib.patch \
gnu/packages/patches/avrdude-fix-libusb.patch \
gnu/packages/patches/bash-completion-directories.patch \
gnu/packages/patches/bedtools-32bit-compilation.patch \
gnu/packages/patches/bowtie-fix-makefile.patch \
gnu/packages/patches/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/bitlbee-configure-doc-fix.patch \
gnu/packages/patches/bluez-tests.patch \
gnu/packages/patches/boost-mips-avoid-m32.patch \
gnu/packages/patches/byobu-writable-status.patch \
gnu/packages/patches/calibre-drop-unrar.patch \
gnu/packages/patches/calibre-no-updates-dialog.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
@@ -404,12 +419,6 @@ dist_patch_DATA = \
gnu/packages/patches/clang-libc-search-path.patch \
gnu/packages/patches/clucene-pkgconfig.patch \
gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch \
gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch \
gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch \
gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch \
gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch \
gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/cpufrequtils-fix-aclocal.patch \
gnu/packages/patches/crda-optional-gcrypt.patch \
@@ -418,7 +427,7 @@ dist_patch_DATA = \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/clucene-contribs-lib.patch \
gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/dbus-helper-search-path.patch \
gnu/packages/patches/dealii-p4est-interface.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
@@ -429,11 +438,22 @@ dist_patch_DATA = \
gnu/packages/patches/elfutils-tests-ptrace.patch \
gnu/packages/patches/emacs-exec-path.patch \
gnu/packages/patches/eudev-rules-directory.patch \
gnu/packages/patches/evilwm-lost-focus-bug.patch \
gnu/packages/patches/expat-CVE-2015-1283.patch \
gnu/packages/patches/fastcap-mulGlobal.patch \
gnu/packages/patches/fastcap-mulSetup.patch \
gnu/packages/patches/fasthenry-spAllocate.patch \
gnu/packages/patches/fasthenry-spBuild.patch \
gnu/packages/patches/fasthenry-spUtils.patch \
gnu/packages/patches/fasthenry-spSolve.patch \
gnu/packages/patches/fasthenry-spFactor.patch \
gnu/packages/patches/findutils-absolute-paths.patch \
gnu/packages/patches/findutils-localstatedir.patch \
gnu/packages/patches/flashrom-use-libftdi1.patch \
gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/flint-ldconfig.patch \
gnu/packages/patches/fltk-shared-lib-defines.patch \
gnu/packages/patches/freeimage-CVE-2015-0852.patch \
gnu/packages/patches/fuse-CVE-2015-3202.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
@@ -441,8 +461,10 @@ dist_patch_DATA = \
gnu/packages/patches/gcc-libvtv-runpath.patch \
gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \
gnu/packages/patches/geoclue-config.patch \
gnu/packages/patches/ghostscript-CVE-2015-3228.patch \
gnu/packages/patches/ghostscript-runpath.patch \
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \
gnu/packages/patches/glib-networking-ssl-cert-file.patch \
gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
@@ -451,29 +473,39 @@ dist_patch_DATA = \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-locales.patch \
gnu/packages/patches/glibc-locale-incompatibility.patch \
gnu/packages/patches/glibc-o-largefile.patch \
gnu/packages/patches/glibc-versioned-locpath.patch \
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
gnu/packages/patches/gmp-faulty-test.patch \
gnu/packages/patches/gnucash-price-quotes-perl.patch \
gnu/packages/patches/gnutls-doc-fix.patch \
gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
gnu/packages/patches/gobject-introspection-girepository.patch \
gnu/packages/patches/grep-CVE-2015-1345.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/grub-freetype.patch \
gnu/packages/patches/gsl-poly-test-fix-pt1.patch \
gnu/packages/patches/gsl-poly-test-fix-pt2.patch \
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
gnu/packages/patches/guile-arm-fixes.patch \
gnu/packages/patches/guile-default-utf8.patch \
gnu/packages/patches/guile-linux-syscalls.patch \
gnu/packages/patches/guile-present-coding.patch \
gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/guile-rsvg-pkgconfig.patch \
gnu/packages/patches/guitarix-c++11.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/hop-linker-flags.patch \
gnu/packages/patches/hwloc-gather-topology-lstopo.patch \
gnu/packages/patches/hydra-automake-1.15.patch \
gnu/packages/patches/hydra-disable-darcs-test.patch \
gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch \
gnu/packages/patches/icecat-avoid-bundled-includes.patch \
gnu/packages/patches/icecat-freetype-2.6.patch \
gnu/packages/patches/icecat-libvpx-1.4.patch \
gnu/packages/patches/icu4c-CVE-2014-6585.patch \
gnu/packages/patches/icu4c-CVE-2015-1270.patch \
gnu/packages/patches/icu4c-CVE-2015-4760.patch \
gnu/packages/patches/imagemagick-test-segv.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/julia-0.3.10-fix-empty-array.patch \
@@ -488,45 +520,44 @@ dist_patch_DATA = \
gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \
gnu/packages/patches/libbonobo-activation-test-race.patch \
gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch \
gnu/packages/patches/libdrm-symbol-check.patch \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libmtp-devices.patch \
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
gnu/packages/patches/liblxqt-include.patch \
gnu/packages/patches/libmad-armv7-thumb-pt1.patch \
gnu/packages/patches/libmad-armv7-thumb-pt2.patch \
gnu/packages/patches/libmad-frame-length.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/librsvg-tests.patch \
gnu/packages/patches/libtheora-config-guess.patch \
gnu/packages/patches/libtiff-CVE-2012-4564.patch \
gnu/packages/patches/libtiff-CVE-2013-1960.patch \
gnu/packages/patches/libtiff-CVE-2013-1961.patch \
gnu/packages/patches/libtiff-CVE-2013-4231.patch \
gnu/packages/patches/libtiff-CVE-2013-4232.patch \
gnu/packages/patches/libtiff-CVE-2013-4243.patch \
gnu/packages/patches/libtiff-CVE-2013-4244.patch \
gnu/packages/patches/libtiff-CVE-2014-8127-pt1.patch \
gnu/packages/patches/libtiff-CVE-2014-8127-pt2.patch \
gnu/packages/patches/libtiff-CVE-2014-8127-pt3.patch \
gnu/packages/patches/libtiff-CVE-2014-8127-pt4.patch \
gnu/packages/patches/libtiff-CVE-2014-8128-pt1.patch \
gnu/packages/patches/libtiff-CVE-2014-8128-pt2.patch \
gnu/packages/patches/libtiff-CVE-2014-8128-pt3.patch \
gnu/packages/patches/libtiff-CVE-2014-8128-pt4.patch \
gnu/packages/patches/libtiff-CVE-2014-8128-pt5.patch \
gnu/packages/patches/libtiff-CVE-2014-8129.patch \
gnu/packages/patches/libtiff-CVE-2014-9330.patch \
gnu/packages/patches/libtiff-CVE-2014-9655.patch \
gnu/packages/patches/libtool-skip-tests2.patch \
gnu/packages/patches/libssh-CVE-2014-0017.patch \
gnu/packages/patches/libunwind-CVE-2015-3239.patch \
gnu/packages/patches/libwmf-CAN-2004-0941.patch \
gnu/packages/patches/libwmf-CVE-2006-3376.patch \
gnu/packages/patches/libwmf-CVE-2007-0455.patch \
gnu/packages/patches/libwmf-CVE-2007-2756.patch \
gnu/packages/patches/libwmf-CVE-2007-3472.patch \
gnu/packages/patches/libwmf-CVE-2007-3473.patch \
gnu/packages/patches/libwmf-CVE-2007-3477.patch \
gnu/packages/patches/libwmf-CVE-2009-1364.patch \
gnu/packages/patches/libwmf-CVE-2015-0848+4588+4695+4696.patch \
gnu/packages/patches/libwmf-CVE-2009-3546.patch \
gnu/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \
gnu/packages/patches/libwmf-CVE-2015-4695.patch \
gnu/packages/patches/libwmf-CVE-2015-4696.patch \
gnu/packages/patches/lirc-localstatedir.patch \
gnu/packages/patches/libpthread-glibc-preparation.patch \
gnu/packages/patches/lm-sensors-hwmon-attrs.patch \
gnu/packages/patches/lua-pkgconfig.patch \
gnu/packages/patches/lua51-liblua-so.patch \
gnu/packages/patches/luajit-no_ldconfig.patch \
gnu/packages/patches/luajit-symlinks.patch \
gnu/packages/patches/luit-posix.patch \
gnu/packages/patches/m4-gets-undeclared.patch \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mars-install.patch \
gnu/packages/patches/mars-sfml-2.3.patch \
gnu/packages/patches/maxima-defsystem-mkdir.patch \
gnu/packages/patches/mc-fix-ncurses-build.patch \
gnu/packages/patches/mcron-install.patch \
@@ -538,7 +569,6 @@ dist_patch_DATA = \
gnu/packages/patches/module-init-tools-moduledir.patch \
gnu/packages/patches/mumps-build-parallelism.patch \
gnu/packages/patches/mupdf-buildsystem-fix.patch \
gnu/packages/patches/mutt-CVE-2014-9116.patch \
gnu/packages/patches/mutt-store-references.patch \
gnu/packages/patches/net-tools-bitrot.patch \
gnu/packages/patches/ngircd-handle-zombies.patch \
@@ -550,20 +580,25 @@ dist_patch_DATA = \
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
gnu/packages/patches/nvi-db4.patch \
gnu/packages/patches/openexr-missing-samples.patch \
gnu/packages/patches/openjpeg-CVE-2015-6581.patch \
gnu/packages/patches/openjpeg-use-after-free-fix.patch \
gnu/packages/patches/openssl-runpath.patch \
gnu/packages/patches/openssl-c-rehash.patch \
gnu/packages/patches/orpheus-cast-errors-and-includes.patch \
gnu/packages/patches/ots-no-include-missing-file.patch \
gnu/packages/patches/patchelf-page-size.patch \
gnu/packages/patches/patchelf-rework-for-arm.patch \
gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \
gnu/packages/patches/patch-hurd-path-max.patch \
gnu/packages/patches/pavucontrol-sigsegv.patch \
gnu/packages/patches/perl-autosplit-default-time.patch \
gnu/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
gnu/packages/patches/perl-module-pluggable-search.patch \
gnu/packages/patches/perl-net-amazon-s3-moose-warning.patch \
gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \
gnu/packages/patches/pidgin-add-search-path.patch \
gnu/packages/patches/pingus-sdl-libs-config.patch \
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
gnu/packages/patches/polkit-drop-test.patch \
@@ -578,33 +613,17 @@ dist_patch_DATA = \
gnu/packages/patches/pybugz-encode-error.patch \
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/pyqt-configure.patch \
gnu/packages/patches/python-2.7-search-paths.patch \
gnu/packages/patches/python-3-search-paths.patch \
gnu/packages/patches/python-disable-ssl-test.patch \
gnu/packages/patches/python-fix-tests.patch \
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qemu-CVE-2015-3209.patch \
gnu/packages/patches/qemu-CVE-2015-3456.patch \
gnu/packages/patches/qemu-CVE-2015-4037.patch \
gnu/packages/patches/qemu-CVE-2015-4103.patch \
gnu/packages/patches/qemu-CVE-2015-4104.patch \
gnu/packages/patches/qemu-CVE-2015-4105.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt1.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt2.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt3.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt4.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt5.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt6.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt7.patch \
gnu/packages/patches/qemu-CVE-2015-4106-pt8.patch \
gnu/packages/patches/qemu-CVE-2015-6855.patch \
gnu/packages/patches/qt4-ldflags.patch \
gnu/packages/patches/qt4-tests.patch \
gnu/packages/patches/qt5-conflicting-typedefs.patch \
gnu/packages/patches/qt5-runpath.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \
gnu/packages/patches/ripperx-libm.patch \
gnu/packages/patches/ripperx-missing-file.patch \
gnu/packages/patches/sed-hurd-path-max.patch \
gnu/packages/patches/scheme48-tests.patch \
gnu/packages/patches/scotch-test-threading.patch \
@@ -615,12 +634,10 @@ dist_patch_DATA = \
gnu/packages/patches/slim-config.patch \
gnu/packages/patches/slim-sigusr1.patch \
gnu/packages/patches/soprano-find-clucene.patch \
gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch \
gnu/packages/patches/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tar-d_ino_in_dirent-fix.patch \
gnu/packages/patches/tar-skip-unreliable-tests.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
gnu/packages/patches/texi2html-document-encoding.patch \
gnu/packages/patches/texi2html-i18n.patch \
gnu/packages/patches/tidy-CVE-2015-5522+5523.patch \
@@ -632,29 +649,28 @@ dist_patch_DATA = \
gnu/packages/patches/unzip-CVE-2014-8140.patch \
gnu/packages/patches/unzip-CVE-2014-8141.patch \
gnu/packages/patches/unzip-CVE-2014-9636.patch \
gnu/packages/patches/unzip-CVE-2015-7696.patch \
gnu/packages/patches/unzip-CVE-2015-7697.patch \
gnu/packages/patches/unzip-allow-greater-hostver-values.patch \
gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch \
gnu/packages/patches/unzip-attribs-overflow.patch \
gnu/packages/patches/unzip-overflow-on-invalid-input.patch \
gnu/packages/patches/unzip-format-secure.patch \
gnu/packages/patches/unzip-initialize-symlink-flag.patch \
gnu/packages/patches/unzip-overflow-long-fsize.patch \
gnu/packages/patches/unzip-remove-build-date.patch \
gnu/packages/patches/util-linux-tests.patch \
gnu/packages/patches/upower-builddir.patch \
gnu/packages/patches/valgrind-glibc-2.21.patch \
gnu/packages/patches/valgrind-enable-arm.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch \
gnu/packages/patches/weex-vacopy.patch \
gnu/packages/patches/wicd-bitrate-none-fix.patch \
gnu/packages/patches/wicd-get-selected-profile-fix.patch \
gnu/packages/patches/wicd-template-instantiation.patch \
gnu/packages/patches/wicd-urwid-1.3.patch \
gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch \
gnu/packages/patches/wpa-supplicant-2015-2-fix.patch \
gnu/packages/patches/wpa-supplicant-2015-3-fix.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch \
gnu/packages/patches/wpa-supplicant-2015-5-fix.patch \
gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \
gnu/packages/patches/xf86-video-ast-remove-mibstore.patch \
gnu/packages/patches/xf86-video-geode-glibc-2.20.patch \
@@ -675,6 +691,8 @@ dist_patch_DATA = \
gnu/packages/patches/xf86-video-trident-remove-mibstore.patch \
gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch \
gnu/packages/patches/xfce4-panel-plugins.patch \
gnu/packages/patches/xfce4-session-fix-xflock4.patch \
gnu/packages/patches/xfce4-settings-defaults.patch \
gnu/packages/patches/xmodmap-asprintf.patch \
gnu/packages/patches/zathura-plugindir-environment-variable.patch
+1 -1
View File
@@ -34,7 +34,7 @@
'((gnu system)
(gnu system file-systems)
(gnu system grub) ; 'grub-configuration'
(gnu system linux) ; 'base-pam-services'
(gnu system pam)
(gnu system shadow) ; 'user-account'
(gnu system linux-initrd)
(gnu system nss)
+14 -1
View File
@@ -323,6 +323,10 @@ corresponds to the symbols listed in FLAGS."
(()
0))))
(define (regular-file? file-name)
"Return #t if FILE-NAME is a regular file."
(eq? (stat:type (stat file-name)) 'regular))
(define* (mount-file-system spec #:key (root "/root"))
"Mount the file system described by SPEC under ROOT. SPEC must have the
form:
@@ -339,7 +343,16 @@ run a file system check."
(flags (mount-flags->bit-mask flags)))
(when check?
(check-file-system source type))
(mkdir-p mount-point)
;; Create the mount point. Most of the time this is a directory, but
;; in the case of a bind mount, a regular file may be needed.
(if (and (= MS_BIND (logand flags MS_BIND))
(regular-file? source))
(unless (file-exists? mount-point)
(mkdir-p (dirname mount-point))
(call-with-output-file mount-point (const #t)))
(mkdir-p mount-point))
(mount source mount-point type flags options)
;; For read-only bind mounts, an extra remount is needed, as per
+9 -11
View File
@@ -48,7 +48,7 @@
;;; Code:
(define* (mount-essential-file-systems #:key (root "/"))
"Mount /proc and /sys under ROOT."
"Mount /dev, /proc, and /sys under ROOT."
(define (scope dir)
(string-append root
(if (string-suffix? "/" root)
@@ -60,6 +60,10 @@
(mkdir (scope "proc")))
(mount "none" (scope "proc") "proc")
(unless (file-exists? (scope "dev"))
(mkdir (scope "dev")))
(mount "none" (scope "dev") "devtmpfs")
(unless (file-exists? (scope "sys"))
(mkdir (scope "sys")))
(mount "none" (scope "sys") "sysfs"))
@@ -71,7 +75,7 @@
(unless (file-exists? target)
(mkdir target))
(mount dir target "" MS_MOVE)))
'("/proc" "/sys")))
'("/dev" "/proc" "/sys")))
(define (linux-command-line)
"Return the Linux kernel command line as a list of strings."
@@ -100,7 +104,7 @@ with the given MAJOR number, starting with MINOR."
(define* (make-essential-device-nodes #:key (root "/"))
"Make essential device nodes under ROOT/dev."
;; The hand-made udev!
;; The hand-made devtmpfs/udev!
(define (scope dir)
(string-append root
@@ -255,7 +259,8 @@ UNIONFS."
(mount "none" "/rw-root" "tmpfs")
;; We want read-write /dev nodes.
(make-essential-device-nodes #:root "/rw-root")
(mkdir-p "/rw-root/dev")
(mount "none" "/rw-root/dev" "devtmpfs")
;; Make /root a union of the tmpfs and the actual root. Use
;; 'max_files' to set a high RLIMIT_NOFILE for the unionfs process
@@ -385,9 +390,6 @@ to it are lost."
(unless (configure-qemu-networking)
(display "network interface is DOWN\n")))
;; Make /dev nodes.
(make-essential-device-nodes)
;; Prepare the real root file system under /root.
(unless (file-exists? "/root")
(mkdir "/root"))
@@ -405,10 +407,6 @@ to it are lost."
#:volatile-root? volatile-root?)
(mount "none" "/root" "tmpfs"))
(unless (file-exists? "/root/dev")
(mkdir "/root/dev")
(make-essential-device-nodes #:root "/root"))
;; Mount the specified file systems.
(for-each mount-file-system
(remove root-mount-point? mounts))
+57 -23
View File
@@ -19,16 +19,36 @@
(define-module (gnu build linux-container)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (srfi srfi-98)
#:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix build syscalls)
#:use-module ((gnu build file-systems) #:select (mount-file-system))
#:export (%namespaces
#:export (user-namespace-supported?
unprivileged-user-namespace-supported?
setgroups-supported?
%namespaces
run-container
call-with-container
container-excursion))
(define (user-namespace-supported?)
"Return #t if user namespaces are supported on this system."
(file-exists? "/proc/self/ns/user"))
(define (unprivileged-user-namespace-supported?)
"Return #t if user namespaces can be created by unprivileged users."
(let ((userns-file "/proc/sys/kernel/unprivileged_userns_clone"))
(if (file-exists? userns-file)
(string=? "1" (call-with-input-file userns-file read-string))
#t)))
(define (setgroups-supported?)
"Return #t if the setgroups proc file, introduced in Linux-libre 3.19,
exists."
(file-exists? "/proc/self/setgroups"))
(define %namespaces
'(mnt pid ipc uts user net))
@@ -36,7 +56,9 @@
"Apply THUNK, but exit with a status code of 1 if it fails."
(dynamic-wind
(const #t)
thunk
(lambda ()
(thunk)
(primitive-exit 0))
(lambda ()
(primitive-exit 1))))
@@ -55,6 +77,9 @@ to ROOT, then make ROOT the new root directory for the process."
(define (scope dir)
(string-append root dir))
(define (touch file-name)
(call-with-output-file file-name (const #t)))
(define (bind-mount src dest)
(mount src dest "none" MS_BIND))
@@ -89,8 +114,7 @@ to ROOT, then make ROOT the new root directory for the process."
(for-each (lambda (device)
(when (file-exists? device)
;; Create the mount point file.
(call-with-output-file (scope device)
(const #t))
(touch (scope device))
(bind-mount device (scope device))))
'("/dev/null"
"/dev/zero"
@@ -101,6 +125,15 @@ to ROOT, then make ROOT the new root directory for the process."
"/dev/ptmx"
"/dev/fuse"))
;; Setup the container's /dev/console by bind mounting the pseudo-terminal
;; associated with standard input.
(let ((in (current-input-port))
(console (scope "/dev/console")))
(when (isatty? in)
(touch console)
(chmod console #o600)
(bind-mount (ttyname in) console)))
;; Setup standard input/output/error.
(symlink "/proc/self/fd" (scope "/dev/fd"))
(symlink "/proc/self/fd/0" (scope "/dev/stdin"))
@@ -120,23 +153,17 @@ to ROOT, then make ROOT the new root directory for the process."
(umount "real-root" MNT_DETACH)
(rmdir "real-root")))
(define (initialize-user-namespace pid)
"Configure the user namespace for PID."
(define (initialize-user-namespace pid host-uids)
"Configure the user namespace for PID. HOST-UIDS specifies the number of
host user identifiers to map into the user namespace."
(define proc-dir
(string-append "/proc/" (number->string pid)))
(define (scope file)
(string-append proc-dir file))
;; Only root can map more than a single uid/gid. A range of 65536 uid/gids
;; is used to cover 16 bits worth of users and groups, which is sufficient
;; for most cases.
;;
;; See also: http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#--private-users=
(let* ((uid (getuid))
(gid (getgid))
(uid-range (if (zero? uid) 65536 1))
(gid-range (if (zero? gid) 65536 1)))
(let ((uid (getuid))
(gid (getgid)))
;; Only root can write to the gid map without first disabling the
;; setgroups syscall.
@@ -149,14 +176,15 @@ to ROOT, then make ROOT the new root directory for the process."
;; within the container.
(call-with-output-file (scope "/uid_map")
(lambda (port)
(format port "0 ~d ~d" uid uid-range)))
(format port "0 ~d ~d" uid host-uids)))
(call-with-output-file (scope "/gid_map")
(lambda (port)
(format port "0 ~d ~d" gid gid-range)))))
(format port "0 ~d ~d" gid host-uids)))))
(define (namespaces->bit-mask namespaces)
"Return the number suitable for the 'flags' argument of 'clone' that
corresponds to the symbols in NAMESPACES."
;; Use the same flags as fork(3) in addition to the namespace flags.
(apply logior SIGCHLD
(map (match-lambda
('mnt CLONE_NEWNS)
@@ -167,12 +195,13 @@ corresponds to the symbols in NAMESPACES."
('net CLONE_NEWNET))
namespaces)))
(define (run-container root mounts namespaces thunk)
(define (run-container root mounts namespaces host-uids thunk)
"Run THUNK in a new container process and return its PID. ROOT specifies
the root directory for the container. MOUNTS is a list of file system specs
that specify the mapping of host file systems into the container. NAMESPACES
is a list of symbols that correspond to the possible Linux namespaces: mnt,
ipc, uts, user, and net."
ipc, uts, user, and net. HOST-UIDS specifies the number of
host user identifiers to map into the user namespace."
;; The parent process must initialize the user namespace for the child
;; before it can boot. To negotiate this, a pipe is used such that the
;; child process blocks until the parent writes to it.
@@ -196,26 +225,31 @@ ipc, uts, user, and net."
(thunk))))
(pid
(when (memq 'user namespaces)
(initialize-user-namespace pid))
(initialize-user-namespace pid host-uids))
;; TODO: Initialize cgroups.
(close in)
(write 'ready out)
(close out)
pid))))))
(define* (call-with-container mounts thunk #:key (namespaces %namespaces))
(define* (call-with-container mounts thunk #:key (namespaces %namespaces)
(host-uids 1))
"Run THUNK in a new container process and return its exit status.
MOUNTS is a list of file system specs that specify the mapping of host file
systems into the container. NAMESPACES is a list of symbols corresponding to
the identifiers for Linux namespaces: mnt, ipc, uts, pid, user, and net. By
default, all namespaces are used.
default, all namespaces are used. HOST-UIDS is the number of host user
identifiers to map into the container's user namespace, if there is one. By
default, only a single uid/gid, that of the current user, is mapped into the
container. The host user that creates the container is the root user (uid/gid
0) within the container. Only root can map more than a single uid/gid.
Note that if THUNK needs to load any additional Guile modules, the relevant
module files must be present in one of the mappings in MOUNTS and the Guile
load path must be adjusted as needed."
(call-with-temporary-directory
(lambda (root)
(let ((pid (run-container root mounts namespaces thunk)))
(let ((pid (run-container root mounts namespaces host-uids thunk)))
;; Catch SIGINT and kill the container process.
(sigaction SIGINT
(lambda (signum)
+3 -1
View File
@@ -72,7 +72,9 @@ COMPRESS? is true, compress it using GZIP. On success, return OUTPUT."
#:file->header cpio:file->cpio-header*)))
(or (not compress?)
(and (zero? (system* gzip "--best" output))
;; Use '--no-name' so that gzip records neither a file name nor a time
;; stamp in its output.
(and (zero? (system* gzip "--best" "--no-name" output))
(rename-file (string-append output ".gz")
output))
output))
+164 -91
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,13 +21,26 @@
#:use-module (guix build store-copy)
#:use-module (gnu build linux-boot)
#:use-module (gnu build install)
#:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
#:export (qemu-command
load-in-linux-vm
format-partition
initialize-root-partition
partition
partition?
partition-device
partition-size
partition-file-system
partition-label
partition-bootable?
partition-initializer
root-partition-initializer
initialize-partition-table
initialize-hard-disk))
@@ -110,24 +123,84 @@ the #:references-graphs parameter of 'derivation'."
(mkdir output)
(copy-recursively "xchg" output))))
(define* (initialize-partition-table device partition-size
;;;
;;; Partitions.
;;;
(define-record-type* <partition> partition make-partition
partition?
(device partition-device (default #f))
(size partition-size)
(file-system partition-file-system (default "ext4"))
(label partition-label (default #f))
(bootable? partition-bootable? (default #f))
(initializer partition-initializer (default (const #t))))
(define (fold2 proc seed1 seed2 lst) ;TODO: factorize
"Like `fold', but with a single list and two seeds."
(let loop ((result1 seed1)
(result2 seed2)
(lst lst))
(if (null? lst)
(values result1 result2)
(call-with-values
(lambda () (proc (car lst) result1 result2))
(lambda (result1 result2)
(loop result1 result2 (cdr lst)))))))
(define* (initialize-partition-table device partitions
#:key
bootable?
(label-type "msdos")
(offset (expt 2 20)))
"Create on DEVICE a partition table of type LABEL-TYPE, with a single
partition of PARTITION-SIZE bytes starting at OFFSET bytes. When BOOTABLE? is
true, set the bootable flag on the partition. Return #t on success."
(format #t "creating partition table with a ~a B partition...\n"
partition-size)
(unless (zero? (apply system* "parted" device "mklabel" label-type
"mkpart" "primary" "ext2"
(format #f "~aB" offset)
(format #f "~aB" partition-size)
(if bootable?
'("set" "1" "boot" "on")
'())))
(error "failed to create partition table")))
"Create on DEVICE a partition table of type LABEL-TYPE, containing the given
PARTITIONS (a list of <partition> objects), starting at OFFSET bytes. On
success, return PARTITIONS with their 'device' field changed to reflect their
actual /dev name based on DEVICE."
(define (partition-options part offset index)
(cons* "mkpart" "primary" "ext2"
(format #f "~aB" offset)
(format #f "~aB" (+ offset (partition-size part)))
(if (partition-bootable? part)
`("set" ,(number->string index) "boot" "on")
'())))
(define (options partitions offset)
(let loop ((partitions partitions)
(offset offset)
(index 1)
(result '()))
(match partitions
(()
(concatenate (reverse result)))
((head tail ...)
(loop tail
;; Leave one sector (512B) between partitions to placate
;; Parted.
(+ offset 512 (partition-size head))
(+ 1 index)
(cons (partition-options head offset index)
result))))))
(format #t "creating partition table with ~a partitions...\n"
(length partitions))
(unless (zero? (apply system* "parted" "--script"
device "mklabel" label-type
(options partitions offset)))
(error "failed to create partition table"))
;; Set the 'device' field of each partition.
(reverse
(fold2 (lambda (part result index)
(values (cons (partition
(inherit part)
(device (string-append device
(number->string index))))
result)
(+ 1 index)))
'()
1
partitions)))
(define MS_BIND 4096) ; <sys/mounts.h> again!
@@ -143,40 +216,67 @@ volume name."
'())))
(error "failed to create partition")))
(define* (initialize-root-partition target-directory
#:key copy-closures? register-closures?
closures system-directory)
"Initialize the root partition mounted at TARGET-DIRECTORY."
(define target-store
(string-append target-directory (%store-directory)))
(define (initialize-partition partition)
"Format PARTITION, a <partition> object with a non-#f 'device' field, mount
it, run its initializer, and unmount it."
(let ((target "/fs"))
(format-partition (partition-device partition)
(partition-file-system partition)
#:label (partition-label partition))
(mkdir-p target)
(mount (partition-device partition) target
(partition-file-system partition))
(when copy-closures?
;; Populate the store.
(populate-store (map (cut string-append "/xchg/" <>) closures)
target-directory))
((partition-initializer partition) target)
;; Populate /dev.
(make-essential-device-nodes #:root target-directory)
(umount target)
partition))
;; Optionally, register the inputs in the image's store.
(when register-closures?
(unless copy-closures?
;; XXX: 'guix-register' wants to palpate the things it registers, so
;; bind-mount the store on the target.
(mkdir-p target-store)
(mount (%store-directory) target-store "" MS_BIND))
(define* (root-partition-initializer #:key (closures '())
copy-closures?
(register-closures? #t)
system-directory)
"Return a procedure to initialize a root partition.
(display "registering closures...\n")
(for-each (lambda (closure)
(register-closure target-directory
(string-append "/xchg/" closure)))
closures)
(unless copy-closures?
(system* "umount" target-store)))
If REGISTER-CLOSURES? is true, register all of CLOSURES is the partition's
store. If COPY-CLOSURES? is true, copy all of CLOSURES to the partition.
SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(lambda (target)
(define target-store
(string-append target (%store-directory)))
;; Add the non-store directories and files.
(display "populating...\n")
(populate-root-file-system system-directory target-directory))
(when copy-closures?
;; Populate the store.
(populate-store (map (cut string-append "/xchg/" <>) closures)
target))
;; Populate /dev.
(make-essential-device-nodes #:root target)
;; Optionally, register the inputs in the image's store.
(when register-closures?
(unless copy-closures?
;; XXX: 'guix-register' wants to palpate the things it registers, so
;; bind-mount the store on the target.
(mkdir-p target-store)
(mount (%store-directory) target-store "" MS_BIND))
(display "registering closures...\n")
(for-each (lambda (closure)
(register-closure target
(string-append "/xchg/" closure)))
closures)
(unless copy-closures?
(umount target-store)))
;; Add the non-store directories and files.
(display "populating...\n")
(populate-root-file-system system-directory target)
;; 'guix-register' resets timestamps and everything, so no need to do it
;; once more in that case.
(unless register-closures?
(reset-timestamps target))))
(define (register-grub.cfg-root target grub.cfg)
"On file system TARGET, register GRUB.CFG as a GC root."
@@ -186,56 +286,29 @@ volume name."
(define* (initialize-hard-disk device
#:key
system-directory
grub.cfg
disk-image-size
(file-system-type "ext4")
file-system-label
(closures '())
copy-closures?
(bootable? #t)
(register-closures? #t))
"Initialize DEVICE, a disk of DISK-IMAGE-SIZE bytes, with a FILE-SYSTEM-TYPE
partition with (optionally) FILE-SYSTEM-LABEL as its volume name, and with
GRUB installed. When BOOTABLE? is true, set the bootable flag on that
partition.
(partitions '()))
"Initialize DEVICE as a disk containing all the <partition> objects listed
in PARTITIONS, and using GRUB.CFG as its bootloader configuration file.
If REGISTER-CLOSURES? is true, register all of CLOSURES is the partition's
store. If COPY-CLOSURES? is true, copy all of CLOSURES to the partition.
SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(define target-directory
"/fs")
Each partition is initialized by calling its 'initializer' procedure,
passing it a directory name where it is mounted."
(let* ((partitions (initialize-partition-table device partitions))
(root (find partition-bootable? partitions))
(target "/fs"))
(unless root
(error "no bootable partition specified" partitions))
(define partition
(string-append device "1"))
(for-each initialize-partition partitions)
(initialize-partition-table device
(- disk-image-size (* 5 (expt 2 20)))
#:bootable? bootable?)
(display "mounting root partition...\n")
(mkdir-p target)
(mount (partition-device root) target (partition-file-system root))
(install-grub grub.cfg device target)
(format-partition partition file-system-type
#:label file-system-label)
;; Register GRUB.CFG as a GC root.
(register-grub.cfg-root target grub.cfg)
(display "mounting partition...\n")
(mkdir target-directory)
(mount partition target-directory file-system-type)
(initialize-root-partition target-directory
#:system-directory system-directory
#:copy-closures? copy-closures?
#:register-closures? register-closures?
#:closures closures)
(install-grub grub.cfg device target-directory)
;; Register GRUB.CFG as a GC root.
(register-grub.cfg-root target-directory grub.cfg)
;; 'guix-register' resets timestamps and everything, so no need to do it
;; once more in that case.
(unless register-closures?
(reset-timestamps target-directory))
(zero? (system* "umount" target-directory)))
(umount target)))
;;; vm.scm ends here
+8 -3
View File
@@ -24,6 +24,7 @@
#:use-module (guix utils)
#:use-module ((guix ftp-client) #:select (ftp-open))
#:use-module (guix gnu-maintenance)
#:use-module (guix upstream)
#:use-module (ice-9 ftw)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
@@ -377,14 +378,18 @@ it."
(when (false-if-exception (gnu-package? package))
(let ((name (package-name package))
(full-name (package-full-name package)))
;; XXX: This could work with non-GNU packages as well. However,
;; GNU's FTP-based updater would be too slow if it weren't memoized,
;; and the generic interface in (guix upstream) doesn't support
;; that.
(match (waiting (latest-release name
#:ftp-open ftp-open*
#:ftp-close (const #f))
(_ "looking for the latest release of GNU ~a...") name)
((? gnu-release? release)
((? upstream-source? source)
(let ((latest-version
(string-append (gnu-release-package release) "-"
(gnu-release-version release))))
(string-append (upstream-source-package source) "-"
(upstream-source-version source))))
(when (version>? latest-version full-name)
(format (current-error-port)
(_ "~a: note: using ~a \
-70
View File
@@ -1,70 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages aarddict)
#:use-module ((guix licenses) #:select (gpl3))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (gnu packages python)
#:use-module (gnu packages qt))
(define-public aarddict
(package
(name "aarddict")
(version "0.9.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/aarddict/desktop/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12h7m0z7nd7rg8avpi9syd265k0rhh4vbdh464nq0jzdg8m9p28c"))))
(build-system python-build-system)
(inputs
`(("python2-pyicu" ,python2-pyicu)
("python2-pyqt-4" ,python2-pyqt-4)
("python2-setuptools" ,python2-setuptools)
("python2-simplejson" ,python2-simplejson)
("python2-sip" ,python2-sip)))
(arguments
`(#:python ,python-2 ; incompatible with Python 3
#:phases
(alist-cons-before
'build 'configure
;; Force data into the output instead of the python package.
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "setup.py"
(("sys.prefix") (string-append "'" out "'")))))
%standard-phases)))
(home-page "http://aarddict.org/index.html")
(synopsis
"Dictionary program and offline Wikipedia reader")
(description
"Aard Dictionary is a free, fast, easy to use word lookup program that
looks up words fast even with huge dictionaries like English Wikipedia;
looks up words in multiple dictionaries in multiple languages without
switching;
works great as offline Wikipedia reader;
is keyboard navigation friendly;
has efficient, highly compressed dictionary data storage format with
ability to verify data integrity built-in.")
(license gpl3)))
+48
View File
@@ -0,0 +1,48 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages abduco)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix packages))
(define-public abduco
(package
(name "abduco")
(version "0.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.brain-dump.org/projects/abduco/abduco-"
version ".tar.gz"))
(sha256
(base32 "1fxwg2s5w183p0rwzsxizy9jdnilv5qqs647l3wl3khny6fp58xx"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'check)))) ; no test suite
(synopsis "Session management in a clean and simple way")
(description "abduco provides session management i.e. it allows programs to
be run independently from their controlling terminal. That is, programs can
be detached---run in the background---and then later reattached.")
(home-page "http://www.brain-dump.org/projects/abduco/")
(license isc)))
+11 -4
View File
@@ -99,8 +99,15 @@
("pkg-config" ,pkg-config)))
(home-page "http://abisource.org/")
(synopsis "Word processing program")
(description
"AbiWord is a word processing program. It is rapidly becoming a state
of the art word processor, with lots of features useful for your daily work,
personal needs, or for just some good old typing fun.")
;; HACKERS: The comment below is here so that it shows up early in the
;; .pot file.
;; TRANSLATORS: Dear translator, We would like to inform you that package
;; descriptions may occasionally include Texinfo markup. Texinfo markup
;; looks like "@code{rm -rf}", "@emph{important}", etc. When translating,
;; please leave markup as is.
(description "AbiWord is a word processing program. It is rapidly
becoming a state of the art word processor, with lots of features useful for
your daily work, personal needs, or for just some good old typing fun.")
(license license:gpl2+)))
+5 -6
View File
@@ -26,6 +26,7 @@
#:use-module (gnu packages perl)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (guix build-system gnu))
(define-public acl
@@ -39,7 +40,8 @@
version ".src.tar.gz"))
(sha256
(base32
"08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"))))
"08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"))
(patches (list (search-patch "acl-hurd-path-max.patch")))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; FIXME: Investigate test suite failures
@@ -58,11 +60,8 @@
(inputs `(("attr" ,attr)))
(native-inputs
`(("gettext" ,gnu-gettext)
("perl" ,perl)
("sed" ,sed)))
(home-page
"http://savannah.nongnu.org/projects/acl")
("perl" ,perl)))
(home-page "http://savannah.nongnu.org/projects/acl")
(synopsis
"Library and tools for manipulating access control lists")
(description
+137 -52
View File
@@ -5,6 +5,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +30,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages base)
@@ -58,29 +60,43 @@
#:use-module (gnu packages man))
(define-public dmd
(package
(name "dmd")
(version "0.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
version ".tar.gz"))
(sha256
(base32
"10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("guile" ,guile-2.0)))
(synopsis "Daemon managing daemons")
(description
"GNU DMD is a daemon-managing daemon, meaning that it manages the
(let ((base-version "0.2")
(patch-level "01"))
(package
(name "dmd")
(version (string-append base-version "." patch-level))
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
base-version ".tar.gz"))
(sha256
(base32
"10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))
(patches
(list (origin
;; This patch augments 'make-fork+exec-constructor' and
;; is used by a bunch of services.
(method url-fetch)
(uri (string-append
"http://git.savannah.gnu.org/cgit/dmd.git/patch/"
"?id=d1d0ff30b3ed2b86b0a3c9bc048d2a855f8e31e6"))
(sha256
(base32
"1lqymypixfiyb72d6bn24m06ry2q1ljnnv0qrc89pbb4z9azaa4d"))
(file-name "dmd-user-group.patch"))))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("guile" ,guile-2.0)))
(synopsis "Daemon managing daemons")
(description
"GNU DMD is a daemon-managing daemon, meaning that it manages the
execution of system services, replacing similar functionality found in
typical init systems. It provides dependency-handling through a convenient
interface and is based on GNU Guile.")
(license license:gpl3+)
(home-page "http://www.gnu.org/software/dmd/")))
(license license:gpl3+)
(home-page "http://www.gnu.org/software/dmd/"))))
(define-public dfc
(package
@@ -175,17 +191,15 @@ client and server, a telnet client and server, and an rsh client and server.")
(define-public shadow
(package
(name "shadow")
(version "4.1.5.1")
(version "4.2.1")
(source (origin
;; Shadow has no real upstream, and not even tarballs.
;; See <https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00233.html>.
(method git-fetch)
(uri (git-reference
(url "git://git.debian.org/git/pkg-shadow/shadow")
(commit (string-append "upstream/" version))))
(sha256
(base32
"1xx85d83kmacmjzqbamgydcjkwsqd5fi1s2wgwx6myq5wa39qx0n"))))
(method url-fetch)
(uri (string-append
"http://pkg-shadow.alioth.debian.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
"0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v"))))
(build-system gnu-build-system)
(arguments
'(;; Assume System V `setpgrp (void)', which is the default on GNU
@@ -206,7 +220,7 @@ client and server, a telnet client and server, and an rsh client and server.")
;; Remove `groups', which is already provided by Coreutils.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man1")))
(man (string-append out "/share/man")))
(delete-file (string-append bin "/groups"))
(for-each delete-file (find-files man "^groups\\."))
#t))
@@ -414,6 +428,7 @@ connection alive.")
(zero? (system* "tar" "cf" "bind.tar.gz"
"bind-9.9.5-P1"
;; avoid non-determinism in the archive
"--sort=name"
"--mtime=@0"
"--owner=root:0"
"--group=root:0"))))
@@ -470,14 +485,14 @@ tools: server, client, and relay agent.")
(define-public libpcap
(package
(name "libpcap")
(version "1.5.3")
(version "1.7.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/libpcap-"
version ".tar.gz"))
(sha256
(base32
"14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs"))))
"1c28ykkizd7jqgzrfkg7ivqjlqs9p6lygp26bsw2i0z8hwhi3lvs"))))
(build-system gnu-build-system)
(native-inputs `(("bison" ,bison) ("flex" ,flex)))
(arguments '(#:configure-flags '("--with-pcap=linux")
@@ -495,14 +510,14 @@ network statistics collection, security monitoring, network debugging, etc.")
(define-public tcpdump
(package
(name "tcpdump")
(version "4.5.1")
(version "4.7.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/tcpdump-"
version ".tar.gz"))
(sha256
(base32
"15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql"))))
"1byr8w6grk08fsq0444jmcz9ar89lq9nf4mjq2cny0w9k8k21rbb"))))
(build-system gnu-build-system)
(inputs `(("libpcap" ,libpcap)
("openssl" ,openssl)))
@@ -689,10 +704,10 @@ commands and their arguments.")
;; See <http://www.sudo.ws/sudo/license.html>.
(license license:x11)))
(define-public wpa-supplicant-light
(define-public wpa-supplicant-minimal
(package
(name "wpa-supplicant-light")
(version "2.4")
(name "wpa-supplicant-minimal")
(version "2.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -701,17 +716,7 @@ commands and their arguments.")
".tar.gz"))
(sha256
(base32
"08li21q1wjn5chrv289w666il9ah1w419y3dkq2rl4wnq0rci385"))
(patches
(map search-patch '("wpa-supplicant-CVE-2015-1863.patch"
"wpa-supplicant-2015-2-fix.patch"
"wpa-supplicant-2015-3-fix.patch"
"wpa-supplicant-2015-4-fix-pt1.patch"
"wpa-supplicant-2015-4-fix-pt2.patch"
"wpa-supplicant-2015-4-fix-pt3.patch"
"wpa-supplicant-2015-4-fix-pt4.patch"
"wpa-supplicant-2015-4-fix-pt5.patch"
"wpa-supplicant-2015-5-fix.patch")))))
"05mkp5bx1c3z7h5biddsv0p49gkrq9ksany3anp4wdiv92p5prfc"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
@@ -781,12 +786,12 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
(license license:bsd-3)))
(define-public wpa-supplicant
(package (inherit wpa-supplicant-light)
(package (inherit wpa-supplicant-minimal)
(name "wpa-supplicant")
(inputs `(("dbus" ,dbus)
,@(package-inputs wpa-supplicant-light)))
,@(package-inputs wpa-supplicant-minimal)))
(arguments
(substitute-keyword-arguments (package-arguments wpa-supplicant-light)
(substitute-keyword-arguments (package-arguments wpa-supplicant-minimal)
((#:phases phases)
`(alist-cons-after
'configure 'configure-for-dbus
@@ -1130,3 +1135,83 @@ degradation and failure.")
"fdupes is a program for identifying duplicate files residing within
specified directories.")
(license license:expat)))
(define-public graphios
(package
(name "graphios")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/g/graphios/graphios-"
version ".tar.gz"))
(sha256
(base32
"1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))
(build-system python-build-system)
(arguments
;; Be warned: Building with Python 3 succeeds, but the build process
;; throws a syntax error that is ignored.
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-setup.py
(lambda* (#:key outputs #:allow-other-keys)
;; Fix hardcoded, unprefixed file names.
(let ((out (assoc-ref outputs "out")))
(substitute* '("setup.py")
(("/etc") (string-append out "/etc"))
(("/usr") out)
(("distro_ver = .*") "distro_ver = ''"))
#t))))))
(inputs
`(("python-setuptools" ,python2-setuptools)))
(home-page "https://github.com/shawn-sterling/graphios")
(synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
(description
"Graphios is a script to emit nagios perfdata to various upstream metrics
processing and time-series systems. It's currently compatible with Graphite,
Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number
of supported upstream metrics systems simultaneously.")
(license license:gpl2+)))
(define-public ansible
(package
(name "ansible")
(version "1.9.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/a/ansible/ansible-"
version
".tar.gz"))
(sha256
(base32
"007fzgsqaahb0y4gjdxxmir9kcni7wph2z14jhqgpz88idrz8pn2"))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
("python2-pycrypto" ,python2-pycrypto)
("python2-httplib2" ,python2-httplib2)
("python2-passlib" ,python2-passlib)
("python2-nose" ,python2-nose)
("python2-mock" ,python2-mock)
("python2-jinja2" ,python2-jinja2)
("python2-pyyaml" ,python2-pyyaml)
("python2-paramiko" ,python2-paramiko)))
(inputs
`(("python2-pycrypto" ,python2-pycrypto)
("python2-jinja2" ,python2-jinja2)
("python2-pyyaml" ,python2-pyyaml)
("python2-paramiko" ,python2-paramiko)))
(arguments
`(#:python ,python-2)) ; incompatible with Python 3
(home-page "http://ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible is a radically simple IT automation system. It
handles configuration-management, application deployment, cloud provisioning,
ad-hoc task-execution, and multinode orchestration - including trivializing
things like zero downtime rolling updates with load balancers.")
(license license:gpl3+)))
+73 -43
View File
@@ -20,12 +20,14 @@
(define-module (gnu packages algebra)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages readline)
#:use-module (gnu packages flex)
#:use-module (guix licenses)
#:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -46,9 +48,10 @@
(base32
"0grw66b255r574lvll1bqccm5myj2m8ajzsjaygcyq9zjnnbnhhy"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)))
(propagated-inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc))) ; Header files are included by mpfrcx.h.
(synopsis "Arithmetic of polynomials over arbitrary precision numbers")
(description
"Mpfrcx is a library for the arithmetic of univariate polynomials over
@@ -57,9 +60,37 @@ on the rounding. For the time being, only the few functions needed to
implement the floating point approach to complex multiplication are
implemented. On the other hand, these comprise asymptotically fast
multiplication routines such as ToomCook and the FFT.")
(license lgpl2.1+)
(license license:lgpl2.1+)
(home-page "http://mpfrcx.multiprecision.org/")))
(define-public cm
(package
(name "cm")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.multiprecision.org/cm/download/cm-"
version ".tar.gz"))
(sha256
(base32
"1r5dx5qy0ka2sq26n9jll9iy4sjqg0jp5r3jnbjhpgxvmj8jbhq8"))))
(build-system gnu-build-system)
(propagated-inputs
`(("mpfrcx" ,mpfrcx)
("zlib" ,zlib))) ; Header files included from cm_common.h.
(inputs
`(("pari-gp" ,pari-gp)))
(synopsis "CM constructions for elliptic curves")
(description
"The CM software implements the construction of ring class fields of
imaginary quadratic number fields and of elliptic curves with complex
multiplication via floating point approximations. It consists of libraries
that can be called from within a C program and of executable command
line applications.")
(license license:gpl2+)
(home-page "http://cm.multiprecision.org/")))
(define-public fplll
(package
(name "fplll")
@@ -78,7 +109,7 @@ multiplication routines such as ToomCook and the FFT.")
(description
"fplll LLL-reduces euclidean lattices. Since version 3, it can also
solve the shortest vector problem.")
(license lgpl2.1+)
(license license:lgpl2.1+)
(home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
(define-public pari-gp
@@ -95,6 +126,7 @@ solve the shortest vector problem.")
"0k1qqagfl6zn7gvwmsqffj6g9yrzqvszwh2mblhmxpjlw1pigfh8"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("libx11" ,libx11)
("perl" ,perl)
("readline" ,readline)))
(arguments
@@ -119,20 +151,21 @@ functions to compute with mathematical entities such as matrices,
polynomials, power series, algebraic numbers, etc., and a lot of
transcendental functions.
PARI is also available as a C library to allow for faster computations.")
(license gpl2+)
(license license:gpl2+)
(home-page "http://pari.math.u-bordeaux.fr/")))
(define-public gp2c
(package
(name "gp2c")
(version "0.0.9pl2")
(version "0.0.9pl3")
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-"
version ".tar.gz"))
(sha256 (base32
"02h35fwz1caicii7fj8zb9ky4hcrd8rqmzkyvhbls0r05yg5bwwb"))))
(sha256
(base32
"0wbghihwlcx3w4j1la3bjf5gcrkk6lp9syw6iimqndq1f73ijlq3"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
@@ -152,45 +185,41 @@ transcendental functions.
PARI is also available as a C library to allow for faster computations.
GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(license gpl2)
(license license:gpl2)
(home-page "http://pari.math.u-bordeaux.fr/")))
(define-public flint
(package
(name "flint")
(version "2.4.5")
(version "2.5.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://flintlib.org/flint-"
version ".tar.gz"))
(sha256 (base32
"1qq11sxliy499a9g656dgk47ffb951q4gl6ddjbq838gy16kb2g4"))))
"11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb"))
(patches (map search-patch '("flint-ldconfig.patch")))))
(build-system gnu-build-system)
(propagated-inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr))) ; header files from both are included by flint/arith.h
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr")))
;; Drop test failing with gmp-6 due to changed invertibility
;; of 0 in Z/1 Z, which according to the flint authors has no
;; impact on flint.
;; FIXME: Drop with later version.
(delete-file "fmpz/test/t-invmod.c")
;; do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail
(zero? (system*
"./configure"
(string-append "--prefix=" out)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr)))))
%standard-phases)))
`(#:parallel-tests? #f ; seems to be necessary on arm
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr")))
;; do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail
(zero? (system*
"./configure"
(string-append "--prefix=" out)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr)))))))))
(synopsis "Fast library for number theory")
(description
"FLINT is a C library for number theory. It supports arithmetic
@@ -203,21 +232,22 @@ Operations that can be performed include conversions, arithmetic,
GCDs, factoring, solving linear systems, and evaluating special
functions. In addition, FLINT provides various low-level routines for
fast arithmetic.")
(license gpl2+)
(license license:gpl2+)
(home-page "http://flintlib.org/")))
(define-public arb
(package
(name "arb")
(version "2.3.0")
(version "2.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fredrik-johansson/arb/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (base32
"0yvabxyyj1g0d8b5mfgzrxq6qya8cmq97vz60ss6aajzm3nwrabk"))))
(sha256
(base32
"1rwkffs57v8mry63rq8l2dyw69zfs9rg5fpbfllqp3nkjnkp1fly"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
@@ -248,7 +278,7 @@ fast arithmetic.")
arithmetic. It supports efficient high-precision computation with
polynomials, power series, matrices and special functions over the
real and complex numbers, with automatic, rigorous error control.")
(license gpl2+)
(license license:gpl2+)
(home-page "http://fredrikj.net/arb/")))
(define-public bc
@@ -289,7 +319,7 @@ real and complex numbers, with automatic, rigorous error control.")
an interactive environment for evaluating mathematical statements. Its
syntax is similar to that of C, so basic usage is familiar. It also includes
\"dc\", a reverse-polish calculator.")
(license gpl2+)))
(license license:gpl2+)))
(define-public fftw
(package
@@ -323,7 +353,7 @@ syntax is similar to that of C, so basic usage is familiar. It also includes
transform (DFT) in one or more dimensions, of arbitrary input size, and of
both real and complex data (as well as of even/odd data---i.e. the discrete
cosine/ sine transforms or DCT/DST).")
(license gpl2+)))
(license license:gpl2+)))
(define-public fftwf
(package (inherit fftw)
@@ -353,14 +383,14 @@ cosine/ sine transforms or DCT/DST).")
(define-public eigen
(package
(name "eigen")
(version "3.2.5")
(version "3.2.6")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/eigen/eigen/get/"
version ".tar.bz2"))
(sha256
(base32
"1yf27mfq1x38wlsghkvpjgs8xd5rvbbikf1wyj2l3qw8h6w6qvjz"))
"0gil5ksmgcg6v3nw0v613mvpzz4n33xhawqs8l7fj7rnlpwm4cwa"))
(modules '((guix build utils)))
(snippet
;; There are 3 test failures in the "unsupported" directory,
@@ -402,4 +432,4 @@ features, and more.")
;; Most of the code is MPLv2, with a few files under LGPLv2.1+ or BSD-3.
;; See 'COPYING.README' for details.
(license mpl2.0)))
(license license:mpl2.0)))
+1 -1
View File
@@ -55,7 +55,7 @@
`(("wxwidgets" ,wxwidgets-2)
("gtk" ,gtk+-2)
("alsa-lib" ,alsa-lib)
("jack" ,jack-2)
("jack" ,jack-1)
("expat" ,expat)
("ffmpeg" ,ffmpeg)
("lame" ,lame)
+114 -67
View File
@@ -3,6 +3,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,6 +60,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
@@ -150,13 +152,11 @@ streams from live audio.")
libdir "/vamp" "\"]"))))
#t))
(define-public ardour-3
(define-public ardour
(package
(name "ardour")
(version "3.5.403")
(version "4.2")
(source (origin
;; The project only provides tarballs upon individual request
;; (or after payment) so we take the code from git.
(method git-fetch)
(uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git")
@@ -169,14 +169,15 @@ streams from live audio.")
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
namespace ARDOUR { const char* revision = \"4.2\" ; }"))))
(sha256
(base32
"01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp"))
"1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
`(#:phases
`(#:configure-flags '("--cxx11") ; required by gtkmm
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'set-rpath-in-LDFLAGS
@@ -228,36 +229,6 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio
engineers, musicians, soundtrack editors and composers.")
(license license:gpl2+)))
(define-public ardour
(package (inherit ardour-3)
(name "ardour")
;; We pick the commit after 4.1 because it fixes a build problem.
(version "4.1-5aa834e")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git")
(commit (cadr (string-split version #\-)))))
(snippet
;; Ardour expects this file to exist at build time. It can be
;; created from a git checkout with:
;; ./waf create_stored_revision
'(call-with-output-file
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"4.1\" ; }"))))
(sha256
(base32
"0pfmxlscnwyqmgc89cdwrsk1769lr89dirfnpjbxj9zgcns6zqgb"))
(file-name (string-append name "-" version))))
(arguments
(substitute-keyword-arguments (package-arguments ardour-3)
((#:phases phases)
`(modify-phases ,phases
(replace 'set-rpath-in-LDFLAGS
,(ardour-rpath-phase (version-prefix version 1)))))))))
(define-public azr3
(package
(name "azr3")
@@ -339,7 +310,7 @@ tools (analyzer, mono/stereo tools, crossovers).")
(define-public csound
(package
(name "csound")
(version "6.04")
(version "6.05")
(source (origin
(method url-fetch)
(uri (string-append
@@ -347,8 +318,14 @@ tools (analyzer, mono/stereo tools, crossovers).")
version "/Csound" version ".tar.gz"))
(sha256
(base32
"1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g"))))
"0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))))
(build-system cmake-build-system)
(arguments
;; Work around this error on x86_64 with libc 2.22+:
;; libmvec.so.1: error adding symbols: DSO missing from command line
(if (string-prefix? "x86_64" (or (%current-target-system) (%current-system)))
'(#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-lmvec"))
'()))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
@@ -557,7 +534,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
(version "0.32.3")
(version "0.33.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -565,18 +542,17 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.bz2"))
(sha256
(base32
"1ybc5jk7fj6n8qh9ajzl1f6fzdmzab4nwjrh4fsylm94dn1jv0if"))))
"1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx"))
(patches (list (search-patch "guitarix-c++11.patch")))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:python ,python-2
#:configure-flags
(list
;; FIXME: dsp2cc fails for src/faust/tonestack_engl.dsp, so we use the
;; generated C++ files rather than compiling them from Faust sources.
"--no-faust"
;; Add the output lib directory to the RUNPATH.
(string-append "--ldflags=-Wl,-rpath=" %output "/lib"))))
(string-append "--ldflags=-Wl,-rpath=" %output "/lib")
"--cxxflags=-std=c++11")))
(inputs
`(("libsndfile" ,libsndfile)
("boost" ,boost)
@@ -594,7 +570,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
("zita-convolver" ,zita-convolver)))
(native-inputs
`(("gperf" ,gperf)
;;("faust" ,faust) ; dsp2cc fails for src/faust/tonestack_engl.dsp
("faust" ,faust)
("intltool" ,intltool)
("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)))
@@ -669,11 +645,12 @@ especially for creating reverb effects. It supports impulse responses with 1,
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("bdb" ,bdb)
("readline" ,readline)))
;; uuid.h is included in the JACK type headers
;; db.h is included in the libjack metadata headers
(propagated-inputs
`(("libuuid" ,util-linux)))
`(("libuuid" ,util-linux)
("bdb" ,bdb)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://jackaudio.org/")
@@ -689,6 +666,9 @@ synchronous execution of all clients, and low latency operation.")
;; licensed under the LGPL in order to allow for proprietary usage.
(license (list license:gpl2+ license:lgpl2.1+))))
;; Packages depending on JACK should always prefer jack-1. Both jack-1 and
;; jack-2 implement the same API. JACK2 is provided primarily as a client
;; program for users who might benefit from the D-BUS features.
(define-public jack-2
(package (inherit jack-1)
(name "jack2")
@@ -743,7 +723,16 @@ synchronous execution of all clients, and low latency operation.")
(base32
"1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-flags
(lambda _
;; Compile with C++11, required by gtkmm.
(setenv "CXXFLAGS" "-std=c++11")
#t)))))
(inputs
`(("lv2" ,lv2)
("lilv" ,lilv)
@@ -1051,7 +1040,25 @@ lv2-c++-tools.")
"0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no check target
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'use-full-library-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Alc/backends/pulseaudio.c"
(("#define PALIB \"libpulse\\.so\\.0\"")
(string-append "#define PALIB \""
(assoc-ref inputs "pulseaudio")
"/lib/libpulse.so.0"
"\"")))
(substitute* "Alc/backends/alsa.c"
(("LoadLib\\(\"libasound\\.so\\.2\"\\)")
(string-append "LoadLib(\""
(assoc-ref inputs "alsa-lib")
"/lib/libasound.so.2"
"\")")))
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
@@ -1327,11 +1334,11 @@ disks as various audio file formats.")
(method url-fetch)
(uri (string-append
"https://code.soundsoftware.ac.uk"
"/attachments/download/1514/vamp-plugin-sdk-"
"/attachments/download/1520/vamp-plugin-sdk-"
version ".tar.gz"))
(sha256
(base32
"1s986w0mfh1m0870qd7i50hdzayls8kc3shfqf9651jzwdk34lxa"))))
"0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@@ -1374,17 +1381,23 @@ analysis plugins or audio feature extraction plugins.")
(build-system gnu-build-system)
(native-inputs `(("automake" ,automake)))
(arguments
`(#:phases
(alist-cons-after
'unpack 'fix-ar-lib-path
(lambda* (#:key inputs #:allow-other-keys)
;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
(delete-file "ar-lib")
(symlink
(string-append (assoc-ref inputs "automake") "/share/automake-"
,(package-version automake) "/ar-lib")
"ar-lib"))
%standard-phases)))
`(#:configure-flags
;; Disable the use of SSE unless on x86_64.
,(if (not (string-prefix? "x86_64" (or (%current-target-system)
(%current-system))))
''("--disable-sse")
''())
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'fix-ar-lib-path
(lambda* (#:key inputs #:allow-other-keys)
;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
(delete-file "ar-lib")
(symlink
(string-append (assoc-ref inputs "automake") "/share/automake-"
,(package-version automake) "/ar-lib")
"ar-lib"))))))
(home-page "http://sbsms.sourceforge.net/")
(synopsis "Library for time stretching and pitch scaling of audio")
(description
@@ -1625,7 +1638,7 @@ portions of LAME.")
(inputs
;; TODO: Add ASIHPI.
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-2)))
("jack" ,jack-1)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -1652,14 +1665,14 @@ interface.")
(define-public qsynth
(package
(name "qsynth")
(version "0.3.9")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/qsynth/qsynth-" version ".tar.gz"))
(sha256
(base32 "08kyn6cl755l9i1grzjx8yi3f8mgiz4gx0hgqad1n0d8yz85087b"))))
(base32 "1chc89v9hcjw3k4rvzakl8g56wv24kh48fzv1gfs4iv8vhyl3j4x"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" phase
@@ -1682,12 +1695,13 @@ synthesizer written in C++.")
(method url-fetch)
(uri (string-append "https://github.com/Themaister/RSound/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version))
(sha256
(base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-2)
("jack" ,jack-1)
("ao" ,ao)
("libsamplerate" ,libsamplerate)
("openal" ,openal)
@@ -1713,6 +1727,39 @@ directly to a different computer on your LAN network. It is an audio daemon
with a much different focus than most other audio daemons.")
(license license:gpl3+)))
(define-public xjackfreak
(package
(name "xjackfreak")
(version "1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/johnhldavis/xjackfreak/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "docdir=" (assoc-ref %outputs "out")
"/share/doc/xjackfreak"))))
(inputs
`(("jack" ,jack-1)
("libx11" ,libx11)
("libxt" ,libxt)
("libxext" ,libxext)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/johnhldavis/xjackfreak")
(synopsis "JACK audio frequency analyzer and display")
(description
"XJackFreak is an audio analysis and equalizing tool for the Jack Audio
Connection Kit. It can display the FFT of any input, modify it and output the
result.")
(license license:gpl3+)))
(define-public zita-convolver
(package
(name "zita-convolver")
+3 -3
View File
@@ -30,16 +30,16 @@
(define-public autogen
(package
(name "autogen")
(version "5.18.5")
(version "5.18.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/autogen/rel"
version "/autogen-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"1flnbnmkbqmbfgammkl8m36wrlk6rhpgnf9pdm6gdfhqalxvggbv"))))
"0sfmmy19k9z0j3f738fyk6ljf6b66410cvd5zzyplxi2683j10qs"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for doc generator mdoc
("pkg-config" ,pkg-config)))
+25
View File
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
@@ -158,6 +159,30 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
port)))
(chmod (string-append bin "/autoconf") #o555)))))))
(define-public autobuild
(package
(name "autobuild")
(version "5.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/autobuild/autobuild-"
version ".tar.gz"))
(sha256
(base32
"0gv7g61ja9q9zg1m30k4snqwwy1kq7b4df6sb7d2qra7kbdq8af1"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(synopsis "Process generated build logs")
(description "Autobuild is a package that processes build logs generated
when building software. Autobuild is primarily focused on packages using
Autoconf and Automake, but can be used with other build systems too.
Autobuild generates an HTML summary file, containing links to each build log.
The summary includes project name, version, build hostname, host type (cross
compile aware), date of build, and indication of success or failure. The
output is indexed in many ways to simplify browsing.")
(home-page "http://josefsson.org/autobuild/")
(license gpl3+)))
(define-public automake
(package
(name "automake")
+3 -2
View File
@@ -23,7 +23,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages databases)
#:use-module (gnu packages libdaemon)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
@@ -52,7 +52,8 @@
"--disable-xmltoman"
"--enable-tests"
"--disable-qt3" "--disable-qt4"
"--disable-gtk" "--disable-gtk3")))
"--disable-gtk" "--disable-gtk3"
"--enable-compat-libdns_sd")))
(inputs
`(("expat" ,expat)
("glib" ,glib)
+84 -3
View File
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,20 +27,24 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages nettle)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rsync)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
(define-public duplicity
@@ -122,7 +127,7 @@ spying and/or modification by the server.")
(home-page "http://archive.miek.nl/projects/hdup/index.html")
(synopsis "Simple incremental backup tool")
(description
"Hdup2 is a backup utilty, its aim is to make backup really simple. The
"Hdup2 is a backup utility, its aim is to make backup really simple. The
backup scheduling is done by means of a cron job. It supports an
include/exclude mechanism, remote backups, encrypted backups and split
backups (called chunks) to allow easy burning to CD/DVD.")
@@ -145,6 +150,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(search-patch "libarchive-fix-lzo-test-case.patch")
(search-patch "libarchive-CVE-2013-0211.patch")))))
(build-system gnu-build-system)
;; TODO: Add -L/path/to/nettle in libarchive.pc.
(inputs
`(("zlib" ,zlib)
("nettle" ,nettle)
@@ -316,3 +322,78 @@ rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up
to a remote location, and only the differences will be transmitted. Finally,
rdiff-backup is easy to use and settings have sensible defaults.")
(license license:gpl2+)))
(define-public attic
(package
(name "attic")
(version "0.16")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/A/Attic/Attic-"
version ".tar.gz"))
(sha256
(base32
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before
'build 'set-openssl-prefix
(lambda* (#:key inputs #:allow-other-keys)
(setenv "ATTIC_OPENSSL_PREFIX" (assoc-ref inputs "openssl"))
#t)))))
(inputs
`(("acl" ,acl)
("openssl" ,openssl)
("python-llfuse" ,python-llfuse)
("python-msgpack" ,python-msgpack)))
(synopsis "Deduplicating backup program")
(description "Attic is a deduplicating backup program. The main goal of
Attic is to provide an efficient and secure way to backup data. The data
deduplication technique used makes Attic suitable for daily backups since only
changes are stored.")
(home-page "https://attic-backup.org/")
(license license:bsd-3)))
(define-public libchop
(package
(name "libchop")
(version "0.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/libchop/libchop-"
version ".tar.gz"))
(sha256
(base32
"0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g"))
(patches
(list (search-patch "diffutils-gets-undeclared.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("guile" ,guile-2.0)
("gperf" ,gperf)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.0)
("util-linux" ,util-linux)
("gnutls" ,gnutls)
("tdb" ,tdb)
("bdb" ,bdb)
("gdbm" ,gdbm)
("libgcrypt" ,libgcrypt)
("lzo" ,lzo)
("bzip2" ,bzip2)
("zlib" ,zlib)))
(home-page "http://nongnu.org/libchop/")
(synopsis "Tools & library for data backup and distributed storage")
(description
"Libchop is a set of utilities and library for data backup and
distributed storage. Its main application is @command{chop-backup}, an
encrypted backup program that supports data integrity checks, versioning,
distribution among several sites, selective sharing of stored data, adaptive
compression, and more. The library itself implements storage techniques such
as content-addressable storage, content hash keys, Merkle trees, similarity
detection, and lossless compression.")
(license license:gpl3+)))
+259 -99
View File
@@ -4,6 +4,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,11 +34,13 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages linux)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages hurd)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages gettext)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
@@ -49,22 +52,23 @@
(define-public hello
(package
(name "hello")
(version "2.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version
".tar.gz"))
(sha256
(base32 "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
(build-system gnu-build-system)
(synopsis "Hello, GNU world: An example GNU package")
(description
"GNU Hello prints the message \"Hello, world!\" and then exits. It
(name "hello")
(version "2.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version
".tar.gz"))
(sha256
(base32
"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
(build-system gnu-build-system)
(synopsis "Hello, GNU world: An example GNU package")
(description
"GNU Hello prints the message \"Hello, world!\" and then exits. It
serves as an example of standard GNU coding practices. As such, it supports
command-line arguments, multiple languages, and so on.")
(home-page "http://www.gnu.org/software/hello/")
(license gpl3+)))
(home-page "http://www.gnu.org/software/hello/")
(license gpl3+)))
(define-public grep
(package
@@ -245,10 +249,25 @@ used to apply commands with arbitrarily long arguments.")
version ".tar.xz"))
(sha256
(base32
"0w11jw3fb5sslf0f72kxy7llxgk1ia3a6bcw0c9kmvxrlj355mx2"))))
"0w11jw3fb5sslf0f72kxy7llxgk1ia3a6bcw0c9kmvxrlj355mx2"))
(patches
(list (origin
(method url-fetch)
(uri "http://git.savannah.gnu.org/cgit/coreutils.git/\
patch/?id=3ba68f9e64fa2eb8af22d510437a0c6441feb5e0")
(sha256
(base32
"1dnlszhc8lihhg801i9sz896mlrgfsjfcz62636prb27k5hmixqz"))
(file-name "coreutils-tail-inotify-race.patch"))))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp)))
("gmp" ,gmp) ;bignums in 'expr', yay!
;; Drop the dependency on libcap when cross-compiling since it's
;; not quite cross-compilable.
,@(if (%current-target-system)
'()
`(("libcap" ,libcap))))) ;capability support is 'ls', etc.
(native-inputs
;; Perl is needed to run tests in native builds, and to run the bundled
;; copy of help2man. However, don't pass it when cross-compiling since
@@ -284,6 +303,14 @@ functionality beyond that which is outlined in the POSIX standard.")
(license gpl3+)
(home-page "http://www.gnu.org/software/coreutils/")))
(define-public coreutils-minimal
;; Coreutils without its optional dependencies.
(package
(inherit coreutils)
(name "coreutils-minimal")
(outputs '("out"))
(inputs '())))
(define-public gnu-make
(package
(name "make")
@@ -325,14 +352,14 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
(version "2.25")
(version "2.25.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
"08r9i26b05zcwb9zxb6zllpfdiiicdfsgbpsjlrjmvx3rxjzrpi2"))
"08lzmhidzc16af1zbx34f8cy4z7mzrswpdbhrb8shy3xxpflmcdm"))
(patches (list (search-patch "binutils-ld-new-dtags.patch")
(search-patch "binutils-loongson-workaround.patch")))))
(build-system gnu-build-system)
@@ -438,14 +465,14 @@ store.")
(define-public glibc
(package
(name "glibc")
(version "2.21")
(version "2.22")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
"1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf"))
"0j49682pm2nh4qbdw35bas82p1pgfnz4d2l7iwfyzvrvj0318wzb"))
(snippet
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
@@ -454,7 +481,11 @@ store.")
(("use_ldconfig=yes")
"use_ldconfig=no")))
(modules '((guix build utils)))
(patches (list (search-patch "glibc-ldd-x86_64.patch")))))
(patches (map search-patch
'("glibc-ldd-x86_64.patch"
"glibc-locale-incompatibility.patch"
"glibc-versioned-locpath.patch"
"glibc-o-largefile.patch")))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -471,7 +502,7 @@ store.")
#:parallel-build? #f
;; The libraries have an empty RUNPATH, but some, such as the versioned
;; libraries (libdl-2.21.so, etc.) have ld.so marked as NEEDED. Since
;; libraries (libdl-2.22.so, etc.) have ld.so marked as NEEDED. Since
;; these libraries are always going to be found anyway, just skip
;; RUNPATH checks.
#:validate-runpath? #f
@@ -487,12 +518,16 @@ store.")
;; Set the default locale path. In practice, $LOCPATH may be
;; defined to point whatever locales users want. However, setuid
;; binaries don't honor $LOCPATH, so they'll instead look into
;; $libc_cv_localedir; we choose /run/current-system/locale, with
;; the idea that it is going to be populated by the sysadmin.
;; $libc_cv_localedir; we choose /run/current-system/locale/X.Y,
;; with the idea that it is going to be populated by the sysadmin.
;; The "X.Y" sub-directory is because locale data formats are
;; incompatible across libc versions; see
;; <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>.
;;
;; `--localedir' is not honored, so work around it.
;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
(string-append "libc_cv_localedir=/run/current-system/locale")
(string-append "libc_cv_localedir=/run/current-system/locale/"
,version)
(string-append "--with-headers="
(assoc-ref %build-inputs "linux-headers")
@@ -512,72 +547,65 @@ store.")
"libc_cv_ssp=no")
#:tests? #f ; XXX
#:phases (alist-cons-before
'configure 'pre-configure
(lambda* (#:key inputs native-inputs outputs
#:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
;; Use `pwd', not `/bin/pwd'.
(substitute* "configure"
(("/bin/pwd") "pwd"))
#:phases (modify-phases %standard-phases
(add-before
'configure 'pre-configure
(lambda* (#:key inputs native-inputs outputs
#:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
;; FIXME: Normally we would look it up only in INPUTS
;; but cross-base uses it as a native input.
(bash (or (assoc-ref inputs "static-bash")
(assoc-ref native-inputs "static-bash"))))
;; Use `pwd', not `/bin/pwd'.
(substitute* "configure"
(("/bin/pwd") "pwd"))
;; Install the rpc data base file under `$out/etc/rpc'.
;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ];
(substitute* "sunrpc/Makefile"
(("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
(string-append out "/etc/rpc" suffix "\n"))
(("^install-others =.*$")
(string-append "install-others = " out "/etc/rpc\n")))
;; Install the rpc data base file under `$out/etc/rpc'.
;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ];
(substitute* "sunrpc/Makefile"
(("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
(string-append out "/etc/rpc" suffix "\n"))
(("^install-others =.*$")
(string-append "install-others = " out "/etc/rpc\n")))
(substitute* "Makeconfig"
;; According to
;; <http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html>,
;; linking against libgcc_s is not needed with GCC
;; 4.7.1.
((" -lgcc_s") ""))
(substitute* "Makeconfig"
;; According to
;; <http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html>,
;; linking against libgcc_s is not needed with GCC
;; 4.7.1.
((" -lgcc_s") ""))
;; Copy a statically-linked Bash in the output, with
;; no references to other store paths.
;; FIXME: Normally we would look it up only in INPUTS but
;; cross-base uses it as a native input.
(mkdir-p bin)
(copy-file (string-append (or (assoc-ref inputs
"static-bash")
(assoc-ref native-inputs
"static-bash"))
"/bin/bash")
(string-append bin "/bash"))
(remove-store-references (string-append bin "/bash"))
(chmod (string-append bin "/bash") #o555)
;; Have `system' use that Bash.
(substitute* "sysdeps/posix/system.c"
(("#define[[:blank:]]+SHELL_PATH.*$")
(format #f "#define SHELL_PATH \"~a/bin/bash\"\n"
bash)))
;; Keep a symlink, for `patch-shebang' resolution.
(with-directory-excursion bin
(symlink "bash" "sh"))
;; Same for `popen'.
(substitute* "libio/iopopen.c"
(("/bin/sh")
(string-append bash "/bin/bash")))
;; Have `system' use that Bash.
(substitute* "sysdeps/posix/system.c"
(("#define[[:blank:]]+SHELL_PATH.*$")
(format #f "#define SHELL_PATH \"~a/bin/bash\"\n"
out)))
;; Same for the shell used by the 'exec' functions for
;; scripts that lack a shebang.
(substitute* (find-files "." "^paths\\.h$")
(("#define[[:blank:]]+_PATH_BSHELL[[:blank:]].*$")
(string-append "#define _PATH_BSHELL \""
bash "/bin/bash\"\n")))
;; Same for `popen'.
(substitute* "libio/iopopen.c"
(("/bin/sh")
(string-append out "/bin/bash")))
;; Make sure we don't retain a reference to the
;; bootstrap Perl.
(substitute* "malloc/mtrace.pl"
(("^#!.*")
;; The shebang can be omitted, because there's the
;; "bilingual" eval/exec magic at the top of the file.
"")
(("exec @PERL@")
"exec perl"))))))))
;; Make sure we don't retain a reference to the
;; bootstrap Perl.
(substitute* "malloc/mtrace.pl"
(("^#!.*")
;; The shebang can be omitted, because there's the
;; "bilingual" eval/exec magic at the top of the file.
"")
(("exec @PERL@")
"exec perl"))))
%standard-phases)))
(inputs `(("static-bash" ,(static-package bash-light))))
(inputs `(("static-bash" ,static-bash)))
;; To build the manual, we need Texinfo and Perl. Gettext is needed to
;; install the message catalogs, with 'msgfmt'.
@@ -587,9 +615,11 @@ store.")
(native-search-paths
;; Search path for packages that provide locale data. This is useful
;; primarily in build environments.
;; primarily in build environments. Use 'GUIX_LOCPATH' rather than
;; 'LOCPATH' to avoid interference with the host system's libc on foreign
;; distros.
(list (search-path-specification
(variable "LOCPATH")
(variable "GUIX_LOCPATH")
(files '("lib/locale")))))
(synopsis "The GNU C Library")
@@ -603,6 +633,21 @@ with the Linux kernel.")
(license lgpl2.0+)
(home-page "http://www.gnu.org/software/libc/")))
(define-public glibc-2.21
;; The old libc, which we use mostly to build locale data in the old format
;; (which the new libc can cope with.)
(package
(inherit glibc)
(version "2.21")
(source (origin
(inherit (package-source glibc))
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
"1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf"))
(patches (list (search-patch "glibc-ldd-x86_64.patch")))))))
(define-public glibc-locales
(package
(inherit glibc)
@@ -625,19 +670,16 @@ the 'share/locale' sub-directory of this package.")
`(alist-replace
'build
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Delete $out/bin, which contains 'bash'.
(delete-file-recursively (string-append out "/bin")))
(zero? (system* "make" "localedata/install-locales"
"-j" (number->string (parallel-job-count)))))
(alist-delete 'install ,phases)))
((#:configure-flags flags)
`(append ,flags
;; Use $(libdir)/locale as is the case by default.
;; Use $(libdir)/locale/X.Y as is the case by default.
(list (string-append "libc_cv_localedir="
(assoc-ref %outputs "out")
"/lib/locale")))))))))
"/lib/locale/"
,(package-version glibc))))))))))
(define-public glibc-utf8-locales
(package
@@ -646,7 +688,7 @@ the 'share/locale' sub-directory of this package.")
(source #f)
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (srfi srfi-1)
(guix build utils))
@@ -654,18 +696,29 @@ the 'share/locale' sub-directory of this package.")
(let* ((libc (assoc-ref %build-inputs "glibc"))
(gzip (assoc-ref %build-inputs "gzip"))
(out (assoc-ref %outputs "out"))
(localedir (string-append out "/lib/locale")))
(localedir (string-append out "/lib/locale/"
,version)))
;; 'localedef' needs 'gzip'.
(setenv "PATH" (string-append libc "/bin:" gzip "/bin"))
(mkdir-p localedir)
(every (lambda (locale)
(zero? (system* "localedef" "--no-archive"
"--prefix" localedir "-i" locale
"-f" "UTF-8"
(define file
;; Use the "normalized codeset" by
;; default--e.g., "en_US.utf8".
(string-append localedir "/" locale ".utf8"))
(and (zero? (system* "localedef" "--no-archive"
"--prefix" localedir
"-i" locale
"-f" "UTF-8" file))
(begin
;; For backward compatibility with Guix
;; <= 0.8.3, add "xx_YY.UTF-8".
(symlink (string-append locale ".utf8")
(string-append localedir "/"
locale
".UTF-8"))))
locale ".UTF-8"))
#t)))
;; These are the locales commonly used for
;; tests---e.g., in Guile's i18n tests.
@@ -699,6 +752,113 @@ variety of options. It is an alternative to the shell \"type\" built-in
command.")
(license gpl3+))) ; some files are under GPLv2+
(define-public glibc/hurd
;; The Hurd's libc variant.
(package (inherit glibc)
(name "glibc-hurd")
(version "2.18")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.sv.gnu.org/hurd/glibc")
(commit "cc94b3cfe65523f980359e5f0e93a26196bda1d3")))
(sha256
(base32
"17gsh0kaz0zyvghjmx861mi2p65m9901lngi179x61zm6v2v3xc4"))
(file-name (string-append name "-" version))
(patches (map search-patch
'("glibc-hurd-extern-inline.patch")))))
;; Libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
;; so both should be propagated.
(propagated-inputs `(("gnumach-headers" ,gnumach-headers)
("hurd-headers" ,hurd-headers)
("hurd-minimal" ,hurd-minimal)))
(native-inputs
`(,@(package-native-inputs glibc)
("patch/libpthread-patch" ,(search-patch "libpthread-glibc-preparation.patch"))
("mig" ,mig)
("perl" ,perl)
("libpthread" ,(origin
(method git-fetch)
(uri (git-reference
(url "git://git.sv.gnu.org/hurd/libpthread")
(commit "0ef7b75c4ba91b6660f0d3d8b51d14d25e3d5bfb")))
(sha256
(base32
"031py18fls15z0wprni33mf762kg6fx8xqijppimhp83yp6ky3l3"))
(file-name "libpthread")))))
(arguments
(substitute-keyword-arguments (package-arguments glibc)
((#:configure-flags original-configure-flags)
`(append (list "--host=i686-pc-gnu"
;; nscd fails to build for GNU/Hurd:
;; <https://lists.gnu.org/archive/html/bug-hurd/2014-07/msg00006.html>.
;; Disable it.
"--disable-nscd")
(filter (lambda (flag)
(not (or (string-prefix? "--with-headers=" flag)
(string-prefix? "--enable-kernel=" flag))))
;; Evaluate 'original-configure-flags' in a
;; lexical environment that has a dummy
;; "linux-headers" input, to prevent errors.
(let ((%build-inputs `(("linux-headers" . "@DUMMY@")
,@%build-inputs)))
,original-configure-flags))))
((#:phases phases)
`(alist-cons-after
'unpack 'prepare-libpthread
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "libpthread") "libpthread")
(system* "patch" "--force" "-p1" "-i"
(assoc-ref inputs "patch/libpthread-patch"))
#t)
,phases))))
(synopsis "The GNU C Library (GNU Hurd variant)")
(supported-systems %hurd-systems)))
(define-public glibc/hurd-headers
(package (inherit glibc/hurd)
(name "glibc-hurd-headers")
(outputs '("out"))
(propagated-inputs `(("gnumach-headers" ,gnumach-headers)
("hurd-headers" ,hurd-headers)))
(arguments
(substitute-keyword-arguments (package-arguments glibc/hurd)
;; We just pass the flags really needed to build the headers.
((#:configure-flags _)
`(list "--enable-add-ons"
"--host=i686-pc-gnu"
"--enable-obsolete-rpc"))
((#:phases _)
'(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(and (zero? (system* "make" "install-headers"))
;; Make an empty stubs.h to work around not being able to
;; produce a valid stubs.h and causing the build to fail. See
;; <http://lists.gnu.org/archive/html/guix-devel/2014-04/msg00233.html>.
(let ((out (assoc-ref outputs "out")))
(close-port
(open-output-file
(string-append out "/include/gnu/stubs.h"))))))
;; Nothing to build.
(alist-delete
'build
(alist-cons-before
'configure 'pre-configure
(lambda _
;; Use the right 'pwd'.
(substitute* "configure"
(("/bin/pwd") "pwd")))
%standard-phases))))))))
(define-public tzdata
(package
(name "tzdata")
+24 -2
View File
@@ -214,10 +214,10 @@ without modification.")
(license gpl3+)
(home-page "http://www.gnu.org/software/bash/"))))
(define-public bash-light
(define-public bash-minimal
;; A stripped-down Bash for non-interactive use.
(package (inherit bash)
(name "bash-light")
(name "bash-minimal")
(inputs '()) ; no readline, no curses
(arguments
(let ((args `(#:modules ((guix build gnu-build-system)
@@ -239,6 +239,28 @@ without modification.")
'("bash_cv_job_control_missing=no")
'()))))))))
(define-public static-bash
;; Statically-linked Bash that contains nothing but the 'bash' binary and
;; 'sh' symlink, without any reference.
(let ((bash (static-package bash-minimal)))
(package
(inherit bash)
(name "bash-static")
(arguments
(substitute-keyword-arguments
`(#:allowed-references ("out") ,@(package-arguments bash))
((#:phases phases)
`(alist-cons-after
'strip 'remove-everything-but-the-binary
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(remove-store-references (string-append bin "/bash"))
(delete-file (string-append bin "/bashbug"))
(delete-file-recursively (string-append out "/share"))
#t))
,phases)))))))
(define-public bash-completion
(package
(name "bash-completion")
+554 -198
View File
@@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,8 +29,11 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system ruby)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
@@ -45,14 +50,16 @@
#:use-module (gnu packages popt)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages ruby)
#:use-module (gnu packages statistics)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages zip))
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
(define-public aragorn
(package
@@ -196,7 +203,7 @@ computational cluster.")
(define-public bedtools
(package
(name "bedtools")
(version "2.22.0")
(version "2.24.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/arq5x/bedtools2/archive/v"
@@ -204,7 +211,8 @@ computational cluster.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"16aq0w3dmbd0853j32xk9jin4vb6v6fgakfyvrsmsjizzbn3fpfl"))))
"0lnxrjvs3nnmb4bmskag1wg3h2hd80przz5q3xd0bvs7vyxrvpbl"))
(patches (list (search-patch "bedtools-32bit-compilation.patch")))))
(build-system gnu-build-system)
(native-inputs `(("python" ,python-2)))
(inputs `(("samtools" ,samtools)
@@ -227,9 +235,8 @@ computational cluster.")
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
(mkdir-p bin)
(for-each (lambda (file)
(copy-file file (string-append bin (basename file))))
(install-file file bin))
(find-files "bin" ".*"))))
%standard-phases)))))
(home-page "https://github.com/arq5x/bedtools2")
@@ -276,6 +283,67 @@ pybedtools extends BEDTools by offering feature-level manipulations from with
Python.")
(license license:gpl2+)))
(define-public bioperl-minimal
(let* ((inputs `(("perl-module-build" ,perl-module-build)
("perl-data-stag" ,perl-data-stag)
("perl-libwww" ,perl-libwww)
("perl-uri" ,perl-uri)))
(transitive-inputs
(map (compose package-name cadr)
(delete-duplicates
(concatenate
(map (compose package-transitive-target-inputs cadr) inputs))))))
(package
(name "bioperl-minimal")
(version "1.6.924")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-"
version ".tar.gz"))
(sha256
(base32
"1l3npcvvvwjlhkna9dndpfv1hklhrgva013kw96m0n1wpd37ask1"))))
(build-system perl-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after
'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure all executables in "bin" find the required Perl
;; modules at runtime. As the PERL5LIB variable contains also
;; the paths of native inputs, we pick the transitive target
;; inputs from %build-inputs.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(path (string-join
(cons (string-append out "/lib/perl5/site_perl")
(map (lambda (name)
(assoc-ref %build-inputs name))
',transitive-inputs))
":")))
(for-each (lambda (file)
(wrap-program file
`("PERL5LIB" ":" prefix (,path))))
(find-files bin "\\.pl$"))
#t))))))
(inputs inputs)
(native-inputs
`(("perl-test-most" ,perl-test-most)))
(home-page "http://search.cpan.org/dist/BioPerl")
(synopsis "Bioinformatics toolkit")
(description
"BioPerl is the product of a community effort to produce Perl code which
is useful in biology. Examples include Sequence objects, Alignment objects
and database searching objects. These objects not only do what they are
advertised to do in the documentation, but they also interact - Alignment
objects are made from the Sequence objects, Sequence objects have access to
Annotation and SeqFeature objects and databases, Blast objects can be
converted to Alignment objects, and so on. This means that the objects
provide a coordinated and extensible framework to do computational biology.")
(license (package-license perl)))))
(define-public python-biopython
(package
(name "python-biopython")
@@ -492,9 +560,8 @@ confidence to have in an alignment.")
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
(mkdir-p bin)
(for-each (lambda (file)
(copy-file file (string-append bin file)))
(install-file file bin))
(find-files "." "bowtie2.*"))))
(alist-replace
'check
@@ -544,12 +611,15 @@ gapped, local, and paired-end alignment modes.")
(mkdir-p bin)
(mkdir-p doc)
(mkdir-p man)
(copy-file "bwa" (string-append bin "/bwa"))
(copy-file "README.md" (string-append doc "/README.md"))
(copy-file "bwa.1" (string-append man "/bwa.1"))))
(install-file "bwa" bin)
(install-file "README.md" doc)
(install-file "bwa.1" man)))
;; no "configure" script
(alist-delete 'configure %standard-phases))))
(inputs `(("zlib" ,zlib)))
;; Non-portable SSE instructions are used so building fails on platforms
;; other than x86_64.
(supported-systems '("x86_64-linux"))
(home-page "http://bio-bwa.sourceforge.net/")
(synopsis "Burrows-Wheeler sequence aligner")
(description
@@ -608,6 +678,7 @@ multiple sequence alignments.")
(uri (string-append
"https://github.com/YeoLab/clipper/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1q7jpimsqln7ic44i8v2rx2haj5wvik8hc1s2syd31zcn0xk1iyq"))
@@ -734,15 +805,16 @@ time.")
(define-public crossmap
(package
(name "crossmap")
(version "0.1.6")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/crossmap/CrossMap-"
version ".tar.gz"))
(sha256
(base32
"163hi5gjgij6cndxlvbkp5jjwr0k4wbm9im6d2210278q7k9kpnp"))
;; patch has been sent upstream already
"07y179f63d7qnzdvkqcziwk9bs3k4zhp81q392fp1hwszjdvy22f"))
;; This patch has been sent upstream already and is available
;; for download from Sourceforge, but it has not been merged.
(patches (list
(search-patch "crossmap-allow-system-pysam.patch")))
(modules '((guix build utils)))
@@ -813,6 +885,45 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
other types of unwanted sequence from high-throughput sequencing reads.")
(license license:expat)))
(define-public deeptools
(package
(name "deeptools")
(version "1.5.11")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fidelram/deepTools/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1kaagygcbvjs9sxd9cqmskd02wcfp9imvb735r087w7hwqpvz6fs"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(propagated-inputs
`(("python-scipy" ,python2-scipy)
("python-numpy" ,python2-numpy)
("python-matplotlib" ,python2-matplotlib)
("python-bx-python" ,python2-bx-python)
("python-pysam" ,python2-pysam)))
(native-inputs
`(("python-mock" ,python2-mock) ;for tests
("python-pytz" ,python2-pytz) ;for tests
("python-setuptools" ,python2-setuptools)))
(home-page "https://github.com/fidelram/deepTools")
(synopsis "Tools for normalizing and visualizing deep-sequencing data")
(description
"DeepTools addresses the challenge of handling the large amounts of data
that are now routinely generated from DNA sequencing centers. To do so,
deepTools contains useful modules to process the mapped reads data to create
coverage files in standard bedGraph and bigWig file formats. By doing so,
deepTools allows the creation of normalized coverage files or the comparison
between two files (for example, treatment and control). Finally, using such
normalized and standardized files, multiple visualizations can be created to
identify enrichments with functional annotations of the genome.")
(license license:gpl3+)))
(define-public diamond
(package
(name "diamond")
@@ -860,6 +971,9 @@ translated DNA query sequences against a protein reference database (BLASTP
and BLASTX alignment mode). The speedup over BLAST is up to 20,000 on short
reads at a typical sensitivity of 90-99% relative to BLAST depending on the
data and settings.")
;; diamond fails to build on other platforms
;; https://github.com/bbuchfink/diamond/issues/18
(supported-systems '("x86_64-linux"))
(license (license:non-copyleft "file://src/COPYING"
"See src/COPYING in the distribution."))))
@@ -976,6 +1090,51 @@ analysis (from RNA-Seq), transcription factor binding quantification in
ChIP-Seq, and analysis of metagenomic data.")
(license license:artistic2.0)))
(define-public express-beta-diversity
(package
(name "express-beta-diversity")
(version "1.0.7")
(source (origin
(method url-fetch)
(uri
(string-append
"https://github.com/dparks1134/ExpressBetaDiversity/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1djvdlmqvjf6h0zq7w36y8cl5cli6rgj86x65znl48agnwmzxfxr"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'enter-source (lambda _ (chdir "source") #t))
(replace 'check
(lambda _ (zero? (system* "../bin/ExpressBetaDiversity"
"-u"))))
(add-after 'check 'exit-source (lambda _ (chdir "..") #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin")))
(mkdir-p bin)
(copy-file "scripts/convertToEBD.py"
(string-append bin "/convertToEBD.py"))
(copy-file "bin/ExpressBetaDiversity"
(string-append bin "/ExpressBetaDiversity"))
#t))))))
(inputs
`(("python" ,python-2)))
(home-page "http://kiwi.cs.dal.ca/Software/ExpressBetaDiversity")
(synopsis "Taxon- and phylogenetic-based beta diversity measures")
(description
"Express Beta Diversity (EBD) calculates ecological beta diversity
(dissimilarity) measures between biological communities. EBD implements a
variety of diversity measures including those that make use of phylogenetic
similarity of community members.")
(license license:gpl3+)))
(define-public fasttree
(package
(name "fasttree")
@@ -1202,14 +1361,12 @@ estimates transcript expression.")
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
(mkdir-p bin)
(for-each
(lambda (file)
(copy-file file (string-append bin file)))
(find-files
"."
"hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))))
(let ((bin (string-append (assoc-ref outputs "out") "/bi/")))
(for-each (lambda (file)
(install-file file bin))
(find-files
"."
"hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))))
(alist-delete 'configure %standard-phases)))))
(native-inputs
`(("unzip" ,unzip)))
@@ -1217,6 +1374,9 @@ estimates transcript expression.")
`(("perl" ,perl)
("python" ,python)
("zlib" ,zlib)))
;; Non-portable SSE instructions are used so building fails on platforms
;; other than x86_64.
(supported-systems '("x86_64-linux"))
(home-page "http://ccb.jhu.edu/software/hisat/index.shtml")
(synopsis "Hierarchical indexing for spliced alignment of transcripts")
(description
@@ -1442,6 +1602,64 @@ resolution of binding sites through combining the information of both
sequencing tag position and orientation.")
(license license:bsd-3)))
(define-public mafft
(package
(name "mafft")
(version "7.221")
(source (origin
(method url-fetch)
(uri (string-append
"http://mafft.cbrc.jp/alignment/software/mafft-" version
"-without-extensions-src.tgz"))
(file-name (string-append name "-" version ".tgz"))
(sha256
(base32
"0xi7klbsgi049vsrk6jiwh9wfj3b770gz3c8c7zwij448v0dr73d"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no automated tests, though there are tests in the read me
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out)
(string-append "BINDIR="
(string-append out "/bin"))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-dir
(lambda _ (chdir "core") #t))
(add-after 'enter-dir 'patch-makefile
(lambda _
;; on advice from the MAFFT authors, there is no need to
;; distribute mafft-profile, mafft-distance, or
;; mafft-homologs.rb as they are too "specialised".
(substitute* "Makefile"
;; remove mafft-homologs.rb from SCRIPTS
(("^SCRIPTS = mafft mafft-homologs.rb")
"SCRIPTS = mafft")
;; remove mafft-distance from PROGS
(("^PROGS = dvtditr dndfast7 dndblast sextet5 mafft-distance")
"PROGS = dvtditr dndfast7 dndblast sextet5")
;; remove mafft-profile from PROGS
(("splittbfast disttbfast tbfast mafft-profile 2cl mccaskillwrap")
"splittbfast disttbfast tbfast f2cl mccaskillwrap")
(("^rm -f mafft-profile mafft-profile.exe") "#")
(("^rm -f mafft-distance mafft-distance.exe") ")#")
;; do not install MAN pages in libexec folder
(("^\t\\$\\(INSTALL\\) -m 644 \\$\\(MANPAGES\\) \
\\$\\(DESTDIR\\)\\$\\(LIBDIR\\)") "#"))
#t))
(delete 'configure))))
(inputs
`(("perl" ,perl)))
(home-page "http://mafft.cbrc.jp/alignment/software/")
(synopsis "Multiple sequence alignment program")
(description
"MAFFT offers a range of multiple alignment methods for nucleotide and
protein sequences. For instance, it offers L-INS-i (accurate; for alignment
of <~200 sequences) and FFT-NS-2 (fast; for alignment of <~30,000
sequences).")
(license (license:non-copyleft
"http://mafft.cbrc.jp/alignment/software/license.txt"
"BSD-3 with different formatting"))))
(define-public metabat
(package
@@ -1669,19 +1887,25 @@ the phenotype as it models the data.")
(license license:asl2.0)))
(define-public pbtranscript-tofu
(let ((commit "c7bbd5472"))
(let ((commit "8f5467fe6"))
(package
(name "pbtranscript-tofu")
(version (string-append "0.4.1." commit))
(version (string-append "2.2.3." commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PacificBiosciences/cDNA_primer.git")
(commit commit)))
(file-name (string-append name "-" version ".tar.gz"))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"148xkzi689c49g6fdhckp6mnmj2qhjdf1j4wifm6ja7ij95d7fxx"))))
"1lgnpi35ihay42qx0b6yl3kkgra723i413j33kvs0kvs61h82w0f"))
(modules '((guix build utils)))
(snippet
'(begin
;; remove bundled Cython sources
(delete-file "pbtranscript-tofu/pbtranscript/Cython-0.20.1.tar.gz")
#t))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@@ -1691,34 +1915,29 @@ the phenotype as it models the data.")
#:configure-flags '("--single-version-externally-managed"
"--record=pbtranscript-tofu.txt")
#:phases
(alist-cons-after
'unpack 'enter-directory-and-clean-up
(lambda _
(chdir "pbtranscript-tofu/pbtranscript/")
;; Delete clutter
(delete-file-recursively "dist/")
(delete-file-recursively "build/")
(delete-file-recursively "setuptools_cython-0.2.1-py2.6.egg/")
(delete-file-recursively "pbtools.pbtranscript.egg-info")
(delete-file "Cython-0.20.1.tar.gz")
(delete-file "setuptools_cython-0.2.1-py2.7.egg")
(delete-file "setuptools_cython-0.2.1.tar.gz")
(delete-file "setup.cfg")
(for-each delete-file
(find-files "." "\\.so$"))
;; files should be writable for install phase
(for-each (lambda (f) (chmod f #o755))
(find-files "." "\\.py$")))
%standard-phases)))
(modify-phases %standard-phases
(add-after 'unpack 'enter-directory
(lambda _
(chdir "pbtranscript-tofu/pbtranscript/")
#t))
;; With setuptools version 18.0 and later this setup.py hack causes
;; a build error, so we disable it.
(add-after 'enter-directory 'patch-setuppy
(lambda _
(substitute* "setup.py"
(("if 'setuptools.extension' in sys.modules:")
"if False:"))
#t)))))
(inputs
`(("python-cython" ,python2-cython)
("python-numpy" ,python2-numpy)
`(("python-numpy" ,python2-numpy)
("python-bx-python" ,python2-bx-python)
("python-networkx" ,python2-networkx)
("python-scipy" ,python2-scipy)
("python-pbcore" ,python2-pbcore)))
("python-pbcore" ,python2-pbcore)
("python-h5py" ,python2-h5py)))
(native-inputs
`(("python-nose" ,python2-nose)
`(("python-cython" ,python2-cython)
("python-nose" ,python2-nose)
("python-setuptools" ,python2-setuptools)))
(home-page "https://github.com/PacificBiosciences/cDNA_primer")
(synopsis "Analyze transcriptome data generated with the Iso-Seq protocol")
@@ -1927,17 +2146,14 @@ distribution, coverage uniformity, strand specificity, etc.")
'install 'install-library
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
(mkdir-p lib)
(copy-file "libbam.a" (string-append lib "/libbam.a"))))
(install-file "libbam.a" lib)))
(alist-cons-after
'install 'install-headers
(lambda* (#:key outputs #:allow-other-keys)
(let ((include (string-append (assoc-ref outputs "out")
"/include/samtools/")))
(mkdir-p include)
(for-each (lambda (file)
(copy-file file (string-append include
(basename file))))
(install-file file include))
(scandir "." (lambda (name) (string-match "\\.h$" name))))
#t))
(alist-delete 'configure %standard-phases))))))
@@ -1983,6 +2199,52 @@ viewer.")
(string-append bin "/samtools")))))
(delete 'patch-tests)))))))
(define-public mosaik
(let ((commit "5c25216d"))
(package
(name "mosaik")
(version "2.2.30")
(source (origin
;; There are no release tarballs nor tags.
(method git-fetch)
(uri (git-reference
(url "https://github.com/wanpinglee/MOSAIK.git")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
(base32
"17gj3s07cm77r41z92awh0bim7w7q7fbn0sf5nkqmcm1vw052qgw"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "CC=gcc")
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _ (chdir "src") #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin")))
(mkdir-p bin)
(copy-recursively "../bin" bin)
#t))))))
(inputs
`(("perl" ,perl)
("zlib" ,zlib)))
(home-page "https://code.google.com/p/mosaik-aligner/")
(synopsis "Map nucleotide sequence reads to reference genomes")
(description
"MOSAIK is a program for mapping second and third-generation sequencing
reads to a reference genome. MOSAIK can align reads generated by all the
major sequencing technologies, including Illumina, Applied Biosystems SOLiD,
Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
;; MOSAIK is released under the GPLv2+ with the exception of third-party
;; code released into the public domain:
;; 1. fastlz by Ariya Hidayat - http://www.fastlz.org/
;; 2. MD5 implementation - RSA Data Security, RFC 1321
(license (list license:gpl2+ license:public-domain)))))
(define-public ngs-sdk
(package
(name "ngs-sdk")
@@ -2016,6 +2278,10 @@ viewer.")
(lambda _ (chdir "ngs-sdk") #t)
%standard-phases))))
(native-inputs `(("perl" ,perl)))
;; According to the test
;; unless ($MARCH =~ /x86_64/i || $MARCH =~ /i?86/i)
;; in ngs-sdk/setup/konfigure.perl
(supported-systems '("i686-linux" "x86_64-linux"))
(home-page "https://github.com/ncbi/ngs")
(synopsis "API for accessing Next Generation Sequencing data")
(description
@@ -2192,8 +2458,7 @@ accessed/downloaded on demand across HTTP.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin/")))
(mkdir-p bin)
(copy-file "plink" (string-append bin "plink"))
(install-file "plink" bin)
#t))))))
(inputs
`(("zlib" ,zlib)
@@ -2388,6 +2653,44 @@ manipulation, online and indexed string search, efficient I/O of
bioinformatics file formats, sequence alignment, and more.")
(license license:bsd-3)))
(define-public seqmagick
(package
(name "seqmagick")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/s/seqmagick/seqmagick-"
version ".tar.gz"))
(sha256
(base32
"0cgn477n74gsl4qdaakrrhi953kcsd4q3ivk2lr18x74s3g4ma1d"))))
(build-system python-build-system)
(arguments
;; python2 only, see https://github.com/fhcrc/seqmagick/issues/56
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
;; Current test in setup.py does not work as of 0.6.1,
;; so use nose to run tests instead for now. See
;; https://github.com/fhcrc/seqmagick/issues/55
(replace 'check (lambda _ (zero? (system* "nosetests")))))))
(inputs
`(("python-biopython" ,python2-biopython)))
(native-inputs
`(("python-setuptools" ,python2-setuptools)
("python-nose" ,python2-nose)))
(home-page "http://github.com/fhcrc/seqmagick")
(synopsis "Tools for converting and modifying sequence files")
(description
"Bioinformaticians often have to convert sequence files between formats
and do little manipulations on them, and it's not worth writing scripts for
that. Seqmagick is a utility to expose the file format conversion in
BioPython in a convenient way. Instead of having a big mess of scripts, there
is one that takes arguments.")
(license license:gpl3)))
(define-public star
(package
(name "star")
@@ -2415,8 +2718,7 @@ bioinformatics file formats, sequence alignment, and more.")
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
(mkdir-p bin)
(copy-file "STAR" (string-append bin "STAR"))))
(install-file "STAR" bin)))
(alist-delete
'configure %standard-phases)))))
(native-inputs
@@ -2451,7 +2753,24 @@ sequences.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:make-flags '("-f" "Makefile.Linux")
;; The CC and CCFLAGS variables are set to contain a lot of x86_64
;; optimizations by default, so we override these flags such that x86_64
;; flags are only added when the build target is an x86_64 system.
#:make-flags
(list (let ((system ,(or (%current-target-system)
(%current-system)))
(flags '("-ggdb" "-fomit-frame-pointer"
"-ffast-math" "-funroll-loops"
"-fmessage-length=0"
"-O9" "-Wall" "-DMAKE_FOR_EXON"
"-DMAKE_STANDALONE"
"-DSUBREAD_VERSION=\\\"${SUBREAD_VERSION}\\\""))
(flags64 '("-mmmx" "-msse" "-msse2" "-msse3")))
(if (string-prefix? "x86_64" system)
(string-append "CCFLAGS=" (string-join (append flags flags64)))
(string-append "CCFLAGS=" (string-join flags))))
"-f" "Makefile.Linux"
"CC=gcc ${CCFLAGS}")
#:phases
(alist-cons-after
'unpack 'enter-dir
@@ -2475,145 +2794,6 @@ features; exactSNP: a SNP caller that discovers SNPs by testing signals
against local background noises.")
(license license:gpl3+)))
(define-public shogun
(package
(name "shogun")
(version "4.0.0")
(source
(origin
(method url-fetch)
(uri (string-append
"ftp://shogun-toolbox.org/shogun/releases/"
(version-major+minor version)
"/sources/shogun-" version ".tar.bz2"))
(sha256
(base32
"159nlijnb7mnrv9za80wnm1shwvy45hgrqzn51hxy7gw4z6d6fdb"))
(modules '((guix build utils)
(ice-9 rdelim)))
(snippet
'(begin
;; Remove non-free sources and files referencing them
(for-each delete-file
(find-files "src/shogun/classifier/svm/"
"SVMLight\\.(cpp|h)"))
(for-each delete-file
(find-files "examples/undocumented/libshogun/"
(string-append
"(classifier_.*svmlight.*|"
"evaluation_cross_validation_locked_comparison).cpp")))
;; Remove non-free functions.
(define (delete-ifdefs file)
(with-atomic-file-replacement file
(lambda (in out)
(let loop ((line (read-line in 'concat))
(skipping? #f))
(if (eof-object? line)
#t
(let ((skip-next?
(or (and skipping?
(not (string-prefix?
"#endif //USE_SVMLIGHT" line)))
(string-prefix?
"#ifdef USE_SVMLIGHT" line))))
(when (or (not skipping?)
(and skipping? (not skip-next?)))
(display line out))
(loop (read-line in 'concat) skip-next?)))))))
(for-each delete-ifdefs (find-files "src/shogun/kernel/"
"^Kernel\\.(cpp|h)"))))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ;no check target
#:phases
(alist-cons-after
'unpack 'delete-broken-symlinks
(lambda _
(for-each delete-file '("applications/arts/data"
"applications/asp/data"
"applications/easysvm/data"
"applications/msplicer/data"
"applications/ocr/data"
"examples/documented/data"
"examples/documented/matlab_static"
"examples/documented/octave_static"
"examples/undocumented/data"
"examples/undocumented/matlab_static"
"examples/undocumented/octave_static"
"tests/integration/data"
"tests/integration/matlab_static"
"tests/integration/octave_static"
"tests/integration/python_modular/tests"))
#t)
(alist-cons-after
'unpack 'change-R-target-path
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("src/interfaces/r_modular/CMakeLists.txt"
"src/interfaces/r_static/CMakeLists.txt"
"examples/undocumented/r_modular/CMakeLists.txt")
(("\\$\\{R_COMPONENT_LIB_PATH\\}")
(string-append (assoc-ref outputs "out")
"/lib/R/library/")))
#t)
(alist-cons-after
'unpack 'fix-octave-modules
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("src/interfaces/octave_modular/CMakeLists.txt"
"src/interfaces/octave_static/CMakeLists.txt")
(("^include_directories\\(\\$\\{OCTAVE_INCLUDE_DIRS\\}")
"include_directories(${OCTAVE_INCLUDE_DIRS} ${OCTAVE_INCLUDE_DIRS}/octave"))
;; change target directory
(substitute* "src/interfaces/octave_modular/CMakeLists.txt"
(("\\$\\{OCTAVE_OCT_LOCAL_API_FILE_DIR\\}")
(string-append (assoc-ref outputs "out")
"/share/octave/packages")))
#t)
(alist-cons-before
'build 'set-HOME
;; $HOME needs to be set at some point during the build phase
(lambda _ (setenv "HOME" "/tmp") #t)
%standard-phases))))
#:configure-flags
(list "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
"-DUSE_SVMLIGHT=OFF" ;disable proprietary SVMLIGHT
;;"-DJavaModular=ON" ;requires unpackaged jblas
;;"-DRubyModular=ON" ;requires unpackaged ruby-narray
;;"-DPerlModular=ON" ;"FindPerlLibs" does not exist
;;"-DLuaModular=ON" ;fails because lua doesn't build pkgconfig file
"-DOctaveModular=ON"
"-DOctaveStatic=ON"
"-DPythonModular=ON"
"-DPythonStatic=ON"
"-DRModular=ON"
"-DRStatic=ON"
"-DCmdLineStatic=ON")))
(inputs
`(("python" ,python)
("numpy" ,python-numpy)
("r" ,r)
("octave" ,octave)
("swig" ,swig)
("hdf5" ,hdf5)
("atlas" ,atlas)
("arpack" ,arpack-ng)
("lapack" ,lapack)
("glpk" ,glpk)
("libxml2" ,libxml2)
("lzo" ,lzo)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://shogun-toolbox.org/")
(synopsis "Machine learning toolbox")
(description
"The Shogun Machine learning toolbox provides a wide range of unified and
efficient Machine Learning (ML) methods. The toolbox seamlessly allows to
combine multiple data representations, algorithm classes, and general purpose
tools. This enables both rapid prototyping of data pipelines and extensibility
in terms of new algorithms.")
(license license:gpl3+)))
(define-public vcftools
(package
(name "vcftools")
@@ -2654,3 +2834,179 @@ data in the form of VCF files.")
;; The license is declared as LGPLv3 in the README and
;; at http://vcftools.sourceforge.net/license.html
(license license:lgpl3)))
(define-public vsearch
(package
(name "vsearch")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/torognes/vsearch/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0b1359wbzgb2cm04h7dq05v80vik88hnsv298xxd1q1f2q4ydni7"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove bundled cityhash and '-mtune=native'.
(substitute* "src/Makefile.am"
(("^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash \
-O3 -mtune=native -Wall -Wsign-compare")
(string-append "AM_CXXFLAGS=-lcityhash"
" -O3 -Wall -Wsign-compare"))
(("^__top_builddir__bin_vsearch_SOURCES = cityhash/city.h \\\\")
"__top_builddir__bin_vsearch_SOURCES = \\")
(("^cityhash/config.h \\\\") "\\")
(("^cityhash/city.cc \\\\") "\\"))
(substitute* "src/vsearch.h"
(("^\\#include \"cityhash/city.h\"")
"#include <city.h>"))
(delete-file-recursively "src/cityhash")
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'autogen
(lambda _ (zero? (system* "autoreconf" "-vif")))))))
(inputs
`(("zlib" ,zlib)
("bzip2" ,bzip2)
("cityhash" ,cityhash)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(synopsis "Sequence search tools for metagenomics")
(description
"VSEARCH supports DNA sequence searching, clustering, chimera detection,
dereplication, pairwise alignment, shuffling, subsampling, sorting and
masking. The tool takes advantage of parallelism in the form of SIMD
vectorization as well as multiple threads to perform accurate alignments at
high speed. VSEARCH uses an optimal global aligner (full dynamic programming
Needleman-Wunsch).")
(home-page "https://github.com/torognes/vsearch")
;; vsearch uses non-portable SSE intrinsics so building fails on other
;; platforms.
(supported-systems '("x86_64-linux"))
;; Dual licensed; also includes public domain source.
(license (list license:gpl3 license:bsd-2))))
(define-public bio-locus
(package
(name "bio-locus")
(version "0.0.7")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "bio-locus" version))
(sha256
(base32
"02vmrxyimkj9sahsp4zhfhnmbvz6dbbqz1y01vglf8cbwvkajfl0"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-rspec" ,ruby-rspec)))
(synopsis "Tool for fast querying of genome locations")
(description
"Bio-locus is a tabix-like tool for fast querying of genome
locations. Many file formats in bioinformatics contain records that
start with a chromosome name and a position for a SNP, or a start-end
position for indels. Bio-locus allows users to store this chr+pos or
chr+pos+alt information in a database.")
(home-page "https://github.com/pjotrp/bio-locus")
(license license:expat)))
(define-public bio-blastxmlparser
(package
(name "bio-blastxmlparser")
(version "2.0.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "bio-blastxmlparser" version))
(sha256
(base32
"1wf4qygcmdjgcqm6flmvsagfr1gs9lf63mj32qv3z1f481zc5692"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-bio-logger" ,ruby-bio-logger)
("ruby-nokogiri" ,ruby-nokogiri)))
(inputs
`(("ruby-rspec" ,ruby-rspec)))
(synopsis "Fast big data BLAST XML parser and library")
(description
"Very fast parallel big-data BLAST XML file parser which can be used as
command line utility. Use blastxmlparser to: Parse BLAST XML; filter output;
generate FASTA, JSON, YAML, RDF, JSON-LD, HTML, CSV, tabular output etc.")
(home-page "http://github.com/pjotrp/blastxmlparser")
(license license:expat)))
(define-public bioruby
(package
(name "bioruby")
(version "1.5.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "bio" version))
(sha256
(base32
"01k2fyjl5fpx4zn8g6gqiqvsg2j1fgixrs9p03vzxckynxdq3wmc"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-libxml" ,ruby-libxml)))
(native-inputs
`(("which" ,which))) ; required for test phase
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-test-command
(lambda _
(substitute* '("test/functional/bio/test_command.rb")
(("/bin/sh") (which "sh")))
(substitute* '("test/functional/bio/test_command.rb")
(("/bin/ls") (which "ls")))
(substitute* '("test/functional/bio/test_command.rb")
(("which") (which "which")))
(substitute* '("test/functional/bio/test_command.rb",
"test/data/command/echoarg2.sh")
(("/bin/echo") (which "echo")))
#t)))))
(synopsis "Ruby library, shell and utilities for bioinformatics")
(description "BioRuby comes with a comprehensive set of Ruby development
tools and libraries for bioinformatics and molecular biology. BioRuby has
components for sequence analysis, pathway analysis, protein modelling and
phylogenetic analysis; it supports many widely used data formats and provides
easy access to databases, external programs and public web services, including
BLAST, KEGG, GenBank, MEDLINE and GO.")
(home-page "http://bioruby.org/")
;; Code is released under Ruby license, except for setup
;; (LGPLv2.1+) and scripts in samples (which have GPL2 and GPL2+)
(license (list license:ruby license:lgpl2.1+ license:gpl2+ ))))
(define-public r-qtl
(package
(name "r-qtl")
(version "1.37-11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cran/src/contrib/qtl_"
version ".tar.gz"))
(sha256
(base32
"0h20d36mww7ljp51pfs66xq33yq4b4fwq9nsh02dpmfhlaxgx1xi"))))
(build-system r-build-system)
(home-page "http://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics")
(description "R/qtl is an extension library for the R statistics
system. It is used to analyze experimental crosses for identifying
genes contributing to variation in quantitative traits (so-called
quantitative trait loci, QTLs).
Using a hidden Markov model, R/qtl allows to estimate genetic maps, to
identify genotyping errors, and to perform single-QTL and two-QTL,
two-dimensional genome scans.")
(license license:gpl3)))
+9 -15
View File
@@ -99,46 +99,40 @@ DHT, µTP, PEX and Magnet Links.")
(define-public libtorrent
(package
(name "libtorrent")
(version "0.13.4")
(version "0.13.6")
(source (origin
(method url-fetch)
(uri (string-append
"http://libtorrent.rakshasa.no/downloads/libtorrent-"
"http://rtorrent.net/downloads/libtorrent-"
version ".tar.gz"))
(sha256
(base32
"0ma910br5vxrfpm4f4w4942lpmhwvqjnnf9h8vpf52fw35qhjkkh"))))
"012s1nwcvz5m5r4d2z9klgy2n34kpgn9kgwgzxm97zgdjs6a0f18"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config)
;; Add this when you enable tests:
;; ("cppunit" ,cppunit)
))
(arguments
;; FIXME: enable tests on the next release:
;; https://github.com/rakshasa/libtorrent/issues/59
`(#:tests? #f))
("cppunit" ,cppunit)))
(synopsis "BitTorrent library of rtorrent")
(description
"LibTorrent is a BitTorrent library used by and developed in parallel
with the BitTorrent client rtorrent. It is written in C++ with emphasis on
speed and efficiency.")
(home-page "http://libtorrent.rakshasa.no/")
(home-page "https://github.com/rakshasa/libtorrent")
(license l:gpl2+)))
(define-public rtorrent
(package
(name "rtorrent")
(version "0.9.4")
(version "0.9.6")
(source (origin
(method url-fetch)
(uri (string-append
"http://libtorrent.rakshasa.no/downloads/rtorrent-"
"http://rtorrent.net/downloads/rtorrent-"
version ".tar.gz"))
(sha256
(base32
"113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw"))))
"03jvzw9pi2mhcm913h8qg0qw9gwjqc6lhwynb1yz1y163x7w4s8y"))))
(build-system gnu-build-system)
(inputs `(("libtorrent" ,libtorrent)
("ncurses" ,ncurses)
@@ -153,5 +147,5 @@ speed and efficiency.")
"rTorrent is a BitTorrent client with an ncurses interface. It supports
full encryption, DHT, PEX, and Magnet Links. It can also be controlled via
XML-RPC over SCGI.")
(home-page "http://libtorrent.rakshasa.no/")
(home-page "https://github.com/rakshasa/rtorrent")
(license l:gpl2+)))
+3 -1
View File
@@ -127,7 +127,7 @@ successful, or false to signal an error."
(synopsis description)
(description #f)
(home-page #f)
(license #f)))
(license gpl3+)))
(define package-with-bootstrap-guile
(memoize
@@ -164,6 +164,8 @@ successful, or false to signal an error."
((string=? system "i686-linux") "/lib/ld-linux.so.2")
((string=? system "armhf-linux") "/lib/ld-linux-armhf.so.3")
((string=? system "mips64el-linux") "/lib/ld.so.1")
((string=? system "i586-gnu") "/lib/ld.so.1")
((string=? system "i686-gnu") "/lib/ld.so.1")
;; XXX: This one is used bare-bones, without a libc, so add a case
;; here just so we can keep going.
+8 -3
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +27,7 @@
(define-public calcurse
(package
(name "calcurse")
(version "3.2.1")
(version "4.0.0")
(source
(origin
(method url-fetch)
@@ -35,9 +35,14 @@
version ".tar.gz"))
(sha256
(base32
"0g92c4x02iv2wi3c1sm3nz1ay96bi2m7klxq3qyyx3pr11l53m85"))))
"0d33cpkbhyidvm3xx6iw9ljqdvl6477c2kcwix3bs63nj0ch06v2"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(arguments
;; The ical tests all want to create a ".calcurse" directory, and may
;; fail with "cannot create directory '.calcurse': File exists" if run
;; concurently.
'(#:parallel-tests? #f))
(home-page "http://www.calcurse.org")
(synopsis "Text-based calendar and scheduling")
(description
+22 -2
View File
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -231,6 +232,25 @@ depend on the file system of the medium. The maximum error correction
capacity is user-selectable.")
(license gpl2+)))
(define-public libcue
(package
(name "libcue")
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libcue/libcue-"
version ".tar.bz2"))
(sha256
(base32
"17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb"))))
(build-system gnu-build-system)
(home-page "http://libcue.sourceforge.net/")
(synopsis "C library to parse cue sheets")
(description "Libcue is a C library to parse so-called @dfn{cue sheets}
which contain meta-data for CD/DVD tracks. It provides an API to manipulate
the data.")
(license gpl2+)))
(define-public cd-discid
(package
(name "cd-discid")
@@ -264,7 +284,7 @@ from an audio CD.")
(define-public abcde
(package
(name "abcde")
(version "2.6")
(version "2.7")
(home-page "http://abcde.einval.com/")
(source (origin
(method url-fetch)
@@ -272,7 +292,7 @@ from an audio CD.")
version ".tar.gz"))
(sha256
(base32
"0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8"))
"0ikpffzvacadh6vj9qlary8126j1zrd2knp9gvivmp7y1656jj01"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
+3 -1
View File
@@ -26,6 +26,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages python)
#:use-module (gnu packages perl)
#:use-module (gnu packages tls))
(define certdata2pem
@@ -76,7 +77,8 @@
(outputs '("out"))
(native-inputs
`(("certdata2pem" ,certdata2pem)
("openssl" ,openssl)))
("openssl" ,openssl)
("perl" ,perl))) ;for OpenSSL's 'c_rehash'
(inputs '())
(propagated-inputs '())
(arguments
+2 -3
View File
@@ -136,10 +136,9 @@ supervised tests.")
,version)))
(begin
(for-each mkdir-p (list incdir docdir))
(copy-file (string-append source
(install-file (string-append source
"/single_include/catch.hpp")
(string-append incdir
"/catch.hpp"))
incdir)
(copy-recursively (string-append source "/docs")
docdir))))))
(home-page "http://catch-lib.net/")
+6 -7
View File
@@ -36,20 +36,19 @@
(define-public cmake
(package
(name "cmake")
(version "3.2.2")
(version "3.3.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.cmake.org/files/v"
(version-major+minor version)
"/cmake-" version ".tar.gz"))
(uri (string-append "https://www.cmake.org/files/v"
(version-major+minor version)
"/cmake-" version ".tar.gz"))
(sha256
(base32 "0y3w83al0vh9ll7fnqm3nx7l8hsl85k8iv9abxb791q36rp4xsdd"))
(base32
"08pwy9ip9cgwgynhn5vrjw8drw29gijy1rmziq22n65zds6ifnp7"))
(patches (list (search-patch "cmake-fix-tests.patch")))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:parallel-tests? #f ; 3 test from RunCMake fails
#:phases (alist-cons-before
'configure 'patch-bin-sh
(lambda _
+6 -7
View File
@@ -67,14 +67,14 @@ a major mode for Emacs for examining the flowcharts that it produces.")
(define-public complexity
(package
(name "complexity")
(version "1.2")
(version "1.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/complexity/complexity-"
version ".tar.gz"))
(sha256
(base32
"0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d"))))
"19bc64sxpqd5rqylqaa7dijz2x7qp2b0dg3ah3fb3qbcvd8b4wgy"))))
(build-system gnu-build-system)
(native-inputs
`(("texinfo" ,texinfo)
@@ -91,14 +91,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(define-public global ; a global variable
(package
(name "global")
(version "6.5")
(version "6.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"1af6lhwhrpdnigd3707fnk3dd6y53pbc4g0i75xjf0563bdi5zaa"))))
"1y34nbazsw2p6r2jhv27z15qvm9mhy5xjchpz8pwps00shkm578f"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libltdl" ,libltdl)
@@ -117,9 +117,8 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share/gtags"))
(lisp (string-append out "/share/emacs/site-lisp")))
(mkdir-p lisp)
(copy-file (string-append data "/gtags.el")
(string-append lisp "/gtags.el"))
(install-file (string-append data "/gtags.el")
lisp)
(delete-file (string-append data "/gtags.el"))
#t))
%standard-phases)))
+24 -25
View File
@@ -419,18 +419,17 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
#:guile %bootstrap-guile))))
(define static-bash-for-glibc
;; A statically-linked Bash to be embedded in GLIBC-FINAL, for use by
;; system(3) & co.
;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co.
(let* ((gcc (cross-gcc-wrapper gcc-boot0 binutils-boot0
glibc-final-with-bootstrap-bash
(car (assoc-ref %boot1-inputs "bash"))))
(bash (package (inherit bash-light)
(bash (package (inherit static-bash)
(native-inputs `(("bison" ,bison-boot1)))
(arguments
`(#:guile ,%bootstrap-guile
,@(package-arguments bash-light))))))
,@(package-arguments static-bash))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs (static-package bash)
(package-with-explicit-inputs bash
`(("gcc" ,gcc)
("libc" ,glibc-final-with-bootstrap-bash)
,@(fold alist-delete %boot1-inputs
@@ -490,6 +489,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(arguments
`(#:allowed-references
,(cons* `(,gcc-boot0 "lib") (linux-libre-headers-boot0)
static-bash-for-glibc
(package-outputs glibc-final-with-bootstrap-bash))
,@(package-arguments glibc-final-with-bootstrap-bash)))))
@@ -562,7 +562,8 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
#:allowed-references ("out" "lib" ,glibc-final)
#:allowed-references ("out" "lib"
,glibc-final ,static-bash-for-glibc)
;; Things like libasan.so and libstdc++.so NEED ld.so for some
;; reason, but it is not in their RUNPATH. This is a false
@@ -596,8 +597,12 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
((#:phases phases)
`(alist-delete 'symlink-libgcc_eh ,phases)))))
;; This time we want Texinfo, so we get the manual.
;; This time we want Texinfo, so we get the manual. Add
;; STATIC-BASH-FOR-GLIBC so that it's used in the final shebangs of
;; scripts such as 'mkheaders' and 'fixinc.sh' (XXX: who cares about these
;; scripts?).
(native-inputs `(("texinfo" ,texinfo-boot0)
("static-bash" ,static-bash-for-glibc)
,@(package-native-inputs gcc-boot0)))
(inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp)))
@@ -655,8 +660,19 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(current-source-location)
#:guile %bootstrap-guile))))))
(define-public ld-wrapper
;; The final 'ld' wrapper, which uses the final Guile and Binutils.
(package (inherit ld-wrapper-boot3)
(name "ld-wrapper")
(inputs `(("guile" ,guile-final)
("bash" ,bash-final)
,@(fold alist-delete (package-inputs ld-wrapper-boot3)
'("guile" "bash"))))))
(define %boot5-inputs
;; Now with UTF-8 locale.
;; Now with UTF-8 locales. Remember that the bootstrap binaries were built
;; with an older libc, which cannot load the new locale format. See
;; <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>.
`(("locales" ,glibc-utf8-locales-final)
,@%boot4-inputs))
@@ -668,15 +684,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
,@%boot5-inputs)
(current-source-location))))
(define-public ld-wrapper
;; The final `ld' wrapper, which uses the final Guile.
(package (inherit ld-wrapper-boot3)
(name "ld-wrapper")
(inputs `(("guile" ,guile-final)
("bash" ,bash-final)
,@(fold alist-delete (package-inputs ld-wrapper-boot3)
'("guile" "bash"))))))
(define coreutils-final
;; The final Coreutils. Treat them specially because some packages, such as
;; Findutils, keep a reference to the Coreutils they were built with.
@@ -791,14 +798,6 @@ COREUTILS-FINAL vs. COREUTILS, etc."
(((names . directories) ...)
(union-build out directories)))
;; Remove the 'sh' and 'bash' binaries that come with
;; libc to avoid polluting the user's profile (these are
;; statically-linked binaries with no locale support and
;; so on.)
(for-each (lambda (file)
(delete-file (string-append out "/bin/" file)))
'("sh" "bash"))
(union-build (assoc-ref %outputs "debug")
(list (assoc-ref %build-inputs
"libc-debug")))))))
+158 -12
View File
@@ -5,6 +5,9 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +26,7 @@
(define-module (gnu packages compression)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -30,6 +34,7 @@
#:use-module (guix build-system perl)
#:use-module (gnu packages base)
#:use-module (gnu packages perl)
#:use-module (gnu packages valgrind)
#:use-module ((srfi srfi-1) #:select (last)))
(define-public zlib
@@ -222,14 +227,46 @@ decompression.")
"See LICENSE in the distribution."))
(home-page "http://www.bzip.org/"))))
(define-public pbzip2
(package
(name "pbzip2")
(version "1.1.12")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/pbzip2/"
(version-major+minor version) "/" version
"/+download/" name "-" version ".tar.gz"))
(sha256
(base32
"1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp"))))
(build-system gnu-build-system)
(inputs
`(("bzip2", bzip2)))
(arguments
`(#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(delete 'configure))
#:make-flags (list (string-append "PREFIX=" %output))))
(home-page "http://compression.ca/pbzip2/")
(synopsis "Parallel bzip2 implementation")
(description
"Pbzip2 is a parallel implementation of the bzip2 block-sorting file
compressor that uses pthreads and achieves near-linear speedup on SMP machines.
The output of this version is fully compatible with bzip2 v1.0.2 (i.e. anything
compressed with pbzip2 can be decompressed with bzip2).")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
(define-public xz
(package
(name "xz")
(version "5.0.4")
(source (origin
(method url-fetch)
(uri (string-append "http://tukaani.org/xz/xz-" version
".tar.gz"))
(uri (list (string-append "http://tukaani.org/xz/xz-" version
".tar.gz")
(string-append "http://multiprecision.org/guix/xz-"
version ".tar.gz")))
(sha256
(base32
"1dl35ca8fdss9z2d6y234gxh24ixq904xksizrjmjr5dimwhax6n"))))
@@ -251,7 +288,7 @@ than gzip and 15 % smaller output than bzip2.")
(define-public lzo
(package
(name "lzo")
(version "2.06")
(version "2.09")
(source
(origin
(method url-fetch)
@@ -259,7 +296,7 @@ than gzip and 15 % smaller output than bzip2.")
version ".tar.gz"))
(sha256
(base32
"0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz"))))
"0k5kpj3jnsjfxqqkblpfpx0mqcy86zs5fhjhgh2kq1hksg7ag57j"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--enable-shared")))
(home-page "http://www.oberhumer.com/opensource/lzo")
@@ -355,17 +392,15 @@ This package is mostly for compatibility and historical interest.")
(define-public sfarklib
(package
(name "sfarklib")
(version "2.23.5ca96b779")
(version "2.24")
(source (origin
;; The 2.23 tarball does not include the Makefile, but only
;; Makefile.am.
(method git-fetch)
(uri (git-reference
(url "https://github.com/raboof/sfArkLib.git")
(commit (last (string-split version #\.)))))
(method url-fetch)
(uri (string-append "https://github.com/raboof/sfArkLib/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1hk1x88dl5b9jq016r6rx5wyszxknyv0sa7gmil4m4alnhwl4h7h"))))
"0bzs2d98rk1xw9qwpnc7gmlbxwmwc3dg1rpn310afy9pq1k9clzi"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
@@ -513,3 +548,114 @@ compression library.")
(description "IO-Compress provides a Perl interface to allow reading and
writing of compressed data created with the zlib and bzip2 libraries.")
(license (package-license perl))))
(define-public lz4
(package
(name "lz4")
(version "131")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Cyan4973/lz4/archive/"
"r" version ".tar.gz"))
(sha256
(base32 "1vfg305zvj50hwscad24wan9jar6nqj14gdk2hqyr7bb9mhh0kcx"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs `(("valgrind" ,valgrind)))
(arguments
`(#:test-target "test"
#:parallel-tests? #f ; tests fail if run in parallel
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/Cyan4973/lz4")
(synopsis "Compression algorithm focused on speed")
(description "LZ4 is a lossless compression algorithm, providing
compression speed at 400 MB/s per core (0.16 Bytes/cycle). It also features an
extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle).
A high compression derivative, called LZ4_HC, is also provided. It trades CPU
time for compression ratio.")
;; The libraries (lz4, lz4hc, and xxhash are BSD licenced. The command
;; line interface programs (lz4, fullbench, fuzzer, datagen) are GPL2+.
(license (list license:bsd-2 license:gpl2+))))
(define-public squashfs-tools
(package
(name "squashfs-tools")
(version "4.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/squashfs/"
"squashfs" version ".tar.gz"))
(sha256
(base32
"1xpklm0y43nd9i6jw43y2xh5zvlmj9ar2rvknh0bh7kv8c95aq0d"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
#:make-flags
(list "CC=gcc"
"XZ_SUPPORT=1"
"LZO_SUPPORT=1"
"LZ4_SUPPORT=1"
(string-append "INSTALL_DIR=" %output "/bin"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(chdir "squashfs-tools"))))))
(inputs
`(("lz4" ,lz4)
("lzo" ,lzo)
("xz" ,xz)
("zlib" ,zlib)))
(home-page "http://squashfs.sourceforge.net/")
(synopsis "Tools to create and extract squashfs filesystems")
(description
"Squashfs is a highly compressed read-only filesystem for Linux. It uses
zlib to compress files, inodes, and directories. All blocks are packed to
minimize the data overhead, and block sizes of between 4K and 1M are supported.
It is intended to be used for archival use, for live CDs, and for embedded
systems where low overhead is needed. This package allows you to create and
extract such filesystems.")
(license license:gpl2+)))
(define-public pigz
(package
(name "pigz")
(version "2.3.3")
(source (origin
(method url-fetch)
(uri (string-append "http://zlib.net/pigz/"
name "-" version ".tar.gz"))
(sha256
(base32
"172hdf26k4zmm7z8md7nl0dph2a7mhf3x7slb9bhfyff6as6g2sf"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man1")))
(install-file "pigz" bin)
(symlink "pigz" (string-append bin "/unpigz"))
(install-file "pigz.1" man)
#t))))
#:make-flags (list "CC=gcc")
#:test-target "tests"))
(inputs `(("zlib" ,zlib)))
(home-page "http://zlib.net/pigz/")
(synopsis "Parallel implementation of gzip")
(description
"This package provides a parallel implementation of gzip that exploits
multiple processors and multiple cores when compressing data.")
;; Things under zopfli/ are under ASL2.0, but 4 files at the top-level,
;; written by Mark Adler, are under another non-copyleft license.
(license license:asl2.0)))
+25 -29
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,46 +28,42 @@
(define-public conkeror
(package
(name "conkeror")
(version "1.0pre1")
(version "1.0pre1.20150730")
(source (origin
(method url-fetch)
(uri
(string-append "http://repo.or.cz/w/conkeror.git/snapshot/"
"8a26fff5896a3360549e2adfbf06b1d57e909266"
".tar.gz")) ; tag: debian-1.0--pre-1+git140616-1
"a1f7e879b129df5cf14ea4ce80a9c1407380ed58"
".tar.gz")) ; tag: debian-1.0--pre-1+git150730-1
(sha256
(base32
"1cgjzi7g3g22zcx6bpfnid4i12sb45w6icmxdzjn8d3c0m8qsyp1"))))
"1q45hc30733gz3ca2ixvw0rzzcbi7rlay7gx7kvzjv17a030nyk0"))))
(build-system gnu-build-system)
(inputs `(("icecat" ,icecat)))
(arguments
`(#:tests? #f ;no tests
#:make-flags '("CC=gcc")
#:make-flags `("CC=gcc"
,(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(alist-delete
'configure
(alist-replace
'install
(lambda _
(begin
(use-modules (guix build utils))
(let* ((datadir (string-append %output "/share/conkeror"))
(bindir (string-append %output "/bin"))
(launcher (string-append bindir "/conkeror"))
(spawn (string-append bindir "/conkeror-spawn-helper")))
(copy-recursively "." datadir)
(mkdir-p bindir)
(copy-file "conkeror-spawn-helper" spawn)
(call-with-output-file launcher
(lambda (p)
(format p "#!~a/bin/bash
(modify-phases %standard-phases
(delete 'configure)
(add-after
'install 'install-app-launcher
(lambda* (#:key inputs outputs #:allow-other-keys)
;; This overwrites the installed launcher, which execs xulrunner,
;; with one that execs 'icecat --app'
(let* ((out (assoc-ref outputs "out"))
(datadir (string-append out "/share/conkeror"))
(launcher (string-append out "/bin/conkeror")))
(call-with-output-file launcher
(lambda (p)
(format p "#!~a/bin/bash
exec ~a/bin/icecat --app ~a \"$@\"~%"
(assoc-ref %build-inputs "bash") ;implicit input
(assoc-ref %build-inputs "icecat")
(string-append datadir
"/application.ini"))))
(chmod launcher #o555))))
%standard-phases))))
(assoc-ref inputs "bash") ;implicit input
(assoc-ref inputs "icecat")
(string-append datadir
"/application.ini"))))
(chmod launcher #o555)))))))
(synopsis "Keyboard focused web browser with Emacs look and feel")
(description "Conkeror is a highly-programmable web browser based on
Mozilla XULRunner which is the base of all Mozilla products including Firefox.
+79
View File
@@ -0,0 +1,79 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages conky)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages lua)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg))
(define-public conky
(package
(name "conky")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/brndnmtthws/conky/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1szq4ckfkvyabv5llf9nkdxipn7429sralsxyr7z0dyc3zwz74pk"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:phases
(alist-cons-after
'unpack 'add-freetype-to-search-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/ConkyPlatformChecks.cmake"
(("set\\(INCLUDE_SEARCH_PATH")
(string-append
"set(INCLUDE_SEARCH_PATH "
(assoc-ref inputs "freetype") "/include/freetype2 ")))
#t)
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(copy-file "src/conky" (string-append bin "/conky"))))
%standard-phases))))
(inputs
`(("freetype" ,freetype)
("ncurses" ,ncurses)
("libx11" ,libx11)
("libxdamage" ,libxdamage)
("libxft" ,libxft)
("lua" ,lua)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/brndnmtthws/conky")
(synopsis "Lightweight system monitor for X")
(description
"Conky is a lightweight system monitor for X that displays operating
system statistics (CPU, disk, and memory usage, etc.) and more on the
desktop.")
(license license:gpl3+)))
+2 -16
View File
@@ -28,29 +28,15 @@
(define-public cpio
(package
(name "cpio")
(version "2.11")
(version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cpio/cpio-"
version ".tar.bz2"))
(sha256
(base32
"1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"))
(patches (map search-patch
'("cpio-CVE-2014-9112-pt1.patch"
"cpio-CVE-2014-9112-pt2.patch"
"cpio-CVE-2014-9112-pt3.patch"
"cpio-CVE-2014-9112-pt4.patch"
"cpio-CVE-2014-9112-pt5.patch"
"cpio-fix-symlink-bad-length-test.patch"
"cpio-gets-undeclared.patch")))))
"0vi9q475h1rki53100zml75vxsykzyhrn70hidy41s5c2rc8r6bh"))))
(build-system gnu-build-system)
;; FIXME: autoconf is needed to run autom4te, to update to test suite
;; after the CVE-2014-9112 patches. Remove this when cpio is
;; updated to post-2.11.
(native-inputs `(("autoconf" ,autoconf)))
(home-page "https://www.gnu.org/software/cpio/")
(synopsis "Manage cpio and tar file archives")
(description
+4 -1
View File
@@ -100,7 +100,9 @@ may be either a libc package or #f.)"
((#:configure-flags flags)
`(append (list ,(string-append "--target=" target)
,@(if libc
'()
`( ;; Disable libcilkrts because it is not
;; ported to GNU/Hurd.
"--disable-libcilkrts")
`( ;; Disable features not needed at this stage.
"--disable-shared" "--enable-static"
@@ -116,6 +118,7 @@ may be either a libc package or #f.)"
"--disable-libssp"
"--disable-libquadmath"
"--disable-decimal-float" ;would need libc
"--disable-libcilkrts"
)))
,(if libc
+7 -6
View File
@@ -37,7 +37,7 @@
(define-public cups-filters
(package
(name "cups-filters")
(version "1.0.71")
(version "1.0.75")
(source (origin
(method url-fetch)
(uri
@@ -45,7 +45,7 @@
"cups-filters-" version ".tar.xz"))
(sha256
(base32
"07wwlqcykfjfqcwj1bxk60ggahyaw7wcx32n5s104d1qkhham01i"))
"0wrh9jmd2rm4z8c8nb50llb10shj1hik9vwqnr0djcvf63mfqsbw"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
@@ -71,7 +71,8 @@
,(string-append "--with-rcdir="
(assoc-ref %outputs "out") "/etc/rc.d"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("glib" ,glib "bin") ; for gdbus-codegen
("pkg-config" ,pkg-config)))
(inputs
`(("fontconfig" ,fontconfig)
("freetype" ,freetype)
@@ -109,14 +110,14 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(define-public cups-minimal
(package
(name "cups-minimal")
(version "2.0.3")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append "http://www.cups.org/software/"
version "/cups-" version "-source.tar.gz"))
version "/cups-" version "-source.tar.bz2"))
(sha256
(base32
"1kq1kpny0hghqgbjvashlv6qw1xn0c1p3d4r3cx8qxdzd2ifk4lf"))))
"1jfjqsw9l7jbn5kb9i96k0wj12kjdbgx0rd8157dif22hi0kh0ms"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
+48 -35
View File
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,15 +39,17 @@
(define-public curl
(package
(name "curl")
(version "7.43.0")
(version "7.45.0")
(source (origin
(method url-fetch)
(uri (string-append "http://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
"1ykpfsm5ildpcj3vw5m1xh49jk3yfpna6zj7r0fgi1bxki6xif72"))))
"0bamqik0mi2rmai016iakwrwmsz0s5xad1ghkbwsd3zkv08rgkcn"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
(inputs `(("gnutls" ,gnutls)
("gss" ,gss)
("libidn" ,libidn)
@@ -63,40 +66,50 @@
`(#:configure-flags '("--with-gnutls" "--with-gssapi")
;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
#:phases
(alist-replace
'check
(lambda _
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
;; Test #1135 requires extern-scan.pl, which is not part of the
;; tarball due to a mistake. It has been fixed upstream. We can
;; simply disable the test as it is specific to VMS and OS/400.
(delete-file "tests/data/test1135")
(modify-phases %standard-phases
(add-after
'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to "doc".
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share/man"))
(rename-file (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
#t)))
(replace
'check
(lambda _
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
;; Test #1135 requires extern-scan.pl, which is not part of the
;; tarball due to a mistake. It has been fixed upstream. We can
;; simply disable the test as it is specific to VMS and OS/400.
(delete-file "tests/data/test1135")
;; XXX FIXME: Test #1510 seems to work on some machines and not
;; others, possibly based on the kernel version. It works on GuixSD
;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686
;; and x86_64 with the following error:
;;
;; test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)]
;;
;; 1510: output (log/stderr1510) FAILED:
;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000
;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000
;; @@ -1,5 +1,5 @@
;; * Connection #0 to host server1.example.com left intact[LF]
;; * Connection #1 to host server2.example.com left intact[LF]
;; * Connection #2 to host server3.example.com left intact[LF]
;; -* Closing connection 0[LF]
;; +* Closing connection 1[LF]
;; * Connection #3 to host server4.example.com left intact[LF]
(delete-file "tests/data/test1510")
;; XXX FIXME: Test #1510 seems to work on some machines and not
;; others, possibly based on the kernel version. It works on GuixSD
;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686
;; and x86_64 with the following error:
;;
;; test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)]
;;
;; 1510: output (log/stderr1510) FAILED:
;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000
;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000
;; @@ -1,5 +1,5 @@
;; * Connection #0 to host server1.example.com left intact[LF]
;; * Connection #1 to host server2.example.com left intact[LF]
;; * Connection #2 to host server3.example.com left intact[LF]
;; -* Closing connection 0[LF]
;; +* Closing connection 1[LF]
;; * Connection #3 to host server4.example.com left intact[LF]
(delete-file "tests/data/test1510")
;; The top-level "make check" does "make -C tests quiet-test", which
;; is too quiet. Use the "test" target instead, which is more
;; verbose.
(zero? (system* "make" "-C" "tests" "test")))
%standard-phases)))
;; The top-level "make check" does "make -C tests quiet-test", which
;; is too quiet. Use the "test" target instead, which is more
;; verbose.
(zero? (system* "make" "-C" "tests" "test")))))))
(synopsis "Command line tool for transferring data with URL syntax")
(description
"curl is a command line tool for transferring data with URL syntax,
+2 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
@@ -19,7 +19,7 @@
(define-module (gnu packages cyrus-sasl)
#:use-module (gnu packages)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages databases)
#:use-module (gnu packages mit-krb5)
#:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:)
+93 -27
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
@@ -43,7 +43,7 @@
#:use-module (gnu packages jemalloc)
#:use-module ((guix licenses)
#:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft
bsd-2 public-domain))
bsd-2 bsd-3 public-domain))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -53,6 +53,28 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
(define-public gdbm
(package
(name "gdbm")
(version "1.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdbm/gdbm-"
version ".tar.gz"))
(sha256
(base32
"1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/gdbm/")
(synopsis
"Hash library of database functions compatible with traditional dbm")
(description
"GDBM is a library for manipulating hashed databases. It is used to
store key/value pairs in a file in a manner similar to the Unix dbm library
and provides interfaces to the traditional file format.")
(license gpl3+)))
(define-public bdb
(package
(name "bdb")
@@ -68,26 +90,31 @@
"doc")) ; 94 MiB of HTML docs
(arguments
'(#:tests? #f ; no check target available
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
;; '--docdir' is not honored, so we need to patch.
(substitute* "dist/Makefile.in"
(("docdir[[:blank:]]*=.*")
(string-append "docdir = " doc "/share/doc/bdb")))
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
;; '--docdir' is not honored, so we need to patch.
(substitute* "dist/Makefile.in"
(("docdir[[:blank:]]*=.*")
(string-append "docdir = " doc "/share/doc/bdb")))
(zero?
(system* "./dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_SHELL=" (which "bash"))
(string-append "SHELL=" (which "bash"))
(zero?
(system* "./dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_SHELL=" (which "bash"))
(string-append "SHELL=" (which "bash"))
;; The compatibility mode is needed by some packages,
;; notably iproute2.
"--enable-compat185"))))
;; The compatibility mode is needed by some packages,
;; notably iproute2.
"--enable-compat185"
;; The following flag is needed so that the inclusion
;; of db_cxx.h into C++ files works; it leads to
;; HAVE_CXX_STDHEADERS being defined in db_cxx.h.
"--enable-cxx"))))
%standard-phases)))
(synopsis "Berkeley database")
(description
@@ -284,7 +311,8 @@ pictures, sounds, or video.")
(arguments '(#:parallel-tests? #f))
(native-inputs `(("emacs" ,emacs-no-x)
("bc" ,bc)))
("bc" ,bc)
("libuuid", util-linux)))
;; TODO: Add more optional inputs.
;; FIXME: Our Bash doesn't have development headers (need for the 'readrec'
@@ -306,7 +334,7 @@ types are supported, as is encryption.")
(define-public sqlite
(package
(name "sqlite")
(version "3.8.10.2")
(version "3.8.11.1")
(source (origin
(method url-fetch)
;; TODO: Download from sqlite.org once this bug :
@@ -321,12 +349,23 @@ types are supported, as is encryption.")
(map (cut string-pad <> 2 #\0)
other-digits))
6 #\0))))))
(string-append
"mirror://sourceforge/sqlite.mirror/SQLite%20" version
"/sqlite-autoconf-" numeric-version ".tar.gz")))
(list
(string-append
"https://fossies.org/linux/misc/sqlite-autoconf-"
numeric-version ".tar.gz")
(string-append
"http://distfiles.gentoo.org/distfiles/"
"/sqlite-autoconf-" numeric-version ".tar.gz"))
;; XXX: As of 2015-09-08, SourceForge is squatting the URL
;; below, returning 200 and showing an advertising page.
;; (string-append
;; "mirror://sourceforge/sqlite.mirror/SQLite%20" version
;; "/sqlite-autoconf-" numeric-version ".tar.gz")
))
(sha256
(base32
"09nnaqx50gl1vmfvdipirizr61q3s0ywlql50f9kr1bx9rdfb0l3"))))
"1dnkl4qr1dgaprbyf3jddfiynkhxnin86qabni47wjlc0fnb16gv"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
(arguments
@@ -725,5 +764,32 @@ Driver.")
self-contained, serverless, zero-configuration, transactional NoSQL
database engine. UnQLite is a document store database similar to
MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store
similar to BerkelyDB, LevelDB, etc.")
similar to BerkeleyDB, LevelDB, etc.")
(license bsd-2)))
(define-public redis
(package
(name "redis")
(version "3.0.4")
(source (origin
(method url-fetch)
(uri (string-append "http://download.redis.io/releases/redis-"
version".tar.gz"))
(sha256
(base32
"1kqjc4qrasadgnl3cg71x3g5qpw2rilyk4pwl151698rb2nr0pm3"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; tests related to master/slave and replication fail
#:phases (modify-phases %standard-phases
(delete 'configure))
#:make-flags `("CC=gcc"
"MALLOC=libc"
,(string-append "PREFIX="
(assoc-ref %outputs "out")))))
(synopsis "Key-value cache and store")
(description "Redis is an advanced key-value cache and store. Redis
supports many data structures including strings, hashes, lists, sets, sorted
sets, bitmaps and hyperloglogs.")
(home-page "http://redis.io/")
(license bsd-3)))
+123 -6
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +27,10 @@
#:use-module (gnu packages indent)
#:use-module (gnu packages llvm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pretty-print))
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages qemu)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public delta
(package
@@ -81,7 +84,7 @@ program to exhibit a bug.")
(define-public c-reduce
(package
(name "c-reduce")
(version "2.2.1")
(version "2.3.0")
(source
(origin
(method url-fetch)
@@ -90,7 +93,7 @@ program to exhibit a bug.")
"creduce-" version ".tar.gz")))
(sha256
(base32
"0wh0fkyg2l41d2wkndrgdiai9g2qiav7jik7cys21vmgzq01pyy2"))
"0r9lvnifjcnsrkrk8k4mha1kmmb93jya7alm523ck59y3173bpi0"))
(modules '((guix build utils)))
(snippet
'(substitute* "clang_delta/TransformationManager.cpp"
@@ -99,8 +102,8 @@ program to exhibit a bug.")
(inputs
`(("astyle" ,astyle)
("delta" ,delta)
("llvm" ,llvm-3.5)
("clang" ,clang-3.5)
("llvm" ,llvm)
("clang" ,clang)
("flex" ,flex)
("indent" ,indent)
("perl" ,perl)
@@ -137,3 +140,117 @@ produces a much smaller C/C++ program that has the same property. It is
intended for use by people who discover and report bugs in compilers and other
tools that process C/C++ code.")
(license ncsa)))
(define qemu-2.3.0
(package
(inherit qemu-headless)
(version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://wiki.qemu-project.org/download/qemu-"
version ".tar.bz2"))
(sha256
(base32
"120m53c3p28qxmfzllicjzr8syjv6v4d9rsyrgkp7gnmcgvvgfmn"))))
(arguments
;; XXX: Disable tests because of GTester's rejection of duplicate test
;; names, which wasn't addressed in this version of QEMU.
`(#:tests? #f
,@(package-arguments qemu-headless)))))
(define-public american-fuzzy-lop
(let ((machine (match (or (%current-target-system)
(%current-system))
("x86_64-linux" "x86_64")
("i686-linux" "i386")
;; Prevent errors when querying this package on unsupported
;; platforms, e.g. when running "guix package --search="
(_ "UNSUPPORTED"))))
(package
(name "american-fuzzy-lop")
(version "1.86b") ;It seems all releases have the 'b' suffix
(source
(origin
(method url-fetch)
(uri (string-append "http://lcamtuf.coredump.cx/afl/releases/"
"afl-" version ".tgz"))
(sha256
(base32
"1by9ncf6lgcyibzqwyla34jv64sd66mn8zhgjz2pcgsds51qwn0r"))))
(build-system gnu-build-system)
(inputs
`(("custom-qemu"
;; The afl-qemu tool builds qemu 2.3.0 with a few patches applied.
,(package (inherit qemu-2.3.0)
(name "afl-qemu")
(inputs
`(("afl-src" ,source)
,@(package-inputs qemu-2.3.0)))
;; afl only supports using a single afl-qemu-trace executable, so
;; we only build qemu for the native target.
(arguments
`(#:configure-flags
(list (string-append "--target-list=" ,machine "-linux-user"))
#:modules ((srfi srfi-1)
,@%gnu-build-system-modules)
,@(substitute-keyword-arguments (package-arguments qemu-2.3.0)
((#:phases qemu-phases)
`(modify-phases ,qemu-phases
(add-after
'unpack 'apply-afl-patches
(lambda* (#:key inputs #:allow-other-keys)
(let* ((afl-dir (string-append "afl-" ,version))
(patch-dir
(string-append afl-dir
"/qemu_mode/patches")))
(unless (zero?
(system* "tar" "xf"
(assoc-ref inputs "afl-src")))
(error "tar failed to unpack afl-src"))
(copy-file (string-append patch-dir
"/afl-qemu-cpu-inl.h")
"./afl-qemu-cpu-inl.h")
(copy-file (string-append afl-dir "/config.h")
"./afl-config.h")
(copy-file (string-append afl-dir "/types.h")
"./types.h")
(substitute* "afl-qemu-cpu-inl.h"
(("\\.\\./\\.\\./config.h") "afl-config.h"))
(substitute* (string-append patch-dir
"/cpu-exec.diff")
(("\\.\\./patches/") ""))
(every (lambda (patch-file)
(zero? (system* "patch" "--force" "-p1"
"--input" patch-file)))
(find-files patch-dir
"\\.diff$"))))))))))))))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc")
#:phases (modify-phases %standard-phases
(delete 'configure)
(add-after
;; TODO: Build and install the afl-llvm tool.
'install 'install-qemu
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((qemu (assoc-ref inputs "custom-qemu"))
(out (assoc-ref outputs "out")))
(copy-file (string-append qemu "/bin/qemu-" ,machine)
(string-append out "/bin/afl-qemu-trace"))
#t)))
(delete 'check))))
(supported-systems (fold delete
%supported-systems
'("armhf-linux" "mips64el-linux")))
(home-page "http://lcamtuf.coredump.cx/afl")
(synopsis "Security-oriented fuzzer")
(description
"American fuzzy lop is a security-oriented fuzzer that employs a novel
type of compile-time instrumentation and genetic algorithms to automatically
discover clean, interesting test cases that trigger new internal states in the
targeted binary. This substantially improves the functional coverage for the
fuzzed code. The compact synthesized corpora produced by the tool are also
useful for seeding other, more labor- or resource-intensive testing regimes
down the road.")
(license asl2.0))))
+4 -4
View File
@@ -101,7 +101,7 @@ tables, and it understands a variety of different formats.")
(define-public ddrescue
(package
(name "ddrescue")
(version "1.19")
(version "1.20")
(source
(origin
(method url-fetch)
@@ -109,7 +109,7 @@ tables, and it understands a variety of different formats.")
version ".tar.lz"))
(sha256
(base32
"1f278w7i9sx45jk6fsw1kyzx743k3alx1c4w1q8sk05ckafhr3gd"))))
"1gb0ak2c47nass7qdf9pnfrshcb38c318z1fx5v5v1k7l6qr7yc3"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")
@@ -124,7 +124,7 @@ to recover data more efficiently by only reading the necessary blocks.")
(define-public dosfstools
(package
(name "dosfstools")
(version "3.0.27")
(version "3.0.28")
(source
(origin
(method url-fetch)
@@ -133,7 +133,7 @@ to recover data more efficiently by only reading the necessary blocks.")
name "-" version ".tar.xz"))
(sha256
(base32
"1a2qs5g2zqbk1gzaaf4v3fw3yny6jgbzddpgcamkp3fjifn8wxl5"))))
"1qkya6lald91c8nsf29jwnk0k5v42wlj24gacfdp3wpc8hq935gf"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
+54
View File
@@ -0,0 +1,54 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dvtm)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (gnu packages ncurses))
(define-public dvtm
(package
(name "dvtm")
(version "0.14")
(source (origin
(method url-fetch)
(uri (string-append "http://www.brain-dump.org/projects/dvtm/dvtm-"
version ".tar.gz"))
(sha256
(base32 "0ykl8dz7ivjgdzhmhlgidnp2ffh5gxq9lbg276w7iid4z10v76wa"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'check)))) ; no test suite
(inputs `(("ncurses" ,ncurses)))
(synopsis "Tiling window management for the console")
(description "dvtm brings the concept of tiling window management,
popularized by X11-window managers like dwm, to the console. As a console
window manager it tries to make it easy to work with multiple console based
programs.")
(home-page "http://www.brain-dump.org/projects/dvtm/")
;; "dvtm reuses some code of dwm and is released under the same MIT/X11
;; license. The terminal emulation part is licensed under the ISC license."
;; source: http://www.brain-dump.org/projects/dvtm/#license
(license (list expat isc))))
+2 -2
View File
@@ -60,7 +60,7 @@
(define-public calibre
(package
(name "calibre")
(version "2.29.0")
(version "2.41.0")
(source
(origin
(method url-fetch)
@@ -69,7 +69,7 @@
version ".tar.xz"))
(sha256
(base32
"1n3cfnjnghhhsgzcbcvbr0gh191lhl6az09q1s68jhlcc2lski6l"))
"069fkcsx7kaazs7f095nkz4jw9jrm0k9zq16ayx41lxjbd1r97ik"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))
+337 -73
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -38,7 +38,6 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages guile)
#:use-module (gnu packages xorg)
#:use-module (gnu packages lesstif)
#:use-module (gnu packages image)
@@ -48,13 +47,13 @@
#:use-module (gnu packages w3m)
#:use-module (gnu packages wget)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
#:use-module (gnu packages acl)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages linux) ;alsa
#:use-module (gnu packages xiph)
#:use-module (gnu packages mp3)
#:use-module (guix utils)
@@ -110,6 +109,12 @@
(native-inputs
`(("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(native-search-paths
(list (search-path-specification
(variable "INFOPATH")
(files '("share/info")))))
(home-page "http://www.gnu.org/software/emacs/")
(synopsis "The extensible, customizable, self-documenting text editor")
(description
@@ -187,14 +192,14 @@ editor (without an X toolkit)" )
(define-public geiser
(package
(name "geiser")
(version "0.7")
(version "0.8.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/geiser/" version
"/geiser-" version ".tar.gz"))
(sha256
(base32
"0cp7r91ibw45yw9k3fz1s13y7ryfsxjgpk57qv37qsznb9lmqylx"))))
"163zh8qf1q8l485d94a51a9xixirj8r2xvrbgxyw06vkaqrz5qvc"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
@@ -266,15 +271,16 @@ when typing parentheses directly or commenting out code line by line.")
(define-public git-modes
(package
(name "git-modes")
(version "1.0.0")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/magit/git-modes/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1biiss75bswx4alk85k3g9p0a3q3sc9i74h4mnrxc2rsk2iwhws0"))))
"09dv7ikbj2bi4y3lmvjfzqpdmx2f9bd4w7jkp10bkap62d05iqhk"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -290,7 +296,7 @@ when typing parentheses directly or commenting out code line by line.")
(string-append "LISPDIR="
(assoc-ref %outputs "out")
"/share/emacs/site-lisp"))
#:test-target "test"
#:tests? #f ; no check target
#:phases (modify-phases %standard-phases
(delete 'configure)
(add-after 'install 'emacs-autoloads
@@ -310,7 +316,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public magit
(package
(name "magit")
(version "1.4.1")
(version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -318,13 +324,12 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0bbvz6cma5vj6qxx9v2m60zqkjwgwjrdf9kp04iacybvrcm8vcg7"))))
"0bi0vqp9802f00vnii3x80iqycji20bw4pjysy6al0d86mkggjx5"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-no-x)))
(inputs `(("git" ,git)
("git:gui" ,git "gui")))
(propagated-inputs `(("git-modes" ,git-modes)))
(inputs `(("git" ,git)))
(propagated-inputs `(("dash" ,emacs-dash)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -333,45 +338,27 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(guix build emacs-utils))
#:test-target "test"
#:tests? #f ;'tests/magit-tests.el' is missing
#:tests? #f ; tests are not included in the release
#:make-flags (list
;; Don't put .el files in a sub-directory.
(string-append "lispdir=" (assoc-ref %outputs "out")
"/share/emacs/site-lisp"))
#:make-flags
(list (string-append "PREFIX=" %output)
;; Don't put .el files in a sub-directory.
(string-append "lispdir=" %output "/share/emacs/site-lisp")
(string-append "DASH_DIR="
(assoc-ref %build-inputs "dash")
"/share/emacs/site-lisp/guix.d/dash-"
,(package-version emacs-dash)))
#:phases
(modify-phases %standard-phases
(replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("/usr/local") out)
(("/etc") (string-append out "/etc"))))))
(delete 'configure)
(add-before
'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((git (assoc-ref inputs "git"))
(git:gui (assoc-ref inputs "git:gui")))
(emacs-substitute-variables "magit.el"
("magit-git-executable" (string-append git "/bin/git"))
("magit-gitk-executable" (string-append git:gui
"/bin/gitk"))))))
(add-before
'build 'augment-load-path
(lambda* (#:key inputs #:allow-other-keys)
;; Allow git-commit-mode.el & co. to be found.
(let ((git-modes (assoc-ref inputs "git-modes")))
(setenv "EMACSLOADPATH"
(string-append ":" git-modes "/share/emacs/site-lisp"))
#t)))
(add-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
,name (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/")))))))
(let ((git (assoc-ref inputs "git")))
(emacs-substitute-variables "lisp/magit-git.el"
("magit-git-executable" (string-append git "/bin/git")))
#t))))))
(home-page "http://magit.github.io/")
(synopsis "Emacs interface for the Git version control system")
(description
@@ -385,18 +372,22 @@ operations.")
(define-public magit-svn
(package
(name "magit-svn")
(version "b69b79")
(version "2.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(commit version)
(url "https://github.com/magit/magit-svn.git")))
(method url-fetch)
(uri (string-append
"https://github.com/magit/magit-svn/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"07xxszd12r38s46sz8fn2qz26b7s88i022cqp3gmkmmj3j57kqv6"))))
"04y88j7q9h8xjbx5dbick6n5nr1522sn9i1znp0qwk3vjb4b5mzz"))))
(build-system trivial-build-system)
(inputs `(("emacs" ,emacs-no-x)
("magit" ,magit)))
(native-inputs `(("emacs" ,emacs-no-x)
("tar" ,tar)
("gzip" ,gzip)))
(propagated-inputs `(("dash" ,emacs-dash)
("magit" ,magit)))
(arguments
`(#:modules ((guix build utils)
(guix build emacs-utils))
@@ -406,23 +397,30 @@ operations.")
(use-modules (guix build utils)
(guix build emacs-utils))
(let* ((emacs (string-append (assoc-ref %build-inputs "emacs")
(let* ((tar (string-append (assoc-ref %build-inputs "tar")
"/bin/tar"))
(PATH (string-append (assoc-ref %build-inputs "gzip")
"/bin"))
(emacs (string-append (assoc-ref %build-inputs "emacs")
"/bin/emacs"))
(magit (string-append (assoc-ref %build-inputs "magit")
"/share/emacs/site-lisp"))
(commit (string-append (assoc-ref %build-inputs "git-modes")
"/share/emacs/site-lisp"))
(dash (string-append (assoc-ref %build-inputs "dash")
"/share/emacs/site-lisp/guix.d/dash-"
,(package-version emacs-dash)))
(source (assoc-ref %build-inputs "source"))
(lisp-dir (string-append %output "/share/emacs/site-lisp")))
(mkdir-p lisp-dir)
(copy-file (string-append source "/magit-svn.el")
(string-append lisp-dir "/magit-svn.el"))
(setenv "PATH" PATH)
(system* tar "xvf" source)
(install-file (string-append ,name "-" ,version "/magit-svn.el")
lisp-dir)
(with-directory-excursion lisp-dir
(parameterize ((%emacs emacs))
(emacs-generate-autoloads ,name lisp-dir)
(setenv "EMACSLOADPATH"
(string-append ":" magit ":" commit))
(string-append ":" magit ":" dash))
(emacs-batch-eval '(byte-compile-file "magit-svn.el"))))))))
(home-page "https://github.com/magit/magit-svn")
(synopsis "Git-SVN extension to Magit")
@@ -470,18 +468,14 @@ support for Git-SVN.")
out "/share/doc/haskell-mode-" ,version))
(info (string-append out "/share/info")))
(define (copy-to-dir dir files)
(mkdir-p dir)
(for-each
(lambda (f)
(copy-file f (string-append dir "/" (basename f))))
files))
(for-each (lambda (f)
(install-file f dir))
files))
(with-directory-excursion "doc"
(unless (zero? (system* "makeinfo" "haskell-mode.texi"))
(error "makeinfo failed"))
(mkdir-p info)
(copy-file "haskell-mode.info"
(string-append info "/haskell-mode.info")))
(install-file "haskell-mode.info" info))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?"))
;; these are now distributed with emacs
@@ -495,6 +489,82 @@ support for Git-SVN.")
programs.")
(license license:gpl3+)))
(define-public let-alist
(package
(name "emacs-let-alist")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/let-alist-"
version ".el"))
(sha256
(base32
"07312bvvyz86lf64vdkxg2l1wgfjl25ljdjwlf1bdzj01c4hm88x"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
(guix build emacs-utils))
#:builder (begin
(use-modules (guix build emacs-utils)
(guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(lispdir (string-append out
"/share/emacs/site-lisp/"
"guix.d/let-alist-"
,version))
(emacs (assoc-ref %build-inputs "emacs")))
(mkdir-p lispdir)
(copy-file (assoc-ref %build-inputs "source")
(string-append lispdir "/let-alist.el"))
(setenv "PATH" (string-append emacs "/bin"))
(emacs-byte-compile-directory lispdir)
#t))))
(native-inputs `(("emacs" ,emacs-no-x)))
(home-page "http://elpa.gnu.org/packages/let-alist.html")
(synopsis "Easily let-bind values of an assoc-list by their names")
(description
"This package offers a single Emacs Lisp macro, @code{let-alist}. This
macro takes a first argument, whose value must be an alist (association list),
and a body.
The macro expands to a let form containing the body, where each dotted symbol
inside body is let-bound to their cdrs in the alist. Only those present in
the body are let-bound and this search is done at compile time.")
(license license:gpl3+)))
(define-public flycheck
(package
(name "emacs-flycheck")
(version "0.23")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/flycheck/flycheck/releases/download/"
version "/flycheck-" version ".tar"))
(sha256
(base32
"1n2cifzsl5dbv42l82bi3y1vk6q33msi8dd4bj7b9nvnl9jfjj5b"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-let-alist" ,let-alist)))
(home-page "https://www.flycheck.org")
(synopsis "On-the-fly syntax checking")
(description
"This package provides on-the-fly syntax checking for GNU Emacs. It is a
replacement for the older Flymake extension which is part of GNU Emacs, with
many improvements and additional features.
Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
checking for over 30 programming and markup languages with more than 70
different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+))) ;+GFDLv1.3+ for the manual
;;;
;;; Web browsing.
@@ -884,11 +954,9 @@ single buffer.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/")))
(mkdir-p target)
(for-each
(lambda (file)
(copy-file file (string-append target (basename file))))
(find-files "../lisp" "^(pdf|tab).*\\.elc?"))
(for-each (lambda (file)
(install-file file target))
(find-files "../lisp" "^(pdf|tab).*\\.elc?"))
(emacs-byte-compile-directory target)
(emacs-generate-autoloads "pdf-tools" target)))))))
(native-inputs `(("autoconf" ,autoconf)
@@ -908,3 +976,199 @@ e.g. ghostscript and stored in the file-system, but rather created on-demand
and stored in memory.")
(home-page "https://github.com/politza/pdf-tools")
(license license:gpl3+)))
(define-public emacs-dash
(package
(name "emacs-dash")
(version "2.11.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/magnars/dash.el/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1piwcwilkxcbjxx832mhb7q3pz1fgwp203r581bpqcw6kd5x726q"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda _
(zero? (system* "./run-tests.sh")))))))
(home-page "https://github.com/magnars/dash.el")
(synopsis "Modern list library for Emacs")
(description "This package provides a modern list API library for Emacs.")
(license license:gpl3+)))
(define-public emacs-s
(package
(name "emacs-s")
(version "1.9.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/magnars/s.el/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda _
(zero? (system* "./run-tests.sh")))))))
(home-page "https://github.com/magnars/s.el")
(synopsis "Emacs string manipulation library.")
(description "This package provides an Emacs library for manipulating
strings.")
(license license:gpl3+)))
(define-public emacs-f
(package
(name "emacs-f")
(version "0.17.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/rejeep/f.el/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1n5gcldf43wmkr7jxgs519v21zavwr0yn8048iv6gvgfwicnyjlx"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-s" ,emacs-s)
("emacs-dash" ,emacs-dash)))
(home-page "http://github.com/rejeep/f.el")
(synopsis "Emacs API for working with files and directories")
(description "This package provides an Emacs library for working with
files and directories.")
(license license:gpl3+)))
(define-public emacs-ob-ipython
(package
(name "emacs-ob-ipython")
(version "20150704.8807064693")
(source (origin
(method git-fetch)
(uri (git-reference
(commit "8807064693")
(url "https://github.com/gregsexton/ob-ipython.git")))
(sha256
(base32
"1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-f" ,emacs-f)))
(home-page "http://www.gregsexton.org")
(synopsis "Org-Babel functions for IPython evaluation")
(description "This package adds support to Org-Babel for evaluating Python
source code using IPython.")
(license license:gpl3+)))
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
(version "0.7")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32
"0pbglx3paa8icazgxlg4jf40wl8war63y9j2jmbb7gbd1xp95v72"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/debbugs.html")
(synopsis "Access the Debbugs bug tracker in Emacs")
(description
"This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
Tracker} from within Emacs.
For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
and the command @code{M-x debbugs-gnu-search} for bug searching. If you
prefer the listing of bugs as TODO items of @code{org-mode}, you could use
@code{M-x debbugs-org} and related commands.
A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
(license license:gpl3+)))
(define-public emacs-deferred
(package
(name "emacs-deferred")
(version "0.3.2")
(home-page "https://github.com/kiwanami/emacs-deferred")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(sha256
(base32
"0059jy01ni5irpgrj9fa81ayd9j25nvmjjm79ms3210ysx4pgqdr"))
(file-name (string-append name "-" version))))
(build-system emacs-build-system)
;; FIXME: Would need 'el-expectations' to actually run tests.
(synopsis "Simple asynchronous functions for Emacs Lisp")
(description
"The @code{deferred.el} library provides support for asynchronous tasks.
The API is almost the same as that of
@uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
for asynchronous tasks.")
(license license:gpl3+)))
(define-public butler
(package
(name "emacs-butler")
(version "0.2.4")
(home-page "https://github.com/AshtonKem/Butler")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(sha256
(base32
"1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))
(file-name (string-append name "-" version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-deferred" ,emacs-deferred)))
(synopsis "Emacs client for Jenkins")
(description
"Butler provides an interface to connect to Jenkins continuous
integration servers. Users can specify a list of server in the
@code{butler-server-list} variable and then use @code{M-x butler-status} to
view the build status of those servers' build jobs, and possibly to trigger
build jobs.")
(license license:gpl3+)))
(define-public typo
(package
(name "emacs-typo")
(version "1.1")
(home-page "https://github.com/jorgenschaefer/typoel")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(sha256
(base32
"1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))
(file-name (string-append name "-" version))))
(build-system emacs-build-system)
(synopsis "Minor mode for typographic editing")
(description
"This package provides two Emacs modes, @code{typo-mode} and
@code{typo-global-mode}. These modes automatically insert Unicode characters
for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
automatically inserts a Unicode opening or closing quotation mark, depending
on context.")
(license license:gpl3+)))
+225
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,17 +20,24 @@
(define-module (gnu packages engineering)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix monads)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gd)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -41,6 +49,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texlive)
#:use-module (srfi srfi-1))
(define-public librecad
@@ -196,3 +205,219 @@ layouts. It features a rats-nest implementation, schematic/netlist import,
and design rule checking. It also includes an autorouter and a trace
optimizer; and it can produce photorealistic and design review images.")
(license license:gpl2+)))
(define* (broken-tarball-fetch url hash-algo hash
#:optional name
#:key (system (%current-system))
(guile (default-guile)))
(mlet %store-monad ((drv (url-fetch url hash-algo hash
(string-append "tarbomb-" name)
#:system system
#:guile guile)))
;; Take the tar bomb, and simply unpack it as a directory.
(gexp->derivation name
#~(begin
(mkdir #$output)
(setenv "PATH"
(string-append #$gzip "/bin"))
(chdir #$output)
(zero? (system* (string-append #$tar "/bin/tar")
"xf" #$drv))))))
(define-public fastcap
(package
(name "fastcap")
(version "2.0-18Sep92")
(source (origin
(method broken-tarball-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append "http://www.rle.mit.edu/cpg/codes/"
name "-" version ".tgz"))
(sha256
(base32
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
(snippet
;; Remove a non-free file.
'(delete-file "doc/psfig.sty"))
(modules '((guix build utils)
(guix build download)
(guix ftp-client)))
(patches (list (search-patch "fastcap-mulSetup.patch")
(search-patch "fastcap-mulGlobal.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,texlive)
("ghostscript" ,ghostscript)))
(arguments
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
#:parallel-build? #f
#:tests? #f ;; no tests-suite
#:modules ((srfi srfi-1)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'build 'make-doc
(lambda _
(zero? (system* "make" "CC=gcc" "RM=rm" "SHELL=sh"
"manual"))))
(add-before 'make-doc 'fix-doc
(lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
(substitute* (find-files "doc" "\\.tex")
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
all file scale)
(string-append "\\includegraphics[scale=" scale "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
all file width)
(string-append "\\includegraphics[width=" width "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
all file height)
(string-append "\\includegraphics[height=" height "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
(string-append "\\includegraphics{" file "}")))
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
all options class)
(string-append "\\documentclass[" options "]{"
class "}\n"
"\\usepackage{graphicx}\n"
"\\usepackage{robinspace}"))
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
(string-append "%" all))
(("\\\\setstretch\\{.*\\}" all)
(string-append "%" all)))
#t))
(delete 'configure)
(add-before 'install 'clean-bin
(lambda _
(delete-file (string-append (getcwd) "/bin/README"))
#t))
(add-before 'install 'make-pdf
(lambda _
(with-directory-excursion "doc"
(and
(every (lambda (file)
(zero? (system* "dvips" file "-o")))
(find-files "." "\\.dvi"))
(every (lambda (file)
(zero? (system* "ps2pdf" file)))
'("mtt.ps" "ug.ps" "tcad.ps"))
(zero? (system* "make" "clean"))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share"))
(bin (string-append out "/bin"))
(doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
(for-each (lambda (f)
(install-file f bin))
(find-files "." ".*")))
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
#t))))))
(home-page "http://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated capacitance extraction program")
(description
"Fastcap is a capacitance extraction program based on a
multipole-accelerated algorithm.")
(license (license:non-copyleft #f "See fastcap.c."))))
(define-public fasthenry
(package
(name "fasthenry")
(version "3.0-12Nov96")
(source (origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append
"http://www.rle.mit.edu/cpg/codes/" name
"-" version ".tar.z"))
(sha256
(base32 "1a06xyyd40zhknrkz17xppl2zd5ig4w9g1grc8qrs0zqqcl5hpzi"))
(patches (list (search-patch "fasthenry-spAllocate.patch")
(search-patch "fasthenry-spBuild.patch")
(search-patch "fasthenry-spUtils.patch")
(search-patch "fasthenry-spSolve.patch")
(search-patch "fasthenry-spFactor.patch")))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
#:parallel-build? #f
#:tests? #f ;; no tests-suite
#:modules ((srfi srfi-1)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share"))
(bin (string-append out "/bin"))
(doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
(for-each (lambda (f)
(install-file f bin))
(find-files "." ".*")))
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
#t))))))
(home-page "http://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated inductance analysis program")
(description
"Fasthenry is an inductance extraction program based on a
multipole-accelerated algorithm.")
(license (license:non-copyleft #f "See induct.c."))))
(define-public gerbv
(package
(name "gerbv")
(version "2.6.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gerbv/gerbv/gerbv-"
version "/gerbv-" version ".tar.gz"))
(sha256
(base32
"0v6ry0mxi5qym4z0y0lpblxsw9dfjpgxs4c4v2ngg7yw4b3a59ks"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'autoconf
(lambda _
;; Build rules contain references to Russian translation, but the
;; needed files are missing; see
;; http://sourceforge.net/p/gerbv/bugs/174/
(delete-file "po/LINGUAS")
(substitute* "man/Makefile.am"
(("PO_FILES= gerbv.ru.1.in.po") "")
(("man_MANS = gerbv.1 gerbv.ru.1") "man_MANS = gerbv.1"))
(zero? (system* "autoreconf" "-vfi")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("gettext" ,gnu-gettext)
("po4a" ,po4a)
("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
("gtk" ,gtk+-2)
("desktop-file-utils" ,desktop-file-utils)))
(home-page "http://gerbv.geda-project.org/")
(synopsis "Gerber file viewer")
(description
"Gerbv is a viewer for files in the Gerber format (RS-274X only), which
is commonly used to represent printed circuit board (PCB) layouts. Gerbv lets
you load several files on top of each other, do measurements on the displayed
image, etc. Besides viewing Gerbers, you may also view Excellon drill files
as well as pick-place files.")
(license license:gpl2+)))
+56 -26
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -50,14 +51,15 @@
(define-public efl
(package
(name "efl")
(version "1.14.2")
(version "1.15.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://download.enlightenment.org/rel/libs/efl/efl-"
version ".tar.xz"))
(sha256
(base32 "0kg51v63ljq1z4dj65aiyxaqhq54gkl4hx53ifwbci6ihammandr"))))
(base32
"1962wqx7gdnpzvnkbighyn4hj5vw8l4c1d7xl5zilqjlyhcqywyx"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -126,20 +128,21 @@
for Enlightenment. Libraries covers data serialization, wide support for
graphics rendering, UI layout and themes, interaction with OS, access to
removable devices or support for multimedia.")
(license (list license:bsd-2 license:lgpl2.1 license:zlib)))) ; different parts under different licenses
;; Different parts are under different licenses.
(license (list license:bsd-2 license:lgpl2.1 license:zlib))))
(define-public elementary
(package
(name "elementary")
(version "1.14.2")
(version "1.15.2")
(source (origin
(method url-fetch)
(uri
(string-append
"https://download.enlightenment.org/rel/libs/elementary/elementary-"
version ".tar.xz"))
(string-append "https://download.enlightenment.org/rel/libs/"
"elementary/elementary-" version ".tar.xz"))
(sha256
(base32 "1ck1jm9dfx2l72nklndqjfsxjqb0024b88naskld1dk9b8drs76b"))))
(base32
"0gqg98bglnl2jggdzxzrh9r7bv32i4sahspms0bihq8b45rk0g2j"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -156,7 +159,7 @@ full capabilities of EFL.")
(define-public evas-generic-loaders
(package
(name "evas-generic-loaders")
(version "1.14.0")
(version "1.15.0")
(source (origin
(method url-fetch)
(uri
@@ -165,7 +168,8 @@ full capabilities of EFL.")
"evas_generic_loaders/evas_generic_loaders-"
version ".tar.xz"))
(sha256
(base32 "18b6xmbf81bly4mlwlzwr17g2m8dzznbhsdjk6pbb3nw4wn3y88l"))))
(base32
"0zzx06j20x580xqnnsxp7gb7rv279zcgvdxfbhs905af9m6rwlqy"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -187,15 +191,16 @@ files in Evas (EFL canvas library).")
(define-public emotion-generic-players
(package
(name "emotion-generic-players")
(version "1.14.0")
(version "1.15.0")
(source (origin
(method url-fetch)
(uri
(string-append
"https://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-"
version ".tar.xz"))
(string-append "https://download.enlightenment.org/rel/libs/"
"emotion_generic_players/emotion_generic_players"
"-" version ".tar.xz"))
(sha256
(base32 "0685jzag98ykknycfdqn70zif3fmcfi6m8k9yp6d79r1h8gc49n4"))))
(base32
"0pszwmcygxnv1sfx0m79md2jmi4sng8mdb1xcr6h2z5c8685wvcz"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -213,15 +218,15 @@ The only supported now is VLC.")
(define-public terminology
(package
(name "terminology")
(version "0.8.0")
(version "0.9.1")
(source (origin
(method url-fetch)
(uri
(string-append
"https://download.enlightenment.org/rel/apps/terminology/terminology-"
version ".tar.gz"))
(string-append "https://download.enlightenment.org/rel/apps/"
"terminology/terminology-" version ".tar.xz"))
(sha256
(base32 "0a767ixackzmhb2awrhjy7q6vsivsd54wc434i617xiw095x843s"))))
(base32
"1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -237,18 +242,43 @@ URL and local path detection, themes, popup based content viewer for non-text
contents and more.")
(license license:bsd-2)))
(define-public enlightenment
(define-public rage
(package
(name "enlightenment")
(version "0.19.5")
(name "rage")
(version "0.1.4")
(source (origin
(method url-fetch)
(uri
(string-append
"https://download.enlightenment.org/rel/apps/enlightenment/enlightenment-"
version ".tar.xz"))
"https://download.enlightenment.org/rel/apps/rage/rage-"
version ".tar.gz"))
(sha256
(base32 "0j66x7x76fbgqfw6fi77v8qy50slw3jnsq3vvs82rrfvniabm8wc"))))
(base32 "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("efl" ,efl)
("elementary" ,elementary)))
(home-page "https://www.enlightenment.org/about-rage")
(synopsis "Video and audio player based on EFL")
(description
"Rage is a video and audio player written with Enlightenment Foundation
Libraries with some extra bells and whistles.")
(license license:bsd-2)))
(define-public enlightenment
(package
(name "enlightenment")
(version "0.19.12")
(source (origin
(method url-fetch)
(uri
(string-append "https://download.enlightenment.org/rel/apps/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"098bdx9qmv1yqqwfydrzs7fvbnhsf3vaib9pmqsyg4ihgqrkrwjm"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
+2 -2
View File
@@ -29,7 +29,7 @@
(define-public feh
(package
(name "feh")
(version "2.13")
(version "2.14")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@@ -37,7 +37,7 @@
name "-" version ".tar.bz2"))
(sha256
(base32
"06fa9zh1zpi63l90kw3l9a0sfavf424j7ksi396ifg9669gx35gn"))))
"0j5wxpqccnd0hl74z2vwv25n7qnik1n2mcm2jn0c0z7cjn4wsa9q"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16,31 +16,31 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gdbm)
#:use-module (guix licenses)
(define-module (gnu packages figlet)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public gdbm
(define-public figlet
(package
(name "gdbm")
(version "1.11")
(name "figlet")
(version "2.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdbm/gdbm-"
version ".tar.gz"))
(sha256
(base32
"1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
(method url-fetch)
(uri (string-append "ftp://ftp.figlet.org/pub/figlet/program"
"/unix/figlet-" version ".tar.gz"))
(sha256
(base32 "0za1ax15x7myjl8jz271ybly8ln9kb9zhm1gf6rdlxzhs07w925z"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/gdbm/")
(synopsis
"Hash library of database functions compatible with traditional dbm")
(description
"GDBM is a library for manipulating hashed databases. It is used to
store key/value pairs in a file in a manner similar to the Unix dbm library
and provides interfaces to the traditional file format.")
(license gpl3+)))
(arguments
`(#:phases
(modify-phases %standard-phases (delete 'configure))
#:make-flags
(list (string-append "prefix=" %output))))
(home-page "http://www.figlet.org/")
(synopsis "Make large letterforms out of ordinary screen characters")
(description "FIGlet is a program for making large ASCII art letterforms
out of ordinary screen characters.")
(license license:bsd-3)))
+82
View File
@@ -0,0 +1,82 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages finance)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages boost)
#:use-module (gnu packages databases)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp))
(define-public bitcoin-core
(package
(name "bitcoin-core")
(version "0.11.0")
(source (origin
(method url-fetch)
(uri
(string-append "https://bitcoin.org/bin/bitcoin-core-"
version "/bitcoin-"
version ".tar.gz"))
(sha256
(base32
"17yh6lq13xzzi5v2i48qaxiqm40x3hrj4gwyamkib9yzmmb1gfji"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-wrapper) ; for the tests
("util-linux" ,util-linux))) ; provides the hexdump command for tests
(inputs
`(("bdb" ,bdb)
("boost" ,boost)
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("protobuf" ,protobuf)
("qt" ,qt)))
(arguments
`(#:configure-flags
(list
;; We use a bdb version newer than 4.8.
"--with-incompatible-bdb"
;; Boost is not found unless specified manually.
(string-append "--with-boost="
(assoc-ref %build-inputs "boost")))
#:phases
(modify-phases %standard-phases
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))))) ; Tests write to $HOME.
(home-page "https://bitcoin.org/en/")
(synopsis "Bitcoin peer-to-peer client")
(description
"Bitcoin is a digital currency that enables instant payments to anyone
anywhere in the world. It uses peer-to-peer technology to operate without
central authority: managing transactions and issuing money are carried out
collectively by the network. Bitcoin Core is the reference implementation
of the bitcoin protocol. This package provides the Bitcoin Core command
line client and a client based on Qt.")
(license license:expat)))
+3 -3
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,7 +29,7 @@
(define-public ath9k-htc-firmware
(package
(name "ath9k-htc-firmware")
(version "1.3.2")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -37,7 +37,7 @@
(commit version)))
(sha256
(base32
"0dgqfp4cbky79vzjrdy3j462l8figymzrk2v0jalmmz3lkxw88ww"))
"16jbj8avg5jkgvq5lxm0hdxxn4c3zn7fx8b4nxllvr024apk9w23"))
(patches (list (search-patch "ath9k-htc-firmware-objcopy.patch")))))
(build-system gnu-build-system)
(arguments
+5 -3
View File
@@ -20,6 +20,7 @@
#:use-module (guix licenses)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@@ -28,14 +29,14 @@
(define-public fish
(package
(name "fish")
(version "2.1.2")
(version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://fishshell.com/files/"
version "/fish-" version ".tar.gz"))
(sha256
(base32
"1pgnz5lapm4qk48a13k9698jaswybzlbz2nyc621d852ldf0vhn6"))
"0ympqz7llmf0hafxwglykplw6j5cz82yhlrw50lw4bnf2kykjqx7"))
(modules '((guix build utils)))
;; Don't try to install /etc/fish/config.fish.
(snippet
@@ -45,7 +46,8 @@
(native-inputs
`(("doxygen" ,doxygen)))
(inputs
`(("ncurses" ,ncurses)))
`(("ncurses" ,ncurses)
("python" ,python-wrapper))) ;for fish_config and manpage completions
(arguments
'(#:tests? #f ; no check target
#:configure-flags '("--sysconfdir=/etc")))
+53 -2
View File
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,15 +19,20 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages fltk)
#:use-module ((guix licenses) #:select (lgpl2.0))
#:use-module ((guix licenses) #:select (lgpl2.0 lgpl2.0+))
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages gtk) ;for "cairo"
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system waf))
(define-public fltk
(package
@@ -83,3 +89,48 @@ emulation. FLTK is designed to be small and modular enough to be statically
linked, but works fine as a shared library. FLTK also includes an excellent
UI builder called FLUID that can be used to create applications in minutes.")
(license lgpl2.0))) ; plus certain additional permissions
(define-public ntk
(package
(name "ntk")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.tuxfamily.org/gitroot/non/fltk.git")
(commit (string-append "v" version))))
(sha256
(base32
"0ggrh6rihf676z1vfgpgcl6kpqwyh39ih0hskcgzklh7fphfik39"))
(file-name (string-append name "-" version "-checkout"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:python ,python-2
#:configure-flags '("--enable-gl")
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib")))))))
(inputs
`(("libjpeg" ,libjpeg)
("glu" ,glu)))
;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in
;; Requires.
(propagated-inputs
`(("cairo" ,cairo)
("libxft" ,libxft)
("libx11" ,libx11)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://non.tuxfamily.org/ntk/")
(synopsis "Fork of FLTK with graphics rendering via Cairo")
(description "The Non Tool Kit (NTK) is a fork of the Fast Light ToolKit
library, adding improved graphics rendering via Cairo, a streamlined and
enhanced widget set, and other features designed to improve the appearance and
performance of the Non applications.")
(license lgpl2.0+))) ; plus certain additional permissions
+230 -8
View File
@@ -4,6 +4,8 @@
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,10 +30,90 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages zip)
#:use-module (gnu packages perl)
#:use-module (gnu packages xorg)
#:use-module (gnu packages pkg-config))
(define-public font-inconsolata
(package
(name "font-inconsolata")
(version "0.80")
(source (origin
(method url-fetch)
(uri "http://www.levien.com/type/myfonts/Inconsolata.otf")
(sha256
(base32
"06js6znbcf7swn8y3b8ki416bz96ay7d3yvddqnvi88lqhbfcq8m"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let ((font-dir (string-append %output
"/share/fonts/opentype"))
(source (assoc-ref %build-inputs "source")))
(mkdir-p font-dir)
(copy-file source
(string-append font-dir "/" "inconsolata.otf"))))))
(native-inputs `(("source" ,source)))
(home-page "http://levien.com/type/myfonts/inconsolata.html")
(synopsis "Monospace font")
(description "A monospace font, designed for code listings and the like,
in print. With attention to detail for high resolution rendering.")
(license license:silofl1.1)))
(define-public font-ubuntu
(package
(name "font-ubuntu")
(version "0.80")
(source (origin
(method url-fetch)
(uri (string-append "http://font.ubuntu.com/download/ubuntu-font-family-"
version ".zip"))
(sha256
(base32
"0k4f548riq23gmw4zhn30qqkcpaj4g2ab5rbc3lflfxwkc4p0w8h"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(srfi srfi-26))
(let ((PATH (string-append (assoc-ref %build-inputs
"unzip")
"/bin"))
(font-dir (string-append %output
"/share/fonts/truetype"))
(doc-dir (string-append %output "/share/doc/"
,name "-" ,version)))
(setenv "PATH" PATH)
(system* "unzip" (assoc-ref %build-inputs "source"))
(mkdir-p font-dir)
(mkdir-p doc-dir)
(chdir (string-append "ubuntu-font-family-" ,version))
(for-each (lambda (ttf)
(copy-file ttf
(string-append font-dir "/" ttf)))
(find-files "." "\\.ttf$"))
(for-each (lambda (doc)
(copy-file doc
(string-append doc-dir "/" doc)))
(find-files "." "\\.txt$"))))))
(native-inputs `(("source" ,source)
("unzip" ,unzip)))
(home-page "http://font.ubuntu.com/")
(synopsis "The Ubuntu Font Family")
(description "The Ubuntu Font Family is a unique, custom designed font
that has a very distinctive look and feel. This package provides the
TrueType (TTF) files.")
(license
(license:non-copyleft
"http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt"
"Ubuntu Font License v1.0"))))
(define-public font-dejavu
(package
(name "font-dejavu")
@@ -308,17 +390,17 @@ for long (8 and more hours per day) work with computers.")
(define-public font-adobe-source-han-sans
(package
(name "font-adobe-source-han-sans")
(version "1.001R")
(version "1.004")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/adobe-fonts/source-han-sans/archive/"
version ".tar.gz"))
(file-name (string-append "source-han-sans-" version ".tar.gz"))
version "R.tar.gz"))
(file-name (string-append "source-han-sans-" version "R.tar.gz"))
(sha256
(base32
"0cwz3d8jancl0a7vbjxhnh1vgwsjba62lahfjya9yrjkp1ndxlap"))))
(outputs '("out" ; OpenType/CFF Collection (OTC), 119 MiB.
"1ssx0fw90sy6mj8fv8fv4dgzszpqwbmwpjnlx16g4pvaqzdmybbz"))))
(outputs '("out" ; OpenType/CFF Collection (OTC), 121 MiB.
"cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF.
(build-system trivial-build-system)
(arguments
@@ -339,12 +421,13 @@ for long (8 and more hours per day) work with computers.")
"/share/fonts/opentype")))))
(setenv "PATH" PATH)
(system* tar "xvf" (assoc-ref %build-inputs "source"))
(chdir (string-append "source-han-sans-" ,version))
(chdir (string-append "source-han-sans-" ,version "R"))
(install-opentype-fonts "OTC" "out")
(install-opentype-fonts "SubsetOTF/CN" "cn")
(install-opentype-fonts "SubsetOTF/JP" "jp")
(install-opentype-fonts "SubsetOTF/KR" "kr")
(install-opentype-fonts "SubsetOTF/TW" "tw")))))
(install-opentype-fonts "SubsetOTF/TW" "tw")
(for-each delete-file (find-files %output "\\.zip$"))))))
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
@@ -357,7 +440,7 @@ And in several OpenType/CFF-based deployment configurations to accommodate
various system requirements or limitations. As the name suggests, Pan-CJK
fonts are intended to support the characters necessary to render or display
text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
(license license:asl2.0)))
(license license:silofl1.1)))
(define-public font-wqy-zenhei
(package
@@ -405,3 +488,142 @@ code-points needed for zh_cn, zh_sg, zh_tw, zh_hk, zh_mo, ja (Japanese) and
ko (Korean) locales for fontconfig.")
;; GPLv2 with font embedding exception
(license license:gpl2)))
(define-public font-tex-gyre
(package
(name "font-tex-gyre")
(version "2.005")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.gust.org.pl/projects/e-foundry/"
"tex-gyre/whole/tg-" version "otf.zip"))
(sha256
(base32
"0kph9l3g7jb2bpmxdbdg5zl56wacmnvdvsdn7is1gc750sqvsn31"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((unzip (string-append (assoc-ref %build-inputs "unzip")
"/bin/unzip"))
(font-dir (string-append %output "/share/fonts/opentype")))
(mkdir-p font-dir)
(system* unzip
(assoc-ref %build-inputs "source")
"-d" font-dir)))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://www.gust.org.pl/projects/e-foundry/tex-gyre/")
(synopsis "Remake of Ghostscript fonts")
(description "The TeX Gyre collection of fonts is the result of an
extensive remake and extension of the freely available base PostScript fonts
distributed with Ghostscript version 4.00. The collection contains the
following fonts in the OpenType format: Adventor, Bonum, Chorus, Cursor,
Heros, Pagella, Schola, Termes.")
(license license:gfl1.0)))
(define-public font-anonymous-pro
(package
(name "font-anonymous-pro")
(version "1.002")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.marksimonson.com/assets/content/fonts/"
"AnonymousPro-" version ".zip"))
(sha256
(base32
"1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((unzip (string-append (assoc-ref %build-inputs "unzip")
"/bin/unzip"))
(font-dir (string-append %output "/share/fonts/truetype"))
(doc-dir (string-append %output "/share/doc/" ,name)))
(system* unzip (assoc-ref %build-inputs "source"))
(mkdir-p font-dir)
(mkdir-p doc-dir)
(chdir (string-append "AnonymousPro-" ,version ".001"))
(for-each (lambda (ttf)
(copy-file ttf
(string-append font-dir "/" ttf)))
(find-files "." "\\.ttf$"))
(for-each (lambda (doc)
(copy-file doc
(string-append doc-dir "/" doc)))
(find-files "." "\\.txt$"))))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://www.marksimonson.com/fonts/view/anonymous-pro")
(synopsis "Fixed-width fonts designed with coding in mind")
(description "Anonymous Pro is a family of four fixed-width fonts designed
with coding in mind. Anonymous Pro features an international, Unicode-based
character set, with support for most Western and Central European Latin-based
languages, plus Greek and Cyrillic.")
(license license:silofl1.1)))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
(version "8.0.01")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/unifont/unifont-8.0.01/unifont-"
version ".tar.gz"))
(sha256
(base32
"176bzc2y3i49xavrmbyyz5lkqp0qq3bkj7rjrl197kib873by82b"))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version
"psf" ; PSF (console) version
"bin" ; Utilities to manipulate '.hex' format
))
(arguments
'(#:parallel-build? #f ; parallel build fails
#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(setenv "CC" "gcc")))
(replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((ttf (string-append (assoc-ref outputs "out")
"/share/fonts/truetype"))
(pcf (string-append (assoc-ref outputs "pcf")
"/share/fonts/misc"))
(psf (string-append (assoc-ref outputs "psf")
"/share/consolefonts"))
(bin (assoc-ref outputs "bin")))
(system* "make"
(string-append "PREFIX=" bin)
(string-append "TTFDEST=" ttf)
(string-append "PCFDEST=" pcf)
(string-append "CONSOLEDEST=" psf)
"install")
;; Move Texinfo file to the right place.
(mkdir (string-append bin "/share/info"))
(rename-file (string-append bin "/share/unifont/unifont.info.gz")
(string-append bin "/share/info/unifont.info.gz"))
#t))))))
(inputs
`(("perl" ,perl))) ; for utilities
(synopsis
"Large bitmap font covering Unicode's Basic Multilingual Plane")
(description
"GNU Unifont is a bitmap font covering essentially all of
Unicode's Basic Multilingual Plane. The package also includes
utilities to ease adding new glyphs to the font.")
(home-page "http://unifoundry.com/unifont.html")
(license license:gpl2+)))

Some files were not shown because too many files have changed in this diff Show More