1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-07 14:44:06 +02:00

Compare commits

...

3358 Commits

Author SHA1 Message Date
Ludovic Courtès 04bdcdb636 gnu: bool: Synchronize synopsis and description with upstream.
* gnu/packages/search.scm (bool): Synchronize synopsis & description
  with GNU.
2015-05-13 23:49:33 +02:00
Ludovic Courtès ec6b5a9942 Update NEWS. 2015-05-13 23:41:08 +02:00
Taylan Ulrich Bayırlı/Kammer 45cbe390c3 gnu: guix-0.8.1: Add gnutls to propagated inputs.
* gnu/packages/package-management.scm (guix-0.8.1): Add gnutls to propagated
  inputs.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-05-13 23:30:23 +02:00
Ludovic Courtès ee5bae302e gnu: lftp: Add alternate URL for old tarballs.
* gnu/packages/ftp.scm (lftp)[source]: Add /old alternate URL.
2015-05-13 22:51:56 +02:00
Ludovic Courtès 1eefe4a87b gnu: Tweak a few synopses and descriptions reported by 'lint'.
* gnu/packages/haskell.scm (ghc-text)[synopsis]: Remove period.
  [description]: Two space after end-of-sentence periods.
  (ghc-http)[description]: Likewise.
* gnu/packages/image.scm (libwebp)[description]: Likewise.
* gnu/packages/libedit.scm (libedit)[description]: Likewise.
* gnu/packages/kde.scm (oxygen-icons)[synopsis]: Capitalize.
2015-05-13 22:51:56 +02:00
Ludovic Courtès 853c2f18e7 gnu: e2fsprogs: Remove references to linux-libre-headers.
This removes the final linux-libre-headers and its references (including
bootstrap-binaries) from the closure.

* gnu/packages/linux.scm (e2fsprogs)[arguments]: Augment 'install-libs'
  phase to make .a files writable.
2015-05-13 22:51:56 +02:00
Ludovic Courtès 49607566e1 doc: Increase package count.
* doc/guix.texi (System Installation): Increase package count.
2015-05-13 22:51:55 +02:00
David Thompson d423ac6047 NEWS: Mention new postgresql service in 0.8.2. 2015-05-13 12:31:18 -04:00
Ludovic Courtès 6b832e4d7b Update NEWS. 2015-05-13 11:48:12 +02:00
Mark H Weaver e1820d1443 gnu: icecat: Apply fixes for CVE-2015-{0797,2708,2710,2713,2716}.
* gnu/packages/patches/icecat-CVE-2015-0797.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt3.patch,
  gnu/packages/patches/icecat-CVE-2015-2708-pt4.patch,
  gnu/packages/patches/icecat-CVE-2015-2710-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-2710-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-2710-pt3.patch,
  gnu/packages/patches/icecat-CVE-2015-2713-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-2713-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-2716.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat): Add patches.
2015-05-13 01:32:28 -04:00
Mark H Weaver d7cbc91d1a gnu: sharutils: Correct source hash.
This is a followup to 512da657d7.

* gnu/packages/compression.scm (sharutils): Correct source hash.
2015-05-12 22:52:37 -04:00
Mark H Weaver 512da657d7 gnu: sharutils: Update to 4.15.1.
* gnu/packages/compression.scm (sharutils): Update to 4.15.1.
2015-05-12 22:50:47 -04:00
Mark H Weaver fb8ebb8316 gnu: autogen: Update to 5.18.5.
* gnu/packages/autogen.scm (autogen): Update to 5.18.5.  Add pkg-config to
  native-inputs.
2015-05-12 22:50:46 -04:00
Mark H Weaver e736cfcee6 gnu: gnubik: Update to 2.4.2.
* gnu/packages/games.scm (gnubik): Update to 2.4.2.
2015-05-12 22:50:46 -04:00
Mark H Weaver 19595c08f3 gnu: gnupg: Update to 2.1.4.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.4.
2015-05-12 22:50:46 -04:00
Taylan Ulrich Bayırlı/Kammer 1e61e22f4d gnu: Add miredo.
* gnu/packages/networking.scm (miredo): New variable.
2015-05-13 01:09:18 +02:00
Ludovic Courtès 9e2292ef3d publish: Add '--listen'.
* guix/scripts/publish.scm (show-help, %options): Add --listen.
  (getaddrinfo*): New procedure.
  (%default-options): Add 'address'.
  (open-server-socket): Replace 'addr' and 'port' with 'address', a
  sockaddr.
  (guix-publish): Adjust accordingly.  Augment "publishing" message with
  the actual address.
* doc/guix.texi (Invoking guix publish): Document it.
2015-05-12 21:22:52 +02:00
Ludovic Courtès 083b54b7c7 gnu: inetutils: Update to 1.9.3.
* gnu/packages/patches/inetutils-syslogd.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/admin.scm (inetutils): Bump to 1.9.3.
  [source]: Remove patch.
  [native-inputs]: Remove.
2015-05-12 21:22:52 +02:00
Ludovic Courtès 5463fe512a publish: Add '--user' option.
* guix/scripts/publish.scm (show-help): Add --user.
  (%options): Likewise.
  (run-publish-server): Change 'port' parameter to 'socket'.  Pass
  #:socket instead of #:addr and #:port to 'run-server'.  Update caller
  accordingly.
  (open-server-socket, gather-user-privileges): New procedures.
  (guix-publish): Use them.  Force %PRIVATE-KEY and %PUBLIC-KEY early
  on.  Warn when running as root.
* doc/guix.texi (Invoking guix publish): Document --user.
2015-05-12 21:22:52 +02:00
Eric Bavier 6ad2e17e8e gnu: Add bool.
* gnu/packages/search.scm (bool): New variable.
2015-05-12 10:28:28 -05:00
Mark H Weaver 1600544a10 gnu: icu4c: Update to 55.1.
* gnu/packages/icu4c.scm (icu4c): Update to 55.1.
2015-05-12 09:27:26 -04:00
Ricardo Wurmus 4cbaf2ab65 gnu: icedtea6: Add target-dependent include directory to CPATH.
* gnu/packages/java.scm (gcj-4.8)[arguments]: Add target-dependent GCJ include
  directory to CPATH environment variable.
2015-05-12 13:59:17 +02:00
宋文武 73b6cf429b gnu: gnome-icon-theme: Move GTK+ and icon-naming-utils to 'native-inputs'.
* gnu/packages/gnome.scm (gnome-icon-theme): Move inputs to native-inputs.
2015-05-12 18:09:47 +08:00
宋文武 b32f58dd8e gnu: gnome-icon-theme: Update to 3.12.0.
* gnu/packages/gnome.scm (gnome-icon-theme): Update to 3.12.0.
2015-05-12 18:09:47 +08:00
Ludovic Courtès 8ce229fca2 doc: Make 'guix publish' more visible.
* doc/guix.texi (Substitutes): Add xref to "Invoking guix publish".
  (Invoking guix publish): Add xref to "Substitutes".  Explain what
  Hydra is.
2015-05-12 11:14:41 +02:00
Ludovic Courtès 4705641fd0 doc: "GSD" -> "GuixSD".
* doc/guix.texi: Replace "GSD" with "GuixSD".
2015-05-12 11:14:41 +02:00
Ludovic Courtès ae80609603 doc: Use @indicateurl where appropriate.
* doc/guix.texi (Binary Installation, Invoking guix-daemon, System
  Installation): Use @indicateurl instead of @code where appropriate.
2015-05-12 11:14:41 +02:00
Mark H Weaver b599e9ebf5 install: desktop.tmpl: Add "netdev" to the user's supplementary groups.
* gnu/system/examples/desktop.tmpl: Add "netdev" to the user's supplementary
  groups.
2015-05-11 22:40:31 -04:00
Ludovic Courtès efb5e833ba doc: Document X.509 certificates.
* doc/guix.texi (Using the Configuration System): Add xref to "X.509
  Certificates".
  (X.509 Certificates): New section.
* gnu/system/examples/desktop.tmpl: Use NSS-CERTS.
2015-05-11 23:01:20 +02:00
Ludovic Courtès 1303a4a451 daemon: Fix possible use-after-free.
This is essentially a backport of
<https://github.com/NixOS/nix/commit/f52b6c944e90b3e35925122779175705fdc02e12>
by Eelco Dolstra <eelco.dolstra@logicblox.com>.

The use-after-free bug would typically manifest when building with
GCC 5.1.
2015-05-11 23:01:20 +02:00
Andreas Enge 2320ea1a51 gnu: Add MyThes.
* gnu/packages/libreoffice.scm (mythes): New variable.
2015-05-11 22:54:27 +02:00
Andreas Enge 1c625dd372 gnu: Add hyphen.
* gnu/packages/libreoffice.scm (hyphen): New variable.
2015-05-11 22:54:27 +02:00
Andreas Enge 2a9a94419a gnu: Add hunspell.
* gnu/packages/libreoffice.scm (hunspell): New variable.
2015-05-11 22:54:27 +02:00
Ricardo Wurmus d49976ed4e gnu: ardour: Extract RUNPATH phase.
* gnu/packages/audio.scm (ardour-rpath-phase): New procedure.
* gnu/packages/audio.scm (ardour, ardour-3): Generate version-dependent build
  phase with ardour-rpath-phase.
2015-05-11 22:25:54 +02:00
Mark H Weaver d48c8e7b60 gnu: wpa-supplicant: Add security fixes.
* 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: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/admin.scm (wpa-supplicant-light)[source]: Add patches.
2015-05-11 12:51:47 -04:00
Eric Bavier 1ec78e9d71 gnu: octave: Add fftw, arpack, and glu inputs.
* gnu/packages/maths.scm (octave)[inputs]: Add fftw, fftwf, arpack,
  and glu.
  [description]: Wrap to 80 columns.
2015-05-11 10:10:00 -05:00
Ludovic Courtès d7fdab2541 build: check-final-inputs-self-contained uses %HYDRA-SUPPORTED-SYSTEMS.
* build-aux/check-final-inputs-self-contained.scm: Change
  '%supported-systems' to '%hydra-supported-systems'.
2015-05-10 22:29:16 +02:00
Ludovic Courtès 487abff67c nls: Add package files for translation.
* po/packages/POTFILES.in: Add a bunch of files.
2015-05-10 22:29:16 +02:00
Ludovic Courtès fc8a431c39 gnu: libcdio: Synchronize description.
* gnu/packages/cdrom.scm (libcdio)[description]: Synchronize with GNU.
2015-05-10 22:29:16 +02:00
Mark H Weaver b8949a2fc9 gnu: libtasn1: Update to 4.5.
* gnu/packages/gnutls.scm (libtasn1): Update to 4.5.
2015-05-10 14:05:25 -04:00
Alex Kost 6633f86b49 gnu: Add tvtime.
* gnu/packages/tv.scm,
  gnu/packages/patches/tvtime-gcc41.patch,
  gnu/packages/patches/tvtime-pngoutput.patch,
  gnu/packages/patches/tvtime-videodev2.patch,
  gnu/packages/patches/tvtime-xmltv.patch: New files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add package.
  (dist_patch_DATA): Add patches.
2015-05-10 18:30:54 +03:00
Ludovic Courtès f0b98b8483 doc: Mention GNU Make as a requirement.
* README (Requirements): Add GNU Make.
* doc/guix.texi (Requirements): Likewise.
2015-05-10 11:20:35 +02:00
Ludovic Courtès 005c8fc6e0 http-client: Remove monkey patching for 2.0.5.
* guix/http-client.scm (read-response-body*): Remove.
  (http-fetch): Remove hacks for 2.0.5.
2015-05-10 11:07:51 +02:00
Ludovic Courtès 09d809db6a Remove assorted Guile 2.0.5 workarounds.
* guix/scripts/authenticate.scm (%default-port-conversion-strategy):
  Remove.
* guix/scripts/substitute.scm (fetch): Remove 2.0.5 special cases.
* guix/serialization.scm (write-file): Remove 'scandir' workaround.
* guix/ui.scm (command-files): Likewise.
2015-05-10 11:07:51 +02:00
Ludovic Courtès 47c66da00b build: Require Guile >= 2.0.7.
* configure.ac: Require guile-2.0 >= 2.0.7.
* README: Adjust accordingly.
* doc/guix.texi (Requirements): Likewise.
2015-05-10 11:07:51 +02:00
Cyril Roelandt 8fda1b7970 Remove leftover patches.
* gnu/packages/patches/guix-test-networking.patch: Delete it.
* gnu/packages/patches/libtool-skip-tests.patch: Delete it.
* gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch: Delete it.
* gnu/packages/patches/udev-gir-libtool.patch: Delete it.
* gnu-system.am (dist_patch_DATA): Remove them as well.
2015-05-10 02:10:07 +02:00
Ludovic Courtès dd51caac55 doc: Show both the "bare-bones" and the "desktop" configurations.
* doc/guix.texi (System Installation): Add xref to "Using the
  Configuration System" instead of including one here.
  (Using the Configuration System): Remove first example, and include
  os-config-bare-bones.texi instead.  Include os-config-desktop.texi as
  a second example.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): New variable.
  (BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Use it.
  (doc/os-config.texi): Remove.
  (doc/os-config-%.texi): New target.
2015-05-09 23:53:36 +02:00
Ludovic Courtès e1fbc32a0a install: Have several OS config templates under /etc/configuration.
* gnu/system/install.scm (configuration-template-service): Remove
  'local-template' and 'template'.  Add 'search' and 'templates'.
  [activate]: Copy all of TEMPLATES to /etc/configuration.
* doc/guix.texi (System Installation): Adjust file name accordingly.
2015-05-09 23:53:36 +02:00
Ludovic Courtès 36ffaca246 doc: Add desktop configuration example.
* gnu/system/examples/bare-bones.tmpl: Change 'packages' and
  'host-name'.  Remove D-Bus, Avahi, and SLiM services, and add lsh
  instead.
* gnu/system/examples/desktop.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
2015-05-09 23:53:36 +02:00
Ludovic Courtès c217cbd84d services: dhcp-client: Better track dhclient's PID.
* gnu/services/networking.scm (dhcp-client-service)[start]: Remove
  PID-FILE first.  When 'call-with-input-file' throws ENOENT, try
  again.
2015-05-09 23:53:36 +02:00
Ludovic Courtès 54d6223d2c doc: Rename OS config example.
* gnu/system/os-config.tmpl: Rename to...
* gnu/system/examples/bare-bones.tmpl: ... this.
* Makefile.am (EXAMPLES): Adjust accordingly.
* doc.am (doc/os-config.texi): Likewise.
* gnu/system/install.scm (configuration-template-service)[template]:
  Likewise.
2015-05-09 23:53:36 +02:00
Ludovic Courtès 6f05630ba6 gnu: wicd: Add patch to fix template instantiation.
* gnu/packages/patches/wicd-template-instantiation.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/wicd.scm (wicd)[source]: Use it.
2015-05-09 23:53:36 +02:00
Mark H Weaver 15f0de0581 system: activate-ptrace-attach: Handle kernels without YAMA support.
* gnu/build/activation.scm (activate-ptrace-attach): Check for the existence
  of /proc/sys/kernel/yama/ptrace_scope before trying to write to it.
2015-05-09 13:14:31 -04:00
Mark H Weaver 57e95b261b gnu: sqlite: Update to 3.8.9.
* gnu/packages/databases.scm (sqlite): Update to 3.8.9.
2015-05-08 20:33:20 -04:00
Mark H Weaver cbf71ea25e gnu: subversion: Add fix for sqlite-3.8.9.
* gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/version-control.scm (subversion): Add patch.
2015-05-08 20:33:20 -04:00
Mark H Weaver 85bafc31f6 gnu: mariadb: Update to 10.0.18.
* gnu/packages/databases.scm (mariadb): Update to 10.0.18.
2015-05-08 19:59:26 -04:00
Ricardo Wurmus 9c8bd626a1 gnu: gimp: Enable Python scripting support.
* gnu/packages/gimp.scm (gimp): Enable Python scripting support.
2015-05-08 21:55:42 +02:00
Ludovic Courtès 965a733220 doc: Document 'avahi-service'.
* gnu/services/avahi.scm (avahi-service): Add URL in docstring.
* doc/guix.texi (Networking Services): Document it.
  (Name Service Switch): Fix cross-reference.
2015-05-08 16:35:32 +02:00
Ludovic Courtès 04e4e6ab51 doc: Document sessions and ~/.xsession for SLiM.
* gnu/services/xorg.scm (slim-service): Document session types and
  ~/.xsession.
* doc/guix.texi (X Window): Adjust accordingly.
2015-05-08 16:35:32 +02:00
Ludovic Courtès 4467be213a services: Add '%desktop-services'.
* gnu/services/desktop.scm (%desktop-services): New variable.
* doc/guix.texi (Desktop Services): Document it.
2015-05-08 16:35:32 +02:00
Ludovic Courtès a0dac7a01f profiles: Ensure the profile's etc/ directory is writable.
Reported by 宋文武 <iyzsong@gmail.com>.

* guix/build/profiles.scm (build-etc/profile,
  ensure-writable-directory): New procedures.
  (build-profile): Use them.
* tests/profiles.scm ("etc/profile when etc/ already exists"): New test.
2015-05-08 16:35:32 +02:00
Ludovic Courtès 15137a29c2 nss: Add '%mdns-host-lookup-nss'.
* gnu/system/nss.scm (%mdns-host-lookup-nss): New variable.
* doc/guix.texi (Name Service Switch): Document it.
2015-05-08 16:35:32 +02:00
宋文武 6b888efff6 gnu: Add aisleriot.
* gnu/packages/gnome.scm (aisleriot): New variable.
2015-05-08 22:08:04 +08:00
Ricardo Wurmus ad12c43e97 gnu: gcj: Add $libdir to RUNPATH.
* gnu/packages/gcc.scm (gcj)[arguments]: Add build phase to add library output
  directory to RUNPATH.
2015-05-08 13:14:36 +02:00
Mark H Weaver aa2e989e1e gnu: linux-libre: Update to 4.0.2.
* gnu/packages/patches/linux-libre-libreboot-fix.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/linux.scm (linux-libre): Update to 4.0.2.  Remove patch.
2015-05-07 18:41:32 -04:00
Andreas Enge 82741a8a11 gnu: Add libwps.
* gnu/packages/libreoffice.scm (libwps): New variable.
2015-05-07 23:12:28 +02:00
Andreas Enge 1d59b83b27 gnu: Add libmwaw.
* gnu/packages/libreoffice.scm (libmwaw): New variable.
2015-05-07 23:12:28 +02:00
Andreas Enge 74a63b118b gnu: Add libodfgen.
* gnu/packages/libreoffice.scm (libodfgen): New variable.
2015-05-07 23:12:28 +02:00
Ludovic Courtès cf2abac8ec artwork: Update to latest version.
* gnu/artwork.scm (%artwork-repository): Update.
* gnu/services/xorg.scm (%default-slim-theme-name): Change to "0.x".
* gnu/system/grub.scm (%background-image): Change to
  GuixSD-fully-black-4-3.svg.
2015-05-07 23:11:23 +02:00
Ricardo Wurmus 32cf989587 gnu: ardour: Fix inheritance of Ardour package.
* gnu/packages/audio.scm (ardour): Inherit from "ardour-3" instead of
  "ardour".
2015-05-07 22:48:36 +02:00
Ricardo Wurmus 002806c929 gnu: Add Ardour 4.
* gnu/packages/audio.scm (ardour): Rename to ...
  (ardour-3): ... this.
  (ardour): New variable.
2015-05-07 22:37:16 +02:00
Ricardo Wurmus e55c1b67ea gnu: Add GnuCash.
* gnu/packages/gnucash.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-05-07 20:17:42 +02:00
Ricardo Wurmus 7b05ba9161 gnu: Add WebkitGTK 2.4.8.
* gnu/packages/webkit.scm (webkitgtk-2.4): New variable.
* gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-05-07 20:17:42 +02:00
Ricardo Wurmus c024ae3601 gnu: Add goffice-0.8.
* gnu/packages/gnome.scm (goffice-0.8): New variable.
2015-05-07 20:16:50 +02:00
David Thompson f4d8f85555 gnu: mesa: Build gallium drivers for nouveau.
* gnu/packages/gl.scm (mesa): Pass "nouveau" to "--with-gallium-drivers" flag.
2015-05-07 14:12:21 -04:00
Mark H Weaver 88b6b125ba gnu: serf: Apply upstream fixes.
* gnu/packages/patches/serf-comment-style-fix.patch,
  gnu/packages/patches/serf-deflate-buckets-test-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/web.scm (serf): Add patches.  Remove 'remove-non-c89-comment'
  phase.
2015-05-07 12:22:09 -04:00
David Thompson dc77f0d321 gnu: Add openvpn.
* gnu/packages/vpn.scm (openvpn): New variable.
2015-05-07 10:54:12 -04:00
David Thompson e5c8e4f361 gnu: bridge-utils: Fix build system.
* gnu/packages/linux.scm (bridge-utils): Patch source to fix compilation
  error.  Patch Makefile to fail in case of future compilation errors.
2015-05-07 10:44:42 -04:00
David Thompson 105369a46b gnu: Add postgresql-service.
* gnu/services/databases.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi ("Database Services"): New subsubsection.
2015-05-07 08:44:36 -04:00
Mark H Weaver 6e6e9f2551 gnu: Remove neon-0.29.6.
* gnu/packages/version-control.scm (neon-0.29.6): Remove variable.
2015-05-07 05:06:27 -04:00
Mark H Weaver 46138f3e22 gnu: subversion: Add serf to inputs.
This is a followup to d5e9f3809d, which upgraded
subversion to 1.8.x.  Previously we used 'neon' to support http access
methods, but subversion 1.8 drops support for 'neon' in favor of 'serf'.

* gnu/packages/version-control.scm (subversion)[inputs]: Add 'serf' and remove
  'neon'.
  [arguments]: Fix typo in phase name.
2015-05-07 05:06:26 -04:00
Mark H Weaver ed86593620 gnu: Add serf.
* gnu/packages/web.scm (serf): New variable.
2015-05-07 05:06:26 -04:00
Mark H Weaver a3f61425a6 gnu: scons: Update to 2.3.4.
* gnu/packages/python.scm (scons): Update to 2.3.4.
2015-05-07 05:06:26 -04:00
Mark H Weaver 9f9d073be1 gnu: apr-util: Use system expat library.
* gnu/packages/apr.scm: Import (guix licenses) with prefix "l:".
  (apr)[license]: Adapt to license prefix.
  (apr-util)[propagated-inputs]: Add expat.
  [arguments]: Pass --with-expat to configure.
  [license]: Adapt to license prefix.
2015-05-07 05:06:26 -04:00
Mark H Weaver c716f5a0e0 gnu: apr: Update to 1.5.2.
* gnu/packages/apr.scm (apr): Update to 1.5.2.
2015-05-07 05:06:26 -04:00
Ludovic Courtès 669786da91 system: Use "." instead of "source" in /etc/profile.
* gnu/system.scm (etc-directory)[profile]: Use "." instead of "source",
  the latter being Bash-specific.
2015-05-07 09:49:08 +02:00
Ludovic Courtès 507c71d629 system: Check whether ~/.guix-profile/etc/profile exists.
* gnu/system.scm (etc-directory)[profile]: Check for
  ~/.guix-profile/etc/profile rather than just ~/.guix-profile.
2015-05-07 09:49:08 +02:00
Mark H Weaver dd4a86207e gnu: Add dosfstools.
* gnu/packages/disk.scm (dosfstools): New variable.
2015-05-07 00:54:17 -04:00
Taylan Ulrich Bayırlı/Kammer 9e006fb3de tests: Fix etc/profile test.
* tests/profiles.scm ("etc/profile"): Unset GUIX_PROFILE before sourcing
  etc/profile.  Use '.' instead of 'source' for sourcing.  Call 'echo $PATH'
  instead of using the output of 'set' to determine whether PATH is set.
2015-05-06 22:34:54 +02:00
Andreas Enge 56203284b6 gnu: Add libvisio.
* gnu/packages/libreoffice.scm (libvisio): New variable.
2015-05-06 22:25:21 +02:00
Andreas Enge f5d4a138a7 gnu: Add libpagemaker.
* gnu/packages/libreoffice.scm (libpagemaker): New variable.
2015-05-06 22:12:43 +02:00
Andreas Enge 86e278fc1a gnu: Add libmspub.
* gnu/packages/libreoffice.scm (libmspub): New variable.
2015-05-06 22:06:36 +02:00
Andreas Enge ef1c414838 gnu: Add libfreehand.
* gnu/packages/libreoffice.scm (libfreehand): New variable.
2015-05-06 21:57:42 +02:00
Andreas Enge 97aee2b6a5 gnu: Add libexttextcat.
* gnu/packages/libreoffice.scm (libexttextcat): New variable.
2015-05-06 21:51:52 +02:00
Andreas Enge 3dc67e3894 gnu: Add libetonyek.
* gnu/packages/libreoffice.scm (libetonyek): New variable.
2015-05-06 21:42:51 +02:00
Andreas Enge 9fe8a4ba4e gnu: Add libcdr.
* gnu/packages/libreoffice.scm (libcdr): New variable.
2015-05-06 21:34:49 +02:00
Andreas Enge 4cd369ed6b gnu: Add libabw.
* gnu/packages/libreoffice.scm (libabw): New variable.
2015-05-06 21:19:28 +02:00
Ricardo Wurmus e8444b26ab gnu: Add python-pyxdg.
* gnu/packages/freedesktop.scm (python-pyxdg, python2-pyxdg): New variables.
2015-05-06 20:17:57 +02:00
Ludovic Courtès d9959421a5 system: /etc/profile sources each profile's /etc/profile.
Partly fixes <http://bugs.gnu.org/20255>.
Reported by 宋文武 <iyzsong@gmail.com>.

* gnu/system.scm (etc-directory)[profile]: Source
  /run/current-system/profile/etc/profile and
  $HOME/.guix-profile/etc/profile when available.  Move definitions of
  SSL_CERT_DIR, SSL_CERT_FILE, and GIT_SSL_CAINFO before that.
2015-05-06 18:26:54 +02:00
Ludovic Courtès d664f1b431 profiles: Generate an 'etc/profile' file.
Suggested by 宋文武 <iyzsong@gmail.com>
in <http://bugs.gnu.org/20255>.

* guix/build/profiles.scm (abstract-profile,
  write-environment-variable-definition): New procedures.
  (build-profile): Add #:search-paths parameter.  Create
  OUTPUT/etc/profile.
* guix/profiles.scm (profile-derivation)[builder]: Add 'search-paths'
  variable and pass it to 'build-profile'.  Adjust #:modules argument.
* tests/profiles.scm ("etc/profile"): New test.
* doc/guix.texi (Invoking guix package): Mention etc/profile.
2015-05-06 18:26:54 +02:00
Ludovic Courtès 611adb1ee5 profiles: Move build code to (guix build profiles).
* guix/build/profiles.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/profiles.scm (profile-derivation)[builder]: Call out to
  'build-profile'.
  Add (guix build profiles) to the #:modules argument.
2015-05-06 18:26:54 +02:00
Ludovic Courtès d838e70298 search-paths: Export 'string-tokenize*'.
* guix/search-paths.scm (string-tokenize*): Export.
* tests/utils.scm ("string-tokenize*"): Adjust accordingly.
2015-05-06 18:26:53 +02:00
Eric Bavier b5cd1e4f93 gnu: moe: Update to 1.7.
* gnu/packages/moe.scm (moe): Update to 1.7.
2015-05-06 11:13:47 -05:00
Eric Bavier 76071c70fc gnu: hop: Remove use of patchelf.
* gnu/packages/patches/hop-linker-flags.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/scheme.scm (source)[patches]: Use it.
  (arguments)[phases]: Remove patch-rpath phase.
  [modules, imported-modules]: Remove.
  (native-inputs): Remove field.
2015-05-06 10:31:02 -05:00
Ricardo Wurmus 366553e447 gnu: Add elogind.
* gnu/packages/freedesktop.scm (elogind): New variable.
2015-05-06 11:52:07 +02:00
Ricardo Wurmus 32cf42c1eb gnu: Add IR.
* gnu/packages/audio.scm (ir): New variable.
2015-05-06 11:52:07 +02:00
Ricardo Wurmus d73f79099b gnu: Add zita-convolver.
* gnu/packages/audio.scm (zita-convolver): New variable.
2015-05-06 11:52:07 +02:00
Ludovic Courtès 7623848343 download: Work around Guile small-receive-buffer bug.
Previously, code using directly (guix build download) was still affected
by <http://bugs.gnu.org/15368>.  This includes source derivations, the
'guix download' command, and (guix gnu-maintenance).

'guix substitute' was unaffected since it used (guix http-client), which
already had the fix.

* guix/http-client.scm (open-socket-for-uri): Remove.
  (http-fetch): Remove #:buffered? argument to 'open-socket-for-uri';
  use 'setvbuf' instead.
* guix/scripts/substitute.scm (fetch): Likewise.
* guix/build/download.scm (open-socket-for-uri): New procedure, taken
  from guix/http-client.scm, but without the #:buffered? parameter.
2015-05-06 10:31:11 +02:00
Ludovic Courtès c822fb8e34 download: Reinstate buffering on connection sockets.
* guix/build/download.scm (open-connection-for-uri): Reinstate call to
  'setvbuf' inadvertently removed in d17551d9.
2015-05-06 09:50:15 +02:00
David Hashe 0ffcf7cc80 gnu: webkitgtk: Remove unnecessary make flag.
* gnu/packages/webkit.scm (webkitgtk): Remove make-flags.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-05-06 09:27:11 +02:00
Ludovic Courtès 356a62b8e6 activation: Make user copies of the skeletons writable.
* gnu/build/activation.scm (make-file-writable,
  make-skeletons-writable): New procedures.
  (copy-account-skeletons): Call 'make-file-writable' after 'copy-file'.
  (add-user): Add call to 'make-skeletons-writable'.
2015-05-05 23:46:54 +02:00
Ludovic Courtès 68267c6367 gnu: librevenge, libwpd, libwpg: Fix 'license' field.
* gnu/packages/libreoffice.scm (librevenge, libwpd, libwpg): Fix
  'license' field to be a list of <license>.
2015-05-05 22:44:31 +02:00
Ludovic Courtès fe1a39d319 services: Group desktop services in (gnu services desktop).
* gnu/services/colord.scm, gnu/services/dbus.scm,
  gnu/services/upower.scm: Remove.
* gnu/services/desktop.scm: New file, with contents taken from the above
  files.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
* doc/guix.texi (Desktop Services): New section.
  (Various Services): Move colord-service and upower-service from
  here to "Desktop Services".
2015-05-05 22:44:31 +02:00
Eric Bavier 8a629613d1 gnu: hop: Fix RPATHs.
* gnu/packages/scheme.scm (inputs): Move patchelf input to...
  (native-inputs): ...here.  New field.
  (arguments)[phases]: Use augment-rpath for patch-rpath phase.
2015-05-05 15:14:32 -05:00
Eric Bavier 6f428fda0a gnu: perl-json-any: Fix typo in source uri scheme.
* gnu/packages/perl.scm (perl-json-any)[source]: Fix typo.
2015-05-05 15:13:05 -05:00
David Hashe 9ca3323608 gnu: webkitgtk: Fix compilation on x86_64.
* gnu/packages/webkit.scm (webkitgtk): Move library install path from lib64 to
 lib.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-05-05 22:04:10 +02:00
Ludovic Courtès ef80cceddc gnu: wxwidgets-2: Add $libdir to RUNPATH.
* gnu/packages/wxwidgets.scm (wxwidgets-2)[arguments]: Add #:make-flags,
  as for WXWIDGETS.
2015-05-05 22:00:53 +02:00
Ludovic Courtès 4bfeb0ca74 gnu: mozjs: Mark as unsupported on mips64el-linux.
* gnu/packages/gnuzilla.scm (mozjs)[supported-systems]: New field.
2015-05-05 21:39:18 +02:00
Ludovic Courtès ae3bded68e gnu: gpgme: Build against GnuPG 2.0.
* gnu/packages/gnupg.scm (gpgme)[inputs]: Change to GNUPG-2.0.
2015-05-05 17:43:19 +02:00
Ludovic Courtès 8e3a3bc290 environment: Move iteration outside of 'for-each-search-path'.
* guix/search-paths.scm (search-path-definition): New procedure.
* guix/scripts/environment.scm (for-each-search-path): Rename to...
  (evaluate-input-search-paths): ... this.  Remove 'proc' and 'pure?'
  parameters, and return directly the list of search-path/value pairs.
  (create-environment): Use 'for-each' and 'evaluate-input-search-paths'
  instead of 'for-each-search-path'.
  (show-search-paths): Use 'for-each', 'search-path-definition', and
  'evaluate-search-paths' instead of 'for-each-search-path'.
2015-05-05 15:13:59 +02:00
Ludovic Courtès b9ea6c6bf4 environment: Use 'evaluate-search-paths'.
This allows 'guix environment' to correctly handle non-directory
and/or pattern search-path specifications, such as that for
'XML_CATALOG_FILES'.

* guix/scripts/environment.scm (for-each-search-path): Use
  'evaluate-search-paths' instead of 'search-path-as-list' & co.
2015-05-05 15:13:59 +02:00
Ludovic Courtès fdfa753c69 search-paths: Define the 'PATH' environment variable.
* guix/search-paths.scm ($PATH): New variable.
* guix/scripts/environment.scm (for-each-search-path): Use it.
2015-05-05 15:13:58 +02:00
Ludovic Courtès 369149995c search-paths: 'evaluate-search-paths' can be passed a list of directories.
* guix/search-paths.scm (evaluate-search-paths): Change 'directory' to
  'directories', and adjust 'search-path-as-list' accordingly.
* guix/scripts/package.scm (search-path-environment-variables): Adjust
  call accordingly.
2015-05-05 15:13:58 +02:00
Ludovic Courtès c4e8d513f2 gnu-maintenance: 'gnu-package?' returns #t for R and for GNOME packages.
Reported by John Darrington.

* guix/gnu-maintenance.scm (gnu-package?)[mirror-type]: Add "gnome" to
  the list of GNU mirrors.  Return #f for "cran".
2015-05-05 15:13:57 +02:00
Ludovic Courtès 099a2c7055 environment: Use (guix search-paths).
* guix/scripts/environment.scm: Use (guix search-paths).  Fixes a
  regression introduced in e89431b.
2015-05-05 11:01:08 +02:00
Ricardo Wurmus 7c3958e15a gnu: vcftools: Remove "-m64" from CFLAGS.
* gnu/packages/bioinformatics.scm (vcftools): Explicitly set CFLAGS to
  remove "-m64" flag.
2015-05-05 10:20:21 +02:00
Eric Bavier 401f9a8b15 gnu: fltk: Fix undefined symbol errors for shared libraries.
* gnu/packages/patches/fltk-shared-lib-defines.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/fltk.scm (source)[patches]: New field.
2015-05-05 00:52:53 -05:00
Ricardo Wurmus 21481a284a gnu: ardour: Add library dirs to RUNPATH.
* gnu/packages/audio.scm (ardour)[arguments]: Add a build phase to add all
  library output directories to the rpath using linker flags.
2015-05-05 06:28:37 +02:00
David Thompson eb7c43c387 gnu: Add bluez.
* gnu/packages/linux.scm (bluez): New variable.
2015-05-04 22:15:58 -04:00
David Thompson e5326da4f4 gnu: Add libical.
* gnu/packages/calendar.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-05-04 22:15:50 -04:00
David Thompson 2b226af1bc gnu: Add soil.
* gnu/packages/gl.scm (soil): New variable.
2015-05-04 22:15:41 -04:00
Ludovic Courtès 954cea3ae6 records: Make 'make-syntactic-constructor' available at load/eval/expand.
* guix/records.scm (make-syntactic-constructor): Wrap in 'eval-when'.
2015-05-04 23:30:52 +02:00
Ludovic Courtès 88aab8e349 profiles: Use a &message error condition instead of 'error'.
* guix/profiles.scm (sexp->manifest): Use 'raise' instead of 'error'.
2015-05-04 23:30:52 +02:00
Ludovic Courtès 441cfb420a search-paths: 'evaluate-search-paths' now returns spec/value pairs.
* guix/search-paths.scm (evaluate-search-paths): Return
  specification/value pairs instead of variable/value pairs.
* guix/scripts/package.scm (search-path-environment-variables): Adjust
  accordingly.  Pass #:separator to 'environment-variable-definition'.
2015-05-04 23:30:52 +02:00
Ludovic Courtès b07901c0cc search-paths: Add 'environment-variable-definition'.
* guix/search-paths.scm (environment-variable-definition): New variable.
* guix/scripts/package.scm (search-path-environment-variables): Use it.
2015-05-04 23:30:52 +02:00
Ludovic Courtès 6568d2bd6e search-paths: Add 'evaluate-search-paths', from (guix scripts package).
* guix/scripts/package.scm (with-null-error-port,
  evaluate-search-paths): Move to...
* guix/search-paths.scm: ... here.
* guix/utils.scm (string-tokenize*): Move to...
* guix/search-paths.scm: ... here.
* tests/utils.scm ("string-tokenize*"): Adjust accordingly.
2015-05-04 23:30:51 +02:00
Ludovic Courtès e89431bf01 Move search path specifications to (guix search-paths).
* guix/packages.scm (<search-path-specification>,
  search-path-specification->sexp, sexp->search-path-specification):
  Move to...
* guix/search-paths.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/cmake.scm, guix/build-system/glib-or-gtk.scm,
  guix/build-system/gnu.scm, guix/build-system/haskell.scm,
  guix/build-system/perl.scm, guix/build-system/python.scm,
  guix/build-system/ruby.scm, guix/build-system/waf.scm,
  guix/profiles.scm, guix/scripts/package.scm: Use it.
2015-05-04 23:30:51 +02:00
Mathieu Lirzin 934d370694 gnu: Add markdown.
* gnu/packages/textutils.scm (markdown): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-05-04 23:30:51 +02:00
Ludovic Courtès 5e6039a48b substitute: Increase TTL from 24h to 36h.
* guix/scripts/substitute.scm (%narinfo-ttl): Increase to 36h.
2015-05-04 23:30:51 +02:00
Andreas Enge 2534fc0478 gnu: Add libwpg.
* gnu/packages/libreoffice.scm (libwpg): New variable.
2015-05-04 22:27:32 +02:00
Eric Bavier 2087023dd4 guix: build: Fix indentation for --sources in help output.
* guix/scripts/build.scm (show-help)[--sources]: Make indentation
  consistent with other long options.
2015-05-04 14:16:39 -05:00
Mark H Weaver 80e2072a75 gnu: curl: Update to 7.42.1.
* gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch,
  gnu/packages/patches/curl-support-capath-on-gnutls.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/curl.scm (curl): Update to 7.42.1.  Remove patches.
2015-05-04 12:37:30 -04:00
Ricardo Wurmus 90fc547fa0 gnu: Add python-sympy.
* gnu/packages/python.scm (python-sympy, python2-sympy): New variables.
2015-05-04 15:21:47 +02:00
Ludovic Courtès c6f30b8185 doc: Fix dangling references in the 'sh-symlink' monad example.
Reported by Christopher A. Webber <cwebber@dustycloud.org>.

* doc/guix.texi (The Store Monad): Reintroduce 'mlet' in 'sh-symlink'
  example.  Move the simplified version below.  Explain that the 'store'
  parameter is threaded.
2015-05-04 15:08:20 +02:00
Ludovic Courtès eabebb8143 doc: Suggest 'groupadd --system'.
* doc/guix.texi (Build Environment Setup): Use 'groupadd --system'.
2015-05-04 15:08:20 +02:00
Ludovic Courtès 39f8ed1437 doc: Clarify installation from the binary tarball.
* doc/guix.texi (Binary Installation): Specifically refer to
  group/account creation, and add an item for substitutes.  Mention
  verifiability.
2015-05-04 15:08:20 +02:00
Ricardo Wurmus 4702cec246 gnu: bamtools: Set rpath via LDFLAGS.
* gnu/packages/bioinformatics.scm (bamtools): Add a pre-configure phase
  setting $LDFLAGS to set the rpath to $out/lib/bamtools.
2015-05-04 11:29:41 +02:00
Tomáš Čech a73956baf4 gnu: Add taskwarrior.
* gnu/packages/task-management.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-05-04 10:30:10 +02:00
Ricardo Wurmus 0b84a0aaca gnu: Add samtools-0.1.19.
* gnu/packages/bioinformatics.scm (samtools-0.1): New variable.
2015-05-04 10:28:27 +02:00
Ricardo Wurmus 41dd712657 gnu: samtools: Install libbam.a library.
* gnu/packages/bioinformatics.scm (samtools)[arguments]: Add phase
  "install-library" to install the libbam.a library.
2015-05-04 10:28:26 +02:00
Ricardo Wurmus 0a75450c14 gnu: samtools: Remove patch-makefile-curses phase.
* gnu/packages/bioinformatics.scm (samtools)[arguments]: Remove
  patch-makefile-curses phase, use make-flags instead.
2015-05-04 10:28:26 +02:00
Ludovic Courtès 167a05aabc gnu: gcc-5.1: Add specific libvtv patch.
* gnu/packages/patches/gcc-5.0-libvtv-runpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-5.1)[source]: Use it.
2015-05-04 00:24:21 +02:00
Ludovic Courtès 4e9f592058 guix package: Introduce 'evaluate-search-paths'.
* guix/scripts/package.scm (evaluate-search-paths): New procedure, with
  most of the code formerly in 'search-path-environment-variables'.
  (search-path-environment-variables): Use it.
2015-05-04 00:24:21 +02:00
Ludovic Courtès 3badccaa73 guix package: Move profile cleaning out of 'search-path-environment-variables'.
* guix/scripts/package.scm (user-friendly-profile): New procedure.
  (search-path-environment-variables): Remove 'profile' local variable.
  (display-search-paths): Explicitly call 'user-friendly-profile' for
  the argument to 'search-path-environment-variables'.
  (guix-package)[process-query]: Likewise.
2015-05-04 00:24:21 +02:00
David Hashe 1e7464a9d2 gnu: Add totem-pl-parser.
* gnu/packages/gnome.scm (totem-pl-parser): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-05-04 00:24:21 +02:00
Christopher Allan Webber 8e9aa37f69 doc: Replace reference to profile.sh with sh-symlink
* doc/guix.texi (The Store Monad): Replace reference to "profile.sh",
  which is not defined until the next node, with "sh-symlink", which
  is defined immediately above

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-05-04 00:24:21 +02:00
Andreas Enge b4e5d8e7da gnu: Add libe-book.
* gnu/packages/libreoffice.scm (libe-book): New variable.

Co-authored-by: John Darrington <jmd@gnu.org>
2015-05-03 22:45:27 +02:00
Ricardo Wurmus 603090d8fe gnu: Add zeromq.
* gnu/packages/networking.scm (zeromq): New variable.
2015-05-03 21:49:15 +02:00
Ricardo Wurmus 8a413bcaf5 gnu: rename (gnu packages socat) to (gnu packages networking).
* gnu/packages/socat.scm: Rename this ...
* gnu/packages/networking.scm: ... to this.
* gnu-system.am (GNU_SYSTEM_MODULES): Change socat.scm to networking.scm.
2015-05-03 21:48:02 +02:00
Mark H Weaver d5e9f3809d gnu: subversion: Update to 1.8.13.
* gnu/packages/version-control.scm (subversion): Update to 1.8.13.
2015-05-03 14:12:21 -04:00
Mark H Weaver a4d5224d74 gnu: gnupg: Update to 2.1.3.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.3.
2015-05-03 13:22:35 -04:00
Mark H Weaver 7d2b784b66 gnu: Add dovecot.
* gnu/packages/mail.scm (dovecot): New variable.
2015-05-03 11:07:45 -04:00
Mark H Weaver 2036a6484e gnu: acpica: Update to 20150410.
* gnu/packages/admin.scm (acpica): Update to 20150410.
2015-05-03 11:07:02 -04:00
Mark H Weaver 10d9824092 gnu: wpa-supplicant: Update to 2.4.
* gnu/packages/admin.scm (wpa-supplicant): Update to 2.4.
2015-05-03 11:06:52 -04:00
Ludovic Courtès 9b0912b4ba gnu: parallel: Update to 20150422.
* gnu/packages/parallel.scm (parallel): Update to 20150422.
2015-05-03 16:01:42 +02:00
Ludovic Courtès dda9c45ec6 gnu: help2man: Update to 1.46.6.
* gnu/packages/man.scm (help2man): Update to 1.46.6.
2015-05-03 16:01:42 +02:00
Ludovic Courtès 5ac8a1d4bb gnu: dejagnu: Update to 1.5.3.
* gnu/packages/dejagnu.scm (dejagnu): Update to 1.5.3.
2015-05-03 16:01:42 +02:00
Andreas Enge fc15db2f7d gnu: Add libwpd.
* gnu/packages/libreoffice.scm (libwpd): New variable.
2015-05-03 14:28:09 +02:00
Andreas Enge 10ca4a1d4b gnu: Add librevenge.
* gnu/packages/libreoffice.scm (librevenge): New variable.

Co-authored-by: John Darrington <jmd@gnu.org>
2015-05-03 13:05:58 +02:00
Andreas Enge 28edab7a1e gnu: cppunit: Explicitly link with libdl.
* gnu/packages/check.scm (cppunit)[arguments]: Add #:make-flags.
2015-05-03 12:57:40 +02:00
Eric Bavier 2cdfe13dea guix: build: Add transitive source building.
* guix/scripts/build.scm (%options, options->derivations): Add --sources
  option.
* doc/guix.texi (Invoking guix build): Document --sources option.
* tests/guix-build.sh: Add tests.
2015-05-02 23:15:40 -05:00
Eric Bavier f77bcbc374 guix: packages: Add package-direct-sources and package-transitive-sources.
* guix/tests.scm (dummy-origin): New syntax.
* guix/packages.scm (package-direct-sources)
  (package-transitive-sources): New procedures.
* tests/packages.scm ("package-direct-sources, no source")
  ("package-direct-sources, #f source")
  ("package-direct-sources, not input source", "package-direct-sources")
  ("package-transitive-sources"): Test them.
2015-05-02 23:15:40 -05:00
Ludovic Courtès f4bdfe7381 install: Add bash-completion to the packages.
* gnu/system/install.scm (installation-os)[packages]: Add
  BASH-COMPLETION.
2015-05-03 00:08:37 +02:00
Ludovic Courtès dedb17ad01 profiles: Store search paths in manifests.
Discussed in <http://bugs.gnu.org/20255>.

* guix/packages.scm (sexp->search-path-specification): New variable.
* guix/profiles.scm (<manifest-entry>)[search-paths]: New field.
  (package->manifest-entry): Initialize it.
  (manifest->gexp): Match it.  Wrap #$deps in (propagated-inputs ...).
  Emit (search-paths ...).  Increment version.
  (find-package): New procedure.
  (sexp->manifest)[infer-search-paths]: New procedure.
  Use it to initialize the 'search-paths' field for versions 0 and 1.
  Add case for version 2.
* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
  Remove.
  Use 'manifest-entry-search-paths' instead of 'manifest-entry->package'
  plus 'package-native-search-paths'.
* tests/profiles.scm ("profile-manifest, search-paths"): New test.
2015-05-02 23:57:11 +02:00
Ludovic Courtès b9212a5455 Merge branch 'core-updates' 2015-05-02 22:42:53 +02:00
Ludovic Courtès a413bc8bd3 hydra: Update Guix job set.
* build-aux/hydra/guix.scm (tarball-package): Remove 'nix-checkout'
  parameter.  Remove 'arguments', 'native-inputs', and 'location'
  fields.  Adjust caller accordingly.
  (hydra-jobs): Remove 'nix-checkout'.
2015-05-02 22:16:06 +02:00
Ludovic Courtès 2d51666bd0 build-system/gnu: 'dist-package' preserves the package's native inputs.
* guix/build-system/gnu.scm (dist-package)[native-inputs]: Preserve P's
  native-inputs.
2015-05-02 22:16:06 +02:00
Ludovic Courtès 16142b3c14 build-system/gnu: Adjust to removal of a "bin" output for Libtool.
* guix/build-system/gnu.scm (dist-package): Change libtool:bin input to
  just libtool.
2015-05-02 22:16:06 +02:00
Ricardo Wurmus 5f6887e839 gnu: gcj: Remove broken symlink and conflicting files.
* gnu/packages/gcc.scm (gcj)[arguments]: Add a build phase to remove a broken
  symlink and generic stump binaries.
2015-05-02 21:06:52 +02:00
Taylan Ulrich Bayırlı/Kammer 0272ee499d gnu: mesa: Update to 10.5.4.
* gnu/packages/gl.scm (mesa): Update version to 10.5.4.  Add libxvmc to
  inputs.  Remove python, gettext, flex, and bison from native-inputs.  Remove
  hack that was necessary to prevent rebuilding parts of the build system.
2015-05-02 10:47:55 +02:00
Taylan Ulrich Bayırlı/Kammer 7e31978b72 gnu: mesa: Add libva input.
There is a circular dependency between Mesa and libVA, so we use a
libva-no-mesa package that builds libVA without GLX and EGL support, and use
that for building Mesa.

* gnu/packages/gl.scm (libva-for-mesa): New variable.
(mesa): Add as input.
2015-05-02 10:47:55 +02:00
Mark H Weaver 2d2abb04f8 gnu: linux-libre: Update to 4.0.1.
* gnu/packages/linux.scm (linux-libre): Update to 4.0.1.
2015-05-01 17:41:07 -04:00
Andreas Enge ad797b75b8 gnu: ebook: Drop circular inclusion of the module into itself.
* gnu/packages/ebook.scm: Do not import (gnu packages ebook).
2015-05-01 22:43:08 +02:00
Alex Kost 5eca94594d services: Add console-keymap service.
* gnu/services/base.scm (console-keymap-service): New procedure.
* doc/guix.texi (Base Services): Document it.

Co-authored-by: 宋文武 <iyzsong@gmail.com>
2015-05-01 21:00:39 +03:00
Ludovic Courtès 868ef9aec7 bash completion: Complete long options with no short variant.
* etc/completion/bash/guix (_guix_complete_option): Change grep regexp
  to match options that don't have a short option name.
2015-05-01 17:39:39 +02:00
Ludovic Courtès cb151c68bf gnu: polkit-qt: Add $libdir to RUNPATH.
* gnu/packages/polkit.scm (polkit-qt)[arguments]: Add
  #:configure-flags.
2015-05-01 17:38:44 +02:00
Ludovic Courtès 78bed82d19 check-available-binaries: Use %HYDRA-SUPPORTED-SYSTEMS.
* build-aux/check-available-binaries.scm: Use %HYDRA-SUPPORTED-SYSTEMS
  instead of %SUPPORTED-SYSTEMS.
2015-05-01 17:38:09 +02:00
Ludovic Courtès e206f57e95 gnu: mariadb: Remove now unneeded workaround.
This has been redundant since 21e583d.

* gnu/packages/databases.scm (mariadb)[arguments]: Remove LDFLAGS
  definition.
2015-05-01 17:34:03 +02:00
Ludovic Courtès 75c5475f31 list-packages: Add status link only for systems supported on Hydra.
* build-aux/list-packages.scm (package->sxml)[status]:
  Intersect (package-transitive-supported-systems package) with
  %HYDRA-SUPPORTED-SYSTEMS.
2015-05-01 16:10:08 +02:00
Ludovic Courtès abcbda48c2 packages: Add '%hydra-supported-systems'.
* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): Remove.
* guix/packages.scm (%hydra-supported-systems): New variable.
2015-05-01 16:05:40 +02:00
Ludovic Courtès ea7f3349ba gnu: ganv: Set the RUNPATH of binaries to $libdir.
* gnu/packages/gtk.scm (ganv)[arguments]: Add 'set-ldflags' phase.
2015-05-01 16:01:49 +02:00
Ludovic Courtès bf4af30bb2 Merge branch 'master' into core-updates 2015-05-01 15:03:30 +02:00
Ludovic Courtès bc7d089a9c serialization: Adjust the permissive UTF-8 decoder to Guile 2.0.12ish.
* guix/serialization.scm (read-maybe-utf8-string): Use
  'set-port-encoding!' and 'set-port-conversion-strategy!' instead of
  setting '%default-port-encoding' and
  '%default-port-conversion-strategy'.  This accounts for Guile commit
  d574d96, which changes bytevector input ports to use ISO-8859-1.
2015-05-01 13:10:18 +02:00
Ludovic Courtès 310709ae58 substitute: Fix file descriptor leak in 'http-multiple-get'.
In practice we would not leak much since we reconnect after ~100
requests (with nginx running on hydra.gnu.org.)

* guix/scripts/substitute.scm (http-multiple-get): Call 'close-port'
  before 'connect'.
2015-05-01 12:50:27 +02:00
Taylan Ulrich Bayırlı/Kammer 9e63a388d9 gnu: qt: Add patch for i686 build problem.
See <https://bugreports.qt.io/browse/QTBUG-45205>.

* gnu/packages/patches/qt5-conflicting-typedefs.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (qt): Add the patch.
2015-05-01 01:05:50 +02:00
Ludovic Courtès 0aaca4354c Thank Joshua. 2015-05-01 00:06:18 +02:00
Ludovic Courtès 0d8831370f download: Honor the 'http_proxy' and 'https_proxy' env. vars.
Fixes <http://bugs.gnu.org/20402>.
Reported by Joshua Randall <jcrandall@alum.mit.edu>.

* guix/download.scm (url-fetch): Pass #:leaked-env-vars to
  'gexp->derivation'.
2015-05-01 00:06:18 +02:00
Ludovic Courtès c04681554d derivations: Add #:leaked-env-vars parameter.
Suggested by Joshua Randall <jcrandall@alum.mit.edu>
in <http://bugs.gnu.org/20402>.

* guix/derivations.scm (derivation): Add #:leaked-env-vars parameter.
  [user+system-env-vars]: Honor it.
* guix/gexp.scm (gexp->derivation): Add #:leaked-env-vars and pass it to
  'raw-derivation'.
* doc/guix.texi (Derivations, G-Expressions): Adjust accordingly.
2015-05-01 00:06:17 +02:00
Ludovic Courtès d17551d943 download: Simplify 'open-connection-for-uri' to support HTTP proxies.
Partly fixes <http://bugs.gnu.org/20402>.
Reported by Joshua Randall <jcrandall@alum.mit.edu>.

* guix/build/download.scm (open-connection-for-uri): Rewrite to be a
  small wrapper around 'open-socket-for-uri'.  This procedure was
  initially introduced in d14ecda to work around the lack of NSS modules
  during bootstrap but that has become unnecessary since 0621349, which
  introduced a bootstrap Guile that uses static NSS modules (from commit
  d3b5972.)
  On Guile >= 2.0.10, this allows the 'http_proxy' environment variable
  to be used.
2015-05-01 00:06:17 +02:00
Andreas Enge cfaf863f15 gnu: Add orcus.
* gnu/packages/libreoffice.scm (orcus): New variable.
2015-04-30 21:23:29 +02:00
Taylan Ulrich Bayırlı/Kammer d80ee44237 gnu: lilv: Set rpath via LDFLAGS.
Fixes <http://bugs.gnu.org/20040>.

* gnu/packages/audio.scm (lilv): Add a pre-configure phase setting $LDFLAGS to
  set the rpath to $out/lib.
2015-04-30 16:34:36 +02:00
Taylan Ulrich Bayırlı/Kammer 7e81a761e7 gnu: sord: Set rpath via LDFLAGS.
Fixes <http://bugs.gnu.org/20044>.

* gnu/packages/rdf.scm (sord): Add a pre-configure phase setting $LDFLAGS to
  set the rpath to $out/lib.
2015-04-30 16:34:36 +02:00
Taylan Ulrich Bayırlı/Kammer 90ea9863c8 gnu: serd: Set rpath via LDFLAGS.
Fixes <http://bugs.gnu.org/20051>.

* gnu/packages/rdf.scm (serd): Add a pre-configure phase setting $LDFLAGS to
  set the rpath to $out/lib.
2015-04-30 16:34:36 +02:00
Taylan Ulrich Bayırlı/Kammer a0a0b7162e gnu: wxwidgets: Set rpath in LDFLAGS.
Fixes <http://bugs.gnu.org/20049>.

* gnu/packages/wxwidgets.scm (wxwidgets): Add a make flag to set rpath to
  $out/lib via LDFLAGS.
2015-04-30 15:35:07 +02:00
Ludovic Courtès 9e7594027d gnu: gcc: Add link to upstream bug report.
* gnu/packages/gcc.scm (gcc-4.8): Add link to bug report in comment.
2015-04-30 13:43:55 +02:00
Ludovic Courtès 7e35b9dd3d gnu: gcc: Add $libdir to the RUNPATH of libvtv.so.
* gnu/packages/gcc.scm (gcc-4.9): Inherit from GCC-4.8.
  [source]: Add 'gcc-libvtv-runpath.patch'.
  (gcc-5.1): Inherit from GCC-4.9.
  [source]: Use patches from GCC-4.9.
* gnu/packages/patches/gcc-libvtv-runpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-04-30 13:31:59 +02:00
Taylan Ulrich Bayırlı/Kammer 372cf03981 gnu: libva: Patch a dlopen call, set drivers path.
* gnu/packages/video.scm (libva): Patch the reference to libva-x11.so (passed
  to dlopen()) to use an absolute path.  Add --with-drivers-path= to
  #:configure-flags with a value pointing to mesa's $prefix/lib/dri.
2015-04-30 09:20:48 +02:00
Ludovic Courtès d9c41939bd install: Make /var/lock.
Reported by 宋文武 <iyzsong@gmail.com>.

* gnu/build/install.scm (directives): Add /var/lock.
2015-04-29 22:27:46 +02:00
宋文武 b416c647e9 gnu: jack2: Add $libdir to the RUNPATH of all the binaries.
* gnu/packages/audio.scm (jack2)[arguments]: Add #:phases.
2015-04-30 00:03:10 +08:00
宋文武 27c4f0cc03 gnu: Remove gstreamer-0.10 and gst-plugins-base-0.10.
* gnu/packages/gstreamer.scm (gstreamer-0.10, gst-plugins-base-0.10):
  Remove variables.
* gnu/packages/patches/gstreamer-0.10-bison3.patch,
  gnu/packages/patches/gstreamer-0.10-silly-test.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
2015-04-29 16:19:52 +08:00
宋文武 3ec4bba4c9 gnu: Add xmp.
* gnu/packages/audio.scm (xmp): New variable.
2015-04-29 14:51:31 +08:00
宋文武 b97b5cda3b gnu: Add libxmp.
* gnu/packages/audio.scm (libxmp): New variable.
2015-04-29 14:51:31 +08:00
宋文武 a176dd7e24 gnu: Add libmodplug.
* gnu/packages/audio.scm (libmodplug): New variable.
2015-04-29 11:03:48 +08:00
Ricardo Wurmus 310d218f64 gnu: Add python-tornado.
* gnu/packages/python.scm (python-tornado, python2-tornado): New variables.
2015-04-28 17:01:01 +02:00
Ricardo Wurmus ed377cc6cf gnu: Add python2-backport-ssl-match-hostname.
* gnu/packages/python.scm (python2-backport-ssl-match-hostname): New variable.
2015-04-28 17:01:01 +02:00
Ricardo Wurmus f67890477a gnu: Add icedtea7.
* gnu/packages/java.scm (icedtea7): New variable.
2015-04-28 12:08:08 +02:00
宋文武 e32316e62f gnu: cmake: Disable parallel tests.
* gnu/packages/cmake.scm (cmake)[arguments]: Add #:parallel-tests?.
  Set 'CTEST_OUTPUT_ON_FAILURE' to 'TRUE' in 'set-paths phase.
2015-04-28 17:16:18 +08:00
宋文武 477a752e89 gnu: cmake: Update to 3.2.2.
* gnu/packages/cmake.scm (cmake): Update to 3.2.2.
* gnu/packages/patches/cmake-fix-tests.patch: Skip test for BundleUtilities.
2015-04-28 15:45:54 +08:00
Andreas Enge 7b4570b4fb gnu: Add ixion.
* gnu/packages/libreoffice.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Co-authored-by: John Darrington <jmd@gnu.org>
2015-04-27 22:12:18 +02:00
Christopher Allan Webber 67fa7a27fb gnu: Add extremetuxracer.
* gnu/packages/games.scm (extremetuxracer): New variable.
2015-04-27 14:12:00 -04:00
Alex Kost 85a02905e4 gnu: imlib2: Update to 1.4.7.
* gnu/packages/image.scm (imlib2): Update to 1.4.7.
2015-04-27 20:56:00 +03:00
Ricardo Wurmus 47c8ba5a51 gnu: icedtea6: Split test fixing phases.
* gnu/packages/java.scm (icedtea6)[arguments]: Split phase 'fix-tests into
  three phases 'fix-test-framework, 'fix-hotspot-tests, and 'fix-jdk-tests.
2015-04-27 15:13:35 +02:00
Ricardo Wurmus 4ca009c036 gnu: flexbar: Enable tests.
* gnu/packages/bioinformatics.scm (flexbar): Enable tests.
2015-04-27 15:12:47 +02:00
Ricardo Wurmus 02ed8be3ac gnu: tbb: Set rpath in LDFLAGS.
* gnu/packages/tbb.scm (tbb)[arguments]: Set rpath to "/lib" output directory
  in LDFLAGS.
2015-04-27 15:12:46 +02:00
David Thompson 5809ffccc5 gnu: Add sfml.
* gnu/packages/game-development.scm (sfml): New variable.
2015-04-27 08:35:40 -04:00
宋文武 7482b3403b gnu: mpv: Update to 0.9.0.
* gnu/packages/video.scm (mpv): Update to 0.9.0.
2015-04-27 16:58:00 +08:00
宋文武 27350ef8bf gnu: ffmpeg: Don't use patchelf.
* gnu/packages/video.scm (ffmpeg)[inputs]: Remove patchelf.
  [arguments]: Remove #:modules, #:imported-modules and 'add-lib-to-runpath
  phase.  Pass '--extra-ldflags=-Wl,-rpath=$libdir' to `configure'.
2015-04-27 15:24:58 +08:00
宋文武 769436b862 gnu: ffmpeg: Update to 2.6.2.
* gnu/packages/video.scm (ffmpeg): Update to 2.6.2.
2015-04-27 15:24:58 +08:00
Christopher Allan Webber 6bc2406315 gnu: Add guile-minikanren.
* gnu/packages/guile.scm (guile-minikanren): New variable.
2015-04-26 21:38:37 -04:00
Andreas Enge 4ac0d6444d Merge branch 'master' into core-updates. 2015-04-26 20:08:49 +02:00
Andreas Enge 7bde30e18d gnu: evas-generic-loaders: Update to 1.13.2.
* gnu/packages/enlightenment.scm (evas-generic-loaders): Update to 1.13.2.
  Use https for the URL to avoid a redirection.
2015-04-26 17:44:47 +02:00
Andreas Enge c514385197 gnu: gpgme: Update to 1.5.4.
* gnu/packages/gnupg.scm (gpgme): Update to 1.5.4.
2015-04-26 17:24:51 +02:00
Andreas Enge 003e8d5e04 Merge branch 'wip-glib' into master.
Conflicts:
	gnu/packages/package-management.scm
2015-04-26 16:05:39 +02:00
Ricardo Wurmus f62a8417ba gnu: Add calf plugins.
* gnu/packages/audio.scm (calf): New variable.
2015-04-26 15:59:13 +02:00
Ricardo Wurmus e4f43b56c3 gnu: Add fluidsynth.
* gnu/packages/audio.scm (fluidsynth): New variable.
2015-04-26 15:59:01 +02:00
Andreas Enge f763eaaaf9 gnu: Add mdds.
* gnu/packages/boost.scm (mdds): New variable.
2015-04-26 14:38:23 +02:00
David Thompson 378b01dc09 gnu: Add gitolite.
* gnu/packages/version-control.scm (gitolite): New variable.
* gnu/packages/patches/gitolite-openssh-6.8-compat.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-04-24 10:04:08 -04:00
David Thompson f93b916c3d gnu: nginx: Update to 1.8.0.
* gnu/packages/web.scm (nginx): Update to 1.8.0.
2015-04-24 08:08:02 -04:00
Mark H Weaver 23d00fb0ed gnu: wpa-supplicant: Add fix for CVE-2015-1863.
* gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (wpa-supplicant): Add patch.
2015-04-23 20:32:35 -04:00
Ludovic Courtès d074e2f991 build-system/{cmake,glib-or-gtk}: Add #:validate-runpath? parameter.
* guix/build-system/cmake.scm (cmake-build): Add #:validate-runpath?
  parameter and pass it to BUILDER.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
2015-04-23 18:52:40 +02:00
Ludovic Courtès 0bd4377566 build-system/gnu: #:validate-runpath? now defaults to #t.
* guix/build/gnu-build-system.scm (validate-runpath): Change default
  value of VALIDATE-RUNPATH? to #t.
2015-04-23 18:52:40 +02:00
Ludovic Courtès cb85eb5e65 build-system/gnu: Gracefully handle dangling symlinks.
Fixes <http://bugs.gnu.org/20081>.
Reported by Tomáš Čech <tcech@suse.cz>.

* guix/build/gnu-build-system.scm (patch-source-shebangs): Remove files
  that don't pass 'file-exists?'.
  (patch-generated-file-shebangs): Likewise.
2015-04-23 18:52:40 +02:00
Ludovic Courtès cd91504df2 gremlin: Add support for the expansion of $ORIGIN in RUNPATH.
* guix/build/gremlin.scm (expand-variable, expand-origin): New
  procedures.
  (validate-needed-in-runpath): Map 'expand-origin' to the RUNPATH field
  of DYNINFO.
* tests/gremlin.scm ("expand-origin"): New test.
2015-04-23 18:52:40 +02:00
Ricardo Wurmus 3c43bcc68d gnu: r: Update to 3.2.0.
* gnu/packages/statistics.scm (r): Update to 3.2.0.
2015-04-23 13:07:11 +02:00
Ricardo Wurmus ff2b1c17b8 gnu: r: Set library rpath.
* gnu/packages/statistics.scm (r)[arguments]: Add the rpath for lib directory
  of output to LDFLAGS.
2015-04-23 13:07:10 +02:00
Mark H Weaver 9020890b21 gnu: postgresql: Update to 9.3.6.
* gnu/packages/databases.scm (postgresql): Update to 9.3.6.  Use .bz2 tarball.
2015-04-23 06:28:54 -04:00
Mark H Weaver ee886454bb gnu: notmuch: Update to 0.19; add man pages and bash completion.
* gnu/packages/mail.scm (notmuch)[source]: Update to 0.19.
  [arguments]: In 'configure' phase, set CC environment variable.  Arrange to
  use rst2man.py instead of rst2man.
  [native-inputs]: Add python-2, python2-docutils, and bash-completion.
2015-04-23 06:08:18 -04:00
Mark H Weaver 60e2d5fe82 gnu: Add gcc-5.1.0 and gcc-toolchain-5.1.0.
* gnu/packages/gcc.scm (gcc-5.1): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-5.1): New variable.
2015-04-23 01:06:40 -04:00
Mark H Weaver a635ed5ccb gnu: Add missing (gnu packages gettext) module import.
This is a followup to 6162b95d21.

* gnu/packages/base.scm: Import (gnu packages gettext).
2015-04-22 21:49:46 -04:00
宋文武 2f8339c8ab gnu: xfce4-settings: Add more inputs.
* gnu/packages/xfce.scm (xfce4-settings)[inputs]: Add libxklavier,
  upower and xf86-input-libinput.
2015-04-23 07:38:26 +08:00
宋文武 53fd3cf051 gnu: libinput: Update to 0.14.1.
* gnu/packages/freedesktop.scm (libinput): Update to 0.14.1.
2015-04-23 07:37:44 +08:00
宋文武 e3cadebaf0 gnu: Add xf86-input-libinput.
* gnu/packages/xorg.scm (xf86-input-libinput): New variable.
2015-04-23 07:35:56 +08:00
Mark H Weaver 0dec8f8c13 gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to fc34dee.
2015-04-22 18:19:54 -04:00
Ludovic Courtès d485ebba42 gnu: gcc: Do not always disable RUNPATH validation.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Remove explicit
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove case for
  #:validate-runpath?.
  (gcc-final)[arguments]: Add literal #:validate-runpath? #f.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Remove case for
  #:validate-runpath?.
2015-04-23 00:06:37 +02:00
Ludovic Courtès 21e583def3 gnu: gcc: Add a RUNPATH to libstdc++.so so that it finds libgcc_s.so.
Fixes <http://bugs.gnu.org/20358>.
Reported by 宋文武 <iyzsong@gmail.com>.

* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add 'substitute*' form for
  "libstdc++-v3/src/Makefile.in".
2015-04-23 00:06:37 +02:00
Ludovic Courtès 669b8639a2 gnu: commencement: Remove unneeded configure flag for bootstrap gettext.
* gnu/packages/commencement.scm (gettext-boot0): Remove unneeded
  --disable-threads.
2015-04-23 00:06:37 +02:00
Mark H Weaver fc34deea24 packages: Add armhf-linux to %supported-systems.
* guix/packages.scm (%supported-systems): Add "armhf-linux".
2015-04-22 17:25:28 -04:00
Mark H Weaver 95203be9ef hydra: Add %hydra-supported-systems variable and use it.
* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): New variable.
  (hydra-jobs): Use %hydra-supported-systems instead of %supported-systems.
2015-04-22 17:25:28 -04:00
Mark H Weaver 5cfc17cb7f tests: Select appropriate bootstrap guile version for current system.
* tests/packages.scm ("package-source-derivation, snippet"): Select appropriate
  guile-2.0.x.tar.xz tarball based on the value of (%current-system).
2015-04-22 17:25:28 -04:00
Eric Bavier cc8ddcb097 gnu: perl: Fix Module::Pluggable for symlink forests.
* gnu/packages/patches/perl-module-pluggable-search.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/perl.scm (perl)[source]: Add patch.
2015-04-22 14:38:14 -05:00
Mark H Weaver 76eb726617 gnu: ccl: Add default 'match' cases for unsupported platforms.
* gnu/packages/lisp.scm (ccl)[arguments]: Add default 'match' cases for
  unsupported platforms.
2015-04-22 15:08:45 -04:00
Mark H Weaver 4788deea0b gnu: nginx: Fix configure flags on unsupported platforms.
* gnu/packages/web.scm (nginx)[arguments]: Add default case in 'match' form
  within 'configure' phase.
2015-04-22 15:08:45 -04:00
Mark H Weaver f0d6d83552 gnu: mplayer: Fix configure flags on armhf.
* gnu/packages/video.scm (mplayer)[arguments]: Add default case in 'match'
  form in configure flags.  Enable support for arm processor features that are
  assumed by our armhf port.
2015-04-22 15:08:45 -04:00
Mark H Weaver 446c7e4de3 gnu: julia: Fix make-flags on non-Intel platforms.
* gnu/packages/julia.scm (julia)[arguments]: Add default case in 'match' form.
2015-04-22 15:08:45 -04:00
宋文武 f8f63893be gnu: gtkmm-2: Update to 2.24.4.
* gnu/packages/gtk.scm (gtkmm-2): Update to 2.24.4.
2015-04-22 14:59:45 +08:00
宋文武 09a5c4c363 gnu: gtkmm: Update to 3.16.0.
* gnu/packages/gtk.scm (gtkmm): Update to 3.16.0.
2015-04-22 14:54:10 +08:00
宋文武 a8054b4e5d gnu: pangomm: Update to 2.36.0.
* gnu/packages/gtk.scm (pangomm): Update to 2.36.0.
2015-04-22 14:53:05 +08:00
宋文武 46b9a4ffab gnu: gtk+: Update to 3.16.2.
* gnu/packages/gtk.scm (gtk+): Update to 3.16.2.
2015-04-22 14:52:08 +08:00
宋文武 e4c9d9bb66 gnu: cups-filters: Update to 1.0.68.
* gnu/packages/cups.scm (cups-filters): Update to 1.0.68.
2015-04-22 14:33:05 +08:00
宋文武 1ea90625e4 gnu: vala: Fix tests by setting 'CC'.
This fixes a regression introduced in b19d680.

* gnu/packages/gnome.scm (vala)[arguments]: New field.
2015-04-22 14:29:46 +08:00
宋文武 b19d6805a9 Remove all the 'CC=gcc' hacks for 'g-ir-scanner'.
* gnu/packages/glib.scm (telepathy-glib)[arguments]: Remove.
* gnu/packages/gtk.scm (at-spi2-core, gtk+-2): Remove #:make-flags.
* gnu/packages/gnome.scm (libpeas, librsvg, vala, vte, json-glib,
  libxklavier, libsoup, libsecret, colord, geocode-glib, libgweather):
  Remove #:make-flags or the '(setenv "CC" "gcc")' phase.
2015-04-22 10:44:03 +08:00
宋文武 702513b51a gnu: poppler: Update to 0.32.0.
* gnu/packages/pdf.scm (poppler): Update to 0.32.0.
2015-04-22 09:57:52 +08:00
宋文武 6b6795595e gnu: python-pygobject: Update to 3.16.1.
* gnu/packages/glib.scm (python-pygobject): Update to 3.16.1.
2015-04-22 09:57:52 +08:00
宋文武 759dd7d5b9 gnu: glibmm: Update to 2.44.0.
* gnu/packages/glib.scm (glibmm): Update to 2.44.0.
2015-04-22 09:57:52 +08:00
宋文武 e7a720e681 gnu: libsigc++: Update to 2.4.1.
* gnu/packages/glib.scm (libsigc++): Update to 2.4.1.
2015-04-22 09:57:52 +08:00
宋文武 cb77ade637 gnu: dbus-glib: Update to 0.104.
* gnu/packages/glib.scm (dbus-glib): Update to 0.104.
2015-04-22 09:57:51 +08:00
宋文武 3c87c02edc gnu: itstool: Update to 2.0.2.
* gnu/packages/glib.scm (itstool): Update to 2.0.2.
2015-04-22 09:57:51 +08:00
宋文武 cc84b08c78 gnu: gobject-introspection: Update to 1.44.0.
* gnu/packages/glib.scm (gobject-introspection): Update to 1.44.0.
  [source]: Use mirror://gnome.
  [arguments]<#:phases>: Remove.
* gnu/packages/patches/gobject-introspection-cc.patch: Rewrite to
  set os.environ['CC'] in 'giscanner/__init__.py'.
2015-04-22 09:57:51 +08:00
宋文武 b837e658bd gnu: python-pycairo: Fix build with with python-3.4.3.
* gnu/packages/patches/pycairo-wscript.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm (python-pycairo)[source]: Use it.
  [build-system]: Use waf-build-system.
  [native-inputs]: Add python-waf.
  [arguments]<#:phases>: Use 'modify-phases'.  Add 'patch-waf phase.
* gnu/packages/gtk.scm (python2-pycairo): Adjust accordingly.
2015-04-22 09:57:51 +08:00
宋文武 45ca81c20d gnu: Add python-waf.
* gnu/packages/python.scm (python-waf, python2-waf): New variables.
2015-04-22 09:57:51 +08:00
Mark H Weaver 360ebb1490 gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to dd3a42e.
2015-04-22 09:57:51 +08:00
Mark H Weaver 3a5bce15d9 gnu: guix: Don't install in /etc/bash_completion.d within build environment.
Fixes <http://bugs.gnu.org/20394>.
Patch by Ludovic Courtès <ludo@gnu.org>.

* gnu/packages/package-management.scm (guix)[arguments]: Pass
  "--with-bash-completion-dir" option to configure.
2015-04-22 09:57:51 +08:00
宋文武 f210f057a7 gnu: python-pycairo: Fix build with with python-3.4.3.
* gnu/packages/patches/pycairo-wscript.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm (python-pycairo)[source]: Use it.
  [build-system]: Use waf-build-system.
  [native-inputs]: Add python-waf.
  [arguments]<#:phases>: Use 'modify-phases'.  Add 'patch-waf phase.
* gnu/packages/gtk.scm (python2-pycairo): Adjust accordingly.
2015-04-22 09:53:34 +08:00
宋文武 feaae48499 gnu: Add python-waf.
* gnu/packages/python.scm (python-waf, python2-waf): New variables.
2015-04-22 09:53:24 +08:00
Mark H Weaver aad8877d91 gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to dd3a42e.
2015-04-21 21:30:23 -04:00
Mark H Weaver f1a7fd7029 gnu: libxfont: Update to 1.5.1.
* gnu/packages/xorg.scm (libxfont): Update to 1.5.1.
2015-04-21 19:11:24 -04:00
Mark H Weaver dd3a42e624 gnu: guix: Don't install in /etc/bash_completion.d within build environment.
Fixes <http://bugs.gnu.org/20394>.
Patch by Ludovic Courtès <ludo@gnu.org>.

* gnu/packages/package-management.scm (guix)[arguments]: Pass
  "--with-bash-completion-dir" option to configure.
2015-04-21 19:04:34 -04:00
Mark H Weaver d8d6d096be gnu: tzdata: Update to 2015c.
* gnu/packages/base.scm (tzdata): Update to 2015c.
2015-04-21 19:03:25 -04:00
Andreas Enge 30536f2c8b gnu: libidn: Update to 1.30.
* gnu/packages/libidn.scm (libidn): Update to 1.30.
2015-04-21 18:57:28 -04:00
Mark H Weaver 54b76b60d9 Revert "gnu: libidn: Update to 1.30."
This reverts commit 8462a03f28.
2015-04-21 17:47:34 -04:00
Andreas Enge 8462a03f28 gnu: libidn: Update to 1.30.
* gnu/packages/libidn.scm (libidn): Update to 1.30.
2015-04-21 22:59:50 +02:00
Andreas Enge 8185519dba gnu: ocrad: Update to 0.25.
* gnu/packages/ocr.scm (ocrad): Update to 0.25.
2015-04-21 22:57:29 +02:00
Ludovic Courtès 6162b95d21 gnu: glibc: Add dependency on Gettext, to install the message catalogs.
This fixes a bug whereby the libc.mo files were not installed, and thus
translations of libc's messages were not available.

* gnu/packages/commencement.scm (gettext-boot0): New variable.
  (glibc-final)[native-inputs]: New field.
* gnu/packages/base.scm (glibc)[native-inputs]: Add GNU-GETTEXT.
2015-04-21 22:53:09 +02:00
Ricardo Wurmus 6260d1a869 gnu: Add TuxGuitar.
* gnu/packages/music.scm (tuxguitar): New variable.
2015-04-21 21:51:38 +02:00
Ricardo Wurmus 8581c81307 gnu: Add SWT.
* gnu/packages/java.scm (swt): New variable.
2015-04-21 21:51:38 +02:00
Ludovic Courtès ef593a103d gnu: libltdl: Remove unneeded patch.
* gnu/packages/autotools.scm (libltdl)[source]: Remove 'patches'.
2015-04-21 21:16:24 +02:00
Ludovic Courtès 4a2b74bf4c gnu: ld-wrapper: Ignore the .so argument following '-dynamic-linker'.
Reported at <http://bugs.gnu.org/20102>.

* gnu/packages/ld-wrapper.in (library-files-linked): Rename 'path+files'
  to 'path+files+args'.  Thread the reverse list of previous arguments.
  Add case for when the previous argument is "-dynamic-linker".
2015-04-21 21:14:28 +02:00
Ludovic Courtès 4267c637d6 gnu: ld-wrapper: Add debugging info.
* gnu/packages/ld-wrapper.in (ld-wrapper): Add "libraries linked"
  debugging statement.
2015-04-21 21:08:44 +02:00
Ludovic Courtès cbbb11c8a0 gnu: Rename ld-wrapper2 to ld-wrapper.
* gnu/packages/ld-wrapper2.in: Rename to...
* gnu/packages/ld-wrapper.in: ... this.
* gnu-system.am (MISC_DISTRO_FILES): Remove ld-wrapper2.in.
* gnu/packages/commencement.scm (fixed-ld-wrapper): Remove.
  (gcc-toolchain): Restore pre-77db91ad inputs.
2015-04-21 21:07:11 +02:00
Ricardo Wurmus e4e5a4d88f gnu: Add eXpress.
* gnu/packages/bioinformatics.scm (express): New variable.
2015-04-21 17:57:22 +02:00
Ricardo Wurmus 9794180d5e gnu: Add bamtools.
* gnu/packages/bioinformatics.scm (bamtools): New variable.
2015-04-21 17:57:22 +02:00
Ricardo Wurmus dbf4ed7c91 gnu: Add subread.
* gnu/packages/bioinformatics.scm (subread): New variable.
2015-04-21 10:46:23 +02:00
Ludovic Courtès 44fd6ef137 ui: Add 'symlink' replacement with better error reporting.
* guix/ui.scm (symlink): New procedure.
2015-04-20 22:37:20 +02:00
Ludovic Courtès 3392ce5d60 system: Make /gnu/store a read-only bind mount by default.
* gnu/system/file-systems.scm (%immutable-store): New variable.
  (%base-file-systems): Add it.
* doc/guix.texi (File Systems): Document it.
2015-04-20 22:21:51 +02:00
Ludovic Courtès b86fee7848 file-systems: Use a second 'mount' call for read-only bind mounts.
* gnu/build/file-systems.scm (MS_REMOUNT): New constant.
  (mount-file-system): Add 'flags' local variable.   When FLAGS has
  MS_BIND & MS_RDONLY, call 'mount' with MS_REMOUNT.
* gnu/services/base.scm (file-system-service) <start>: Likewise.
2015-04-20 22:16:13 +02:00
Ludovic Courtès 38cf2ba084 gnu: Remove all #:select from (gnu packages ...) modules.
This works around Guile bug <http://bugs.gnu.org/15540>.
Reported by Andreas Enge <andreas@enge.fr>.

* gnu/packages/engineering.scm: Don't #:select from (gnu packages ...).
* gnu/packages/gcc.scm: Likewise.
* gnu/packages/package-management.scm: Likewise.
* gnu/packages/photo.scm: Likewise.
* gnu/packages/pulseaudio.scm: Likewise.
* gnu/packages/moe.scm: Likewise, and #:select from (guix licenses)
  instead.
2015-04-20 15:50:59 +02:00
Ludovic Courtès f73286345e gexp: Add printers for <gexp-input> and <gexp-output>.
* guix/gexp.scm (write-gexp-input, write-gexp-output): New procedures.
  (<gexp-input>, <gexp-output>): Use them as printers.
2015-04-20 15:41:41 +02:00
Ludovic Courtès c568191a93 profiles: Create a CA certificate bundle only when it would be non-empty.
* guix/profiles.scm (ca-certificate-bundle): Create
  $output/etc/ssl/certs if and only if CA-FILES is non-empty.
2015-04-20 15:41:41 +02:00
Ricardo Wurmus 51c649992e gnu: Add sra-tools.
* gnu/packages/bioinformatics.scm (sra-tools): New variable.
2015-04-20 15:29:17 +02:00
Ricardo Wurmus 75dd242480 gnu: Add NCBI VDB.
* gnu/packages/bioinformatics.scm (ncbi-vdb): New variable.
2015-04-20 15:29:17 +02:00
Ricardo Wurmus 2651a5e695 gnu: Add NGS Java bindings.
* gnu/packages/bioinformatics.scm (ngs-java): New variable.
2015-04-20 15:29:16 +02:00
Ricardo Wurmus 282c5087b4 gnu: Add NGS SDK.
* gnu/packages/bioinformatics.scm (ngs-sdk): New variable.
2015-04-20 15:28:58 +02:00
Ricardo Wurmus 85c37e29a4 gnu: Add Biopython.
* gnu/packages/bioinformatics.scm (python-biopython, python2-biopython): New
  variables.
2015-04-20 15:23:23 +02:00
Eric Bavier 40b084a326 gnu: Adjust latest perl modules to new 'modify-phases' syntax.
* gnu/packages/compression.scm (perl-compress-raw-zlib)[arguments]:
  Add missing quotes, as needed since commit f8503e2.
* gnu/packages/perl.scm (perl-ipc-run)[arguments]: Likewise.
* gnu/packages/xml.scm (perl-xml-sax)[arguments]: Likewise.
2015-04-19 21:39:32 -05:00
宋文武 61c21ad319 gnu: Add WebKitGTK+.
* gnu/packages/webkit.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-04-20 10:34:24 +08:00
Eric Bavier 97b05abe6d gnu: Add JSON-Any.
* gnu/packages/perl.scm (perl-json-any): New variable.
2015-04-19 19:48:52 -05:00
Eric Bavier 47945cf353 import: cpan: Fix license string for Artistic license.
* guix/import/cpan.scm (string->license): Remove extraneous "_0"
  suffix for Artistics licenses.
2015-04-19 19:48:52 -05:00
Eric Bavier ae6904dc0b gnu: nix: Propagate perl inputs.
* gnu/packages/package-management.scm (nix)[inputs]: Move
  perl-www-curl, perl-dbi, perl-dbd-sqlite to...
  [propagated-inputs]: ...this new field
2015-04-19 19:48:52 -05:00
Eric Bavier 8ac84f230c gnu: Add Sys-Hostname-Long.
* gnu/packages/perl.scm (perl-sys-hostname-long): New variable.
2015-04-19 19:48:52 -05:00
Eric Bavier 10ef803e7d gnu: Add Text-Table.
* gnu/packages/perl.scm (perl-text-table): New variable.
2015-04-19 19:48:52 -05:00
Eric Bavier 7ae9557181 gnu: Add Text-Aligner.
* gnu/packages/perl.scm (perl-text-aligner): New variable.
2015-04-19 19:48:52 -05:00
Eric Bavier f21671f469 gnu: Add Set-Scalar.
* gnu/packages/perl.scm (perl-set-scalar): New variable.
2015-04-19 19:48:52 -05:00
Eric Bavier b4dcb026d6 gnu: Add SQL-SplitStatement.
* gnu/packages/databases.scm (perl-sql-splitstatement): New variable.
2015-04-19 19:48:52 -05:00
Eric Bavier 718c89c1a1 gnu: Add SQL-Tokenizer.
* gnu/packages/databases.scm (perl-sql-tokenizer): New variable.
2015-04-19 19:48:52 -05:00
Eric Bavier 8ce2312875 gnu: Add Perl Readonly.
* gnu/packages/perl.scm (perl-readonly): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 38e62c81ee gnu: Add Perl Net-Amazon-S3.
* gnu/packages/patches/perl-net-amazon-s3-moose-warning.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/web.scm (perl-net-amazon-s3): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 3dd6bee1f2 gnu: Add XML-LibXML.
* gnu/packages/xml.scm (perl-xml-libxml): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 18b8bbb304 gnu: Add XML-SAX;
* gnu/packages/xml.scm (perl-xml-sax): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 1ed6d5bc86 gnu: Add XML-SAX-Base.
* gnu/packages/xml.scm (perl-xml-sax-base): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier b715dbac7b gnu: Add XML-NamespaceSupport.
* gnu/packages/xml.scm (perl-xml-namespacesupport): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 0955342bf7 gnu: Add Term-ProgressBar-Simple.
* gnu/packages/perl.scm (perl-term-progressbar-simple): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 0d54bd259c gnu: Add Term-ProgressBar-Quiet.
* gnu/packages/perl.scm (perl-term-progressbar-quiet): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 4dbac597eb gnu: Add Test-MockObject.
* gnu/packages/perl.scm (perl-test-mockobject): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 7332618df3 gnu: Add UNIVERSAL-isa.
* gnu/packages/perl.scm (perl-universal-isa): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier f9671ab689 gnu: Add UNIVERSAL-can.
* gnu/packages/perl.scm (perl-universal-can): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier cc307bda85 gnu: Add Term-ProgressBar.
* gnu/packages/perl.scm (perl-term-progressbar): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 70fe0008f7 gnu: Add TermReadKey.
* gnu/packages/perl.scm (perl-term-readkey): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier cd718b8201 gnu: Add Class-MethodMaker.
* gnu/packages/perl.scm (perl-class-methodmaker): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 56da2a1abd gnu: Add IO-Interactive.
* gnu/packages/perl.scm (perl-io-interactive): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 257fa40b23 gnu: Add Term-Encoding.
* gnu/packages/perl.scm (perl-term-encoding): New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier d2401db9ff gnu: Add MooseX-Types-DateTime-MoreCoercions.
* gnu/packages/perl.scm (perl-moosex-types-datetime-morecoercions):
  New variable.
2015-04-19 19:48:51 -05:00
Eric Bavier 4f43da182b gnu: Add Time-Duration-Parse.
* gnu/packages/perl.scm (perl-time-duration-parse): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier a15145d93b gnu: Add Time-Duration.
* gnu/packages/perl.scm (perl-time-duration): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier bbe81cc0dd gnu: Add Test-Pod-Coverage.
* gnu/packages/perl.scm (perl-test-pod-coverage): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 29fda459a6 gnu: Add Pod-Coverage.
* gnu/packages/perl.scm (perl-pod-coverage): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 7300092693 gnu: Add Devel-Symdump.
* gnu/packages/perl.scm (perl-devel-symdump): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 3e7a86cdc5 gnu: Add MooseX-Types-DateTime.
* gnu/packages/perl.scm (perl-moosex-types-datetime): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier ef96132220 gnu: Add DateTimeX-Easy.
* gnu/packages/perl.scm (perl-datetimex-easy): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 69d2261f77 gnu: Add DateTime-Format-Natural.
* gnu/packages/perl.scm (perl-datetime-format-natural): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 55069500a2 gnu: Add Module-Util.
* gnu/packages/perl.scm (perl-module-util): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 59f423214e gnu: Add Date-Calc.
* gnu/packages/perl.scm (perl-date-calc, perl-date-calc-xs): New
  variables.
2015-04-19 19:48:50 -05:00
Eric Bavier bb90ae0cb0 gnu: Add Bit-Vector.
* gnu/packages/perl.scm (perl-bit-vector): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 85690ec144 gnu: Add Perl boolean.
* gnu/packages/perl.scm (perl-boolean): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier e58a2fa16e gnu: Add DateTime-Format-ICal.
* gnu/packages/perl.scm (perl-datetime-format-ical): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 21c9adcca6 gnu: Add DateTime-Event-ICal.
* gnu/packages/perl.scm (perl-datetime-event-ical): New variable.
2015-04-19 19:48:50 -05:00
Eric Bavier 47e049c446 gnu: Add DateTime-Event-Recurrence.
* gnu/packages/perl.scm (perl-datetime-event-recurrence): New
  variable.
2015-04-19 19:48:50 -05:00
Eric Bavier f89fe3bff7 gnu: Add DateTime-Set.
* gnu/packages/perl.scm (perl-datetime-set): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 23c2836041 gnu: Add Set-Infinite.
* gnu/packages/perl.scm (perl-set-infinite): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier b271f727f0 gnu: Add DateTime-Format-Flexible.
* gnu/packages/perl.scm (perl-datetime-format-flexible): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 3dcfec09c3 gnu: Add DateTime-Format-Builder.
* gnu/packages/perl.scm (perl-datetime-format-builder): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 6f170fe596 gnu: Add DateTime-Format-Strptime.
* gnu/packages/perl.scm (perl-datetime-format-strptime): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier bd44b05dca gnu: Add Class-Factory-Util.
* gnu/packages/perl.scm (perl-class-factory-util): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 4be514cb47 gnu: Add MooseX-StrictConstructor.
* gnu/packages/perl.scm (perl-moosex-strictconstructor): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 6a58b09280 gnu: Add LWP-UserAgent-Determined.
* gnu/packages/web.scm (perl-lwp-useragent-determined): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 0a24e9b887 gnu: Add Digest-MD5-File.
* gnu/packages/web.scm (perl-digest-md5-file): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 31170d1390 gnu: Add Digest-HMAC.
* gnu/packages/perl.scm (perl-digest-hmac): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 9151712c55 gnu: Add DateTime-Format-HTTP.
* gnu/packages/web.scm (perl-datetime-format-http): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier 1cebf8736e gnu: Add Data-Stream-Bulk.
* gnu/packages/perl.scm (perl-data-stream-bulk): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier bdcfd18e4b gnu: Add LWP-Protocol-https.
* gnu/packages/web.scm (perl-lwp-protocol-https): New variable.
2015-04-19 19:48:49 -05:00
Eric Bavier bec820d94a gnu: libwww-perl: Update to 6.13.
* gnu/packages/web.scm (perl-libwww)[version]: Update to 6.13.
  [source]: Adjust uri.
  [home-page]: Point to generic distribution page.
2015-04-19 19:48:49 -05:00
Eric Bavier 0eb3b5bdf1 gnu: Net-HTTP: Update to 6.07.
* gnu/packages/web.scm (perl-net-http)[version]: Update to 6.07.
  [source]: Adjust uri.
  [propagated-inputs]: New field.
  [home-page]: Point to generic distribution page.
2015-04-19 19:48:49 -05:00
Eric Bavier e3d84c4e3a gnu: Add IPC-Run.
* gnu/packages/perl.scm (perl-ipc-run): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 8aaafd34c8 gnu: Add IO-Compress.
* gnu/packages/compression.scm (perl-io-compress): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 8e18514a69 gnu: Add Compress-Raw-Zlib.
* gnu/packages/compression.scm (perl-compress-raw-zlib): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 73f542c368 gnu: Add Compress-Raw-Bzip2.
* gnu/packages/compression.scm (perl-compress-raw-bzip2): New
  variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 38973df746 gnu: Add File-Slurp.
* gnu/packages/perl.scm (perl-file-slurp): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier a24c54201d gnu: Add Email-Sender.
* gnu/packages/mail.scm (perl-email-sender): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 0677b1af3b gnu: Add Throwable.
* gnu/packages/perl.scm (perl-throwable): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 70de16eaf4 gnu: Add MooX-Types-MooseLike.
* gnu/packages/perl.scm (perl-moox-types-mooselike): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 26b8de1963 gnu: Add Email-Abstract.
* gnu/packages/mail.scm (perl-email-abstract): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 0a4c49f613 gnu: Add Email-MIME.
* gnu/packages/mail.scm (perl-email-mime): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 151ef3edc3 gnu: Add Email-Simple.
* gnu/packages/mail.scm (perl-email-simple): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier aa86a3be20 gnu: Add Email-Date-Format.
* gnu/packages/mail.scm (perl-email-date-format): New variable.
2015-04-19 19:48:48 -05:00
Eric Bavier 02e2993607 gnu: Add Email-MIME-Encodings.
* gnu/packages/mail.scm (perl-email-mime-encodings): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier 55025bb516 gnu: Add Email-MIME-ContentType.
* gnu/packages/mail.scm (perl-email-mime-contenttype): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier 08bf70953f gnu: Add Email-MessageID.
* gnu/packages/mail.scm (perl-email-messageid): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier ebda902fb5 gnu: Add Email-Address.
* gnu/packages/mail.scm (perl-email-address): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier e3cfe3d6d1 gnu: Move perl-mime-types to (gnu packages perl).
* gnu/packages/web.scm (perl-mime-types): Move this...
* gnu/packages/perl.scm (perl-mime-types): ... to here.
2015-04-19 19:48:47 -05:00
Eric Bavier 186eb13248 gnu: add DBD-Pg.
* gnu/packages/databases.scm (perl-dbd-pg): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier 19c0e5a728 gnu: Add Crypt-RandPasswd.
* gnu/packages/perl.scm (perl-crypt-randpasswd): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier ca8e61960a gnu: Add CatalystX-Script-Server-Starman.
* gnu/packages/web.scm (perl-catalystx-script-server-starman): New
  variable.
2015-04-19 19:48:47 -05:00
Eric Bavier a641b5791a gnu: Add Starman.
* gnu/packages/web.scm (starman): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier be22d5fc63 gnu: Add Net-Server.
* gnu/packages/web.scm (perl-net-server): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier 8ab39c2d26 gnu: Add HTTP-Parser-XS.
* gnu/packages/web.scm (perl-http-parser-xs): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier d3182b42a0 gnu: Add HTTP-Parser.
* gnu/packages/web.scm (perl-http-parser): New variable.
2015-04-19 19:48:47 -05:00
Eric Bavier 5c2c9ab2f8 gnu: Add Catalyst-View-TT.
* gnu/packages/web.scm (perl-catalyst-view-tt): New variable.
2015-04-19 19:48:46 -05:00
Eric Bavier 9e4a022bda gnu: Add Template-Timer.
* gnu/packages/perl.scm (perl-template-timer): New variable.
2015-04-19 19:48:46 -05:00
Ludovic Courtès b16b77905c gnu: bash-completion: Remove completions redundant with those of util-linux.
* gnu/packages/bash.scm (bash-completion)[arguments]: New field.
2015-04-19 23:34:53 +02:00
Ludovic Courtès ee8591990f guix package: Fix 'readlink*' implementation.
* guix/scripts/package.scm (readlink*): Fix to handle symlinks with
  relative targets.  Taken from ld-wrapper2.in.
2015-04-19 23:34:53 +02:00
Ludovic Courtès 07c0b6e082 gnu: ld-wrapper2: Make 'readlink*' tail-recursive.
* gnu/packages/ld-wrapper2.in (readlink*): Make tail-recursive.
2015-04-19 23:34:53 +02:00
Ludovic Courtès 5763ad9266 guix package: -A and -s take supported systems into account.
* guix/scripts/package.scm (guix-package)[process-query]
  <list-available>: Restrict results to packages matching
  'supported-package?".
* guix/ui.scm (package->recutils): Print "systems:".
* tests/guix-package.sh: Add tests.
* doc/guix.texi (Invoking guix package): Adjust description of
  '--list-available' accordingly.
2015-04-19 23:34:53 +02:00
Ludovic Courtès bbceb0ef8a packages: Add 'supported-package?'.
* guix/packages.scm (supported-package?): New procedure.
* tests/packages.scm ("supported-package?"): New test.
* build-aux/hydra/gnu-system.scm (package->job): Use it instead of
  'package-transitive-supported-systems'.
2015-04-19 23:34:53 +02:00
Mark H Weaver 42f118010b gnu: ccl: Fix inputs on non-Intel platforms.
* gnu/packages/lisp.scm (ccl)[inputs]: Add default cases in 'match' forms.
  Fix pattern in "armhf-linux" case of sha256 field.
2015-04-19 10:15:04 -04:00
Ludovic Courtès 5dc3ce5f6c doc: Warn earlier about the risk of overwriting with the binary install.
Suggested by Pjotr Prins <pjotr.public12@thebird.nl>.

* doc/guix.texi (Binary Installation): Move warning about overwriting
  higher up.
2015-04-18 22:57:52 +02:00
Andy Wingo ec2b19210f gnu: gnome-settings-daemon: Use wacom packages.
* gnu/packages/gnome.scm (gnome-settings-daemon): Use the wacom packages.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-18 22:57:52 +02:00
Andy Wingo ab42a2a727 gnu: Add xf86-input-wacom.
* gnu/packages/xdisorg.scm (xf86-input-wacom): New variable.
2015-04-18 22:57:52 +02:00
Andy Wingo f1f7049ec1 gnu: Add libwacom.
* gnu/packages/xdisorg.scm (libwacom): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-18 22:57:52 +02:00
Ludovic Courtès 724311a26b packages: Allow package lookups with version prefixes.
* gnu/packages.scm (find-packages-by-name): Sort MATCHING according to
  'version>?'.  Use 'string-prefix?' instead of 'string=?' to compare
  against VERSION.
* doc/guix.texi (Invoking guix package): Add example and explanation.
2015-04-18 22:57:52 +02:00
Andreas Enge e7bf0e4465 gnu: ucommon: Update to 6.3.1.
* gnu/packages/telephony.scm (ucommon): Update to 6.3.1.
2015-04-18 21:20:31 +02:00
Andreas Enge 9dc9053f1d gnu: ccrtp: Update to 2.1.2.
* gnu/packages/telephony.scm (ccrtp): Update to 2.1.2.
2015-04-18 21:19:32 +02:00
Andreas Enge 936e86bdae gnu: sipwitch: Update to 1.9.7.
* gnu/packages/telephony.scm (sipwitch): Update to 1.9.7.
2015-04-18 20:20:57 +02:00
Andreas Enge 24ba72402b gnu: nano: Update to 2.4.1.
* gnu/packages/nano.scm (nano): Update to 2.4.1.
2015-04-18 20:16:57 +02:00
Andreas Enge 3434a65ba1 gnu: calibre: Update to 2.25.0.
* gnu/packages/ebook.scm (calibre): Update to 2.25.0.
2015-04-18 20:04:53 +02:00
宋文武 7763174509 gnu: Add MariaDB.
* gnu/packages/databases.scm (mariadb): New variable.
2015-04-18 21:52:14 +08:00
宋文武 01ccdfb6d3 gnu: Add libaio.
* gnu/packages/linux.scm (libaio): New variable.
2015-04-18 21:52:14 +08:00
宋文武 82d8729b24 gnu: Add jemalloc.
* gnu/packages/jemalloc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-04-18 21:52:14 +08:00
宋文武 40f6f76ed1 gnu: gst-plugins-good: Add more inputs and remove unneeded ones.
* gnu/packages/gstreamer.scm (gst-plugins-good): Move gst-plugins-base
  from 'native-inputs' to 'inputs'.
  [inputs]: Add aalib, jack, libavc1394, libcaca, libdv, libiec61833,
  libshout, libsoup, libvpx, orc, taglib and wavpack.  Remove glib,
  gstreamer, libogg, libx11, libxext, libxv, and zlib.
  [arguments]: Remove.
2015-04-18 17:34:58 +08:00
Mark H Weaver 989a9fffa7 gnu: ntp: Update to 4.2.8p2.
* gnu/packages/ntp.scm (ntp): Update to 4.2.8p2.
2015-04-18 02:28:30 -04:00
Mark H Weaver ba42f54df6 gnu: tor: Update to 0.2.5.12.
* gnu/packages/tor.scm (tor): Update to 0.2.5.12.
2015-04-18 02:28:30 -04:00
Mark H Weaver 334345d9db Merge branch 'core-updates' 2015-04-17 22:06:05 -04:00
Andreas Enge 09dd019490 gnu: ffmpeg: Drop old version 2.2.
* gnu/packages/video.scm (ffmpeg-2.2): Remove variable.
  (ffmpeg)[arguments]: Drop LDFLAGS environment variable needed only for
  older versions.
2015-04-17 20:54:47 +02:00
Ludovic Courtès 8d7dc5d9db monads: Optimize 'sequence'.
* guix/monads.scm (sequence): Rewrite as a macro.  This yields a 10%
  improvement in wall-clock time for 'guix system build'.
2015-04-17 18:15:38 +02:00
Mark H Weaver db5127d889 gnu: gnome-vfs: Tolerate 'test-async-cancel' failures, take two.
* gnu/packages/gnome.scm (gnome-vfs)[arguments]: Remove 'XFAIL_TESTS' make
  flag, which caused 'make check' to fail if the test unexpectedly passed.
  Add 'patch-test-async-cancel-to-never-fail' phase.
2015-04-17 11:40:34 -04:00
Mark H Weaver 933204e5b1 Merge branch 'master' into core-updates
Conflicts:
	gnu-system.am
	gnu/packages/gstreamer.scm
2015-04-17 09:54:11 -04:00
Ludovic Courtès 5e25ebe2fa services: Explicitly refer to Shadow when requiring the 'nologin' shell.
* gnu/services/avahi.scm (avahi-service): Change 'shell' to a gexp
  referring to "nologin" in the SHADOW package.
* gnu/services/dbus.scm (dbus-service): Likewise.
* gnu/services/networking.scm (ntp-service, tor-service): Likewise.
2015-04-17 13:53:16 +02:00
Ludovic Courtès 8e974b9b98 system: Populate /etc/shells with the list of all the shells in use.
Reported by Andy Wingo <wingo@pobox.com>.

* gnu/system.scm (user-shells, shells-file): New procedures.
  (etc-directory): Add #:shell parameter.  Use 'shells-file' instead of
  'text-file'.
  (operating-system-etc-directory): Call 'user-shells' and pass #:shells
  to 'etc-directory'.
2015-04-17 13:53:16 +02:00
David Hashe 3c9e35cce7 gnu: Add libsrtp.
* gnu/packages/telephony.scm (libsrtp): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-17 13:53:16 +02:00
Mark H Weaver 9128e323c0 gnu: icecat: Use system sqlite.
* gnu/packages/gnuzilla.scm (icecat)[inputs]: Add sqlite.
  [arguments]: Pass "--enable-system-sqlite" to configure.
2015-04-17 03:12:48 -04:00
Mark H Weaver 9e12bc3493 gnu: gnome-vfs: Expect 'test-async-cancel' failure, and clean up.
* gnu/packages/gnome.scm (gnome-vfs)[arguments]: Add
  "XFAIL_TESTS=test-async-cancel" to make flags.  Remove ignored and
  undocumented 'DISABLE_DEPRECATED_CFLAGS' configure flag.  Simplify
  'ignore-deprecations' phase and return #t.  Reformat to fit within
  80 columns.
2015-04-17 03:11:52 -04:00
Jason Self 007aa90b21 gnu: linux-libre: Set CONFIG_DEVMEM=y
* gnu/packages/linux.scm (linux-libre): Set CONFIG_DEVMEM=y.

Signed-off-by: Jason Self <j@jxself.org>
2015-04-17 02:05:11 -04:00
Ludovic Courtès 4b9b3cbbc4 refresh: Allow users to refer to specific package versions.
* guix/scripts/refresh.scm (guix-refresh): Use 'specification->package'
  instead of 'find-packages-by-name'.  This allows users to specify
  things like "qt-4.8.6".
* doc/guix.texi (Invoking guix refresh): Add an example.
2015-04-16 23:15:06 +02:00
Ludovic Courtès 77db91addc gnu: Add second ld-wrapper to work around readlink dereferencing bug.
Suggested by Mark H Weaver.

* gnu/packages/ld-wrapper2.in: New file.
* gnu-system.am (MISC_DISTRO_FILES): Add it.
* gnu/packages/commencement.scm (fixed-ld-wrapper): New procedure.
2015-04-16 23:15:06 +02:00
Ludovic Courtès f0ad3c7697 gnu: bigloo: Add RUNPATH to the libraries.
* gnu/packages/scheme.scm (bigloo)[arguments]: Pass --ldflags
  'configure' flag.
2015-04-16 23:15:06 +02:00
Manolis Ragkousis d67513fa05 gnu: mig: Update to 1.5
* gnu/packages/hurd.scm (mig): Update to version 1.5.
2015-04-16 14:13:23 +03:00
Manolis Ragkousis 41d9c5d39a gnu: hurd-headers: Update to 0.6
* gnu/packages/hurd.scm (hurd-headers): Update to version 0.6.
2015-04-16 14:13:17 +03:00
Manolis Ragkousis 78dc44908e gnu: gnumach-headers: Update to 1.5
* gnu/packages/hurd.scm (gnumach-headers): Update to version 1.5.
2015-04-16 14:13:11 +03:00
Andreas Enge 1a189da0e7 gnu: vlc: Update to 2.2.0.
* gnu/packages/video.scm (vlc): Update to 2.2.0.
  [inputs]: Switch from ffmpeg-2.2 to latest one.
2015-04-16 13:11:24 +02:00
Ludovic Courtès 457e528eb9 gnu: ffmpeg: Allow tests to run from the build tree.
* gnu/packages/video.scm (ffmpeg)[arguments]: Add 'set-ld-library-path'
  phase.
2015-04-16 10:54:07 +02:00
Ludovic Courtès f2feb0ce7c gnu: ffmpeg: Use 'modify-phases'.
* gnu/packages/video.scm (ffmpeg)[arguments]: Use 'modify-phases'
  instead of 'alist-cons-after' et al.
2015-04-16 10:35:33 +02:00
Ricardo Wurmus 2127cedb23 gnu: Add FASTX Toolkit.
* gnu/packages/bioinformatics.scm (fastx-toolkit): New variable.
2015-04-16 10:28:37 +02:00
Ricardo Wurmus f571e1c346 gnu: Add libgtextutils.
* gnu/packages/textutils.scm (libgtextutils): New variable.
2015-04-16 10:28:30 +02:00
Ricardo Wurmus 4f2bde4433 gnu: tbb: Set library rpath.
* gnu/packages/tbb.scm (tbb)[arguments]: Add the rpath for lib directory of
  output to LDFLAGS.
2015-04-16 10:23:03 +02:00
Ludovic Courtès e1600f6996 hydra: Increase size of USB image.
* build-aux/hydra/gnu-system.scm (qemu-jobs) <usb-image>: Increase from
  800 MiB to 850 MiB.
2015-04-16 10:05:36 +02:00
Ludovic Courtès 73b1b4eba9 gnu: icecat: Disable RUNPATH validation.
* gnu/packages/gnuzilla.scm (icecat)[arguments]: Pass
  #:validate-runpath? #f.
2015-04-16 09:56:10 +02:00
Paul van der Walt 945e9c0cef gnu: mu: Update to 0.9.12.
* gnu/packages/mail.scm (mu): Update to version 0.9.12.
2015-04-16 09:55:22 +02:00
Ludovic Courtès b7615c56a7 build-system/haskell: Adjust to new 'modify-phases' syntax.
* guix/build/haskell-build-system.scm (%standard-phases): Add missing
  quotes, as needed since commit f8503e2.
2015-04-16 09:51:38 +02:00
Ludovic Courtès 9fd6c2ba94 build: Build and install (guix build haskell-build-system).
* Makefile.am (MODULES): Add guix/build/haskell-build-system.scm.
2015-04-16 09:49:52 +02:00
Ludovic Courtès 09722b11e5 doc: Add section on installation from a binary tarball.
* doc/guix.texi (Binary Installation): New section.
2015-04-15 23:25:04 +02:00
Ludovic Courtès aa46a028c4 profiles: Generalize "hooks" for 'profile-derivation'.
* guix/profiles.scm (info-dir-file): Remove (null? (manifest-entries
  manifest)) test.
  (ca-certificate-bundle): Likewise.
  (ghc-package-cache-file): Turn 'if' into 'and', and remove second
  arm.
  (%default-profile-hooks): New variable.
  (profile-derivation): Remove #:info-dir?, #:ghc-package-cache?, and
  #:ca-certificate-bundle?.  Add #:hooks.  Iterate over HOOKS.  Adjust
  'inputs' accordingly.
* guix/scripts/package.scm (guix-package): Adjust 'profile-derivation'
  call accordingly.
* tests/packages.scm ("--search-paths with pattern"): Likewise.
* tests/profiles.scm ("profile-derivation",
  "profile-derivation, inputs"): Likewise.
2015-04-15 22:44:51 +02:00
Ludovic Courtès 3158097940 gnu: qt-4: Add "doc" output; use more standard directory names.
* gnu/packages/qt.scm (qt-4)[outputs]: New field.
  (qt-4)[arguments]: Pass '-docdir', '-demosdir', and '-examplesdir'.
2015-04-15 18:13:56 +02:00
Ludovic Courtès d29843466a gnu: qt-4: Do not set $LDFLAGS since that triggerred a build failure.
Fixes the build failure at <http://hydra.gnu.org/build/379884/log/raw>:

  g++ -licui18n -Wl,-O1 [...] -o ../../../../bin/assistant [...]
  ld: warning: libQtCLucene.so.4, needed by /tmp/nix-build-qt-4.8.6.drv-0/qt-everywhere-opensource-src-4.8.6/lib/libQtHelp.so, not found (try using -rpath or -rpath-link)
  /tmp/nix-build-qt-4.8.6.drv-0/qt-everywhere-opensource-src-4.8.6/lib/libQtHelp.so: undefined reference to `QCLucenePhraseQuery::getTerms() const'
  [...]

* gnu/packages/patches/qt4-ldflags.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (qt-4)[source]: Use it.
  [arguments]: Remove 'setenv' call in 'configure' phase.
2015-04-15 18:13:56 +02:00
Ricardo Wurmus e46d517f6d gnu: icedtea6: Update to 1.13.7.
* gnu/packages/java.scm (icedtea6): Update to version 1.13.7.
2015-04-15 17:38:09 +02:00
宋文武 6c0dfb195c gnu: wine: Add $libdir to the RUNPATH of binaries.
* gnu/packages/wine.scm (wine)[arguments]: Add #:configure-flags.
2015-04-15 19:07:55 +08:00
宋文武 d43ba6f851 gnu: wine: Update to 1.7.40.
* gnu/packages/wine.scm (wine): Update to 1.7.40.
2015-04-15 19:07:10 +08:00
Andreas Enge a8bd3e5ebb gnu: calibre: Update to 2.24.0.
* gnu/packages/ebook.scm (calibre): Update to 2.24.0.
2015-04-15 10:33:08 +02:00
Ludovic Courtès cd6c6d60a8 build-system/haskell: Refer to %GNU-BUILD-SYSTEM-MODULES.
Fixes a regression whereby haskell-build-system was using an incomplete
module list.

* guix/build-system/haskell.scm (%haskell-build-system-modules): New
  variable.
  (haskell-build): Use it as the default value of #:imported-modules.
2015-04-15 10:27:19 +02:00
Ludovic Courtès 1590e8a1dd packages: Refer to the native tools when handling sources and downloads.
* guix/packages.scm (patch-and-repack)[build]: Change most #$ to #+.
* guix/cvs-download.scm (cvs-fetch)[build]: Likewise.
* guix/download.scm (url-fetch)[builder]: Likewise.
* guix/git-download.scm (git-fetch)[build]: Likewise.
* guix/svn-download.scm (svn-fetch)[build]: Likewise.
2015-04-15 10:19:47 +02:00
宋文武 691cb22b1b gnu: fltk: Add $libdir to the RUNPATH of binaries.
* gnu/packages/fltk.scm (fltk)[arguments]: Add
  DSOFLAGS=-Wl,-rpath=$libdir to #:configure-flags.
2015-04-15 12:41:21 +08:00
宋文武 bda4ca76d4 gnu: fltk: Update to 1.3.3.
* gnu/packages/fltk.scm (fltk): Update to 1.3.33
2015-04-15 12:40:02 +08:00
宋文武 fee4693e42 gnu: recode: Fix tests.
* gnu/packages/textutils.scm (recode): Rename phase 'fix-setup-py to 'pre-check.
  Set LD_LIBRARY_PATH to "$(pwd)/src/.libs" in pre-check phase.
2015-04-15 12:04:51 +08:00
Ludovic Courtès 8bc35f85b7 build: Add missing 'make-binary-tarball.scm' script.
This script is used by the target added in 9d3fb6c.

* build-aux/make-binary-tarball.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2015-04-14 23:29:26 +02:00
Ludovic Courtès b607593533 hydra: Add jobs for the self-contained tarball.
* build-aux/hydra/gnu-system.scm (tarball-jobs): New procedure.
  (hydra-jobs): Use it.
2015-04-14 23:26:41 +02:00
Ludovic Courtès 890024c51c gnu: Don't use #:prefix in (gnu packages sdl).
* gnu/packages/sdl.scm: Remove #:prefix for (gnu packages fontutils)
  import, and adjust accordingly.  Add #:hide for (guix licenses)
  import.
2015-04-14 23:25:37 +02:00
Ludovic Courtès a0bcaefd08 Thank Pjotr. 2015-04-14 23:20:26 +02:00
Ludovic Courtès 9d3fb6c767 install: Add a procedure to build a self-contained binary tarball.
Suggested by Pjotr Prins <pjotr.public12@thebird.nl>
at <http://lists.gnu.org/archive/html/guix-devel/2015-04/msg00229.html>.

* gnu/build/install.scm (populate-single-profile-directory): New procedure.
* gnu/system/install.scm (self-contained-tarball): New procedure.
* Makefile.am (guix-binary.%.tar.xz): New target.
2015-04-14 23:20:26 +02:00
Ludovic Courtès a84e523c4a build: Silence warnings about 'make' portability.
* configure.ac: Pass -Wno-portability to AM_INIT_AUTOMAKE.
2015-04-14 23:20:18 +02:00
Andreas Enge c3768fa49b gnu: calibre: Update to 2.23.0.
* gnu/packages/ebook.scm (calibre): Update to 2.23.0.
2015-04-14 20:00:55 +02:00
宋文武 04a20db2b3 gnu: gst-libav: Use system ffmpeg instead of bundled libav.
* gnu/packages/gstreamer.scm (gst-libav)[arguments]: Remove #:phases.
  Add #:configure-flags.
  [native-inputs]: Remove yasm.
  [inputs]: Add ffmpeg.
2015-04-14 23:03:05 +08:00
Mark H Weaver d5f01e48e0 guix package: Add '--do-not-upgrade' option.
* guix/scripts/package.scm (%options): Add the '--do-not-upgrade' option.
  (show-help): Document it.
  (options->installable): Add 'do-not-upgrade-regexps' variable.
  Use it in 'packages-to-upgrade'.
* doc/guix.texi (Invoking guix package): Document the '--do-not-upgrade'
  option.
2015-04-14 10:44:19 -04:00
Mark H Weaver 6915912506 gnu: Add mdadm.
* gnu/packages/linux.scm (mdadm): New variable.
2015-04-14 10:44:19 -04:00
Andy Wingo 23a22af694 gnu: Add gnome-settings-daemon.
* gnu/packages/gnome.scm (gnome-settings-daemon): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-14 14:46:34 +02:00
Andy Wingo 6a180f6f36 gnu: Add libgweather.
* gnu/packages/gnome.scm (libgweather): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-14 14:09:21 +02:00
Ludovic Courtès 9349655820 gnu: qt-5: Allow the use of DT_RUNPATH for libQt5WebEngineCore.so.
* gnu/packages/patches/qt5-runpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (qt)[source]: Use it.
2015-04-14 13:27:38 +02:00
Ludovic Courtès caf0c0a9e9 gnu: miniupnpc: Allow executables to find libupnp.so.
* gnu/packages/upnp.scm (miniupnpc)[arguments]: Pass
  "LDFLAGS=-Wl,-rpath=...".
2015-04-14 10:03:24 +02:00
Ludovic Courtès e91d1d3133 gnu: libtocc: Help the tests find libtocc.so.
* gnu/packages/search.scm (libtocc)[arguments] <check>: Pass
  -Wl,-rpath=../src/.libs for the tests.
2015-04-14 10:03:24 +02:00
Ludovic Courtès 4836989a69 gnu: libmicrohttpd: Update to 0.9.40.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.40.
2015-04-14 10:03:24 +02:00
Ludovic Courtès fb799cb72e gnu: Disable RUNPATH validation for packages that use $ORIGIN.
* gnu/packages/haskell.scm (ghc)[arguments]: Add #:validate-runpath?.
* gnu/packages/julia.scm (julia)[arguments]: Likewise.
* gnu/packages/java.scm (icedtea6)[arguments]: Likewise.
2015-04-14 10:03:24 +02:00
宋文武 b2a80c785d gnu: glib: Move html documentation to $doc/share/gtk-doc/html.
* gnu/packages/glib.scm (glib)[arguments]<#:configure-flags>:
  Pass "--with-html-dir=$doc/share/gtk-doc/html".
2015-04-14 15:40:58 +08:00
宋文武 5d4c695721 gnu: openldap: Update to 2.4.40.
* gnu/packages/openldap.scm (openldap): Update to 2.4.40.
2015-04-14 15:23:23 +08:00
宋文武 0e05d01e4f gnu: python: Use 'version-major+minor' to compute PYTHONPATH.
Fixes a regression introduced in 08c0450.

* gnu/packages/python.scm (python)[native-search-paths]: Use
  'version-major+minor' to compute PYTHONPATH.
2015-04-14 15:11:51 +08:00
Mark H Weaver 46a1130207 gnu: linux-libre: Remove linux-libre-vblank-fix.patch.
* gnu/packages/patches/linux-libre-vblank-fix.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/linux.scm (linux-libre): Remove patch.
2015-04-14 02:35:38 -04:00
David Thompson 463acb4acb gnu: ruby: Update to 2.2.2.
* gnu/packages/ruby.scm (ruby): Update to 2.2.2.
2015-04-13 19:56:01 -04:00
Ludovic Courtès 1bef37ee2e gnu: emacs: Do not keep references to the entries of the build-time $PATH.
This reduces the number of references of the output from 54 to 31,
removing references notably to gcc, expat, glib:bin, ld-wrapper-0,
texinfo, pkg-config, make, gawk, binutils, etc.

Reported by David Thompson.

* gnu/packages/patches/emacs-exec-path.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/emacs.scm (emacs)[source]: Use it.
2015-04-13 23:20:07 +02:00
Ricardo Wurmus 8214b7fbea gnu: rseqc: Update hash.
* gnu/packages/bioinformatics.scm (rseqc): Update hash.
2015-04-13 15:39:02 +02:00
Mark H Weaver 279a587d60 gnu: gst-libav: Add missing quotes in phase names passed to 'modify-phases'.
This should have been done in 1ca8ff285b.

* gnu/packages/gstreamer.scm (gst-libav): Add missing quotes in phase names
  passed to 'modify-phases'.
2015-04-13 09:07:01 -04:00
Jason Self 2784a65af6 gnu: linux-libre: Update to 4.0
* gnu/packages/linux.scm (linux-libre): Update to version 4.0.
2015-04-13 05:57:50 -07:00
Mark H Weaver 9bbd52e536 gnu: libepoxy: Fix tests on arm.
* gnu/packages/gl.scm (libepoxy)[arguments]: When building for arm,
  patch test/dlwrap.c to fix the tests.
2015-04-13 01:29:51 -04:00
Mark H Weaver 1ca8ff285b Merge branch 'master' into core-updates 2015-04-13 01:25:28 -04:00
Mark H Weaver 14fe9488f4 gnu: p11-kit: Update to 0.23.1.
* gnu/packages/gnutls.scm (p11-kit): Update to 0.23.1.
2015-04-12 22:50:51 -04:00
Mark H Weaver a153ff80c8 gnu: net-tools: Adapt to linux-libre-headers-3.14.x.
* gnu/packages/linux.scm (net-tools): Remove the HAVE_HWSTRIP and HAVE_HWTR
  options from the configuration.
2015-04-12 19:46:20 -04:00
Andy Wingo be23412848 services: Add upower.
* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/upower.scm.
* gnu/services/upower.scm: New file, defining a upower service.
* doc/guix.texi (Various Services): Mention it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-13 00:02:59 +02:00
Andy Wingo a1d5bb0ec7 gnu: Add upower.
* gnu/packages/gnome.scm (upower): New variable.
* gnu/packages/patches/upower-builddir.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-13 00:02:59 +02:00
Ludovic Courtès 002c57c6f7 lint: Add a 'derivation' checker.
* guix/scripts/lint.scm (check-derivation): New procedure.
  (%checkers): Add 'derivation' checker.
* tests/lint.scm ("derivation: invalid arguments"): New test.
2015-04-13 00:02:59 +02:00
Mark H Weaver 866f469edd gnu: gnutls: Update to 3.4.0.
* gnu/packages/patches/gnutls-fix-duplicate-manpages.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gnutls.scm (gnutls)[source]: Update to 3.4.0.  Add patch.
  [arguments]: Pass --without-p11-kit to 'configure'.
  [propagated-inputs]: Use 'nettle' instead of 'nettle-2'.  Add 'libidn'.
2015-04-12 17:26:39 -04:00
Mark H Weaver 7ae3e06a32 gnu: gnutls: Add debug output.
* gnu/packages/gnutls.scm (gnutls)[outputs]: Add debug output.
2015-04-12 17:26:35 -04:00
Mark H Weaver 8cba6fc9ee gnu: nettle: Add debug output.
* gnu/packages/nettle.scm (nettle)[outputs]: Add debug output.
2015-04-12 17:26:32 -04:00
Ludovic Courtès 4c9050c63d doc: Add example showing how to customize 'nscd-service'.
* doc/guix.texi (Name Service Switch): Add link to nss-mdns.  Add
  example show how to pass #:name-services to 'nscd-service'.
  (Base Services): Add link from 'nscd-service' to the above.
* gnu/services/base.scm (nscd-service): Update docstring accordingly.
2015-04-12 22:34:47 +02:00
Ludovic Courtès 99af4996ea gnu: man-pages: Update to 3.82.
* gnu/packages/man.scm (man-pages): Update to 3.82.
2015-04-12 22:19:18 +02:00
Ludovic Courtès b158f1d751 system: Allow users to PTRACE_ATTACH to their own processes.
* gnu/build/activation.scm (activate-ptrace-attach): New procedure.
* gnu/system.scm (operating-system-activation-script): Use it.
2015-04-12 15:33:42 +02:00
Ludovic Courtès ce6fc7d6a5 build: Build and install (guix build-system haskell).
* Makefile.am (MODULES): Add guix/build-system/haskell.scm.
2015-04-12 15:16:48 +02:00
Ludovic Courtès 260b07a7d0 gnu: gtk+: Pass --with-html-dir=$doc.
Fixes a regression introduced in 6b1f238.

* gnu/packages/gtk.scm (gtk+)[arguments]: Add #:configure-flags.
2015-04-12 14:45:08 +02:00
Ludovic Courtès 13cc689ae8 gnu: elfutils: Add $libdir to the RUNPATH of binaries.
* gnu/packages/elf.scm (elfutils)[arguments]: New field.
2015-04-11 17:08:27 +02:00
Ludovic Courtès cc1e1b38c9 gnu: elfutils: Work around PTRACE_ATTACH-induced test failures.
* gnu/packages/patches/elfutils-tests-ptrace.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/elf.scm (elfutils)[source]: Use it.
2015-04-11 17:02:30 +02:00
Ludovic Courtès 9bf3ced06c packages: 'package-transitive-supported-systems' accounts for implicit inputs.
Reported by Federico Beffa.

* guix/packages.scm (package-transitive-supported-systems): Use
  bag-direct-inputs + package->bag rather than package-direct-inputs.
* tests/packages.scm ("package-transitive-supported-systems"): Add
  explicit 'build-system' field to each 'dummy-package' form.
  ("package-transitive-supported-systems, implicit inputs"): New test.
2015-04-11 13:06:23 +02:00
Ludovic Courtès cceab87536 packages: Add 'bag-direct-inputs'.
* guix/packages.scm (bag-direct-inputs): New procedure.
  (bag-transitive-inputs): Use it.
2015-04-11 13:06:23 +02:00
Ludovic Courtès 8550894bfe gnu: nspr: Add $libdir to the RUNPATH of binaries.
* gnu/packages/gnuzilla.scm (nspr)[arguments]: Add
  LDFLAGS=-Wl,-rpath=$libdir to #:configure-flags.
2015-04-11 13:06:23 +02:00
Ludovic Courtès 713e0aa4b3 gnu: netpbm: Remove non-FSDG-compliant code in 'snippet'.
* gnu/packages/netpbm.scm (netpbm)[source]: Add 'file-name', 'modules',
  and 'snippet'.
  [arguments]: Remove 'substitute*' uses that removed non-FSDG-compliant
  code since this is now done in 'snippet'.
2015-04-11 13:06:22 +02:00
宋文武 50c26d9e44 gnu: iptables: Add $libdir to the RUNPATH of executables.
* gnu/packages/linux.scm (iptables)[arguments]: Add #:configure-flags.
2015-04-11 18:23:27 +08:00
宋文武 6d889daf2a gnu: libcap: Add $libdir to the RUNPATH of executables.
* gnu/packages/linux.scm (libcap)[arguments]: Set LDFLAGS to
  '-Wl,-rpath=...' in Make.Rules.
2015-04-11 13:59:54 +08:00
宋文武 d1f9e45e5d gnu: cdparanoia: Don't use patchelf.
* gnu/packages/cdrom.scm (cdparanoia): Remove 'patchelf' from inputs.
  [arguments]: Remove #:modules, #:imported-modules and #:phases.  Pass
  'LDFLAGS=-Wl,-rpath=...' as #:configure-flags.
  [origin]: Add 'snippet'.
2015-04-11 13:30:58 +08:00
宋文武 be84118181 gnu: netpbm: Add $libdir to the RUNPATH of binaries.
* gnu/packages/netpbm.scm (netpbm)[arguments]: Add 'LDFLAGS += -Wl,-rpath=...'
  to config.mk in the configure phase.
2015-04-11 12:47:22 +08:00
宋文武 6b206853a0 gnu: subversion: Add $libdir to the RUNPATH of Perl bindings.
Fixes <http://bugs.gnu.org/20052>.

* gnu/packages/version-control.scm (subversion)[arguments]:
  Pass '-Wl,-rpath=...' as OTHERLDFLAGS in install-perl-bindings phase.
2015-04-11 12:14:52 +08:00
Ludovic Courtès 53a53be91b gnu: boost: Add $libdir to the RUNPATH of libraries.
* gnu/packages/boost.scm (boost)[arguments]: Add -Wl,-rpath=... to
  BUILD-FLAGS.  Remove 'check' phase and use #:tests? #f instead.
2015-04-10 23:37:36 +02:00
Mark H Weaver 4c2a38c25f gnu: emacs: Update to 24.5.
* gnu/packages/emacs.scm (emacs): Update to 24.5.
2015-04-10 15:20:22 -04:00
Ludovic Courtès 3314f8a7b6 gnu: libtool: Leave out the test suite workarounds.
They are no longer needed since the latest ld-wrapper changes (commit
51d0cd9.)

* gnu/packages/patches/libtool-skip-tests2.patch: New file.
* gnu/packages/autotools.scm (libtool)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2015-04-10 18:09:46 +02:00
宋文武 b3455870e1 gnu: libvpx: Augment rpath.
Fixes <http://bugs.gnu.org/20055>.

* gnu/packages/video.scm (libvpx)[arguments]: Set LDFLAGS to
  '-Wl,-rpath=$out/lib' in configure phase.
2015-04-10 22:26:44 +08:00
Mark H Weaver 5e738ac224 system: Clean /tmp and /var/run during early boot.
* gnu/system.scm (operating-system-boot-script): Clean out /tmp and
  /var/run before activating the system.
2015-04-10 09:22:49 -04:00
宋文武 1b922590d7 gnu: Add gst-libav.
* gnu/packages/gstreamer.scm (gst-libav): New variable.
2015-04-10 21:02:19 +08:00
Ricardo Wurmus 5854f6858b gnu: Add GRIT.
* gnu/packages/bioinformatics.scm (grit): New variable.
2015-04-10 14:35:48 +02:00
Ludovic Courtès 3a4de6b2d2 gnu: Add missing quotes in phase names passed to 'modify-phases'.
This is a followup to f8503e2.

* gnu/packages/gnome.scm (glib-networking): Add missing quotes before
  phase names passed to 'modify-phases'.
  (libsoup): Likewise.
  (gnome-terminal): Likewise.
  (colord): Likewise.
  (geoclue): Likewise.
* gnu/packages/gtk.scm (at-spi2-core, at-spi2-atk): Likewise.
* gnu/packages/haskell.scm (ghc-network): Likewise.
* gnu/packages/imagemagick.scm (perl-image-magick): Likewise.
* gnu/packages/video.scm (aalib): Likewise.
* gnu/packages/web.scm (nginx): Likewise.
2015-04-10 11:35:50 +02:00
Ludovic Courtès caaf1933a4 gnu: Fix incorrect references to %GNU-BUILD-SYSTEM-MODULES.
Fixes a regression introduced in 8ff3df5.

* gnu/packages/emacs.scm (emacs-w3m)[arguments]: Use quasiquote, not
  quote.
  (emacs-wget)[arguments]: Likewise, and use unquote-splicing for
  %GNU-BUILD-SYSTEM-MODULES.
  (emms): Likewise.
* gnu/packages/haskell.scm (ghc): Likewise.
* gnu/packages/samba.scm (samba): Likewise.
2015-04-10 10:34:04 +02:00
Ludovic Courtès b210b35d61 lint: Report patches that cannot be found.
* guix/scripts/lint.scm (check-patch-file-names): Wrap body in 'guard'.
* tests/lint.scm ("patches: not found"): New test.
2015-04-10 10:27:46 +02:00
Ludovic Courtès 56b1b74c90 lint: Rename 'check-patches' to 'check-patch-file-names'.
* guix/scripts/lint.scm (check-patches): Rename to...
  (check-patch-file-names): ... this.  Rename 'filename' to 'file'.
  (%checkers): Adjust accordingly.
* tests/lint.scm ("patches: file names"): Likewise.
2015-04-10 10:11:59 +02:00
Tomáš Čech a55e2b221c gnu: curl: Update to 7.41.0. Support CURLOPT_CAPATH on GnuTLS.
Fixes <http://bugs.gnu.org/20121>.

* gnu/packages/patches/curl-gss-api-fix.patch: Delete file.
* gnu/packages/patches/curl-support-capath-on-gnutls.patch,
  gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch: New files.
* gnu-system.am (dist_patch_DATA): Add new patches and remove old one.
* gnu/packages/curl.scm (curl): Update to 7.41.0.  Add new patches and remove
  old one.  Disable one unit test.

Modified-By: Mark H Weaver <mhw@netris.org>
2015-04-10 01:04:22 -04:00
宋文武 7dae5ac4b1 gnu: gnome-themes-standard: Update to 3.16.0.
This is a followup to 12f7f4a.

* gnu/packages/gnome.scm (gnome-themes-standard): Update hash.
2015-04-10 10:15:51 +08:00
Mark H Weaver 7934c8cfee gnu: python-2: Restore python-libffi-mips-n32-fix.patch.
This patch was removed in 08c045091e,
but it's still needed for python-2.

* gnu/packages/patches/python-libffi-mips-n32-fix.patch: Restore it.
* gnu-system.am (dist_patch_DATA): Add it back.
2015-04-09 18:57:52 -04:00
Cyril Roelandt 08c045091e python: Update to 3.4.3
* gnu/packages/python.scm (python): Update from 3.3.5 to 3.4.3.
* gnu/packages/patches/python-fix-tests.patch: Update the required test fixes.
* gnu/packages/patches/python-libffi-mips-n32-fix.patch: Remove it...
* gnu-system.am (dist_patch_DATA): ... and do not reference it here.
2015-04-10 00:19:46 +02:00
Ludovic Courtès ee3e157dec Add Bash completion file.
* etc/completion/bash/guix: New file.
* Makefile.am (dist_bashcompletion_DATA): New variable.
* configure.ac: Add --with-bash-completion-dir.
2015-04-09 23:44:14 +02:00
Andy Wingo 2bfe74378c gnu: Add geocode-glib.
* gnu/packages/gnome.scm (geocode-glib): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-09 21:18:12 +02:00
Andy Wingo 12f7f4aa27 gnu: gnome-desktop: Update to 3.16.0.
* gnu/packages/gnome.scm (gnome-desktop): Update to 3.16.0.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-09 21:17:28 +02:00
Ludovic Courtès ee5408576d Merge branch 'master' into core-updates 2015-04-09 21:10:46 +02:00
Ludovic Courtès afd40799e4 gnu: libtasn1: Update to 4.4 [fix for CVE-2015-2806].
* gnu/packages/gnutls.scm (libtasn1): Update to 4.4.
2015-04-09 19:07:04 +02:00
Ludovic Courtès 2891974c35 gnu: nettle: Update to 3.1.
* gnu/packages/nettle.scm (nettle): Update to 3.1.  Add 'arguments'
  field.
2015-04-09 18:49:30 +02:00
Ludovic Courtès 0be199c976 gnu: nettle: Make version 3 the default.
* gnu/packages/nettle.scm (nettle): Rename to...
  (nettle-2): ... this.
  (nettle-3): Rename to...
  (nettle): ... this.
* gnu/packages/gnutls.scm (gnutls): Use NETTLE-2.
* gnu/packages/lsh.scm (lsh): Likewise.
2015-04-09 18:49:28 +02:00
Ricardo Wurmus c833ab556f gnu: Add Shogun.
* gnu/packages/bioinformatics.scm (shogun): New variable.
2015-04-09 15:05:12 +02:00
Mark H Weaver 1421afa94a gnu: gcc: Do not pass -dynamic-linker to linker when !shared on arm.
Fixes <http://bugs.gnu.org/20102>.

* gnu/packages/patches/gcc-arm-link-spec-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-4.8, gcc-4.9): Add patch.
* gnu/packages/cross-base.scm (cross-gcc): Preserve patches from gcc-4.8.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2015-04-09 01:58:04 -04:00
Ludovic Courtès 0cc0095f3c http-client: Add workaround for HTTP pipelining on Guile <= 2.0.9.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* guix/http-client.scm (make-delimited-input-port): New procedure.
  Install it in (web response) for Guile <= 2.0.9.
2015-04-08 21:41:04 +02:00
Ludovic Courtès 9bea87a542 activation: Remove undeclared user accounts and groups.
Fixes <http://bugs.gnu.org/19795>.
Reported by David Thompson <dthompson2@worcester.edu>.

* gnu/build/activation.scm (enumerate, current-users, current-groups,
  delete-user, delete-group): New procedures.
  (activate-users+groups): Add calls to 'delete-user' and
  'delete-group'.
* doc/guix.texi (User Accounts): Add a paragraph about statelessness.
  Explain that passwords are preserved.
2015-04-08 21:41:04 +02:00
Federico Beffa a231ef7eec gnu: Add ghc-http.
* gnu/packages/haskell.scm (ghc-http): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa 9ce031c57f gnu: Add ghc-network-uri.
* gnu/packages/haskell.scm (ghc-network-uri): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa abfed253e6 gnu: Add ghc-network.
* gnu/packages/haskell.scm (ghc-network): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa f50fc13815 gnu: Add ghc-vector.
* gnu/packages/haskell.scm (ghc-vector): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa fa468e879f gnu: Add ghc-parsec.
* gnu/packages/haskell.scm (ghc-parsec): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa d692228e8b gnu: Add ghc-split.
* gnu/packages/haskell.scm (ghc-split): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa 01a687da09 gnu: Add ghc-unordered-containers.
* gnu/packages/haskell.scm (ghc-unordered-containers): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa c5043f4aac gnu: Add ghc-fgl.
* gnu/packages/haskell.scm (ghc-fgl): New variable.
2015-04-08 17:31:13 +02:00
Federico Beffa 61c02099a3 gnu: Add ghc-containers.
* gnu/packages/haskell.scm (ghc-containers): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa eaa3088e2c gnu: Add ghc-syb.
* gnu/packages/haskell.scm (ghc-syb): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa 7a1e8c74a3 gnu: Add ghc-case-insensitive.
* gnu/packages/haskell.scm (ghc-case-insensitive): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa dc0ae39a8f gnu: Add ghc-quickcheck.
* gnu/packages/haskell.scm (ghc-quickcheck): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa c272160ab0 gnu: Add ghc-tf-random.
* gnu/packages/haskell.scm (ghc-tf-random): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa 4af803a7c0 gnu: Add ghc-primitive.
* gnu/packages/haskell.scm (ghc-primitive): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa df596b948d gnu: Add ghc-random.
* gnu/packages/haskell.scm (ghc-random): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa c3b90c0edb gnu: Add ghc-hunit
* gnu/packages/haskell.scm (ghc-hunit): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa 775be802a3 gnu: Add ghc-hashable.
* gnu/packages/haskell.scm (ghc-hashable): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa deb36de072 gnu: Add ghc-text.
* gnu/packages/haskell.scm (ghc-text): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa e916e21102 gnu: Add ghc-parallel.
* gnu/packages/haskell.scm (ghc-parallel): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa a39f3936a9 gnu: Add ghc-stm.
* gnu/packages/haskell.scm (ghc-stm): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa 3d3613d55d gnu: Add ghc-zlib.
* gnu/packages/haskell.scm (ghc-zlib): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa 0939da6e4d gnu: Add ghc-paths.
* gnu/packages/haskell.scm: (ghc-paths): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa 7d5baa300d gnu: Add ghc-mtl.
* gnu/packages/haskell.scm: (ghc-mtl): New variable.
2015-04-08 17:31:12 +02:00
Federico Beffa 042bc828fc profiles: Generate GHC's package database cache.
* guix/profiles.scm (ghc-package-cache-file): New procedure.
  (profile-derivation): Add 'ghc-package-cache?' keyword argument.  If true
  (the default), add the result of 'ghc-package-cache-file' to 'inputs'.
* guix/scripts/package.scm (guix-package)[process-actions]: Pass
  #:ghc-package-cache? to 'profile-generation'.
* tests/packages.scm ("--search-paths with pattern"): Likewise.
* tests/profiles.scm ("profile-derivation"): Likewise.
2015-04-08 17:31:12 +02:00
Federico Beffa 283cce508a build-system/haskell: Update configure flags, 'haddock' and %standard-phases.
* guix/build/haskell-build-system.scm (%standard-phases): move 'haddock phase
  before 'install phase.
* guix/build/haskell-build-system.scm (haddock): Simplify it as the 'install
  phase takes care of copying files.
* guix/build/haskell-build-system.scm (configure): Add '--libsubdir' flag.
  Fix use of '--extra-include-dirs' and '--extra-lib-dirs' flags.  Use 'doc',
  'bin' and 'lib' outputs if they are defined.
* guix/build/haskell-build-system.scm (make-ghc-package-database, register):
  Aligh location of 'package.conf.d' directory with '--libsubdir' flag.
2015-04-08 17:31:11 +02:00
Federico Beffa b29455cfe7 import: Add hackage importer.
* guix/import/hackage.scm: New file.
* tests/hackage.scm: New file.
2015-04-08 17:31:11 +02:00
Federico Beffa 863af4e121 import: Add hackage importer.
* guix/scripts/import.scm (importers): Add hackage.
* guix/scripts/import/hackage.scm: New file.
* po/guix/POTFILES.in: Add guix/scripts/import.scm.
* doc/guix.texi: Add section on 'hackage' importer.
2015-04-08 17:31:11 +02:00
宋文武 bba229a3ca gnu: Add libsecret.
* gnu/packages/gnome.scm (libsecret): New variable.
2015-04-08 22:20:27 +08:00
Andy Wingo 7b2abd0055 gnu: Add geoclue.
* gnu/packages/gnome.scm (geoclue): New variable.
* gnu/packages/patches/geoclue-config.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-08 14:42:27 +02:00
Andy Wingo 7ce597ff9e gnu: Add colord service.
* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/colord.scm.
* gnu/services/colord.scm: New file.
* doc/guix.texi (Various Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-08 14:34:32 +02:00
Andy Wingo 75016d07ec gnu: Add colord package.
* gnu/packages/gnome.scm (colord): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-08 14:25:13 +02:00
Ludovic Courtès 032c7c5f78 build: Enable silent rules by default.
* configure.ac: Use 'AM_SILENT_RULES'.
2015-04-08 10:42:48 +02:00
Ludovic Courtès 1dccdb758a gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to 0b13161.
2015-04-08 10:41:27 +02:00
Ludovic Courtès 0b131612d5 tests: Skip 'guix-package-net.sh' when prerequisites aren't met.
* tests/guix-package-net.sh: Reinstate networking and shebang test that
  inadvertently vanished in commit 57b8623.
2015-04-08 10:20:59 +02:00
Ludovic Courtès d525da858d gnu: inetutils: Apply syslogd patch.
* gnu/packages/patches/inetutils-syslogd.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (inetutils)[source]: Use it.
  [native-inputs]: New field.
2015-04-08 10:20:59 +02:00
宋文武 cf3e3e374c Merge branch 'master' into core-updates 2015-04-08 16:04:37 +08:00
宋文武 068a53c36d gnu: at-spi2-core: Move html documentation to 'doc' output.
* gnu/packages/gtk.scm (at-spi2-core)[outputs]: New field.
  [arguments]: Add #:configure-flags.
2015-04-08 16:02:34 +08:00
宋文武 6967cc3f28 gnu: at-spi2-atk: Propagate input at-spi2-core.
* gnu/packages/gtk.scm (at-spi2-atk): Move at-spi2-core to 'propagated-inputs'.
  Move dbus to 'native-inputs'.
2015-04-08 16:02:34 +08:00
宋文武 57fcd22415 gnu: at-spi2-atk: Enable tests.
* gnu/packages/gtk.scm (at-spi2-atk)[arguments]: Remove #:tests? #f.
  Add #:phases.
2015-04-08 16:02:34 +08:00
宋文武 13a9e29190 gnu: atk: Propagate input glib.
* gnu/packages/gtk.scm (atk): Move glib to 'propagated-inputs'.
2015-04-08 16:02:33 +08:00
宋文武 d3d4bc0bc4 gnu: at-spi2-atk: Update to 2.16.0.
* gnu/packages/gtk.scm (at-spi2-atk): Update to 2.16.0.
2015-04-08 16:02:33 +08:00
宋文武 cd0466ebf8 gnu: atk: Move html documentation to 'doc' output.
* gnu/packages/gtk.scm (atk)[outputs]: New field.
  [arguments]: New field.
2015-04-08 16:02:33 +08:00
宋文武 20342b7e7e gnu: atk: Update to 2.16.0.
* gnu/packages/gtk.scm (atk): Update to 2.16.0.
2015-04-08 16:02:33 +08:00
宋文武 50cc7f41b9 gnu: at-spi2-core: Enable GObject introspection.
* gnu/packages/gtk.scm (at-spi2-core)[arguments]: Add #:make-flags.
  [native-inputs]: Add gobject-introspection.
2015-04-08 16:02:33 +08:00
宋文武 c6a552daea gnu: at-spi2-core: Propagate inputs dbus and glib.
* gnu/packages/gtk.scm (at-spi2-core): Move dbus and glib to
  'propagated-inputs'.
2015-04-08 16:02:33 +08:00
宋文武 af10867745 gnu: at-spi2-core: Enable tests.
* gnu/packages/gtk.scm (at-spi2-core)[arguments]: Remove #:tests? #f.
  Add #:phases.
2015-04-08 16:02:33 +08:00
宋文武 0c75803b7c gnu: at-spi2-core: Update to 2.16.0.
* gnu/packages/gtk.scm (at-spi2-core): Update to 2.16.0.
2015-04-08 16:02:33 +08:00
宋文武 6b1f238834 gnu: gtk+-2: Move html documentation to 'doc' output.
* gnu/packages/gtk.scm (gtk+-2)[outputs]: New field.
  [arguments]<#:configure-flags>: Add '--with-html-dir'.
2015-04-08 16:02:32 +08:00
宋文武 dfbce50cdf gnu: gtk+-2: Add more inputs.
* gnu/packages/gtk.scm (gtk+-2)[inputs]: Add cups, libxcomposite,
  libxcursor, libxdamage, libxi, libxinerama and libxrandr.
  [native-inputs]: Add gettext.
  [arguments]: Add #:configure-flags.
2015-04-08 16:02:32 +08:00
宋文武 674fca0e41 gnu: gtk+-2: Update to 2.24.27.
* gnu/packages/gtk.scm (gtk+-2): Update to 2.24.27.
2015-04-08 16:02:32 +08:00
Ricardo Wurmus de4b3828ca gnu: julia: Pass MARCH make flag.
* gnu/packages/julia.scm (julia)[arguments]: Pass "MARCH" flag for supported
  architectures.
2015-04-08 09:29:38 +02:00
Ricardo Wurmus 9e54e957f9 gnu: julia: Mark as unsupported on ARM and MIPS.
* gnu/packages/julia.scm (julia): Add 'supported-systems' field.
2015-04-08 09:29:31 +02:00
宋文武 60950faa0e gnu: wavpack: Fix wavpack.pc by passing '--libdir' to `configure'.
* gnu/packages/audio.scm (wavpack)[arguments]: New field.
2015-04-08 09:48:35 +08:00
Ludovic Courtès 225dafdee7 doc: Refer to "Substitutes" from "Setting Up the Daemon".
Suggested by Mark H Weaver.

* doc/guix.texi (Setting Up the Daemon): Add xref to "Substitutes".
2015-04-07 22:58:31 +02:00
Ludovic Courtès 60142854af doc: Mention the relation between module names and file names.
* doc/guix.texi (Package Modules): Mention the relation between module
  names and file names.
2015-04-07 22:53:06 +02:00
Ludovic Courtès 391bdd8f7f doc: Mention that the current generation is not deleted.
* doc/guix.texi (Invoking guix package): Mention that the current
  generation is not deleted.  This is a followup to d26eb84.
2015-04-07 22:47:32 +02:00
Ludovic Courtès 4ae7559fd6 gnu: Emit a warning when a package module cannot be loaded.
* guix/ui.scm (warn-about-load-error): New procedure.
* gnu/packages.scm (package-modules): Wrap 'resolve-interface' call in
  'catch #t', and call 'warn-about-load-error' in handler.
2015-04-07 22:28:36 +02:00
Ludovic Courtès 1151f6aeae ui: Add 'report-load-error'.
* guix/scripts/system.scm (read-operating-system): Replace error
  handling code by a call to 'report-load-error'.
* guix/ui.scm (report-load-error): New procedure.
2015-04-07 22:28:36 +02:00
Ludovic Courtès c8bfa5b425 gnu: Change ld-wrapper extension from .scm to .in.
* gnu/packages/ld-wrapper.scm: Rename to...
* gnu/packages/ld-wrapper.in: ... this.
* gnu/packages/base.scm (make-ld-wrapper): Adjust "wrapper" input
  accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove ld-wrapper.scm.
  (MISC_DISTRO_FILES): New variable.
2015-04-07 22:28:36 +02:00
Ludovic Courtès dfc8bb2071 gnu: gcc: Disable RUNPATH validation for native builds.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Pass
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Override
  #:validate-runpath? with 'substitute-keyword-arguments'.
  (gcc-final)[arguments]: Likewise.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise.
2015-04-07 22:28:36 +02:00
Ludovic Courtès 71b6716814 gnu: ld-wrapper: Add 'GUIX_LD_WRAPPER_DISABLE_RPATH' environment variable.
* gnu/packages/ld-wrapper.scm (%disable-rpath?): New variable.
  (rpath-arguments): Honor it.
2015-04-07 22:28:36 +02:00
Ludovic Courtès 51d0cd9b38 gnu: ld-wrapper: Add '-rpath' flag only for libraries that are in the store.
This avoids adding bogus entries to the RUNPATH of installed binaries,
pointing to the build directory or similar.

* gnu/packages/ld-wrapper.scm (store-file-name?): New procedure.
  (rpath-arguments): Add "-rpath" flag on when FILE matches
  'store-file-name?', not when it matches 'pure-file-name?'.
2015-04-07 22:28:35 +02:00
Ludovic Courtès 41fc0eb900 gnu: ld-wrapper: Extract symlink dereferencing.
* gnu/packages/ld-wrapper.scm (readlink*, dereference-symlinks): New
  procedures.
  (pure-file-name?): Use it instead of local loop.
2015-04-07 22:28:35 +02:00
Mark H Weaver 710b4928c8 gnu: kbd: Update to 2.0.2.
* gnu/packages/linux.scm (kbd): Update to 2.0.2.
2015-04-07 13:18:53 -04:00
Ricardo Wurmus 2c0499ad87 gnu: Add python-drmaa.
* gnu/packages/python.scm (python-drmaa, python2-drmaa): New variables.
2015-04-07 10:51:21 +02:00
Ricardo Wurmus c267cc1578 gnu: Add Solfege.
* gnu/packages/music.scm (solfege): New variable.
2015-04-07 08:34:09 +02:00
Ricardo Wurmus fda85ca67d gnu: Add Csound.
* gnu/packages/audio.scm (csound): New variable.
2015-04-07 08:34:01 +02:00
宋文武 3f7bf86a71 gnu: Add libiec61883.
* gnu/packages/linux.scm (libiec61883): New variable.
2015-04-07 13:25:23 +08:00
Mark H Weaver d70a4a5e87 gnu: apl: Update to 1.5.
* gnu/packages/apl.scm (apl): Update to 1.5.
2015-04-06 22:24:15 -04:00
Mark H Weaver ff03ef0b3a gnu: parallel: Update to 20150322.
* gnu/packages/parallel.scm (parallel): Update to 20150322.
2015-04-06 22:24:15 -04:00
宋文武 6e1bb64201 gnu: Add libsoup.
* gnu/packages/gnome.scm (libsoup): New variable.
2015-04-07 10:17:52 +08:00
Mark H Weaver bb146db14f gnu: dbus: Update to 1.8.16.
* gnu/packages/glib.scm (dbus): Update to 1.8.16.
2015-04-06 22:12:25 -04:00
Mark H Weaver 1e44ebcc83 gnu: gnutls: Update to 3.3.14.
* gnu/packages/gnutls.scm (gnutls): Update to 3.3.14.
2015-04-06 21:55:00 -04:00
Andy Wingo 31b254a324 gnu: gtk+: Update to 3.16.0.
* gnu/packages/gtk.scm (gtk+): Update to 3.16.0.  Add libepoxy to
  propagated-inputs.  Add gettext to native-inputs.  Add a 'pre-configure'
  phase instead of modifying the existing 'configure' phase.  Fix references
  to 'gtk-update-icon-cache' in Makefile.in files.

Co-Authored-By: Mark H Weaver <mhw@netris.org>
2015-04-06 18:11:05 -04:00
Andy Wingo 131ddf991f gnu: Add libepoxy.
* gnu/packages/gl.scm (libepoxy): New variable.

Modified-By: Mark H Weaver <mhw@netris.org>
2015-04-06 18:11:05 -04:00
Andy Wingo d16c9fd80f gnu: Paper over a build circularity problem.
A forthcoming gtk+ update that will import (gnu packages gl) from
(gnu packages gtk) triggers an issue related to circular dependencies
between modules.  This patch works around the issue.

* gnu/packages/sdl.scm: Remove the #:prefix from the (gnu packages fontutils)
  import, and instead #:hide 'freetype' from the (guix licenses) import.

Modified-By: Mark H Weaver <mhw@netris.org>
2015-04-06 17:48:00 -04:00
Ludovic Courtès 347f54ed33 utils: 'find-files' does not follow symlinks by default.
Fixes <http://bugs.gnu.org/20081>.
Reported by Tomáš Čech <sleep_walker@suse.cz>.

* guix/build/utils.scm (find-files): Add #:stat parameter.  Pass it as
  last argument to 'file-system-fold'.
2015-04-06 23:09:54 +02:00
Ludovic Courtès 3107bef832 nls: Add Danish translation.
* po/guix/da.po: New file.
* po/guix/LINGUAS: Add 'da'.
2015-04-06 22:06:12 +02:00
Ludovic Courtès 57b8623754 tests: Move 'guix package' tests that require networking to a separate file.
* tests/guix-package.sh (shebang_not_too_long): Remove.
  Move everything below "if [networking + shebang_not_too_long]" to...
* tests/guix-package-net.sh: ... here.  New file.
* Makefile.am (SH_TESTS): Add it.
2015-04-06 21:52:40 +02:00
Ludovic Courtès 250bc998ac guix package: Avoid 'exit' calls in 'delete-matching-generations'.
* guix/scripts/package.scm (delete-matching-generations): Remove call to
  'exit' when PATTERN is "0".  Call 'leave' instead of 'exit'
  when (null-list? number).
2015-04-06 21:27:35 +02:00
Ludovic Courtès d26eb84d14 guix package: Never remove the current generation and warn about it.
Fixes <http://bugs.gnu.org/19978>.
Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).

* guix/scripts/package.scm (delete-matching-generations): Warn when
  CURRENT is in NUMBERS, and always remove it before calling
  'delete-generations'.
* tests/guix-package.sh: Add --switch-generation=2 invocation before
  --delete-generations=3 invocation.
  Add --delete-generations=1.. test case.
2015-04-06 21:27:32 +02:00
Ludovic Courtès 381ac93b5e tests: Deal with 'mount-points' not returning "/".
Fixes <http://bugs.gnu.org/20261>.
Reported by Mark H Weaver <mhw@netris.org>.

* tests/syscalls.scm ("mount-points"): Check for a few other likely
  mount points in addition to "/".
2015-04-06 21:27:16 +02:00
Ludovic Courtès d45d8904b0 gnu: lsof: Add mirrors.
Reported by Tomáš Čech.

* gnu/packages/lsof.scm (lsof)[source]: Add two mirrors.
2015-04-06 20:50:35 +02:00
Ludovic Courtès 65d428d8f4 guix package: Move generation deletion to its own procedure.
* guix/scripts/package.scm (delete-matching-generations): New procedure,
  with code formerly found...
  (guix-package)[process-actions]: ... here.  Use it.
  Remove 'current-generation-number'.
2015-04-06 20:02:29 +02:00
Eric Bavier d507b277eb gnu: Perl GD: Add real patch.
Replaces the stub patch added in 43754738e0.

* gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch:
  Update patch.

43754738e0
2015-04-06 10:20:23 -05:00
Mark H Weaver e081385af2 gnu: linux-libre-headers: Update to 3.14.37.
* gnu/packages/linux.scm (linux-libre-headers): Update to 3.14.37.
2015-04-06 10:25:03 -04:00
Mark H Weaver 07d4d9b751 gnu: icecat: Fix source URI.
* gnu/packages/gnuzilla.scm (icecat)[source]: Fix source URI computation.
2015-04-06 09:47:40 -04:00
Federico Beffa b198545df6 build-system/gnu: Add docstring to 'delete-info-dir-file'.
* guix/build/gnu-build-system.scm (delete-info-dir-file): Add docstring.
2015-04-06 10:47:31 +02:00
Federico Beffa 26b261ecfe build-system/gnu: Add 'delete-info-dir-file' phase.
* guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure.
  (%standard-phases): Use it.
2015-04-06 10:22:21 +02:00
Mark H Weaver 7e84e1994a gnu: icecat: Update to 31.6.0-gnu1.
* gnu/packages/patches/icecat-CVE-2015-0801.patch,
  gnu/packages/patches/icecat-CVE-2015-0807.patch,
  gnu/packages/patches/icecat-CVE-2015-0815-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-0815-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-0815-pt3.patch,
  gnu/packages/patches/icecat-CVE-2015-0816.patch,
  gnu/packages/patches/icecat-CVE-2015-0817.patch,
  gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch,
  gnu/packages/patches/icecat-bug-1127780.patch,
  gnu/packages/patches/icecat-bug-1145870.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.6.0-gnu1.  Remove patches.
2015-04-06 02:14:27 -04:00
Mark H Weaver 2bb9b5de7d gnu: nss: Update to 3.18.
* gnu/packages/gnuzilla.scm (nss): Update to 3.18.  Compute source URI
  automatically based on version.
2015-04-05 23:04:03 -04:00
Mark H Weaver 5180717e64 Remove unused module import (gnu packages ed) from (gnu packages commencement).
* gnu/packages/commencement.scm: Remove (gnu packages ed) module import.
2015-04-05 23:03:42 -04:00
Mark H Weaver 8ba4dc6380 gnu: emacs: Add librsvg to inputs.
* gnu/packages/emacs.scm (emacs)[inputs]: Add librsvg.
  (emacs-no-x)[inputs]: Remove librsvg from inherited inputs.
2015-04-05 23:03:28 -04:00
Mark H Weaver 025523f1e4 gnu: linux-libre: Fix drm_wait_one_vblank warnings.
* gnu/packages/patches/linux-libre-vblank-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (linux-libre)[source]: Add patch.
2015-04-05 23:03:21 -04:00
宋文武 1b85e57f11 gnu: glib: Add search path specification for 'GIO_EXTRA_MODULES'.
* gnu/packages/glib.scm (glib): Add specification for 'GIO_EXTRA_MODULES'.
2015-04-05 21:17:03 -04:00
宋文武 f2ca414acb gnu: Add glib-networking.
* gnu/packages/gnome.scm (glib-networking): New variable.
2015-04-06 08:23:51 +08:00
Andy Wingo d8720c5045 gnu: cairo: Update to 1.14.2.
* gnu/packages/gtk.scm (cairo): Update to 1.14.2.
2015-04-05 18:22:23 -04:00
Andy Wingo 6e5c371306 gnu: glib: Update to 2.44.0.
* gnu/packages/glib.scm (glib): Update to 2.44.0.
2015-04-05 18:22:19 -04:00
Andy Wingo 4aaad09db1 gnu: gettext: Link explicitly to libexpat, again.
* gnu/packages/gettext.scm (gnu-gettext): Re-enable patch from
  0e4e4b1329 to explictly link to
  libexpat.  Otherwise libexpat was searched at runtime via dlopen,
  which obviously doesn't work in a Guix context.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-05 23:18:53 +02:00
Ludovic Courtès 29ec55ee27 gnu: util-linux: Install Bash completions under 'etc/bash_completion.d'.
* gnu/packages/linux.scm (util-linux)[arguments]: Pass
  --with-bashcompletiondir.
2015-04-05 23:18:19 +02:00
Ludovic Courtès e26d5076df linux-initrd: Add virtio drivers by default.
* gnu/system/linux-initrd.scm (base-initrd): Change #:virtio? default
  to #t.  This will facilitate the use of GuixSD in VM guests.
2015-04-05 23:15:20 +02:00
Ludovic Courtès bc45ceb5ff Add Andy to 'AUTHORS'. 2015-04-05 23:15:20 +02:00
Andy Wingo 0d275f4aa3 system: Take kernel modules from the user-specified kernel.
* gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to
  specify the linux kernel to use.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Propagate
  #:linux to base-initrd.
* gnu/system.scm (operating-system-initrd-file): Pass #:linux to
  'make-initrd'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-05 23:15:20 +02:00
David Thompson 59446b208c gnu: nginx: Clean up installation directories.
* gnu/packages/web.scm (nginx): Add 'fix-root-dirs' phase.
2015-04-05 16:13:29 -04:00
David Thompson a71c315bc2 gnu: nginx: Use modify-phases syntax.
* gnu/packages/web.scm (nginx): Use modify-phases syntax.
2015-04-05 13:06:24 -04:00
David Thompson e16fde1447 gnu: Add livestreamer.
* gnu/packages/video.scm (livestreamer): New variable.
2015-04-05 12:42:36 -04:00
David Thompson 0234ca06ce gnu: Add python-singledispatch.
* gnu/packages/python.scm (python-singledispatch, python2-singledispatch): New
  variables.
2015-04-05 12:42:36 -04:00
David Thompson ae64112828 gnu: python-requests: Fix Python 2 version and add support for Python 3.
* gnu/packages/python.scm (python-requests): New variable.
  (python2-requests): Generate based on Python 3 variant.
2015-04-05 12:38:48 -04:00
宋文武 121398e7d4 gnu: gnome-mines: Update to 3.16.0.
* gnu/packages/gnome.scm (gnome-mines): Update to 3.16.0.
2015-04-05 23:55:57 +08:00
宋文武 7211944a4f gnu: gsettings-desktop-schemas: Enable GObject introspection.
* gnu/packages/gnome.scm (gsettings-desktop-schemas)[native-inputs]:
  Add gobject-introspection.
2015-04-05 22:55:51 +08:00
宋文武 67bdcfbcc5 gnu: gsettings-desktop-schemas: Update to 3.16.0.
* gnu/packages/gnome.scm (gsettings-desktop-schemas): Update to 3.16.0.
2015-04-05 22:55:51 +08:00
Ludovic Courtès dacd5d2ca7 gremlin: Ignore non-store file names in RUNPATH and warn about them.
* guix/build/gremlin.scm (validate-needed-in-runpath)[runpath]:
  Add (filter absolute-file-name? ...).
  Emit a warning when RUNPATH file names that do not match
  'store-file-name?'.  Change format of error message to begin with file
  name.
* guix/build/utils.scm (store-file-name?): New procedure.
2015-04-05 15:40:48 +02:00
Ludovic Courtès 1d386b2d71 gnu: ghostscript: Add $libdir to the RUNPATH of executables.
Fixes <http://bugs.gnu.org/20050>.
Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).

* gnu/packages/patches/ghostscript-runpath.patch: New file.
* gnu/packages/ghostscript.scm (ghostscript)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2015-04-05 15:23:11 +02:00
Ludovic Courtès c17b2adf54 gnu: ghostscript: Use 'modify-phases'.
* gnu/packages/ghostscript.scm (ghostscript)[arguments]: Use
  'modify-phases' instead of a chain of 'alist-cons-after'.
2015-04-05 10:45:56 +02:00
Ludovic Courtès 85345684d6 gnu: ghostscript: Make sure phases don't fail.
* gnu/packages/ghostscript.scm (ghostscript)[arguments]: Wrap 'system*'
  calls in (zero? ...).
2015-04-05 10:44:02 +02:00
宋文武 6b2c6be0c3 gnu: Add aalib.
* gnu/packages/video.scm (aalib): New variable.
2015-04-05 11:52:41 +08:00
宋文武 01b90919ef gnu: Add WavPack.
* gnu/packages/audio.scm (wavpack): New variable.
2015-04-05 10:37:59 +08:00
宋文武 9d44ab95a6 gnu: Add libshout.
* gnu/packages/xiph.scm (libshout): New varibale.
2015-04-05 10:37:59 +08:00
宋文武 68e3c29d20 gnu: Add libavc1394.
* gnu/packages/linux.scm (libavc1394): New variable.
2015-04-05 10:37:59 +08:00
宋文武 0a588bf956 gnu: Add libraw1394.
* gnu/packages/linux.scm (libraw1394): New variable.
2015-04-05 10:37:59 +08:00
David Thompson 6ef1c223aa gnu: Add icecast.
* gnu/packages/xiph.scm (icecast): New variable.
2015-04-04 20:26:33 -04:00
Ludovic Courtès 3e462da5c1 gnu: openssl: Set appropriate RUNPATH on shared libraries.
Fixes <http://bugs.gnu.org/20041>.
Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).

* gnu/packages/patches/openssl-runpath.patch: New file.
* gnu/packages/openssl.scm (openssl)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2015-04-05 01:17:30 +02:00
David Thompson aff8ce7c74 scripts: Add 'publish' command.
* guix/scripts/publish.scm: New file.
* po/guix/POTFILES.in: Add it.
* tests/publish.scm: New file.
* Makefile.am (MODULES): Add script module.
  (SCM_TESTS): Add test module.
* doc/guix.texi ("Invoking guix publish"): New node.
2015-04-04 14:16:43 -04:00
David Thompson 533d1768f4 store: Add query-path-info operation.
* guix/store.scm (<path-info>): New record type.
  (read-path-info): New procedure.
  (read-arg): Add 'path-info' syntax.
  (query-path-info): New variable.
* tests/store.scm ("query-path-info"): New test.
2015-04-04 13:50:52 -04:00
David Thompson 4cd27cd60a gnu: node: Update to 0.12.2. 2015-04-04 13:48:17 -04:00
Andy Wingo 88f7066591 gnu: Add gnome-terminal.
* gnu/packages/gnome.scm (gnome-terminal): New variable.
2015-04-04 13:15:07 -04:00
Mark H Weaver 43754738e0 gnu: Perl GD: Add stub patch.
This is a temporary fix to enable hydra to complete evaluations, which were
broken by f7ee7a9b06 due to a missing patch
file.  The real patch will be put into place in a later commit.

* gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch:
  New file.  This is just a stub.
* gnu-system.am (dist_patch_DATA): Add it.
2015-04-04 11:15:30 -04:00
Mark H Weaver f905286b11 gnu: source-highlight: Remove obsolete patch.
This should have been done in a952b10c23.

* gnu/packages/patches/source-highlight-regexrange-test.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/pretty-print.scm (source-highlight)[source]: Remove patch.
2015-04-04 11:02:34 -04:00
Mark H Weaver 353fda815e gnu: ed: Update to 1.11.
* gnu/packages/ed.scm (ed): Update to 1.11.
2015-04-04 03:46:55 -04:00
Mark H Weaver a952b10c23 gnu: source-highlight: Update to 3.1.8.
* gnu/packages/pretty-print.scm (source-highlight): Update to 3.1.8.
2015-04-04 03:46:14 -04:00
Federico Beffa 14dfdf2e0e build-system: Add haskell-build-system.
* guix/build-system/haskell.scm: New file.
* guix/build/haskell-build-system.scm: New file.
* doc/guix.texi: Add section on 'haskell-build-system'.
2015-04-04 09:11:31 +02:00
Federico Beffa 5868a8bf9d gnu: ghc: Fix i686 build.
* gnu/packages/haskell.scm (ghc-bootstrap-7.8.4): Replace with ...
  (ghc-bootstrap-i686-7.8.4, ghc-bootstrap-x86_64-7.8.4): ... these.
  (ghc)[native-inputs]: Select the appropriate bootstrap.
2015-04-04 09:11:30 +02:00
Eric Bavier c985cfe624 gnu: Add Catalyst-View-JSON.
* gnu/packages/web.scm (perl-catalyst-view-json): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 419dd41152 gnu: Add Perl YAML.
* gnu/packages/perl.scm (perl-yaml): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 41778634e2 gnu: Add Test-YAML.
* gnu/packages/perl.scm (perl-test-yaml): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 0ca74e1d25 gnu: Add Test-Base.
* gnu/packages/perl.scm (perl-test-base): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 54268c43c9 gnu: Add Spiffy.
* gnu/packages/perl.scm (perl-spiffy): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 83261658fb gnu: Add Catalyst-View-Download.
* gnu/packages/web.scm (perl-catalyst-view-download): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 13b2552cdb gnu: Add Test-WWW-Mechanize-Catalyst.
* gnu/packages/web.scm (perl-test-www-mechanize-catalyst): New
  variable.
2015-04-04 00:46:04 -05:00
Eric Bavier bc834d7339 gnu: Add Text-CSV.
* gnu/packages/perl.scm (perl-text-csv): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier cbe8f0cdd6 gnu: Add Test-utf8.
* gnu/packages/perl.scm (perl-test-utf8): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier b902eb1ccd gnu: Add Catalyst-TraitFor-Request-ProxyBase.
* gnu/packages/web.scm (perl-catalyst-traitfor-request-proxybase): New
  variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 227687ae65 gnu: Add CatalystX-RoleApplicator.
* gnu/packages/web.scm (perl-catalystx-roleapplicator): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 107671a202 gnu: Add MooseX-RelatedClassRoles.
* gnu/packages/perl.scm (perl-moosex-relatedclassroles): New variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 996f41102f gnu: Add Catalyst-Plugin-StackTrace.
* gnu/packages/web.scm (perl-catalyst-plugin-stacktrace): New
  variable.
2015-04-04 00:46:04 -05:00
Eric Bavier 47533b6f69 gnu: Add Catalyst-Plugin-Session-Store-FastMmap.
* gnu/packages/web.scm (perl-catalyst-plugin-session-store-fastmmap): New
  variable.
2015-04-04 00:46:03 -05:00
Eric Bavier a1c9547f25 gnu: Add Cache-FastMmap.
* gnu/packages/perl.scm (perl-cache-fastmmap): New variable.
2015-04-04 00:46:03 -05:00
Eric Bavier be73447995 gnu: Add Catalyst-Plugin-Session-State-Cookie.
* gnu/packages/web.scm (perl-catalyst-plugin-session-state-cookie):
  New variable.
2015-04-04 00:46:03 -05:00
Eric Bavier 57c2680e5c gnu: Add Catalyst-Plugin-Captcha.
* gnu/packages/web.scm (perl-catalyst-plugin-captcha): New variable.
2015-04-04 00:46:03 -05:00
Eric Bavier d8ae0acc9a gnu: Add GD-SecurityImage.
* gnu/packages/gd.scm (perl-gd-securityimage): New variable.
2015-04-04 00:46:03 -05:00
Eric Bavier b56a918f77 gnu: Add PerlMagick.
* gnu/packages/imagemagick.scm (perl-image-magick): New variable.
2015-04-04 00:46:03 -05:00
Eric Bavier f7ee7a9b06 gnu: Add Perl GD.
* gnu/packages/gd.scm (perl-gd): New variable.
2015-04-04 00:46:03 -05:00
宋文武 4ec48644c3 gnu: gst-plugins-base: Enable GObjection introspection.
* gnu/packages/gstreamer.scm (gst-plugins-base): Add gobject-introspection
  to 'native-inputs'.
  [arguments]<#:phases>: Rename patch-test-pb-utils to patch.  Add
  (setenv "CC" "gcc") to patch phase.
2015-04-04 12:42:29 +08:00
宋文武 e9a8212959 gnu: gst-plugins-base: Move html documentation to 'doc' output.
* gnu/packages/gstreamer.scm (gstreamer)[outputs]: New field.
  [arguments]: Add #:configure-flags.
2015-04-04 12:42:28 +08:00
宋文武 34ff76fdd6 gnu: gst-plugins-base: Propagate input gstreamer.
* gnu/packages/gstreamer.scm (gst-plugins-base): Move "gstreamer" to
  'propagated-inputs'.
2015-04-04 12:42:28 +08:00
宋文武 2fb016b8f1 gnu: gstreamer: Move html documentation to 'doc' output.
* gnu/packages/gstreamer.scm (gstreamer)[outputs]: New field.
  [arguments]: Add #:configure-flags.
2015-04-04 12:42:28 +08:00
宋文武 0f998a140e gnu: gstreamer: Enable GObject introspection.
* gnu/packages/gstreamer.scm (gstreamer): Add gobject-introspection
  to 'native-inputs'.
  [arguments]: New field.
2015-04-04 12:42:28 +08:00
Ludovic Courtès 302393bc7c gnu: vte: Propagate GnuTLS.
* gnu/packages/gnome.scm (vte): Move GNUTLS from 'inputs' to
  'propagated-inputs'.  Suggested by 宋文武 <iyzsong@gmail.com>.
2015-04-03 23:27:21 +02:00
Andy Wingo 191e9b4e01 gnu: vte: Update to 0.40.0.
* gnu/packages/gnome.scm (vte): Update to 0.40.0.  Add 'inputs' field.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-03 23:24:41 +02:00
Andy Wingo 8b43df2b30 build-system/glib-or-gtk: Wrap libexec programs.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Also
  wrap binaries in libexec/, such as those launched by dbus services.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-03 23:24:01 +02:00
Ludovic Courtès 21cc905ac2 services: lsh: Change #:initialize? to default to #t.
* gnu/services/ssh.scm (lsh-service): Change #:initialize? to default
  to #t.
* doc/guix.texi (Using the Configuration System): Remove #:initialize? #t
  from example.
  (Networking Services): Adjust accordingly.
2015-04-03 22:58:49 +02:00
Ludovic Courtès 849eebbb38 ui: Recognize 'guix help'.
Suggested by Andy Wingo.

* guix/ui.scm (guix-main): Add "help" case.
2015-04-03 22:58:49 +02:00
Ludovic Courtès 4a740d0fec gnu: cross-base: Use an 'ld' wrapper also when cross-compiling.
* gnu/packages/base.scm (make-ld-wrapper): Add #:target parameter and
  honor it.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:phases]
  <make-cross-binutils-visible>: Refer to the ld wrapper.
  (cross-gcc)[native-inputs]: Add "ld-wrapper-cross".
2015-04-03 22:31:15 +02:00
David Thompson 7c3d72f22d gnu: Remove deleted patch file from build system.
* gnu-system.am (dist_patch_DATA): Remove 'gnu/packages/patches/librep-rules.mk.patch'.
2015-04-03 16:29:37 -04:00
Ludovic Courtès 9bab6bea86 gnu: ld-wrapper: Use a hard-coded self-reference instead of $0.
* gnu/packages/ld-wrapper.scm: Use @SELF@ instead of $0.  This is so
  that the .go file is found even when the wrapper is invoked via a
  symlink to it.
* gnu/packages/base.scm (make-ld-wrapper): Substitute @SELF@.
2015-04-03 22:28:06 +02:00
Ludovic Courtès 8fdd410160 gnu: Add 'make-ld-wrapper' procedure.
* gnu/packages/base.scm (make-ld-wrapper): New procedure.  Abstracted
  from...
* gnu/packages/commencement.scm (ld-wrapper-boot3): ... here.  Use it.
2015-04-03 22:28:04 +02:00
宋文武 c2a362be41 gnu: librep: Update to 0.92.5.
* gnu/packages/sawfish.scm (librep): Update to 0.92.5.
* gnu/packages/patches/librep-rules.mk.patch: Remove.
2015-04-03 23:36:05 +08:00
Alex Kost 946dc71f63 gnu: xorg: Add patch to fix sis driver crashes.
* gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch: New file.
* gnu/packages/xorg.scm (xf86-video-sis): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2015-04-03 15:21:12 +03:00
Alex Kost 0492f4a2b9 packages: Fix typo.
* gnu/packages.scm: Fix the name of an exported variable (%patch-path).
2015-04-03 15:20:44 +03:00
宋文武 dac354fe10 gnu: Add libinput.
* gnu/packages/freedesktop.scm (libinput): New variable.
2015-04-03 16:49:40 +08:00
Ludovic Courtès 9c4b6e5484 gnu: ncurses: Install terminfo files when cross-compiling.
* gnu/packages/ncurses.scm (ncurses): Remove 'cross-pre-install-phase'.
  When cross-compiling, it was leading to an empty $out/share/terminfo
  directory.
2015-04-02 22:25:55 +02:00
Ludovic Courtès c22eb9927f doc: Make it clear that store items must not be deleted by hand.
* doc/guix.texi (Invoking guix gc): Add that this is the only way to
  delete files.
2015-04-02 21:44:35 +02:00
Ludovic Courtès 1768213c0a doc: Remove bits about having to create /gnu/store manually.
* doc/guix.texi (Build Environment Setup): Remove bit about creating
  /gnu/store.  This is done automatically since 15ddeff.
2015-04-02 21:40:01 +02:00
Ludovic Courtès ae0bdd8189 gnu: libva: Fix 'license' field.
* gnu/packages/video.scm: Import (guix licenses) with the 'license:'
  prefix and adjust 'license' fields accordingly.  Fixes a bug whereby
  libva was referring to the 'expat' package instead of the 'expat'
  license.
2015-04-02 19:17:03 +02:00
Eric Bavier 0a74d78d43 gnu: Add Catalyst-Plugin-AccessLog.
* gnu/packages/web.scm (perl-catalyst-plugin-accesslog): New variable.
2015-04-02 10:40:35 -05:00
Eric Bavier c90361b322 gnu: Add DateTime.
* gnu/packages/perl.scm (perl-datetime): New variable.
2015-04-02 10:40:35 -05:00
Eric Bavier e210472d9f gnu: Add DateTime-Locale.
* gnu/packages/perl.scm (perl-datetime-locale): New variable.
2015-04-02 10:40:35 -05:00
Eric Bavier f12b77a82f gnu: Add DateTime-TimeZone.
* gnu/packages/perl.scm (perl-datetime-timezone): New variable.
2015-04-02 10:40:35 -05:00
Eric Bavier 66b9c74eb9 gnu: Add List-AllUtils.
* gnu/packages/perl.scm (perl-list-allutils): New variable.
2015-04-02 10:40:35 -05:00
Eric Bavier c16a204a7a gnu: Add Class-Singleton.
* gnu/packages/perl.scm (perl-class-singleton): New variable.
2015-04-02 10:40:34 -05:00
Eric Bavier 9473af1d2c gnu: Add Catalyst-DispatchType-Regex.
* gnu/packages/web.scm (perl-catalyst-dispatchtype-regex): New
  variable.
2015-04-02 10:40:34 -05:00
宋文武 488c34ece4 gnu: Add fcitx.
* gnu/packages/fcitx.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-04-02 17:54:57 +08:00
Ludovic Courtès 7e3c9f741b gnu: gcc: Fix libgcc_s directory in RUNPATH for cross-compiled binaries.
* gnu/packages/gcc.scm (gcc-4.7): Add 'libdir' procedure.  Use it to
  determine the right libdir, including when cross-compiling.  This
  fixes a bug whereby the RUNPATH of cross-compiled binaries would be
  set to $crossgcc/lib instead of $crossgcc/$triplet/lib.
  See <http://hydra.gnu.org/build/354389/nixlog/1/raw> for an example.
2015-04-02 10:26:15 +02:00
Mark H Weaver b7178dc45d gnu: icecat: Apply fixes for CVE-2015-{0801,0807,0815,0816}.
Actually, CVE-2015-0801 and CVE-2015-0816 were already patched in
4c153a9125, but the corresponding CVEs
were not yet announced.

* gnu/packages/patches/icecat-bug-1146339.patch: Rename to ...
* gnu/packages/patches/icecat-CVE-2015-0801.patch: ... this.
* gnu/packages/patches/icecat-bug-1144991.patch: Rename to ...
* gnu/packages/patches/icecat-CVE-2015-0816.patch: ... this.
* gnu/packages/patches/icecat-CVE-2015-0807.patch,
  gnu/packages/patches/icecat-CVE-2015-0815-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-0815-pt2.patch,
  gnu/packages/patches/icecat-CVE-2015-0815-pt3.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them, and adapt to renamed files.
* gnu/packages/gnuzilla.scm (icecat): Add patches, and adapt to renamed files.
2015-04-02 01:42:46 -04:00
Ludovic Courtès c2366e3ce4 gnu: commencement: Turn off RUNPATH checks for 'gcc-final'.
* gnu/packages/commencement.scm (gcc-final)[arguments]: Add
  #:validate-runpath? #f.
2015-04-02 00:19:53 +02:00
Mark H Weaver 5fd5e83da6 gnu: linux-libre: Update to 3.19.3.
The changes to linux-libre-*.conf are by Jason Self <j@jxself.org>.

* gnu/packages/patches/linux-libre-libreboot-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (linux-libre): Update to version 3.19.3.
  Add patch.
* gnu/packages/linux-libre-i686.conf,
  gnu/packages/linux-libre-x86_64.conf: Update for 3.19.x.

Co-Authored-By: Jason Self <j@jxself.org>
2015-04-01 17:38:47 -04:00
Alex Kost 1bb76f7523 services: syslog-service: Add 'config-file' argument.
* gnu/services/base.scm (syslog-service): Add 'config-file' keyword
argument.
* doc/guix.texi (Base Services): Document it.
2015-04-01 20:54:37 +03:00
Ludovic Courtès 112da58875 build-system/gnu: Add 'validate-runpath' phase.
* guix/build/gnu-build-system.scm (every*, validate-runpath): New
  procedures.
  (%standard-phases): Add 'validate-runpath'.
* guix/build-system/gnu.scm (%gnu-build-system-modules): Add (guix build
  gremlin) and (guix elf).
  (gnu-build): Add #:validate-runpath?.
  [builder]: Pass it.
  (gnu-cross-build): Likewise.
* gnu/packages/base.scm (glibc)[arguments]: Add #:validate-runpath? #f.
2015-04-01 16:47:49 +02:00
Ludovic Courtès 4ba3a84d07 utils: Make the second 'find-files' argument optional.
* guix/build/utils.scm (find-files): Make 'pred' optional.
2015-04-01 15:43:54 +02:00
Ludovic Courtès 8ff3df5baa gnu: Refer to %GNU-BUILD-SYSTEM-MODULES instead of listing modules.
* gnu/packages/cdrom.scm (cdparanoia)[arguments]: Refer to
  %GNU-BUILD-SYSTEM-MODULES instead of providing the actual list.
* gnu/packages/emacs.scm (magit, emacs-w3m, emacs-wget, emms):
  Likewise.
* gnu/packages/haskell.scm (ghc): Likewise.
* gnu/packages/samba.scm (samba): Likewise.
* gnu/packages/video.scm (ffmpeg): Likewise.
2015-04-01 15:41:55 +02:00
Ludovic Courtès 8f3c3e84c2 gnu: Remove unneeded uses of #:imported-modules.
* gnu/packages/certs.scm (nss-certs)[arguments]: Remove
  #:imported-modules.
* gnu/packages/gnuzilla.scm (nss)[arguments]: Likewise.
* gnu/packages/texlive.scm (texlive-texmf)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfce)[arguments]: Likewise.
2015-04-01 15:39:47 +02:00
Ludovic Courtès bb42c78a23 build-system: Factorize the list of modules imported on the build side.
* guix/build-system/gnu.scm (%default-modules): Rename to...
  (%gnu-build-system-modules): ... this.
  (%default-modules): New variable.
  (dist-package, gnu-build): Use %GNU-BUILD-SYSTEM-MODULES for
  #:imported-modules.
  (gnu-cross-build): Likewise, and use %DEFAULT-MODULES for #:modules.
* guix/build-system/cmake.scm (%cmake-build-system-modules): New
  variable.
  (cmake-build): Use it for #:imported-modules.
* guix/build-system/glib-or-gtk.scm (%default-imported-modules): Rename
  to...
  (%glib-or-gtk-build-system-modules): ... this.  Refer to
  %GNU-BUILD-SYSTEM-MODULES.  Adjust uses.
* guix/build-system/perl.scm (%perl-build-system-modules): New
  variable.
  (perl-build): Use it for #:imported-modules.
* guix/build-system/python.scm (%python-build-system-modules): New
  variable.
  (python-build): Use it for #:imported-modules.
* guix/build-system/ruby.scm (%ruby-build-system-modules): New variable.
  (ruby-build): Use it for #:imported-modules.
* guix/build-system/waf.scm (%waf-build-system-modules): New variable.
  (waf-build): Use it for #:imported-modules.
2015-04-01 15:34:19 +02:00
Ludovic Courtès 7be8c63e0d gremlin: Guard against invalid ELF segments.
* guix/build/gremlin.scm (&elf-error, &invalid-segment-size): New error
  condition types.
  (dynamic-link-segment): Compare SEGMENT's offset + size to ELF's total
  size.
  (validate-needed-in-runpath): Wrap body in 'guard' form.
2015-04-01 14:17:39 +02:00
Ludovic Courtès d83ccc9b42 gremlin: Add libnsl to libc's library list.
* guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".
2015-04-01 13:46:01 +02:00
Ricardo Wurmus bfe3c68572 gnu: Add clustal omega.
* gnu/packages/bioinformatics.scm (clustal-omega): New variable.
2015-04-01 11:39:39 +02:00
Ricardo Wurmus 9495e73689 gnu: Add argtable.
* gnu/packages/popt.scm (argtable): New variable.
2015-04-01 11:39:33 +02:00
Ludovic Courtès ed835ad710 gnu: node: Remove unneeded import.
* gnu/packages/node.scm: Remove import of (guix build gnu-build-system).
2015-04-01 10:36:17 +02:00
Mark H Weaver f6e7e20b03 gnu: pulseaudio: Increase timeout on cpu-mix-test.
* gnu/packages/patches/pulseaudio-longer-test-timeout.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/pulseaudio.scm (pulseaudio)[source]: Add patch.
2015-04-01 03:33:46 -04:00
Ludovic Courtès 4c0d38bee3 gnu: Update bootstrap binaries for x86_64 and i686.
Fixes <http://bugs.gnu.org/19780>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* gnu/packages/bootstrap/i686-linux/bash,
  gnu/packages/bootstrap/i686-linux/mkdir,
  gnu/packages/bootstrap/i686-linux/tar,
  gnu/packages/bootstrap/i686-linux/xz,
  gnu/packages/bootstrap/x86_64-linux/bash,
  gnu/packages/bootstrap/x86_64-linux/mkdir,
  gnu/packages/bootstrap/x86_64-linux/tar,
  gnu/packages/bootstrap/x86_64-linux/xz: Update from
  <ftp://alpha.gnu.org:/gnu/guix/bootstrap/i686-linux/20131110/static-binaries.tar.xz>
  and
  <ftp://alpha.gnu.org:/gnu/guix/bootstrap/x86_64-linux/20131110/static-binaries.tar.xz>,
  respectively.  The libc in those binaries has no dynamic NSS support,
  which could otherwise lead to crashes when they tried to load NSS
  modules of the host system.
2015-03-31 23:07:17 +02:00
Ludovic Courtès 1968262a23 utils: 'find-files' takes an arbitrary predicate as its second argument.
* guix/build/utils.scm (file-name-predicate): New procedure.
  (find-files): Rename second parameter to 'pred'.  When 'pred' is not a
  procedure, call 'file-name-predicate'.  Use PRED instead of
  'regexp-exec' in the leaf procedure.
2015-03-31 22:55:41 +02:00
Ludovic Courtès f8503e2b25 utils: 'modify-phases' no longer introduces quotes.
Suggested by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>.

* guix/build/utils.scm (%modify-phases): Remove quotes.
* guix/build/cmake-build-system.scm (%standard-phases): Adjust
  accordingly.
* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
* guix/build/gnu-dist.scm (%dist-phases): Likewise.
* guix/build/perl-build-system.scm (%standard-phases): Likewise.
* guix/build/python-build-system.scm (%standard-phases): Likewise.
* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
* guix/build/waf-build-system.scm (%standard-phases): Likewise.
* gnu/packages/bash.scm, gnu/packages/code.scm, gnu/packages/gl.scm,
  gnu/packages/gnome.scm, gnu/packages/graphics.scm,
  gnu/packages/image.scm, gnu/packages/key-mon.scm,
  gnu/packages/ocr.scm, gnu/packages/plotutils.scm,
  gnu/packages/search.scm, gnu/packages/video.scm: Likewise.
2015-03-31 22:43:01 +02:00
Ludovic Courtès 023dd28a30 Merge branch 'master' into core-updates 2015-03-31 22:41:54 +02:00
Ludovic Courtès 15aa2c3842 Add (guix build gremlin).
* guix/build/gremlin.scm, tests/gremlin.scm: New files.
* Makefile.am (MODULES): Add guix/build/gremlin.scm.
  (SCM_TESTS): Add tests/gremlin.scm.
2015-03-31 22:23:57 +02:00
Ludovic Courtès 4e7b6b4838 tests: Fix module name for 'lint'.
* tests/lint.scm: Change module name to 'test-lint'.
2015-03-31 22:23:57 +02:00
Mark H Weaver fbbcf6989b gnu: xterm: Update to 317.
* gnu/packages/xorg.scm (xterm): Update to 317.
2015-03-31 14:30:38 -04:00
Ricardo Wurmus c5372108f2 gnu: pbtranscript-tofu: Add missing inputs.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu)[inputs]: Add missing
  runtime inputs.
2015-03-31 20:04:41 +02:00
Ricardo Wurmus 49261e45d8 gnu: pbtranscript-tofu: Delete pre-built libraries.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu)[arguments]: Delete
  "build" directory and any shared objects after unpacking.
2015-03-31 20:04:32 +02:00
Ricardo Wurmus 32f77c0445 gnu: Add python-networkx.
* gnu/packages/python.scm (python-networkx, python2-networkx): New variables.
2015-03-31 20:00:21 +02:00
Ricardo Wurmus 3cff95cbee gnu: Add python-decorator.
* gnu/packages/python.scm (python-decorator, python2-decorator): New
  variables.
2015-03-31 20:00:00 +02:00
Ricardo Wurmus de07c0db4a gnu: Add vcftools.
* gnu/packages/bioinformatics.scm (vcftools): New variable.
2015-03-31 17:43:52 +02:00
Ricardo Wurmus 8e913213d9 gnu: Add cutadapt.
* gnu/packages/bioinformatics.scm (cutadapt): New variable.
2015-03-31 17:38:56 +02:00
Taylan Ulrich Bayırlı/Kammer 9af288a680 gnu: ngircd: Fix test suite.
* gnu/packages/messaging.scm (ngircd): Overwrite getpid.sh with a more
  reliable version.
2015-03-31 16:16:53 +02:00
Ludovic Courtès f73b8e3d0a install: Create /var/tmp.
Suggested by Mark H Weaver <mhw@netris.org>.

* gnu/build/install.scm (directives): Add /var/tmp.
2015-03-31 13:59:37 +02:00
Ludovic Courtès e9f1fa39a2 gnu: Add missing copyright line.
* gnu/packages/graphics.scm: Add copyright line for 87bafa0.
2015-03-30 15:37:35 +02:00
Ludovic Courtès 96af558907 elf: Add missing argument in 'elf-segment'.
* guix/elf.scm (elf-segment): Add missing argument N.
2015-03-30 15:21:11 +02:00
Mark H Weaver a06af9f528 gnu: tzdata: Update to 2015b.
* gnu/packages/base.scm (tzdata): Update to 2015b.
2015-03-30 06:01:03 -04:00
Mark H Weaver 8d30be32fa Revert "gnu: tzdata: Update to 2015b."
This reverts commit 41fd23334d.
2015-03-30 06:00:14 -04:00
Taylan Ulrich Bayırlı/Kammer 147479c918 gnu: Add audacity.
* gnu/packages/audacity.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/patches/audacity-fix-ffmpeg-binding.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-03-30 11:47:33 +02:00
Taylan Ulrich Bayırlı/Kammer b47be0214d gnu: portaudio: Patch for Audacity compatibility.
* gnu/packages/audio.scm (portaudio): Add a patch for Audacity compatibility.
* gnu/packages/patches/portaudio-audacity-compat.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-03-30 11:47:33 +02:00
Mark H Weaver 41fd23334d gnu: tzdata: Update to 2015b.
* gnu/packages/base.scm (tzdata): Update to 2015b.
2015-03-30 05:34:24 -04:00
Mark H Weaver e930c2a350 gnu: liba52: Pass --build to configure.
* gnu/packages/video.scm (liba52)[arguments]: Pass --build to configure.
2015-03-29 21:36:31 -04:00
Mark H Weaver 18ad5bff7a gnu: xbindkeys: Pass --build to configure.
* gnu/packages/xdisorg.scm (xbindkeys)[arguments]: Pass --build to
  configure.
2015-03-29 21:35:24 -04:00
Ludovic Courtès 2242ff45fa gexp: Slightly simplify 'lower-inputs'.
* guix/gexp.scm (lower-inputs): Simplify first case by removing the
  'input' binding.
2015-03-29 22:23:33 +02:00
Ludovic Courtès d9ae938f2c gexp: Add 'local-file'.
* guix/gexp.scm (<local-file>): New record type.
  (local-file): New procedure.
  (local-file-compiler): New compiler.
  (gexp->sexp) <struct? thing>: Handle the case where 'lower' returns a
  file name.
  (text-file*): Update docstring.local-file doc
* tests/gexp.scm ("one local file", "gexp->derivation, local-file"): New
  tests.
* doc/guix.texi (G-Expressions): Mention local files early.  Document
  'local-file'.  Update 'text-file*' documentation.
2015-03-29 22:23:33 +02:00
Ludovic Courtès b39fc6f7bc doc: Update gexp wrt. extensibility.
This is a followup to bcb1328.

* doc/guix.texi (G-Expressions): Move paragraph about extensibility
  below.  Remove assumptions that things are either packages or
  derivations.
2015-03-29 22:23:33 +02:00
Eric Bavier 065b795497 gnu: Add tocc.
* gnu/packages/search.scm (libtocc, tocc): New variables.
2015-03-29 14:35:37 -05:00
Eric Bavier b4a9c92467 gnu: Add UnQLite.
* gnu/packages/databases.scm (unqlite): New variable.
2015-03-29 14:35:37 -05:00
Eric Bavier 3bfc99c74c gnu: Add Catch.
* gnu/packages/check.scm (catch-framework): New variable.
2015-03-29 14:28:11 -05:00
Jason Self 2babe98e4e gnu: linux-libre: Update to 3.18.10
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.10.
2015-03-28 19:26:02 -07:00
Taylan Ulrich Bayırlı/Kammer 1c1178cd17 gnu: Add mpv.
* gnu/packages/video.scm (mpv): New variable.
2015-03-27 19:39:31 +01:00
Taylan Ulrich Bayırlı/Kammer 6f6c8b6537 gnu: Add vapoursynth.
* gnu/packages/video.scm (vapoursynth): New variable.
2015-03-27 19:39:31 +01:00
Taylan Ulrich Bayırlı/Kammer d814be32d5 gnu: Add tesseract-ocr.
* gnu/packages/ocr.scm (tesseract-ocr): New variable.
2015-03-27 19:39:31 +01:00
Taylan Ulrich Bayırlı/Kammer 9e617a5419 gnu: Rename (gnu packages ocrad) to (gnu packages ocr).
* gnu/packages/ocrad.scm: Deleted.
* gnu/packages/ocr.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Change ocrad.scm to ocr.scm.
2015-03-27 19:39:31 +01:00
Taylan Ulrich Bayırlı/Kammer 894e2cba52 gnu: Add leptonica.
* gnu/packages/image.scm (leptonica): New variable.
2015-03-27 19:39:31 +01:00
Taylan Ulrich Bayırlı/Kammer 060ad3def4 gnu: Add libwebp.
* gnu/packages/image.scm (libwebp): New variable.
2015-03-27 19:39:31 +01:00
Taylan Ulrich Bayırlı/Kammer 9b5db9be7f gnu: freeglut: Add mesa to propagated inputs.
* gnu/packages/gl.scm (freeglut): Add mesa to propagated inputs.
2015-03-27 19:39:30 +01:00
Taylan Ulrich Bayırlı/Kammer ee3b55ea6d gnu: Add libva.
* gnu/packages/video.scm (libva): New variable.
2015-03-27 19:39:30 +01:00
Taylan Ulrich Bayırlı/Kammer 122c87ead0 Fix remaining references to "substitute-binary".
* nix/nix-daemon/guix-daemon.cc (main): Change substitute-binary to
  substitute.
* po/guix/POTFILES.in: Likewise.
* tests/guix-daemon.sh: Likewise.
* tests/guix-system.sh: Likewise.
2015-03-26 23:54:59 +01:00
Ludovic Courtès 6170834d47 gnu: glibc: Fix cross-compilation regression.
Fixes a regression introduced in 12b0dbd.
See <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00698.html>.

* gnu/packages/base.scm (glibc)[arguments] <pre-configure>: Add
  #:native-inputs parameter.  Look up "static-bash" first in INPUTS,
  then in NATIVE-INPUTS.
2015-03-26 23:09:35 +01:00
Tomáš Čech 24066017a9 gnu: wpa-supplicant: Install DBUS access configuration.
* gnu/packages/admin.scm (wpa-supplicant): Install DBUS configuration file.
2015-03-26 18:05:37 +01:00
Ludovic Courtès e1ac691dfa gnu: global: Update to 6.4.
* gnu/packages/code.scm (global): Update to 6.4.
2015-03-26 16:40:54 +01:00
Ludovic Courtès 9355498dd7 gnu: tor: Update to 0.2.5.11.
* gnu/packages/tor.scm (tor): Update to 0.2.5.11.
2015-03-26 16:40:54 +01:00
Ludovic Courtès 0afc0afede gnu: nano: Update to 2.4.0.
* gnu/packages/nano.scm (nano): Update to 2.4.0.
2015-03-26 16:40:54 +01:00
Alex Kost 52b76622e4 services: guix-service: Add service documentation.
* gnu/services/base.scm (guix-service): Add 'documentation' field to the
  service.
2015-03-26 15:49:03 +03:00
Alex Kost aa4ed92314 services: Add 'lirc-service'.
* gnu/services/lirc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Various Services): New node.  Document 'lirc-service'.
2015-03-26 15:47:40 +03:00
Alex Kost e768277168 gnu: Add LIRC.
* gnu/packages/lirc.scm: New file.
* gnu/packages/patches/lirc-localstatedir.patch: New file.
* gnu-system.am: Add them.
2015-03-26 15:47:39 +03:00
Ricardo Wurmus aad6f5bcda gnu: Add IBus.
* gnu/packages/ibus.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-26 09:07:44 +01:00
Ricardo Wurmus af5b817ea9 gnu: openblas: build for all supported CPUs.
* gnu/packages/maths.scm (openblas)[arguments]: Add "DYNAMIC_ARCH=1" to
  make flags.  Remove "#:substitutable? #f".
2015-03-26 07:54:55 +01:00
Mark H Weaver e4160d0585 gnu: openssh: Update to 6.8p1.
* gnu/packages/ssh.scm (openssh): Update to 6.8p1.  Make 'patch-tests'
  substitution more robust.
2015-03-25 23:10:46 -04:00
宋文武 a31a6d22d6 gnu: Add gnome-mines.
* gnu/packages/gnome.scm (gnome-mines): New variable.
2015-03-26 07:30:59 +08:00
Ludovic Courtès 12b0dbd472 gnu: cross-base: Make the libc static-bash bug more apparent.
The 'static-bash' input of cross libcs has always been compiled
natively.  This patch makes the issue more visible.

* gnu/packages/cross-base.scm (cross-libc): Add 'inputs' field, and
  add (package-inputs glibc) to 'native-inputs'.
2015-03-25 21:26:31 +01:00
Mark H Weaver 4c153a9125 gnu: icecat: Apply fixes for CVE-2015-{0817,0818} and other selected bugs.
* gnu/packages/patches/icecat-CVE-2015-0817.patch,
  gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch,
  gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch,
  gnu/packages/patches/icecat-bug-1127780.patch,
  gnu/packages/patches/icecat-bug-1144991.patch,
  gnu/packages/patches/icecat-bug-1145870.patch,
  gnu/packages/patches/icecat-bug-1146339.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat): Add patches.
2015-03-25 08:24:10 -04:00
Ludovic Courtès 25d5b708a6 Merge branch 'master' into core-updates 2015-03-25 10:52:52 +01:00
Ludovic Courtès 614c218842 substitute: Rename cache directory from "substitute-binary" to "substitute".
* guix/scripts/substitute.scm (%narinfo-cache-directory): Change
  "substitute-binary" to "substitute".
* tests/store.scm ("substitute query"): Likewise.
* tests/substitute.scm (call-with-narinfo): Likewise.
2015-03-25 10:46:22 +01:00
Ludovic Courtès 2c74fde00e Rename 'guix substitute-binary' to 'guix substitute'.
* guix/scripts/substitute-binary.scm: Rename to...
* guix/scripts/substitute.scm: ... this.  Adjust module name, entry
  point, comments, and help string accordingly.
* nix/scripts/substitute-binary.in: Rename to...
* nix/scripts/substitute.in: ... this.
* pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly.
* tests/substitute-binary.scm: Rename to...
* tests/substitute.scm: ... this.  Adjust references to (guix scripts
  substitute) accordingly.
* guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to
  "substitute".
* Makefile.am (MODULES, SCM_TESTS): Adjust to file renames.
* daemon.am (nodist_pkglibexec_SCRIPTS): Likewise.
* config-daemon.ac: Likewise.
* guix/tests.scm (call-with-derivation-narinfo): Adjust comments and
  docstring.
2015-03-25 10:46:22 +01:00
Ludovic Courtès c3a450fb49 derivations: 'substitution-oracle' now ignores sub-trees that are valid.
Before that, "guix build qt", when only qt itself is missing, would lead
'substitution-oracle' to call 'substitutable-paths' with 318 items.
Now, this is down to 6 items, because it doesn't ask about prerequisites
that are already valid.

* guix/derivations.scm (substitution-oracle)[valid-input?,
  dependencies]: New procedures.
  Use 'dependencies' and remove call to 'remove'.
2015-03-25 10:46:22 +01:00
Ludovic Courtès 3681db5d2c derivations: Add a 'cut?' parameter to 'derivation-prerequisites'.
* guix/derivations.scm (valid-derivation-input?): New procedure.
  (derivation-prerequisites): Add 'cut?' parameter and honor it.
* tests/derivations.scm ("derivation-prerequisites and
  derivation-input-is-valid?"): New test.
2015-03-25 10:46:22 +01:00
Mark H Weaver 1f43445745 gnu: python: Do not use patchelf.
* gnu/packages/python.scm (python-2): Add rpath for lib directory of output to
  LDFLAGS.  Remove 'patchelf' from inputs.  Remove #:modules and
  #:imported-modules from arguments.  Remove 'add-lib-to-runpath' phase.
  (python): Do not add #:modules to inherited package arguments.
2015-03-24 19:30:33 -04:00
Ludovic Courtès c7d1d88f6c derivations: Don't invoke the substituter when an item is already in store.
Fixes <http://bugs.gnu.org/20188>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/derivations.scm (substitution-oracle): Add 'valid?' procedure.
  Remove 'valid?' items from PATHS.
2015-03-24 23:22:23 +01:00
Eric Bavier 17287d7d47 packages: Add zip archive support to 'patch-and-repack'.
Fixes <http://bugs.gnu.org/19830>.

* guix/packages.scm (%standard-patch-inputs): Add "unzip".
  (patch-and-repack)[decompression-type]: Detect zip archive.
  [build]: Invoke "unzip" when appropriate.
2015-03-24 15:59:30 -05:00
Andreas Enge b655b2154c gnu: calibre: Add a patch to avoid automatic checking for updates.
* gnu/packages/patches/calibre-no-updates-dialog.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
* gnu/packages/ebook.scm (calibre): Use patch.
2015-03-24 20:35:37 +01:00
Ricardo Wurmus 2c16316ef4 gnu: Add pbtranscript-tofu.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu): New variable.
2015-03-24 16:59:47 +01:00
Ricardo Wurmus ad641d53de gnu: Add python2-bx-python.
* gnu/packages/bioinformatics.scm (python2-bx-python): New variable.
2015-03-24 15:00:09 +01:00
Ricardo Wurmus 19ee920144 gnu: Add python2-pbcore.
* gnu/packages/bioinformatics.scm (python2-pbcore): New variable.
2015-03-24 14:58:47 +01:00
Ludovic Courtès e2e21359c5 gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update.
2015-03-23 23:13:18 +01:00
Ludovic Courtès 9586011d08 gnu: geiser: Make description more concise and less personal.
* gnu/packages/emacs.scm (geiser)[description]: Tweak.
2015-03-23 22:28:49 +01:00
Ludovic Courtès 1f8ad12a9c gnu: geiser: Update to 0.7.
* gnu/packages/emacs.scm (geiser): Update to 0.7.
2015-03-23 22:28:49 +01:00
Ludovic Courtès cb043c2b13 substitute-binary: Remove thread-safe 'regexp-exec' wrapper.
* guix/scripts/substitute-binary.scm: Remove 'regexp-exec' setting.
2015-03-23 22:28:49 +01:00
Ludovic Courtès d3a652037e substitute-binary: Pipeline HTTP requests instead of using threads.
* guix/scripts/substitute-binary.scm (fetch-narinfo, %lookup-threads,
  n-par-map*): Remove.
  (narinfo-cache-file, cached-narinfo, cache-narinfo!, narinfo-request,
  http-multiple-get, read-to-eof, fetch-narinfos, lookup-narinfos,
  narinfo-from-file): New procedures.
  (lookup-narinfo): Rewrite in terms of 'lookup-narinfos'.
  (guix-substitute-binary): Use 'lookup-narinfos' instead of
  'lookup-narinfo'.
2015-03-23 22:28:49 +01:00
Ludovic Courtès 0561e9ae16 substitute-binary: Allow callers to specify the size of a narinfo.
* guix/scripts/substitute-binary.scm (read-narinfo): Add #:size
  parameter and honor it.
2015-03-23 22:28:49 +01:00
Mark H Weaver 87db65507e Remove unused patchelf inputs.
* gnu/packages/maths.scm (lapack, gmsh), gnu/packages/ssh.scm (libssh): Remove
  unused patchelf from native-inputs.
2015-03-23 13:30:06 -04:00
Ludovic Courtès 69383a4798 gnu: bigloo: Use Emacs with X11 support.
* gnu/packages/scheme.scm (bigloo)[inputs]: Change EMACS-NO-X to EMACS.
2015-03-23 15:18:06 +01:00
宋文武 07780c714e gnu: sdl: Explicitly use mesa as OpenGL driver.
* gnu/packages/sdl.scm (sdl)[arguments]<#:configure-flags>: Add
  'LDFLAGS=-lGL'.
2015-03-23 22:06:57 +08:00
宋文武 83bb3a3ee4 gnu: sdl: Allow dlopen for OpenGL.
Fixes a regression introduced in 666aa99.
Reported by Felipe López and David Thompson.

* gnu/packages/sdl.scm (sdl)[inputs]: Add glu.
  [arguments]<#:configure-flags>: Replace '--disable-sdl-dlopen' with
  '--disable-alsa-shared --disable-pulseaudio-shared --disable-x11-shared'.
2015-03-23 22:06:57 +08:00
Ricardo Wurmus ef5cbf9bae gnu: Add python-h5py and python2-h5py.
* gnu/packages/python.scm (python-h5py, python2-h5py): New variables.
2015-03-23 10:56:13 +01:00
Ricardo Wurmus aa5fac334f gnu: Add Julia.
* gnu/packages/julia.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-23 10:38:07 +01:00
Ricardo Wurmus 61a529b421 gnu: Add double-conversion.
* gnu/packages/maths.scm (double-conversion): New variable.
2015-03-23 10:38:06 +01:00
Ricardo Wurmus 2742f87e17 gnu: Add SuiteSparse.
* gnu/packages/maths.scm (suitesparse): New variable.
2015-03-23 10:19:45 +01:00
Ricardo Wurmus 6b2bad40fc gnu: icedtea6: remove commented substitution.
* gnu/packages/java.scm (icedtea6): Remove commented substitution.
2015-03-23 10:17:36 +01:00
Ricardo Wurmus 18f3c3209d gnu: icedtea6: Do not set CC and LD_LIBRARY_PATH.
* gnu/packages/java.scm (icedtea6)[arguments]: Do not set CC and
  LD_LIBRARY_PATH variables.
2015-03-23 10:17:36 +01:00
Ricardo Wurmus 3893c80a88 gnu: icedtea6: Rename ‘set-paths’ phase to ‘set-additional-paths’
* gnu/packages/java.scm (icedtea6)[arguments]: Rename ‘set-paths’ phase to
  ‘set-additional-paths’.
2015-03-23 10:17:36 +01:00
Ricardo Wurmus 4d80586aa5 gnu: icedtea6: patch patches in separate build phase.
* gnu/packages/java.scm (icedtea6)[arguments]: Move patching of patches from
  ‘patch-paths’ to new ‘patch-patches’ phase.
2015-03-23 10:17:36 +01:00
Ricardo Wurmus 6f27f3775e gnu: icedtea6: patch hardcoded objcopy path.
* gnu/packages/java.scm (icedtea6)[arguments]: patch Makefile to override
  DEF_OBJCOPY variable definition.
2015-03-23 10:17:35 +01:00
Ricardo Wurmus f9e62ad221 gnu: icedtea6: patch ant shebang in unpack phase
* gnu/packages/java.scm (icedtea6)[arguments]: patch bootstrap ant in the
  `unpack' phase instead of `patch-paths'.
2015-03-23 10:17:35 +01:00
Ricardo Wurmus e73b49fbd6 gnu: Add openblas.
* gnu/packages/maths.scm (openblas): New variable.
2015-03-23 10:08:28 +01:00
Ricardo Wurmus cd15ad828a gnu: Add utf8proc.
* gnu/packages/textutils.scm (utf8proc): New variable.
2015-03-23 10:07:56 +01:00
Ludovic Courtès 4d58122071 store: Default to a non-empty list of substituters.
Fixes <http://bugs.gnu.org/20163>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/store.scm (%default-substitute-urls): New variable.
  (set-build-options): Change default value of #:substitute-urls to
  %DEFAULT-SUBSTITUTE-URLS.
2015-03-22 23:43:25 +01:00
Ludovic Courtès 1123759b45 gexp: Fix handling of nativeness in nested gexps.
* guix/gexp.scm (gexp-inputs): Remove 'references' parameter; add
  #:native? and honor it.
  [add-reference-inputs]: Distinguish between native gexp inputs, and
  non-native gexp inputs.  Honor 'native?' field of list inputs.
* tests/gexp.scm ("ungexp + ungexp-native, nested"): New test.
2015-03-22 23:18:33 +01:00
Ludovic Courtès 607e1b51f4 gexp: Ignore nested gexps in macro expansion.
Before that, the 'references' and 'natives' or the outer gexp in an
expression like #~#+#~#$coreutils would include those of the inner
gexp.

* guix/gexp.scm (gexp)[collect-escapes]: Ignore everything below
  'ungexp-native' or 'ungexp-native-splicing'.
  [collect-native-escapes]: Ignore everything below 'ungexp' or
  'ungexp-splicing'.
2015-03-22 23:18:31 +01:00
Ludovic Courtès accb682c50 gexp: Allow <gexp-input> objects in #:allowed-references.
* guix/gexp.scm (lower-references): Add <gexp-input> case.
* tests/gexp.scm ("gexp->derivation #:allowed-references, specific
  output"): New test.
2015-03-22 23:18:30 +01:00
Ludovic Courtès 2924f0d6ce gexp: Add identity compiler for derivations.
* guix/gexp.scm (derivation-compiler): New procedure.
  (lower-inputs): Remove 'derivation?' case.
  (gexp-inputs)[add-reference-inputs]: Likewise.
  (gexp->sexp)[reference->sexp]: Likewise.
2015-03-22 23:18:28 +01:00
Tomáš Čech a9a8f0637d Revert "gnu: Add sdcv."
This reverts commit 004eb31859.
2015-03-22 22:08:50 +01:00
Tomáš Čech d13586bfe4 gnu: Add the-silver-searcher.
* gnu/packages/code.scm (the-silver-searcher): New variable.
2015-03-22 22:04:31 +01:00
Taylan Ulrich Bayırlı/Kammer 38829eac4b gnu: Add mplayer2.
* gnu/packages/video.scm (mplayer2): New variable.
* gnu/packages/patches/mplayer2-theora-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-03-22 21:59:37 +01:00
Ricardo Wurmus 9d297fae5f gnu: gtk+-2: build gobject introspection typelib file.
* gnu/packages/gtk.scm (gtk+-2): add `gobject-introspection' to the
  native-inputs to install typelib file.
2015-03-21 20:24:31 -04:00
Ludovic Courtès a158484db4 packages: Make sure the patch inputs are not #f.
Fixes build issues whereby #:inputs would be #f.  See
<http://hydra.gnu.org/build/320333/nixlog/4/tail-reload>.

* guix/packages.scm (patch-and-repack): #:input defaults to #f.
  [lookup-input]: When INPUTS is #f, use (%standard-patch-inputs).
2015-03-21 22:07:16 +01:00
Ludovic Courtès ec3b1c575d gnu: Use 'glibc-utf8-locales-final' in the default patching inputs.
* gnu/packages/commencement.scm (glibc-utf8-locales-final): Make public.
* guix/packages.scm (%standard-patch-inputs): Use
  GLIBC-UTF8-LOCALES-FINAL instead of GLIBC-UTF8-LOCALES.
2015-03-21 21:58:04 +01:00
Mark H Weaver 3c76a81b94 gnu: openssl: Update to 1.0.2a.
* gnu/packages/openssl.scm (openssl): Update to 1.0.2a.
2015-03-21 16:32:17 -04:00
Andreas Enge e5ffe52cc7 gnu: calibre: Update to 2.22.0.
* gnu/packages/ebook.scm (calibre): Update to 2.22.0.
2015-03-21 20:33:22 +01:00
Ricardo Wurmus 0f49d7ba70 gnu: Add python2-pygobject.
* gnu/packages/glib.scm (python2-pygobject): New variable.
2015-03-20 22:51:33 +01:00
Ricardo Wurmus 594a362b04 gnu: python-pygobject: use home page of 3.x series.
* gnu/packages/glib.scm (python-pygobject)[home-page]: Use home page of the
  3.x series of the pygobject bindings instead of the home page for the 2.x
  bindings.
2015-03-20 22:51:25 +01:00
Ricardo Wurmus f6f499b37e gnu: lv2-mda-piano: change source URL.
* gnu/packages/audio.scm (lv2-mda-piano)[source]: Change URL of git
  repository to new upstream.
2015-03-20 22:48:42 +01:00
Ludovic Courtès 051edc95f1 guix package: '-s' sorts packages by name, then by version.
Before that it would sort them by name only, so the order in which two
packages with the same name but a different version would appear was
non-deterministic.

Reported by Tomáš Čech <sleep_walker@gnu.org>.

* guix/scripts/package.scm (find-packages-by-description)[version<?]:
  New variable.
  Change the 2nd argument to 'sort' to use 'string-compare' and resort
  to 'version<?' when P1 and P2 have the same name.
2015-03-20 22:07:28 +01:00
Ludovic Courtès 9eeb3d8c28 guix package: '-s' displays different packages that have the same location.
Before that, 'guix package -s foobarbaz' would display only one package
when several match but they have the same location (which is common when
using 'inherit'.)

The original rationale was given at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00280.html> but
it was arguably misguided because it led to "real" packages being
hidden.

Reported by Tomáš Čech <sleep_walker@gnu.org>.

* guix/scripts/package.scm (find-packages-by-description)[same-location?]:
  Remove.
  Remove call to 'delete-duplicates'.
2015-03-20 22:07:28 +01:00
Andreas Enge ac85b51521 gnu: arb: Update to 2.3.0.
* gnu/packages/algebra.scm (arb): Update to 2.3.0.
2015-03-20 20:39:03 +01:00
Eric Bavier bdec322363 gnu: Add Catalyst-Devel.
* gnu/packages/web.scm (perl-catalyst-devel): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier fda45480ab gnu: Add Module-Install.
* gnu/packages/perl.scm (perl-module-install): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier ff31136eda gnu: Add YAML-Tiny.
* gnu/packages/perl.scm (perl-yaml-tiny): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier 31831e565d gnu: perl-cpanel-json-xs: Move to (gnu packages perl).
* gnu/packages/web.scm (perl-cpanel-json-xs): Move this...
* gnu/packages/perl.scm: To here.
2015-03-20 14:22:37 -05:00
Eric Bavier 869ff43afd gnu: perl-json-maybexs: Move to (gnu packages perl).
* gnu/packages/web.scm (perl-json-maybexs): Move this...
* gnu/packages/perl.scm: To here.
2015-03-20 14:22:37 -05:00
Eric Bavier 09e02106f2 gnu: Add PAR-Dist.
* gnu/packages/perl.scm (perl-par-dist): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier 2cae038d15 gnu: Add Module-ScanDeps.
* gnu/packages/perl.scm (perl-module-scandeps): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier 686805ca2b gnu: Add Perl JSON.
* gnu/packages/perl.scm (perl-json): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier 1699b2d969 gnu: Add JSON-XS.
* gnu/packages/perl.scm (perl-json-xs): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier 2362b3e0d9 gnu: Add Types-Serialiser.
* gnu/packages/perl.scm (perl-types-serialiser): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier 4a402425e4 gnu: Add File-Remove.
* gnu/packages/perl.scm (perl-file-remove): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier d4b5a5fcfc gnu: Add Template-Toolkit.
* gnu/packages/perl.scm (perl-template-toolkit): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier c601fa16d3 gnu: Add Test-LeakTrace.
* gnu/packages/perl.scm (perl-test-leaktrace): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier b3d9779cc8 gnu: Add AppConfig.
* gnu/packages/perl.scm (perl-appconfig): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier a3fe280687 gnu: Add File-Copy-Recursive.
* gnu/packages/perl.scm (perl-file-copy-recursive): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier a833ab564a gnu: Add File-ChangeNotify.
* gnu/packages/perl.scm (perl-file-changenotify): New variable.
2015-03-20 14:22:37 -05:00
Eric Bavier 9f82ae8920 gnu: Add MooseX-Params-Validate.
* gnu/packages/perl.scm (perl-moosex-params-validate): New variable.
2015-03-20 14:22:36 -05:00
Eric Bavier b6fb9f2c27 gnu: Add MooseX-SemiAffordanceAccessor.
* gnu/packages/perl.scm (perl-moosex-semiaffordanceaccessor): New
  variable.
2015-03-20 14:22:36 -05:00
Eric Bavier 4cb5426ccf gnu: Add Catalyst-Plugin-Static-Simple.
* gnu/packages/web.scm (perl-catalyst-plugin-static-simple): New
  variable.
2015-03-20 14:22:36 -05:00
Eric Bavier 3044f7249c gnu: Add MIME-Types.
* gnu/packages/web.scm (perl-mime-types): New variable.
2015-03-20 14:22:36 -05:00
Eric Bavier 7c4eaa562d gnu: Add Catalyst-Plugin-ConfigLoader.
* gnu/packages/web.scm (perl-catalyst-plugin-configloader): New
  variable.
2015-03-20 14:22:36 -05:00
Eric Bavier cd39d814b1 gnu: Add Catalyst-Action-RenderView.
* gnu/packages/web.scm (perl-catalyst-action-renderview): New variable.
2015-03-20 14:22:36 -05:00
Eric Bavier c666dc3934 gnu: Add Data-Visitor.
* gnu/packages/perl.scm (perl-data-visitor): New variable.
2015-03-20 14:22:36 -05:00
Eric Bavier 2775b61b75 gnu: Add Tie-ToObject.
* gnu/packages/perl.scm (perl-tie-toobject): New variable.
2015-03-20 14:22:36 -05:00
Andreas Enge b42c8753d2 gnu: flint: Update to 2.4.5.
* gnu/packages/algebra.scm (flint): Update to 2.4.5.
2015-03-20 17:32:08 +01:00
Andreas Enge 480d19e6e0 gnu: arb: Propagate input flint.
* gnu/packages/algebra.scm (arb): Propagate input flint.
2015-03-20 16:49:30 +01:00
Andreas Enge df15d17d8d gnu: flint: Propagate inputs gmp and mpfr.
* gnu/packages/algebra.scm (flint): Propagate inputs gmp and mpfr.
2015-03-20 16:45:02 +01:00
Ludovic Courtès 2d1d2dd804 services: guix-service: Add 'lsof' and 'lsh' to guix-daemon's $PATH.
* gnu/services/base.scm (guix-service): Add #:lsof and #:lsh parameters.
  [start]: Pass #:environment-variables to 'make-forkexec-constructor'.
2015-03-19 23:15:50 +01:00
Ludovic Courtès 2d32d153a7 gnu: Use emacs-no-x when we just want to byte-compile code.
* gnu/packages/code.scm (cflow)[native-inputs]: Change EMACS to
  EMACS-NO-X.
* gnu/packages/databases.scm (recutils): Likewise.
* gnu/packages/emacs.scm (geiser, paredit, magit, emacs-w3m, emacs-wget,
  emms, bbdb): Likewise.
* gnu/packages/idutils.scm (idutils): Likewise.
* gnu/packages/mail.scm (mu): Likewise.
* gnu/packages/package-management.scm (guix-0.8.1): Likewise.
* gnu/packages/scheme.scm (bigloo): Likewise.
* gnu/packages/version-control.scm (vc-dwim): Likewise.
2015-03-19 23:15:50 +01:00
Ludovic Courtès 4fd540b7f0 gnu: Add emacs-no-x.
* gnu/packages/emacs.scm (emacs-no-x): New variable.
2015-03-19 23:15:50 +01:00
Ludovic Courtès fa275717d8 gnu: emacs: Change a couple of input labels.
* gnu/packages/emacs.scm (emacs)[inputs]: Change labels for LIBX11,
  LIBXFT, and LIBXPM, for consistency.
2015-03-19 23:15:50 +01:00
Ludovic Courtès ec0339cd42 doc: Add section about the test suite.
* doc/guix.texi (Running the Test Suite): New section.
2015-03-19 23:15:50 +01:00
Ludovic Courtès a5f6065910 gnu: emms: Fix incorrect substitution in emms-tag-editor.el.
* gnu/packages/emacs.scm (emms)[arguments] <configure>: Add missing
  quotes in mp3info substitution in emms-tag-editor.el.
2015-03-19 23:15:50 +01:00
Ludovic Courtès 0e991c25d6 build: Detect lack of guile.m4 at autoconf time.
* configure.ac: Add 'm4_pattern_forbid' invocation.
2015-03-19 23:15:50 +01:00
Eric Bavier f643a6e9d8 gnu: Add Catalyst-Model-DBIC-Schema.
* gnu/packages/web.scm (perl-catalyst-model-dbic-schema): New
  variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 4e4039e529 gnu: Add DBIx-Class-Cursor-Cached.
* gnu/packages/databases.scm (perl-dbix-class-cursor-cached): New
  variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 97c821e030 gnu: Add Cache-Cache.
* gnu/packages/perl.scm (perl-cache-cache): New variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 990e811c73 gnu: Add IPC-ShareLite.
* gnu/packages/perl.scm (perl-ipc-sharelite): New variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 2c157e8b21 gnu: Add Error.
* gnu/packages/perl.scm (perl-error): New variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 92503917f7 gnu: Add Tie-IxHash.
* gnu/packages/perl.scm (perl-tie-ixhash): New variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 040a52fd75 gnu: Add Catalyst-Component-InstancePerContext.
* gnu/packages/web.scm (perl-catalyst-component-instancepercontext):
  New variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 4306f28be5 gnu: Add MooseX-Types-LoadableClass.
* gnu/packages/perl.scm (perl-moosex-types-loadableclass): New
  variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 89a2aa366e gnu: Add CatalystX-Component-Traits.
* gnu/packages/web.scm (perl-catalystx-component-traits): New
  variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 66f1d8781b gnu: Add MooseX-Traits-Pluggable.
* gnu/packages/perl.scm (perl-moosex-traits-pluggable): New variable.
2015-03-19 16:43:31 -05:00
Eric Bavier 4b4fe57dc9 gnu: Add Catalyst-Plugin-Authentication.
* gnu/packages/web.scm (perl-catalyst-plugin-authentication): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 3d4644e434 gnu: Add Catalyst-Plugin-Session.
* gnu/packages/web.scm (perl-catalyst-plugin-session): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 152ce152b5 gnu: Add Object-Signature.
* gnu/packages/perl.scm (perl-object-signature): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 715a0c51bf gnu: Add Test-WWW-Mechanize-PSGI.
* gnu/packages/web.scm (perl-test-www-mechanize-psgi): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 0d991d2ced gnu: Add Test-WWW-Mechanize.
* gnu/packages/web.scm (perl-test-www-mechanize): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 0b1ed7258e gnu: Add WWW-Mechanize.
* gnu/packages/web.scm (perl-www-mechanize): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier c94c7eef11 gnu: Add HTTP-Server-Simple.
* gnu/packages/web.scm (perl-http-server-simple): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier ddc36cd880 gnu: Add HTML-Tree.
* gnu/packages/web.scm (perl-html-tree): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 0cd2ab3013 gnu: Add HTML-Lint.
* gnu/packages/web.scm (perl-html-lint): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier bab57fcda6 gnu: Add HTML-Form.
* gnu/packages/web.scm (perl-html-form): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 622d9adbd5 gnu: Add Carp-Assert-More.
* gnu/packages/perl.scm (perl-carp-assert-more): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier 207d9126aa gnu: Add Carp-Assert.
* gnu/packages/perl.scm (perl-carp-assert): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier ff80a4a7fc gnu: Add Test-LongString.
* gnu/packages/perl.scm (perl-test-longstring): New variable.
2015-03-19 16:43:30 -05:00
Eric Bavier aaef00bf9d gnu: Add Catalyst-Action-REST.
* gnu/packages/web.scm (perl-catalyst-action-rest): New variable.
2015-03-19 16:43:29 -05:00
Eric Bavier 5bb82fd0b4 gnu: Add URI-Find.
* gnu/packages/web.scm (perl-uri-find): New variable.
2015-03-19 16:43:29 -05:00
Tomáš Čech 9a5c4cd8b0 gnu: agg: Add explanatory comment to the patch.
* gnu/packages/patches/agg-am_c_prototype.patch: Add comment.
2015-03-19 22:29:35 +01:00
Taylan Ulrich Bayırlı/Kammer 0ff5e9e257 gnu: libxrandr: Propagate more inputs.
* gnu/packages/xorg.scm (libxrandr): Propagate libxrender, xproto, libx11.
2015-03-19 22:25:14 +01:00
Taylan Ulrich Bayırlı/Kammer 3e2570d837 gnu: mesa: Enable more optional features.
* gnu/packages/gl.scm (mesa): Enable DRM support of EGL, thread local storage
  in GLX, and off-screen rendering.
2015-03-19 17:20:59 +01:00
Taylan Ulrich Bayırlı/Kammer e682c327b1 gnu: mesa: Fix file names passed to dlopen(3).
* gnu/packages/gl.scm (mesa): Patch source files to make file names passed to
  dlopen(3) absolute.
2015-03-19 17:20:59 +01:00
Ricardo Wurmus a78f535d9a gnu: Add perl-svg.
* gnu/packages/perl.scm (perl-svg): New variable.
2015-03-19 14:51:34 +01:00
Tomáš Čech 285d8f0dca gnu: Add colordiff.
* gnu/packages/patchutils.scm (colordiff): New variable.
2015-03-19 14:50:07 +01:00
Ludovic Courtès 2a31e1dade ftp-client: Switch to binary mode before using the "SIZE" command.
* guix/ftp-client.scm (ftp-size): Add '%ftp-command' call.
2015-03-19 13:00:21 +01:00
Ludovic Courtès 661c99a434 lint: Report details about FTP errors.
* guix/scripts/lint.scm (probe-uri) <'ftp>: Pass more information about
  failures alongside 'ftp-response.
  (validate-uri) <ftp-response>: Handle it, and adjust "not reachable"
  message accordingly.
2015-03-19 13:00:21 +01:00
Ludovic Courtès 284fe31394 lint: Change misleading variable name.
* guix/scripts/lint.scm (probe-uri) <'ftp>: Rename 'port' to 'conn'.
2015-03-19 13:00:20 +01:00
Taylan Ulrich Bayırlı/Kammer c90a50eb68 gnu: Add mesa-utils.
* gnu/packages/gl.scm (mesa-utils): New variable.
(mesa-demos-source): New procedure.
2015-03-19 10:00:15 +01:00
Taylan Ulrich Bayırlı/Kammer 45191970b3 gnu: mesa: Propagate inputs libxshmfence and libxfixes.
* gnu/packages/gl.scm (mesa): Propagate inputs libxshmfence and libxfixes.
2015-03-19 10:00:15 +01:00
Taylan Ulrich Bayırlı/Kammer 3e71b9ffd6 gnu: mesa: Add input s2tc.
* gnu/packages/gl.scm (mesa): Add input s2tc, patch sources to make the
  reference to libtxc_dxtn.so absolute since it's passed to dlopen(3).
2015-03-19 10:00:15 +01:00
Taylan Ulrich Bayırlı/Kammer b021a2adeb gnu: Add s2tc.
* gnu/packages/gl.scm (s2tc): New variable.
(mesa-headers): New variable.
2015-03-19 10:00:15 +01:00
Taylan Ulrich Bayırlı/Kammer 0704788109 gnu: msmtp: Use mirror:// URI.
* gnu/packages/mail.scm (msmtp): Use a mirror:// URI for the source.
2015-03-19 09:59:51 +01:00
Taylan Ulrich Bayırlı/Kammer 6ea4b094e6 gnu: claws-mail: Use mirror:// URI.
* gnu/packages/mail.scm (claws-mail): Use a mirror:// URI for the source.
2015-03-19 09:59:51 +01:00
Taylan Ulrich Bayırlı/Kammer 0e259d7e50 gnu: procps: Explain why a mirror:// URI isn't used.
* gnu/packages/linux.scm (procps): Add a comment explaining why we don't use a
  mirror:// URI.
2015-03-19 09:59:51 +01:00
Taylan Ulrich Bayırlı/Kammer 104785238c gnu: lcms: Use mirror:// URI.
* gnu/packages/ghostscript.scm (lcms): Use a mirror:// URI for the source.
2015-03-19 09:59:51 +01:00
Taylan Ulrich Bayırlı/Kammer 6de9dc253d gnu: wxwidgets-2: Use mirror:// URI.
* gnu/packages/wxwidgets.scm (wxwidgets-2): Use a mirror:// URI for the
  source.
2015-03-19 09:59:51 +01:00
Taylan Ulrich Bayırlı/Kammer 8c056935e8 gnu: liba52: Fix source URI.
* gnu/packages/video.scm (liba52): Fix the source URI; SourceForge mirror URIs
  don't work for this project presumably because it's misconfigured.
2015-03-19 09:59:51 +01:00
Ludovic Courtès f222664058 substitute-binary: Fix recently-introduced regression.
* guix/scripts/substitute-binary.scm (%cache-url): Fix regression
  introduced in 41c45e7.
2015-03-18 22:55:54 +01:00
Ludovic Courtès cf87cc894d packages: Rewrite 'patch-and-repack' using gexps.
* guix/packages.scm (patch-and-repack): Remove 'store' parameter and
  change default value of #:inputs to (%standard-patch-inputs).
  [lookup-input, instantiate-patch]: New procedures.
  [patch-inputs]: Remove.
  [builder]: Rename to...
  [build]: ... this.  Use gexps instead of sexps.
  (patch-and-repack*): Remove.
  (origin->derivation): Use 'patch-and-repack' instead of
  'patch-and-repack*'.
* tests/packages.scm ("package-source-derivation,
  snippet")[source](snippet): Remove references to '%build-inputs' and
  '%outputs'.
2015-03-18 19:07:36 +01:00
Ludovic Courtès 381c540b93 Merge branch 'master' into core-updates 2015-03-18 18:11:02 +01:00
Ludovic Courtès f401b1e993 store: Remove debugging leftover.
* guix/store.scm (set-build-options): Remove leftover 'pk' call from
  41c45e7.
2015-03-18 18:10:16 +01:00
Ludovic Courtès 41c45e7863 store: Add preliminary support for client-supplied substitute URLs.
* guix/store.scm (set-build-options): Rename #:binary-caches to
  #:substitute-urls.  Actually pass it in 'pairs' under the
  "substitute-urls" key.
* guix/scripts/substitute-binary.scm (%cache-url): Add comment for
  "untrusted-substitute-urls".
2015-03-18 14:43:03 +01:00
Ludovic Courtès fc1ee09578 pk-crypto: Improve documentation of 'key-type'.
* guix/pk-crypto.scm (key-type): Improve docstring.
2015-03-18 14:43:03 +01:00
Tomáš Čech 87bafa07ae gnu: Add agg.
* gnu/packages/graphics.scm (agg): New variable.
* gnu/packages/patches/agg-am_c_prototype.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-03-18 11:53:05 +01:00
Alexander I.Grafov (Axel) ca0d2a637b gnu: Add xcape.
* gnu/packages/xdisorg.scm (xcape): New variable.
2015-03-17 20:31:19 -04:00
David Thompson 7578f6e32a build: ruby: Set $GEM_HOME that matches Ruby's $GEM_PATH.
* guix/build/ruby-build-system.scm (install): Ignore the Ruby patch version
  when creating $GEM_HOME.
2015-03-17 19:23:17 -04:00
Ludovic Courtès 5250a4f215 services: guix-service: Remove extraneous monadism.
* gnu/services/base.scm (guix-build-accounts): Remove unneeded
  'with-monad'.
  (guix-service): Adjust accordingly.
2015-03-17 22:25:55 +01:00
Ludovic Courtès ff40e9b7e5 gexp: Move the package and origin compilers to (guix packages).
From now own, (guix packages) depends on (guix gexps); it was the other
way around now.  This means that (guix packages) code can use gexps.

* guix/gexp.scm (origin-compiler, package-compiler): Remove.
  (default-guile-derivation): New procedure.
  (gexp->derivation): Use it instead of 'default-guile' +
  'package->derivation'.
* guix/packages.scm (default-guile-derivation): New procedure.
  (package-compiler, origin-compiler): New variables.
* doc/guix.texi (G-Expressions): Mention extensibility.
2015-03-17 22:25:55 +01:00
Ludovic Courtès 9d8100f4c7 packages: Move grafting parameter to (guix derivations).
* guix/packages.scm (%graft?, set-grafting): Move to...
* guix/derivations.scm: ... here.
2015-03-17 22:25:55 +01:00
Ludovic Courtès bcb1328763 gexp: Separate "compilers" for origins and packages from the core.
* guix/gexp.scm (<gexp-compiler>): New record type.
  (%gexp-compilers): New variable.
  (register-compiler!, lookup-compiler): New procedures.
  (define-gexp-compiler): New macro.
  (origin-compiler, package-compiler): New compilers.
  (lower-inputs): Remove clauses for 'origin?' and 'package?'.  Add
  clause with 'lookup-compiler' instead.
  (lower-references): Likewise.
  (gexp-inputs)[add-reference-inputs]: Likewise.
  (gexp->sexp)[reference->sexp]: Likewise.
2015-03-17 22:25:54 +01:00
Ludovic Courtès a482cfdcae gexp: Remove special meaning of forms (PACKAGE OUTPUT) in ungexp.
* guix/gexp.scm (gexp-inputs)[add-reference-inputs]: Remove clause for
  inputs of the form (PACKAGE OUTPUT).
  (gexp->sexp)[reference->sexp]: Likewise.
* tests/gexp.scm ("input list splicing"): Change 'list' to 'gexp-input'
  for glibc:debug.
  ("text-file*"): Likewise for %bootstrap-guile:out.
  ("input list splicing + gexp-input + ungexp-native-splicing"): Remove,
  now redundant.
2015-03-17 22:25:54 +01:00
Ludovic Courtès b4a4bec01a profiles: Use 'gexp-input' instead of two-element lists.
* guix/profiles.scm (package->manifest-entry): Use 'gexp-input' instead
  of two-element lists to denote specific package outputs.
  (manifest-inputs): Likewise.
  (profile-derivation)[info-dir]: Likewise.
2015-03-17 22:25:54 +01:00
Ludovic Courtès 0dbea56bbf gexp: Export 'gexp-input' constructor.
* guix/gexp.scm (<gexp-input>)[gexp-input]: Rename to...
  [%gexp-input]: ... this.  Adjust callers accordingly.
  (gexp-input): New procedure.
  (gexp-inputs)[add-reference-inputs]: When the input is a list, check
  whether each item is already 'gexp-input?' and to not rewrap those.
  (gexp-outputs)[add-reference-output]: Likewise.
  (gexp->sexp): Likewise.
* tests/gexp.scm ("input list splicing + gexp-input +
  ungexp-native-splicing"): New test.
2015-03-17 22:25:54 +01:00
Ludovic Courtès e39d146107 gexp: Add <gexp-input>.
* guix/gexp.scm (<gexp-input>): New record type.
  (gexp-inputs)[add-reference-inputs]: Adjust clauses to expect
  <gexp-input> objects.
  (gexp-outputs)[add-reference-output]: Likewise.
  (gexp->sexp)[reference->sexp]: Likewise.
  (canonicalize-reference): Remove.
  (gexp)[escape->ref]: Use 'gexp-input' for all the references.
  Remove use of 'canonicalize-reference'.
2015-03-17 22:25:54 +01:00
Ludovic Courtès 1e87da58a1 gexp: Rename <output-ref> to <gexp-output>.
* guix/gexp.scm (<output-ref>): Rename to...
  (<gexp-output>): ... this.  Adjust constructor/accessor names and
  users accordingly.
2015-03-17 22:25:54 +01:00
Ludovic Courtès 1f9760339e tests: Add an indirection for white-box testing.
* tests/gexp.scm (gexp-inputs, gexp-native-inputs, gexp-outputs,
  gexp->sexp): Make an indirection, to facilitate live testing with
  Geiser.
2015-03-17 22:25:54 +01:00
Eric Bavier 708155dfcb gnu: Add DBIx-Class-Schema-Loader.
* gnu/packages/databases.scm (perl-dbix-class-schema-loader): New variable.
2015-03-17 13:03:51 -05:00
Eric Bavier f3bbbb7361 gnu: Add String-ToIdentifier-EN.
* gnu/packages/language.scm (perl-string-toidentifier-en): New variable.
2015-03-17 13:03:51 -05:00
Eric Bavier ad0a50e3ad gnu: Add Text-Unidecode.
* gnu/packages/perl.scm (perl-text-unidecode): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 06f5001a5a gnu: Add String-CamelCase.
* gnu/packages/perl.scm (perl-string-camelcase): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier cfed969c73 gnu: Add Lingua-EN-Inflect-Phrase.
* gnu/packages/language.scm (perl-lingua-en-inflect-phrase): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier d7de088395 gnu: Add Lingua-EN-Tagger.
* gnu/packages/language.scm (perl-lingua-en-tagger): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 9766e4fef1 gnu: Add Lingua-Stem.
* gnu/packages/language.scm (perl-lingua-stem): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 2b83abae53 gnu: Add Text-German.
* gnu/packages/language.scm (perl-text-german): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 1f4b1129dc gnu: Add Snowball-Swedish.
* gnu/packages/language.scm (perl-snowball-swedish): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 1064abdc42 gnu: Add Snowball-Norwegian.
* gnu/packages/language.scm (perl-snowball-norwegian): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 30c400446c gnu: Add Lingua-Stem-Snowball-Da.
* gnu/packages/language.scm (perl-lingua-stem-snowball-da): New
  variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 95d2eec1a8 gnu: Add Lingua-Stem-Ru.
* gnu/packages/language.scm (perl-lingua-stem-ru): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 6afe59593b gnu: Add Lingua-Stem-It.
* gnu/packages/language.scm (perl-lingua-stem-it): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier df11e05241 gnu: Add Lingua-Stem-Fr.
* gnu/packages/language.scm (perl-lingua-stem-fr): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 9b446711e7 gnu: Add Lingua-PT-Stemmer.
* gnu/packages/language.scm (perl-lingua-pt-stemmer): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier f8f744a8d1 gnu: Add Memoize-ExpireLRU.
* gnu/packages/perl.scm (perl-memoize-expirelru): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 930768b3e4 gnu: Add Lingua-EN-Number-IsOrdinal.
* gnu/packages/language.scm (perl-lingua-en-number-isordinal): New
  variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 4812a813a2 gnu: Add Lingua-EN-Inflect-Number.
* gnu/packages/language.scm (perl-lingua-en-inflect-number): New
  variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 57ff0e04f1 gnu: Add Lingua-EN-Inflect.
* gnu/packages/language.scm (perl-lingua-en-inflect): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier 0c32bf0117 gnu: Add Lingua-EN-FindNumber.
* gnu/packages/language.scm (perl-lingua-en-findnumber): New variable.
2015-03-17 13:03:50 -05:00
Eric Bavier fc436dbaea gnu: Add Lingua-EN-Words2Nums.
* gnu/packages/language.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-17 13:03:49 -05:00
Eric Bavier 8ac8f1e0c9 gnu: Add Class-Unload.
* gnu/packages/perl.scm (perl-class-unload): New variable.
2015-03-17 13:03:13 -05:00
Eric Bavier 88884196f5 gnu: Add Test-Pod.
* gnu/packages/perl.scm (perl-test-pod): New variable.
2015-03-17 13:03:13 -05:00
Eric Bavier 26d427a5c1 gnu: Add MooseX-NonMoose.
* gnu/packages/perl.scm (perl-moosex-nonmoose): New variable.
2015-03-17 13:03:13 -05:00
Eric Bavier c7a47f5e32 gnu: Add MooseX-MarkAsMethods.
* gnu/packages/perl.scm (perl-moosex-markasmethods): New variable.
2015-03-17 13:03:13 -05:00
Eric Bavier e61fd0f048 gnu: Add DBIx-Class-IntrospectableM2M.
* gnu/packages/databases.scm (perl-dbix-class-introspectablem2m): New
  variable.
2015-03-17 13:03:13 -05:00
Eric Bavier 1846b423e2 gnu: Add Config-General.
* gnu/packages/perl.scm (perl-config-general): New variable.
2015-03-17 13:03:13 -05:00
Ludovic Courtès a29bfc28f0 gnu: Add BRDF Explorer.
* gnu/packages/graphics.scm (brdf-explorer): New variable.
2015-03-17 18:15:51 +01:00
Ludovic Courtès fdbb9ded00 licenses: Add the Ms-PL.
* guix/licenses.scm (ms-pl): New variable.
2015-03-17 18:15:51 +01:00
Tomáš Čech a0db8b4dcc gnu: agg: reverting commit d2c89faa88
commit was still missing gnu-system.am sections and added patches
2015-03-17 16:32:03 +01:00
Tomáš Čech 004eb31859 gnu: Add sdcv.
* gnu/packages/dictionaries.scm (sdcv): New variable.
2015-03-17 16:26:57 +01:00
Tomáš Čech d2c89faa88 gnu: Add agg.
* gnu/packages/graphics.scm (agg): New variable.
2015-03-17 16:26:57 +01:00
Ludovic Courtès b832c6e992 gnu: Add key-mon.
* gnu/packages/key-mon.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-17 13:49:18 +01:00
Ludovic Courtès 619936a4c8 gnu: Add python2-rsvg.
* gnu/packages/gnome.scm (python2-rsvg): New variable.
2015-03-17 13:49:18 +01:00
Ludovic Courtès db62afa55a gnu: Add python2-xlib.
* gnu/packages/python.scm (python2-xlib): New variable.
2015-03-17 13:49:18 +01:00
Ricardo Wurmus f767bccabf gnu: Add CUnit.
* gnu/packages/check.scm (cunit): New variable.
2015-03-17 12:30:50 +01:00
Ricardo Wurmus ddd82e0e76 gnu: Add MISO.
* gnu/packages/bioinformatics.scm (miso): New variable.
2015-03-17 12:29:58 +01:00
Ricardo Wurmus 9a8336d87b gnu: Add bwa.
* gnu/packages/bioinformatics.scm (bwa): New variable.
2015-03-17 12:29:51 +01:00
David Thompson 5762f3062c scripts: environment: Improve error messages.
* guix/scripts/environment.scm (guix-environment): Wrap procedure body with
  error handling form.
2015-03-16 19:42:54 -04:00
Ludovic Courtès 2f094a69f0 system: Skeleton '.bashrc' now exports the 'SHELL' variable.
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Export 'SHELL'.
2015-03-16 23:30:59 +01:00
Andreas Enge 0aa34e820c gnu: texlive: Make the package structure more modular.
* gnu/packages/texlive.scm (texlive-bin, texlive-texmf): New variables.
  The first one contains the binaries; the second one the texmf tree.
  (texlive): Drop output "data". Create the output "out" as the union
  of the suitable subdirectories of texlive-bin and texlive-texmf, and
  wrap the binaries, setting TEXMFCNF to the value corresponding to
  texlive-texmf.
2015-03-16 13:04:11 +01:00
Ludovic Courtès 576d38c846 gnu: pavucontrol: Work around segmentation fault.
* gnu/packages/patches/pavucontrol-sigsegv.patch: New file.
* gnu/packages/pulseaudio.scm (pavucontrol)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2015-03-15 23:38:45 +01:00
Ricardo Wurmus 1b6826d34a gnu: Add Lilypond.
* gnu/packages/music.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-15 17:04:04 +01:00
Ludovic Courtès 5a74d239bf pulseaudio: Update to 6.0; add dependency on eudev.
* gnu/packages/pulseaudio.scm (pulseaudio)[source]: Update to 6.0.
  [arguments]: Pass --with-udev-rules-dir.
  [inputs]: Add eudev.
2015-03-15 12:12:42 +01:00
Tomáš Čech 060e365a73 gnu: openconnect: Update to 7.05.
* gnu/packages/vpn.scm (openconnect): Update to 7.05, replace openssl with
  gnutls.
2015-03-14 23:00:07 +01:00
Tomáš Čech 2459141e4c gnu: Add tig.
* gnu/packages/version-control.scm (tig): New variable.
2015-03-14 22:56:58 +01:00
Tomáš Čech 1e74439973 gnu: bind-utils: Add new variable.
* gnu/packages/dns.scm (bind-utils): New variable.
2015-03-14 22:01:48 +01:00
Tomáš Čech 36fb36b551 gnu: Rename module dnsmasq to dns.
* gnu/packages/dnsmasq.scm: Rename to...
* gnu/packages/dns.scm: ... this.  Change module name accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Rename dnsmasq module to dns.
2015-03-14 21:59:24 +01:00
Eric Bavier 949f9aa100 gnu: c-reduce: Use llvm and clang 3.5.
* gnu/packages/debug.scm (c-reduce)[intputs]: Use llvm and clang 3.5.
2015-03-14 15:48:23 -05:00
Ludovic Courtès 166191b377 gnu: Update packages to use 'non-copyleft' instead of 'bsd-style'.
* gnu/packages/avr.scm, gnu/packages/compression.scm,
  gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm,
  gnu/packages/databases.scm, gnu/packages/firmware.scm,
  gnu/packages/flex.scm, gnu/packages/fontutils.scm,
  gnu/packages/gd.scm, gnu/packages/ghostscript.scm,
  gnu/packages/gnunet.scm, gnu/packages/graphics.scm,
  gnu/packages/hugs.scm, gnu/packages/image.scm,
  gnu/packages/linux.scm, gnu/packages/mail.scm,
  gnu/packages/maths.scm, gnu/packages/mit-krb5.scm,
  gnu/packages/python.scm, gnu/packages/rdf.scm,
  gnu/packages/ssh.scm, gnu/packages/tcl.scm,
  gnu/packages/xdisorg.scm, gnu/packages/xiph.scm,
  gnu/packages/yasm.scm, gnu/packages/zip.scm: Use 'non-copyleft'
  instead of 'bsd-style'.
2015-03-14 19:27:14 +01:00
Ludovic Courtès b3345dc41a licenses: Rename 'bsd-style' to 'non-copyleft'.
* guix/licenses.scm (bsd-style): Rename to...
  (non-copyleft): ... this.  Clarify docstring.
  (bsd-style): Introduce as an alias for 'non-copyleft'.
2015-03-14 19:27:13 +01:00
Andreas Enge c463dd4763 gnu: minetest: Swap input libjpeg-8 for current libjpeg-9.
* gnu/packages/games.scm (minetest): Swap input libjpeg-8 for current
  libjpeg-9.
2015-03-14 18:43:47 +01:00
Andreas Enge cd18ab1ff7 gnu: minetest: Update to 0.4.12.
* gnu/packages/games.scm (minetest, minetest-data): Update to 0.4.12.
2015-03-14 18:32:29 +01:00
Andreas Enge 109033563f gnu: minetest: Fix build with modified cmake build system.
* gnu/packages/games.scm (minetest)[arguments]: Instead of setting CPATH,
  which is no more used by the cmake build system since commit 0d6f936, set
  the include directories for irrlicht and curl directly via configure flags.
2015-03-14 18:22:25 +01:00
Andreas Enge c12efc72cf gnu: Add glm.
* gnu/packages/maths.scm (glm): New variable.

Co-authored-by: John Darrington <john@darrington.wattle.id.au>
2015-03-14 17:39:58 +01:00
Andreas Enge 1842a7cbc7 gnu: boost: Update to 1.57.0.
* gnu/packages/boost.scm (boost): Update to 1.57.0.
2015-03-14 17:14:25 +01:00
Andreas Enge 0d6f936036 gnu: cmake: Add CMAKE_PREFIX_PATH as a native search path, and drop
CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH from the cmake build system.

* gnu/packages/cmake.scm (cmake)[native-search-paths]: New field.
* guix/build/cmake-build-system.scm (configure): Drop environment variables
  CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH.
2015-03-14 16:06:55 +01:00
Andreas Enge 6abdad698b gnu: ffmpeg: Update to 2.6.
* gnu/packages/video.scm (ffmpeg): Update to 2.6.
2015-03-14 11:04:25 +01:00
Ricardo Wurmus 9de2e43cbe gnu: clalsadrv: Move snippet to build phase and set LIBDIR.
* gnu/packages/audio.scm (clalsadrv): Move snippet to build phase and set
  LIBDIR.
2015-03-13 21:45:15 +01:00
Ricardo Wurmus 9569dfc856 gnu: zita-alsa-pcmi: Move snippet to build phase and set LIBDIR.
* gnu/packages/audio.scm (zita-alsa-pcmi): Move snippet to build phase
  and set LIBDIR.
2015-03-13 21:45:08 +01:00
Eric Bavier feae339537 gnu: Add DBIx-Class.
* gnu/packages/databases.scm (perl-dbix-class): New variable.
2015-03-13 13:52:16 -05:00
Eric Bavier dd90952ebe gnu: Add SQL-Abstract.
* gnu/packages/databases.scm (perl-sql-abstract): New variable.
2015-03-13 13:52:16 -05:00
Eric Bavier f397c306e4 gnu: Add Text-Balanced.
* gnu/packages/perl.scm (perl-text-balanced): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 393ca94621 gnu: Add Scope-Guard.
* gnu/packages/perl.scm (perl-scope-guard): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 5a96dc03c7 gnu: Add Moo.
* gnu/packages/perl.scm (perl-moo): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 77917f67fd gnu: Add strictures.
* gnu/packages/perl.scm (perl-strictures): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 6e1bb8aab9 gnu: Add Role-Tiny.
* gnu/packages/perl.scm (perl-role-tiny): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 7c68c033f3 gnu: Add Import-Into.
* gnu/packages/perl.scm (perl-import-into): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 417e11bfaa gnu: Add Class-Method-Modifiers.
* gnu/packages/perl.scm (perl-class-method-modifiers): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 6ebe790bce gnu: Add Module-Find.
* gnu/packages/perl.scm (perl-module-find): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 2793480ed0 gnu: Add Hash-Merge.
* gnu/packages/perl.scm (perl-hash-merge): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier f8bde42f24 gnu: Add Data-Page.
* gnu/packages/perl.scm (perl-data-page): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 994fad660c gnu: Add Class-Accessor-Chained.
* gnu/packages/perl.scm (perl-class-accessor-chained): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier bfa3ad491c gnu: Add Data-Dumper-Concise.
* gnu/packages/perl.scm (perl-data-dumper-concise): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier f787e9fd4c gnu: Add Context-Preserve.
* gnu/packages/perl.scm (perl-context-preserve): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier d39e82548b gnu: Add Config-Any.
* gnu/packages/perl.scm (perl-config-any): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 42641c44a6 gnu: Add Class-C3-Componentised.
* gnu/packages/perl.scm (perl-class-c3-componentised): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 7a00ad4c22 gnu: Add Class-C3.
* gnu/packages/perl.scm (perl-class-c3): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 606f2f824c gnu: Add Algorithm-C3.
* gnu/packages/perl.scm (perl-algorithm-c3): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier ac42bfff8d gnu: Add Class-Accessor-Grouped.
* gnu/packages/perl.scm (perl-class-accessor-grouped): New variable.
2015-03-13 13:52:15 -05:00
Eric Bavier 448ebad1f6 gnu: Add Class-XSAccessor.
* gnu/packages/perl.scm (perl-class-xsaccessor): New variable.
2015-03-13 13:52:14 -05:00
Ricardo Wurmus 3edce2c9f9 gnu: libgnomeprint: adapt to newer freetype.
* gnu/packages/gnome.scm (freetype): Change "freetype" to "freetype2" in
  snippet.
2015-03-13 19:40:09 +01:00
宋文武 482dbe6a16 services: slim: Pass SESSION to ~/.xsession as "$1".
* gnu/services/xorg.scm (xinitrc)[builder]: Pass SESSION to ~/.xsession.
2015-03-13 22:57:22 +08:00
宋文武 e0b85670cf services: slim: Allow non-absolute path to be used as session command.
* gnu/services/xorg.scm (xinitrc)[builder]: Don't check the existence
  of COMMAND.  Only run ~/.xsession when it exists.
2015-03-13 22:56:40 +08:00
宋文武 4bd43bbe73 services: slim: Use /run/current-system/profile/share/xsessions as sessiondir.
* gnu/services/xorg.scm (<session-type>, %windowmaker-session-type)
  (%ratposion-session-type, %sawfish-session-type, %default-xsessions)
  (xsessions-directory): Remove.
  (slim-service): Remove #:sessions parameter.
  [slim.cfg]: Use /run/current-system/profile/share/xsessions as sessiondir.
* doc/guix.texi <X Window>: Adjust accordingly.
2015-03-13 22:40:57 +08:00
Andreas Enge 4e2f5b8f8f gnu: calibre: Update to 2.21.0.
* gnu/packages/ebook.scm (calibre): Update to 2.21.0.
2015-03-13 10:44:11 +01:00
Andreas Enge 97039f6ef2 gnu: Add vigra.
* gnu/packages/image.scm (vigra): New variable.

Co-authored-by: John Darrington <john@darrington.wattle.id.au>
2015-03-13 10:35:13 +01:00
Andreas Enge 12ed1216de gnu: hdf5: Add input zlib.
* gnu/packages/maths.scm (hdf5): Add input zlib.
2015-03-13 00:15:47 +01:00
Andreas Enge 40029cbe30 gnu: hdf5: Combine all outputs into one.
* gnu/packages/maths.scm (hdf5): Combine the outputs "out", "bin", "lib" and
  "include" into "out".
  (gmsh, octave): Adapt list of inputs.
2015-03-12 23:59:49 +01:00
Andreas Enge 97ffa451eb gnu: ffmpeg: Set LDFLAGS to -ldl.
* gnu/packages/video.scm (ffmpeg, ffmpeg-2.2): Set LDFLAGS to -ldl.
  This fixes a build failure of ffmpeg-2.2.
2015-03-12 23:49:50 +01:00
Ludovic Courtès b3976e72f4 gnu: skribilo: Add dependency on Ploticus.
* gnu/packages/skribilo.scm (skribilo)[inputs]: Add PLOTUTILS.
2015-03-12 22:52:18 +01:00
Ludovic Courtès 7d9e8c0857 gnu: guile-reader: Build with the C locale.
* gnu/packages/guile.scm (guile-reader)[arguments]: Add #:locale.
2015-03-12 22:52:18 +01:00
Ludovic Courtès 1d167b6e37 system: Add /etc/bashrc that loads bash-completion when available.
* gnu/system.scm (etc-directory)[profile]: Conditionally source
  /etc/bashrc.
  [bashrc]: New file.  Source bash_completion.sh when available.
2015-03-12 22:52:18 +01:00
Ludovic Courtès be3ed52d7b gnu: git: Install Bash completion as 'etc/bash_completion.d/git'.
* gnu/packages/version-control.scm (git)[arguments]
  <install-shell-completion>: Change "git.sh" to "git" as the completion
  module file name.
2015-03-12 22:52:18 +01:00
Ludovic Courtès 16629c8adf gnu: bash-completion: Search for completion modules in profiles.
* gnu/packages/patches/bash-completion-directories.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/bash.scm (bash-completion)[source]: Use it.
2015-03-12 22:52:18 +01:00
Alexander I.Grafov (Axel) cd9bc11273 system: Add fish, tcsh, and zsh to /etc/shells.
* gnu/system.scm (etc-directory)[shells]: Add fish, tcsh, and zsh file
  names to /etc/shells.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-03-12 22:52:18 +01:00
Alexander I.Grafov (Axel) 70408ccbe6 system: Remove duplicated line from export.
* gnu/system.scm (gnu system): Remove duplicate in
  exported names list.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-03-12 22:52:18 +01:00
Tomáš Čech 81ce19f452 gnu: Add isync.
* gnu/packages/mail.scm (isync): New variable.
2015-03-12 21:56:15 +01:00
Eric Bavier 91f0629934 gnu: Add Catalyst-Runtime.
* gnu/packages/web.scm (perl-catalyst-runtime): New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier 36a100a1d6 gnu: Add URI-ws.
* gnu/packages/web.scm (perl-uri-ws): New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier 7ffa58b304 gnu: Add Tree-Simple-VisitorFactory.
* gnu/packages/perl.scm (perl-tree-simple-visitorfactory): New
  variable.
2015-03-12 15:55:58 -05:00
Eric Bavier b9f6e75efc gnu: Add Tree-Simple.
* gnu/packages/perl.scm (perl-tree-simple): New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier e3ad9d64d6 gnu: Add Text-SimpleTable.
* gnu/packages/perl.scm (perl-text-simpletable): New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier 895046f935 gnu: Add String-RewritePrefix.
* gnu/packages/perl.scm (perl-string-rewriteprefix): New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier 317c4a1da8 gnu: Add Safe-Isa.
* gnu/packages/perl.scm (perl-safe-isa): New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier 64b16bf792 gnu: Add Plack-Test-ExternalServer.
* gnu/packages/web.scm (perl-plack-test-externalserver): New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier ca157ba9b8 gnu: Add Plack-Middleware-ReverseProxy.
* gnu/packages/web.scm (perl-plack-middleware-reverseproxy): New
  variable.
2015-03-12 15:55:58 -05:00
Eric Bavier 13e330be23 gnu: Add Plack-Middleware-RemoveRedundantBody.
* gnu/packages/web.scm (perl-plack-middleware-removeredundantbody):
  New variable.
2015-03-12 15:55:58 -05:00
Eric Bavier 03d874d069 gnu: Add Plack-Middleware-MethodOverride.
* gnu/packages/web.scm (perl-plack-middleware-methodoverride): New
  variable.
2015-03-12 15:55:58 -05:00
Eric Bavier acd1f73a26 gnu: Add Plack-Middleware-FixMissingBodyInRedirect.
* gnu/packages/web.scm (perl-plack-middleware-fixmissingbodyinredirect):
  New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 65b04b4a14 gnu: Add Path-Class.
* gnu/packages/perl.scm (perl-path-class): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 1e3a6eae99 gnu: Add MooseX-MethodAttributes.
* gnu/packages/perl.scm (perl-moosex-methodattributes): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier ffb2d0b42b gnu: Add MooseX-Types.
* gnu/packages/perl.scm (perl-moosex-types): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 40b2ea4c2c gnu: Add Carp-Clan.
* gnu/packages/perl.scm (perl-carp-clan): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 1a17aa2dc7 gnu: Add MooseX-Getopt.
* gnu/packages/perl.scm (perl-moosex-getopt): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 3fc65fd2c9 gnu: Add MooseX-Role-Parameterized.
* gnu/packages/perl.scm (perl-moosex-role-parameterized): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier bfcb13bc6a gnu: Add MooseX-Role-WithOverloading.
* gnu/packages/perl.scm (perl-moosex-role-withoverloading): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier ceb3b13830 gnu: Add namespace-autoclean.
* gnu/packages/perl.scm (perl-namespace-autoclean): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier eb81114cd2 gnu: Add aliased.
* gnu/packages/perl.scm (perl-aliased): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier dd34630f56 gnu: Add Getopt-Long-Descriptive.
* gnu/packages/perl.scm (perl-getopt-long-descriptive): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 5c2234f011 gnu: Add Params-Validate.
* gnu/packages/perl.scm (perl-params-validate): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 0c190411d8 gnu: Add Test-Trap.
* gnu/packages/perl.scm (perl-test-trap): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 7fc7903bb7 gnu: Add MooseX-Emulate-Class-Accessor-Fast.
* gnu/packages/perl.scm (perl-moosex-emulate-class-accessor-fast): New
  variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 11f4c54206 gnu: Add JSON-MaybeXS.
* gnu/packages/web.scm (perl-json-maybexs): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 95aa068e44 gnu: Add Test-Without-Module.
* gnu/packages/perl.scm (perl-test-without-module): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 1c48820ed6 gnu: Add Cpanel-JSON-XS.
* gnu/packages/web.scm (perl-cpanel-json-xs): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 89341090f0 gnu: Add common-sense.
* gnu/packages/perl.scm (perl-common-sense): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 724d222773 gnu: Add HTTP-Request-AsCGI.
* gnu/packages/web.scm (perl-http-request-ascgi): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier 8819f57bc1 gnu: Add Class-Accessor.
* gnu/packages/perl.scm (perl-class-accessor): New variable.
2015-03-12 15:55:57 -05:00
Eric Bavier f902e4bcc2 gnu: Add base.
* gnu/packages/perl.scm (perl-base): New variable.
2015-03-12 15:55:56 -05:00
Eric Bavier 84c2c6d633 gnu: Add Data-Dump.
* gnu/packages/perl.scm (perl-data-dump): New variable.
2015-03-12 15:55:56 -05:00
Eric Bavier fcf1043e56 gnu: Add Class-Date.
* gnu/packages/perl.scm (perl-class-date): New variable.
2015-03-12 15:55:56 -05:00
Eric Bavier 4abba47dc6 gnu: Add Class-C3-Adopt-NEXT.
* gnu/packages/perl.scm (perl-class-c3-adopt-next): New variable.
2015-03-12 15:55:56 -05:00
Eric Bavier 76b8b86c91 gnu: Add CGI-Struct.
* gnu/packages/web.scm (perl-cgi-struct): New variable.
2015-03-12 15:55:56 -05:00
Eric Bavier 0148aa55cf gnu: Add CGI-Simple.
* gnu/packages/web.scm (perl-cgi-simple): New variable.
2015-03-12 15:55:56 -05:00
Eric Bavier 19449405ac gnu: Add IO-stringy.
* gnu/packages/perl.scm (perl-io-stringy): New variable.
2015-03-12 15:55:56 -05:00
Eric Bavier 9acf97f2fb gnu: perl-uri: Update to 1.67.
* gnu/packages/web.scm (perl-uri): Update to 1.67.
  [source]: Update mirror uri.
  [home-page]: Point to distribution uri.
2015-03-12 15:55:56 -05:00
Eric Bavier d845027209 gnu: perl-http-message: Propagate all inputs.
* gnu/packages/web.scm (perl-http-message)[inputs]: Move all to...
  [propagate-inputs]: Here.
2015-03-12 15:55:56 -05:00
Taylan Ulrich Bayırlı/Kammer 2d8288040b gnu: samba: Augment dynamic library rpaths.
* gnu/packages/samba.scm (samba): Augment the rpath of files in lib/ in
  addition to those in bin/ and sbin/.
2015-03-12 21:40:55 +01:00
Ludovic Courtès 8c9653b373 build-system/python: Delay evaluation of the 'python2' package.
This fixes a bug whereby uses of 'package-with-python2' at the top-level
in modules other than (gnu packages python) could lead to an "Unbound
variable: python2" error due to the circular references.

Reported by Tomáš Čech.

* guix/build-system/python.scm (package-with-explicit-python)[arguments]:
  Check whether PYTHON is a promise, and force it if it is.
  (package-with-python2): Wrap 'default-python2' call in 'delay'.
2015-03-12 19:31:25 +01:00
Ludovic Courtès 9751c39a6d services: bitlbee: Make /var/lib/bitlbee when activating.
* gnu/services/networking.scm (bitlbee-service): Add 'activate' field.
2015-03-12 19:10:44 +01:00
Ludovic Courtès 9a10acc986 system: Adjust '.bashrc' skeleton for non-interactive SSH sessions.
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Source /etc/profile
  when in a non-interactive SSH session.
2015-03-12 19:00:54 +01:00
Ludovic Courtès 99e64a6e77 gnu: Move cflow, Complexity, and GLOBAL to (gnu packages code).
* gnu/packages/code.scm (cflow, complexity, global): New variables.
* gnu/packages/cflow.scm, gnu/packages/complexity.scm,
  gnu/packages/global.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
2015-03-12 11:40:27 +01:00
Ludovic Courtès 23153c907b gnu: Add SLOCCount.
* gnu/packages/code.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-12 11:35:16 +01:00
Ludovic Courtès 46ffff9024 gnu: guile-ssh: Update to 0.7.2.
* gnu/packages/ssh.scm (guile-ssh): Update to 0.7.2.
2015-03-11 23:25:53 +01:00
Ludovic Courtès a1ddf97cab gnu: help2man: Update to 1.46.5.
* gnu/packages/man.scm (help2man): Update to 1.46.5.
2015-03-11 23:25:53 +01:00
Ludovic Courtès 84399103da doc: Suggest to use 'lsh-service' with #:initialize? #t.
Suggested by Tomáš Čech.

* doc/guix.texi (Using the Configuration System): Pass #:initialize? #t
  to 'lsh-service'.
2015-03-11 23:25:53 +01:00
Eric Bavier 5933549dbd gnu: Add Plack.
* gnu/packages/web.scm (perl-plack): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier bb8bfe5ec8 gnu: Add Test-TCP.
* gnu/packages/web.scm (perl-test-tcp): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier 786ccb71cc gnu: Add Test-SharedFork.
* gnu/packages/perl.scm (perl-test-sharedfork): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier 83e825a16e gnu: Add Stream-Buffered.
* gnu/packages/perl.scm (perl-stream-buffered): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier 5ec8ec83f6 gnu: Add HTTP-Body.
* gnu/packages/web.scm (perl-http-body): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier 14b44398fb gnu: Add Hash-MultiValue.
* gnu/packages/perl.scm (perl-hash-multivalue): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier 5bfab17a2b gnu: Add Devel-StackTrace-AsHTML.
* gnu/packages/perl.scm (perl-devel-stacktrace-ashtml): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier c3c03bebd1 gnu: Add HTTP-Tiny.
* gnu/packages/web.scm (perl-http-tiny): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier 2b63ebc1fe gnu: Add IO-Socket-IP.
* gnu/packages/web.scm (perl-io-socket-ip): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier c8a316a3b7 gnu: Add HTTP-CookieJar.
* gnu/packages/web.scm (perl-http-cookiejar): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier b79d8b1ff7 gnu: Add Time-Mock.
* gnu/packages/perl.scm (perl-time-mock): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier 40f2518c1f gnu: Add TimeDate.
* gnu/packages/perl.scm (perl-timedate): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier dc1c804a6c gnu: Add Apache-LogFormat-Compiler.
* gnu/packages/web.scm (perl-apache-logformat-compiler): New variable.
2015-03-11 15:48:06 -05:00
Eric Bavier f5721e475f gnu: Add POSIX-strftime-Compiler.
* gnu/packages/perl.scm (perl-posix-strftime-compiler): New variable.
2015-03-11 15:48:05 -05:00
Eric Bavier 9bc8671846 gnu: Add Test-MockTime.
* gnu/packages/perl.scm (perl-test-mocktime): New variable.
2015-03-11 15:48:05 -05:00
Eric Bavier 1e507297e9 gnu: Add File-ShareDir.
* gnu/packages/perl.scm (perl-file-sharedir): New variable.
2015-03-11 15:48:05 -05:00
Eric Bavier e55d07b134 gnu: Add File-ShareDir-Install.
* gnu/packages/perl.scm (perl-file-sharedir-install): New variable.
2015-03-11 15:48:05 -05:00
Eric Bavier 9afa15ffee gnu: Add Class-Inspector.
* gnu/packages/perl.scm (perl-class-inspector): New variable.
2015-03-11 15:48:05 -05:00
Eric Bavier 3deac8c17b gnu: Add Time-Local.
* gnu/packages/perl.scm (perl-time-local): New variable.
2015-03-11 15:48:05 -05:00
Eric Bavier 8142aff3f6 gnu: Group and alphabetize perl module packages.
* gnu/packages/web.scm (perl-encode-locale, perl-file-listing,
  perl-html-parser, perl-html-tagset, perl-http-cookies, perl-http-daemon,
  perl-http-date, perl-http-message, perl-http-negotiate, perl-io-html,
  perl-io-socket-ssl, perl-libwww, perl-lwp-mediatypes, perl-net-http,
  perl-uri, perl-www-curl, perl-www-robotrules): Group and alphabetize.
2015-03-11 15:48:05 -05:00
Ricardo Wurmus 192b48020f gnu: Add WenQuanYi ZenHei font.
* gnu/packages/fonts.scm (font-wqy-zenhei): New variable.
2015-03-11 13:03:28 +01:00
Ricardo Wurmus 205006624e gnu: Add PCB.
* gnu/packages/engineering.scm (pcb): New variable.
2015-03-10 23:47:28 +01:00
Ricardo Wurmus e62be58fc3 gnu: Add openspecfun.
* gnu/packages/maths.scm (openspecfun): New variable.
2015-03-10 23:39:12 +01:00
Ricardo Wurmus e1605e36a8 gnu: Add openlibm.
* gnu/packages/maths.scm (openlibm): New variable.
2015-03-10 23:38:55 +01:00
Tomáš Čech c58ed7732a gnu: Add enlightenment.
* gnu/packages/enlightenment.scm (enlightenment): New variable.
2015-03-10 23:00:43 +01:00
Ludovic Courtès 11dddd8a3e system: Don't compare <pam-service> objects with 'equal?'.
Fixes <http://bugs.gnu.org/20037>.
Reported by 宋文武 <iyzsong@gmail.com> and Tomáš Čech.

* gnu/system.scm (operating-system-etc-directory): Remove call to
  'delete-duplicates'.
* gnu/system/linux.scm (pam-services->directory)[builder]: Add call to
  'delete-duplicates'.
2015-03-10 18:07:48 +01:00
Ludovic Courtès b9156ccc08 Revert "gnu: vlc: Update to 2.2.0"
This reverts commit ad036bda89.

This version has always failed to build according to
<http://hydra.gnu.org/job/gnu/master/vlc-2.2.0.x86_64-linux/all>.
2015-03-10 17:26:32 +01:00
Mark H Weaver 5b17fabca6 gnu: icecat: Update to 31.5.0.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
  gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
  gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0.  Remove patches.
  Add 'nspr', 'nss', and 'cairo' to inputs.  Add configure flags to use
  those system libraries.
2015-03-10 10:13:38 -04:00
Mark H Weaver a24175ac8d gnu: nss: Include -L$libdir in output of "nss-config --libs".
* gnu/packages/patches/nss-pkgconfig.patch (nss-config): Include -L$libdir in
  output of "nss-config --libs".
2015-03-10 10:13:38 -04:00
Mark H Weaver 61427c8d03 gnu: nspr: Update to 4.10.8.
* gnu/packages/gnuzilla.scm (nspr): Update to 4.10.8.
2015-03-10 10:13:38 -04:00
Ludovic Courtès 6795b8d8f2 gnu: enca: Run tests sequentially.
* gnu/packages/textutils.scm (enca)[arguments]: New field.  Fixes build
  issue visible at <http://hydra.gnu.org/build/308913>.
2015-03-10 14:18:30 +01:00
Ricardo Wurmus 15a3c3d4f1 gnu: Add htsjdk.
* gnu/packages/bioinformatics.scm (htsjdk): New variable.
2015-03-10 11:46:49 +01:00
宋文武 a79112079e gnu: ratpoison: Install xsession file (ratpoison.desktop).
* gnu/packages/ratpoison.scm (ratpoison.desktop): New variable.
  (ratpoison)[arguments]: New field.
2015-03-10 12:51:35 +08:00
Mark H Weaver 49689377a3 gnu: sqlite: Add -DSQLITE_ENABLE_UNLOCK_NOTIFY to CFLAGS.
* gnu/packages/databases.scm (sqlite)[arguments]: Add
  -DSQLITE_ENABLE_UNLOCK_NOTIFY to CFLAGS.
2015-03-09 22:59:01 -04:00
Andreas Enge 266d26df87 gnu: patch: Update to 2.7.5.
* gnu/packages/base.scm (patch): Update to 2.7.5.
2015-03-09 22:56:50 -04:00
Mark H Weaver 1cf0814d4d Add Paul to 'AUTHORS'. 2015-03-09 20:26:44 -04:00
Ludovic Courtès 116244df95 services: Statically report duplicate dmd service identifiers.
Reported by 白い熊 @相撲道 <guix-devel_gnu.org@sumou.com>
at <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00264.html>.

* gnu/services/dmd.scm (assert-no-duplicates): New procedure.
  (dmd-configuration-file): Use it.
* po/guix/POTFILES.in: Add gnu/services/dmd.scm.
* tests/guix-system.sh (errorfile): Add test.
2015-03-09 23:51:43 +01:00
Ludovic Courtès b0b727808b gnu: guile-ncurses: Run tests with a locale that's actually available.
* gnu/packages/guile.scm (guile-ncurses)[arguments]: Add 'change-locale'
  phase.
2015-03-09 23:51:43 +01:00
Ludovic Courtès 1ae8237fc9 gnu: wget: Update to 1.16.3.
* gnu/packages/wget.scm (wget): Update to 1.16.3.
2015-03-09 23:51:43 +01:00
Ludovic Courtès 40e9de2ae5 gnu: Add Ploticus.
* gnu/packages/plotutils.scm (ploticus): New variable.
2015-03-09 23:51:43 +01:00
Ludovic Courtès e92da92d63 Add Alexander to 'AUTHORS'. 2015-03-09 23:51:43 +01:00
Alexander I.Grafov (Axel) 42f2c2b9d5 gnu: Add rxvt-unicode.
* gnu/packages/xdisorg.scm (rxvt-unicode): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-03-09 23:51:43 +01:00
Taylan Ulrich Bayırlı/Kammer c426e61e00 gnu: Add libass.
* gnu/packages/video.scm (libass): New variable.
(ffmpeg): Add input libass.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer 688fe86587 gnu: Add enca.
* gnu/packages/textutils.scm (enca): New variable.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer 7939e70a32 gnu: Add recode.
* gnu/packages/textutils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer c85a866ddf gnu: ffmpeg: Enable libavresample.
* gnu/packages/video.scm (ffmpeg): Add "--enable-avresample" configure option.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer 7124119203 gnu: ffmpeg: Add more optional inputs.
* gnu/packages/video.scm (ffmpeg): Add inputs ladspa, openal, pulseaudio.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer cc6c017066 gnu: Add libcdio-paranoia.
* gnu/packages/cdrom.scm (libcdio-paranoia): New variable.
* gnu/packages/video.scm (ffmpeg): Add input libcdio-paranoia.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer db361234f1 gnu: cdio: Fix description.
* gnu/packages/cdrom.scm (libcdio): This package does not contain pycdio or
  libcdio-paranoia, so remove these from the description.  They can be
  obtained separately from <ftp://ftp.gnu.org/pub/gnu/libcdio/>.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer 111cd65b8f gnu: Add quvi.
* gnu/packages/web.scm (quvi): New variable.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer bb470bd3a4 gnu: Add libquvi.
* gnu/packages/web.scm (libquvi): New variable.
* gnu/packages/video.scm (ffmpeg): Add input libquvi.
2015-03-09 22:57:45 +01:00
Taylan Ulrich Bayırlı/Kammer fbf42fbd72 gnu: Add libquvi-scripts.
* gnu/packages/web.scm (libquvi-scripts): New variable.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer 4d94b93ce1 gnu: Add libcaca.
* gnu/packages/video.scm (libcaca): New variable.
(ffmpeg): Add input libcaca.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer 01793502e8 gnu: freeglut: Propagate input glu.
* gnu/packages/gl.scm (freeglut): Make glu a propagated input instead of a
  normal input.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer 67932f86d3 gnu: Add xvid.
* gnu/packages/video.scm (xvid): New variable.
(ffmpeg): Add input xvid.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer f104401095 gnu: Add libdvdnav-4.
* gnu/packages/video.scm (libdvdnav-4): New variable.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer a6f710ec4e gnu: Add libdvdcss.
* gnu/packages/video.scm (libdvdcss): New variable.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer 5d3609e42d gnu: Add libbluray.
* gnu/packages/video.scm (libbluray): New variable.
(ffmpeg): Add input libbluray.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer 99d4c455e3 gnu: Add libdv.
* gnu/packages/video.scm (libdv): New variable.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer 3bfb78dc3b gnu: Add libdca.
* gnu/packages/video.scm (libdca): New variable.
2015-03-09 22:57:44 +01:00
Taylan Ulrich Bayırlı/Kammer cda163cdb9 gnu: Add liba52.
* gnu/packages/video.scm (liba52): New variable.
2015-03-09 22:57:43 +01:00
Taylan Ulrich Bayırlı/Kammer 0731a47cd4 gnu: Add libungif.
* gnu/packages/image.scm (libungif): New variable.
2015-03-09 22:57:43 +01:00
Taylan Ulrich Bayırlı/Kammer 55b596c3f5 gnu: Add rsound.
* gnu/packages/audio.scm (rsound): New variable.
2015-03-09 22:57:43 +01:00
Taylan Ulrich Bayırlı/Kammer f2fac35953 gnu: Move 'openal' to (gnu packages audio).
* gnu/packages/games.scm (openal): Removed variable.
* gnu/packages/audio.scm (openal): New variable.
2015-03-09 22:57:43 +01:00
Taylan Ulrich Bayırlı/Kammer 8c0b5a75ad gnu: Add libbs2b.
* gnu/packages/audio.scm (libbs2b): New variable.
2015-03-09 22:57:43 +01:00
Taylan Ulrich Bayırlı/Kammer 70fc29d9c5 gnu: Add faad2.
* gnu/packages/audio.scm (faad2): New variable.
2015-03-09 22:57:43 +01:00
Paul van der Walt a22722c1a5 gnu: ncmpcpp: Move taglib from native-inputs.
* gnu/packages/mpd.scm (ncmpcpp): Move TAGLIB from ‘native-inputs’ to ‘inputs’.
2015-03-09 21:59:11 +01:00
宋文武 2cb4ca6303 gnu: libmikmod: Remove inputs alsa-lib and libx11.
Fixes <http://bugs.gnu.org/19015>.

* gnu/packages/sdl.scm (libmikmod)[inputs]: Remove.
2015-03-09 17:17:00 +08:00
Ricardo Wurmus 412726ee4a gnu: Add gEDA/gaf.
* gnu/packages/engineering.scm (geda-gaf): New variable.
2015-03-09 09:05:00 +01:00
Ludovic Courtès 0c36a681c8 doc: Add 'packages' field to OS configuration template.
* gnu/system/os-config.tmpl (packages): New field.
2015-03-08 23:05:51 +01:00
Ludovic Courtès 61af1014c6 gnu: gcj: Use a versioned URL for 'javac.in'.
* gnu/packages/gcc.scm (javac.in): Use a ViewVC URL that specifies the
  CVS revision.
2015-03-08 22:27:20 +01:00
Jason Self 3540a48138 gnu: linux-libre: Update to 3.18.9
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.9.
2015-03-08 12:30:11 -07:00
Ricardo Wurmus 6efd0823e1 gnu: Add fdupes.
* gnu/packages/admin.scm (fdupes): New variable.
2015-03-08 11:21:53 +01:00
Ricardo Wurmus 5699a3cf5a gnu: librecad: use (gnu packages base) module
* gnu/packages/engineering.scm: use (gnu packages base) module for "which".
2015-03-08 11:19:17 +01:00
Ricardo Wurmus 40fbd52ae5 gnu: rename engineering module
* gnu/packages/engineering.scm: Change module name from "audio" to
  "engineering".
2015-03-08 11:17:34 +01:00
Federico Beffa ebaa68c019 gnu: ghc: Remove installation of locale.
* gnu/packages/haskell.scm (ghc): Remove installation of locale from
  'unpack-and-fix-testsuite phase.
2015-03-08 09:13:51 +01:00
Mark H Weaver ee2a7f0789 gnu: slang: Combine duplicate 'arguments' fields.
Combine duplicate 'arguments' fields introduced in 22e357397a.

* gnu/packages/slang.scm (slang)[arguments]: Combine duplicate fields.
2015-03-08 01:36:35 -05:00
Mark H Weaver 5c3f2a5a77 gnu: lrdf: Fix phases.
Fixes a regression caused by 722ec72244.

* gnu/packages/rdf.scm (lrdf)[arguments]: Swap order of 'alist-cons-after'
  calls.
2015-03-07 22:39:43 -05:00
Mark H Weaver 0e396872a6 gnu: sysfsutils-1: Pass --build to configure.
* gnu/packages/linux.scm (sysfsutils-1)[arguments]: Pass --build to configure.
2015-03-07 21:42:43 -05:00
Mark H Weaver e396976b9b gnu: sbcl: Use ISO-8859-1 to patch unix tool paths.
* gnu/packages/lisp.scm (sbcl)[arguments]: Use ISO-8859-1 to patch unix tool
  paths in string literals.
2015-03-07 20:42:01 -05:00
Mark H Weaver 68a5d6c770 Revert "gnu: patch: Update to 2.7.5."
This reverts commit cded001198.
2015-03-07 20:34:50 -05:00
Mark H Weaver 22e357397a gnu: slang: Disable parallel build.
* gnu/packages/slang.scm (slang)[arguments]: Disable parallel build.
2015-03-07 19:23:10 -05:00
Andreas Enge cded001198 gnu: patch: Update to 2.7.5.
* gnu/packages/base.scm (patch): Update to 2.7.5.
2015-03-08 00:32:11 +01:00
David Thompson aa45c7a425 gnu: fish: Update to 2.1.2. 2015-03-07 16:03:55 -05:00
Andreas Enge 2fbec76275 gnu: calibre: Swap input python2-pil for python2-pillow.
* gnu/packages/ebook.scm (calibre)[inputs]: Drop python2-pil,
    add python2-pillow.
2015-03-07 20:30:17 +01:00
Andreas Enge bdbf227fa3 gnu: xpdf: Fix detection of freetype.
* gnu/packages/pdf.scm (xpdf)[configure-flags]: Add flag to correctly detect
  freetype. Otherwise, the xpdf binary is not built.
2015-03-07 20:15:28 +01:00
Mark H Weaver 1cb9c00614 gnu: python-testlib: Fix license field.
Fixes a problem introduced in a1920bc9f2.
Debugged by David Thompson.

* gnu/packages/python.scm (python-testlib)[license]: 'expat' ->
  'license:expat'.
2015-03-07 13:58:50 -05:00
Federico Beffa 35035074a2 gnu: Add libedit.scm to gnu-system.am.
* gnu-system.am (GNU_SYSTEM_MODULES): Add libedit.scm.
2015-03-07 15:20:04 +01:00
Federico Beffa 246b3437f7 gnu: Add ghc.
* gnu/packages/haskell.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-07 15:08:36 +01:00
Federico Beffa c8daf57200 gnu: Add libedit.
* gnu/packages/libedit.scm: New file.
2015-03-07 15:08:36 +01:00
Federico Beffa a1920bc9f2 gnu: Add python-testlib and python2-testlib.
* gnu/packages/python.scm (python-testlib, python2-testlib): New variables.
2015-03-07 15:08:36 +01:00
Paul van der Walt cd77777602 gnu: ncmpcpp: Enable taglib support.
* gnu/packages/mpd.scm (ncmpcpp): Add --with-taglib configure flag.
2015-03-07 13:45:25 +01:00
Andreas Enge ed2b1c4f55 gnu: gcj: Move javac.in from a file in the distribution to an origin.
* gnu/packages/javac.in: Delete file.
* gnu-system.am (MISC_DISTRO_FILES): Delete.
* gnu/packages/gcc.scm (javac.in): New variable.
  (gcj-4.8): Use it as an input.
2015-03-07 10:45:47 +01:00
Andreas Enge e2808a4ac6 gnu: gcc: Add copyright line. 2015-03-07 10:44:58 +01:00
Andreas Enge d5f5b6aa7b gnu: qt: Update to 5.4.1.
* gnu/packages/qt.scm (qt): Update to 5.4.1.
2015-03-07 10:42:16 +01:00
Mark H Weaver 526d71b303 gnu: zsh: Use ISO-8859-1 in 'fix-sh' phase.
* gnu/packages/zsh.scm (zsh)[arguments]: Use ISO-8859-1 in 'fix-sh' phase.
2015-03-07 02:40:55 -05:00
Mark H Weaver 93c117eec3 gnu: gmime: Use ISO-8859-1 when patching tests.
* gnu/packages/mail.scm (gmime)[arguments]: Use ISO-8859-1 when patching
  tests.
2015-03-07 01:09:55 -05:00
Andreas Enge dde7092656 gnu: podofo: Fix detection of freetype.
* gnu/packages/pdf.scm (podofo)[arguments]: Add phase patching the cmake
  file that looks for freetype.
2015-03-07 01:37:58 +01:00
Andreas Enge b8ac8c282d gnu: Add calibre.
* gnu/packages/ebook.scm (calibre): New variable.
* gnu/packages/patches/calibre-drop-unrar.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
2015-03-07 00:57:59 +01:00
Andreas Enge 516277cb14 gnu: python2-pil: Adapt to newer Freetype.
* gnu/packages/python.scm (python2-pil): Add snippet.
2015-03-07 00:56:43 +01:00
Andreas Enge f944fbf185 gnu: gnunet: Update to 0.10.1.
* gnu/packages/gnunet.scm (gnunet): Update to 0.10.1.
  Adapt environment variable GNUNET_PREFIX to new use.
  Disable parallel tests.
  Disable tests until a failure is fixed.
* gnu/packages/patches/gnunet-fix-scheduler.patch,
  gnu/packages/patches/gnunet-fix-tests.patch: Delete patch files.
* gnu-system.am (dist_patch_DATA): Unregister patches.
2015-03-07 00:16:04 +01:00
Andreas Enge e5e069302e gnu: Add libqtxdg.
* gnu/packages/lxqt.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Register it.

Co-authored-by: Sou Bunnbu <iyzsong@gmail.com>
2015-03-06 22:49:35 +01:00
Tomáš Čech df81e046c5 gnu: valgrind: Fix build against glibc 2.21
* gnu/packages/patches/valgrind-glibc-2.21.patch: New file.
* gnu-system.am (dist_patch_DATA): Add patch.
* gnu/packages/valgrind.scm (valgrind): Apply patch.
2015-03-06 22:19:12 +01:00
Ricardo Wurmus ffb010b5b1 gnu: Add LibreCAD.
* gnu/packages/engineering.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-06 21:24:56 +01:00
Eric Bavier 840e577455 gnu: Add Moose.
* gnu/packages/perl.scm (perl-moose): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier ae7135a2d3 gnu: Add Task-Weaken.
* gnu/packages/perl.scm (perl-task-weaken): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 39bbf6131c gnu: Add Sub-Name.
* gnu/packages/perl.scm (perl-sub-name): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 7bda142b55 gnu: Add Devel-CheckBin.
* gnu/packages/perl.scm (perl-devel-checkbin): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier c8d68ff9c3 gnu: Add Scalar-List-Utils.
* gnu/packages/perl.scm (perl-scalar-list-utils): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 21a99dda72 gnu: Add Package-DeprecationManager.
* gnu/packages/perl.scm (perl-package-deprecationmanager): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier ff8925541e gnu: Add Module-Runtime-Conflicts.
* gnu/packages/perl.scm (perl-module-runtime-conflicts): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 04e9de0283 gnu: Add List-MoreUtils.
* gnu/packages/perl.scm (perl-list-moreutils): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier a595c108cd gnu: Add Exporter-Tiny.
* gnu/packages/perl.scm (perl-exporter-tiny): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier da9e3012b5 gnu: Add Test-WriteVariants.
* gnu/packages/perl.scm (perl-test-writevariants): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 61fc683117 gnu: Add Data-Tumbler.
* gnu/packages/perl.scm (perl-data-tumbler): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 4ee88d69dd gnu: Add File-HomeDir.
* gnu/packages/perl.scm (perl-file-homedir): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 29b6ca73e1 gnu: Add File-Temp.
* gnu/packages/perl.scm (perl-file-temp): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier ec77a714c5 gnu: Add parent.
* gnu/packages/perl.scm (perl-parent): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier d0662af955 gnu: Add Test-Directory.
* gnu/packages/perl.scm (perl-test-directory): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier d4dfe333df gnu: Add Test-Most.
* gnu/packages/perl.scm (perl-test-most): New variable.
2015-03-06 08:13:29 -06:00
Eric Bavier 800e13d265 gnu: Add Test-Exception.
* gnu/packages/perl.scm (perl-test-exception): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 625d0661fa gnu: Add Module-Build.
* gnu/packages/perl.scm (perl-module-build): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 3a8ee9d163 gnu: Add Exception-Class.
* gnu/packages/perl.scm (perl-exception-class): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier bc4899e3d9 gnu: Add Class-Data-Inheritable.
* gnu/packages/perl.scm (perl-class-data-inheritable): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier c68b185842 gnu: Add Test-Differences.
* gnu/packages/perl.scm (perl-test-differences): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 3453cd7adb gnu: Add Text-Diff.
* gnu/packages/perl.scm (perl-text-diff): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 0d3ec4951e gnu: Add Algorithm-Diff.
* gnu/packages/perl.scm (perl-algorithm-diff): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier e8bba431a8 gnu: Add inc-latest.
* gnu/packages/perl.scm (perl-inc-latest): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier ce60f167ea gnu: Add Config-AutoConf.
* gnu/packages/perl.scm (perl-config-autoconf): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 8bc9515d9b gnu: Add Eval-Closure.
* gnu/packages/perl.scm (perl-eval-closure): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 4400eb95e4 gnu: Add Devel-LexAlias.
* gnu/packages/perl.scm (perl-devel-lexalias): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 0b15ffbc31 gnu: Add Devel-Caller.
* gnu/packages/perl.scm (perl-devel-caller): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 54af5f5518 gnu: Add PadWalker.
* gnu/packages/perl.scm (perl-padwalker): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 42350bbe77 gnu: Add Devel-StackTrace.
* gnu/packages/perl.scm (perl-devel-stacktrace): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 81da66e239 gnu: Add Devel-PartialDump.
* gnu/packages/perl.scm (perl-devel-partialdump): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier d85de704a4 gnu: Add Class-Tiny.
* gnu/packages/perl.scm (perl-class-tiny): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier bf1975c774 gnu: Add Test-Warn.
* gnu/packages/perl.scm (perl-test-warn): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 5d2935e3fc gnu: Add Sub-Uplevel.
* gnu/packages/perl.scm (perl-sub-uplevel): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier e2e3d62a65 gnu: Add Devel-OverloadInfo.
* gnu/packages/perl.scm (perl-devel-overloadinfo): New variable.
2015-03-06 08:13:28 -06:00
Eric Bavier 2aa51030e9 gnu: Add MRO-Compat.
* gnu/packages/perl.scm (perl-mro-compat): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 70a9a4911a gnu: Add Devel-GlobalDestruction.
* gnu/packages/perl.scm (perl-devel-globaldestruction): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 81bffd455b gnu: Add Class-Load-XS.
* gnu/packages/perl.scm (perl-class-load-xs): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier d439d53741 gnu: Add Class-Load.
* gnu/packages/perl.scm (perl-class-load): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 6c319d12bd gnu: Add Module-Build-Tiny.
* gnu/packages/perl.scm (perl-module-build-tiny): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 9c7d97c47d gnu: Add Test-Harness.
* gnu/packages/perl.scm (perl-test-harness): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 0bcb85be50 gnu: Add ExtUtils-Helpers.
* gnu/packages/perl.scm (perl-extutils-helpers): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 9c8f076567 gnu: Add ExtUtils-InstallPaths.
* gnu/packages/perl.scm (perl-extutils-installpaths): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 6eb28ece00 gnu: Add ExtUtils-Config.
* gnu/packages/perl.scm (perl-extutils-config): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 269ef08622 gnu: Add Test-CleanNamespaces.
* gnu/packages/perl.scm (perl-test-cleannamespaces): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier b0c2ae5022 gnu: Add File-Find-Rule-Perl.
* gnu/packages/perl.scm (perl-file-find-rule-perl): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier e91d4accd1 gnu: Add File-Find-Rule.
* gnu/packages/perl.scm (perl-file-find-rule): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier f57c768639 gnu: Add Number-Compare.
* gnu/packages/perl.scm (perl-number-compare): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier cab88488e9 gnu: Add Text-Glob.
* gnu/packages/perl.scm (perl-text-glob): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier a7a75c87b0 gnu: Add Sub-Identify.
* gnu/packages/perl.scm (perl-sub-identify): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 9727c33f3b gnu: Add namespace-clean.
* gnu/packages/perl.scm (perl-namespace-clean): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 0e2f7cfcc7 gnu: Add B-Hooks-EndOfScope.
* gnu/packages/perl.scm (perl-b-hooks-endofscope): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 5f60001133 gnu: Add Variable-Magic.
* gnu/packages/perl.scm (perl-variable-magic): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 85e92c32c6 gnu: Add Sub-Exporter-Progressive.
* gnu/packages/perl.scm (perl-sub-exporter-progressive): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier d9e6af9090 gnu: Add Package-Stash.
* gnu/packages/perl.scm (perl-package-stash): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier f9f64440f7 gnu: Add Package-Stash-XS.
* gnu/packages/perl.scm (perl-package-stash-xs): New variable.
2015-03-06 08:13:27 -06:00
Eric Bavier 3fa4c22abe gnu: Add Module-Implementation.
* gnu/packages/perl.scm (perl-module-implementation): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 76a6f27952 gnu: Add Package-Anon.
* gnu/packages/perl.scm (perl-package-anon): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier f59d9fc282 gnu: Add Test-Warnings.
* gnu/packages/perl.scm (perl-test-warnings): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier cb6d9b1b04 gnu: Add Test-Requires.
* gnu/packages/perl.scm (perl-test-requires): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier b7d9aa5945 gnu: Add Dist-CheckConflicts.
* gnu/packages/perl.scm (perl-dist-checkconflicts): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 185082c864 gnu; Add Module-Runtime.
* gnu/packages/perl.scm (perl-module-runtime): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 07b2c25486 gnu: Add Test-Fatal.
* gnu/packages/perl.scm (perl-test-fatal): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 90ae6151cf gnu: Add Try-Tiny.
* gnu/packages/perl.scm (perl-try-tiny): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier a77ed67def gnu: Add CPAN-Meta-Check.
* gnu/packages/perl.scm (perl-cpan-meta-check): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier e0b8689c15 gnu: Add CPAN-Meta.
* gnu/packages/perl.scm (perl-cpan-meta): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 70e834625f gnu: Add Parse-CPAN-Meta.
* gnu/packages/perl.scm (perl-parse-cpan-meta): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 6f2768c3f0 gnu: Add CPAN-Meta-YAML.
* gnu/packages/perl.scm (perl-cpan-meta-yaml): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 90fb2e2467 gnu: Add CPAN-Meta-Requirements.
* gnu/packages/perl.scm (perl-cpan-meta-requirements): New variable.
2015-03-06 08:13:26 -06:00
Eric Bavier 884529b780 gnu: perl-test-simple: Update to 1.001014.
* gnu/packages/perl.scm (perl-test-simple): Update to 1.001014.
2015-03-06 08:13:26 -06:00
Eric Bavier fc8c2f7b82 gnu: perl-data-optlist: Move input to propagated-inputs.
* gnu/packages/perl.scm (perl-data-optlist): Move perl-params-util
  from inputs to propagated-inputs.
2015-03-06 08:13:26 -06:00
Eric Bavier 73fc71ba3d perl: Alphabetize module packages.
* gnu/packages/perl.scm: Alphabetize package definitions.
2015-03-06 08:13:26 -06:00
Ludovic Courtès 36a1eec50a list-packages: Use GuixSD logo and name.
* build-aux/list-packages.scm (packages->sxml): Change to use
  GuixSD-V.png and use the name "Guix System Distribution".
2015-03-06 13:58:06 +01:00
Tomáš Čech f195b36602 gnu: grub: Add patch to fix new version of freetype
* gnu/packages/patches/grub-freetype.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the patch.
* gnu/packages/grub.scm (grub): Apply new patch.
2015-03-06 09:38:41 +01:00
Mark H Weaver 81f36365f1 gnu: nss-certs: Include 'install-locale' phase.
* gnu/packages/certs.scm (nss-certs)[arguments]: Include 'install-locale'
  phase.  Remove outdated comment.
  (certdata2pem)[source]: Add 'file-name' to origin.
2015-03-06 00:38:09 -05:00
Ludovic Courtès af0927ac68 gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update snapshot.
2015-03-06 00:44:01 +01:00
Ludovic Courtès 211db2f645 gnu: glibc: Comment on the parallel build race.
* gnu/packages/base.scm (glibc): Augment comment regarding sequential
  builds.
2015-03-06 00:44:01 +01:00
Alex Sassmannshausen 15926aec0d gnu: Add tree.
* gnu/packages/admin.scm (tree): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-03-06 00:44:01 +01:00
Andreas Enge 43640a33f4 gnu: valgrind: Update to 3.10.1.
* gnu/packages/valgrind.scm (valgrind): Update to 3.10.1.
2015-03-05 23:46:07 +01:00
Ludovic Courtès 07157e8ab4 gnu: gnupg: Remove #:prefix for (gnu packages compression).
* gnu/packages/gnupg.scm: Remove #:prefix for (gnu packages
  compression).  Add #:prefix for (gnu packages license).
2015-03-05 22:20:52 +01:00
Ludovic Courtès 950d2ea414 lint: Add tests for the 'source' checker.
* guix/scripts/lint.scm (check-source): Export.
* tests/lint.scm (%null-sha256): New procedure.
  ("source: 200", "source: 404"): New tests.
2015-03-05 22:17:36 +01:00
Ludovic Courtès 754e5be2d5 tests: Fix import.
* tests/lint.scm: Use 'url-fetch' from (guix download), not (guix build
  download), although this was actually harmless here.
2015-03-05 22:17:36 +01:00
Ludovic Courtès ce72c78074 store: Attempt to decode build logs as UTF-8.
* guix/serialization.scm (read-maybe-utf8-string): New procedure.
* guix/store.scm (process-stderr): Use it for the build log and errors.
* tests/store.scm ("current-build-output-port, UTF-8",
  "current-build-output-port, UTF-8 + garbage"): New tests.
2015-03-05 22:17:36 +01:00
Ludovic Courtès 472e4c4303 serialization: Factorize 'read-byte-string'.
* guix/serialization.scm (read-byte-string): New procedure.
  (read-string, read-latin1-string): Use it.
2015-03-05 22:17:36 +01:00
Mark H Weaver 87d7928294 gnu: lftp: Don't save unknown SSH host fingerprints to known_hosts by default.
* gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/ftp.scm (lftp): Add patch.
2015-03-05 12:16:44 -05:00
Paul van der Walt b3886e0c53 gnu: Add zathura comicbook plugin.
* gnu/packages/pdf.scm (zathura-cb): New variable.
2015-03-05 10:23:07 +01:00
Paul van der Walt 721a4f7d57 gnu: Add zathura postscript plugin.
* gnu/packages/pdf.scm (zathura-ps): New variable.
2015-03-05 10:23:07 +01:00
Paul van der Walt bac31d1f2d gnu: Add zathura DjVu plugin.
* gnu/packages/pdf.scm (zathura-djvu): New variable.
2015-03-05 10:23:07 +01:00
Paul van der Walt 7708557fd9 gnu: Add zathura PDF plugin.
* gnu/packages/pdf.scm (zathura-pdf-poppler): New variable.
2015-03-05 10:23:07 +01:00
Paul van der Walt 3e40bb8298 gnu: Add zathura.
* gnu/packages/pdf.scm (zathura): New variable.
* gnu/packages/patches/zathura-plugindir-environment-variable.patch: New file.
* gnu-system.am: Add it.
2015-03-05 10:23:07 +01:00
Paul van der Walt 1a8bf1dc41 gnu: Add djvulibre.
* gnu/packages/djvu.scm (djvulibre): New variable.
* gnu-system.am: Add the file.
2015-03-05 10:23:07 +01:00
Ricardo Wurmus 279663efa5 gnu: Add muparser.
* gnu/packages/maths.scm (muparser): New variable.
2015-03-05 08:01:15 +01:00
David Thompson d9d9d4861c gnu: ruby: Update to 2.2.1.
* gnu/packages/ruby.scm (ruby): Update to 2.2.1.
2015-03-04 20:20:47 -05:00
Ludovic Courtès 2b34b4b46d gnu: bash: Install headers in "include" output.
* gnu/packages/bash.scm (bash)[outputs]: New field.
  [arguments]: Use 'modify-phases'.  Add 'install-headers' phase.
2015-03-04 23:21:09 +01:00
Alex Kost 5d9ecd157e gnu: Add Russian Aspell dictionary.
* gnu/packages/aspell.scm (aspell-dict-ru): New variable.
2015-03-04 22:03:30 +03:00
Ludovic Courtès ce0614ddb0 gnu: Move 'which' to (gnu packages base).
* gnu/packages/which.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove it.
* gnu/packages/base.scm (which): New variable.
* gnu/packages/aspell.scm, gnu/packages/audio.scm,
  gnu/packages/autogen.scm, gnu/packages/cdrom.scm,
  gnu/packages/compression.scm, gnu/packages/datamash.scm,
  gnu/packages/games.scm, gnu/packages/glib.scm,
  gnu/packages/gnu-pw-mgr.scm, gnu/packages/gnutls.scm,
  gnu/packages/gps.scm, gnu/packages/guile.scm,
  gnu/packages/java.scm, gnu/packages/libevent.scm,
  gnu/packages/linux.scm, gnu/packages/lisp.scm,
  gnu/packages/node.scm, gnu/packages/ntp.scm,
  gnu/packages/orpheus.scm, gnu/packages/pciutils.scm,
  gnu/packages/python.scm, gnu/packages/qt.scm,
  gnu/packages/rsync.scm, gnu/packages/sawfish.scm,
  gnu/packages/scheme.scm, gnu/packages/ssh.scm,
  gnu/packages/statistics.scm, gnu/packages/texlive.scm,
  gnu/packages/wdiff.scm: Adjust accordingly.
2015-03-04 17:23:27 +01:00
Ludovic Courtès f61e0e7900 gnu: Avoid #:prefix when importing a (gnu packages …) module.
* gnu/packages/admin.scm, gnu/packages/emacs.scm,
  gnu/packages/gnutls.scm, gnu/packages/gsasl.scm,
  gnu/packages/linux.scm: Remove uses of #:prefix for package modules.
2015-03-04 17:23:27 +01:00
Ludovic Courtès 6d0b9d03ce tests: Remove dependency on 'glibc-utf8-locales' for profile tests.
This fixes a regression introduced in commit 536c3ee.

* guix/profiles.scm (ca-certificate-bundle): When MANIFEST is empty,
  make a trivial derivation.
* guix/scripts/package.scm (guix-package)[process-actions]: Pass
  #:ca-certificate-bundle? to 'profile-generation'.
* tests/packages.scm ("--search-paths with pattern"): Likewise.
* tests/profiles.scm ("profile-derivation"): Likewise.
2015-03-04 17:23:27 +01:00
Ricardo Wurmus 0e309f1e5b gnu: icedtea6: split outputs.
* gnu/packages/java.scm (icedtea6)[outputs]: Use separate outputs for
  documentation ("doc"), JDK ("jdk"), and JRE ("out").
* gnu/packages/java.scm (ant)[native-inputs]: Reference "jdk" output of
  icedtea6 package.
* gnu/packages/statistics.scm (r)[inputs]: Reference "jdk" output of icedtea6
  package.
2015-03-04 15:59:41 +01:00
Ludovic Courtès 1289062522 Merge branch 'core-updates'. 2015-03-04 14:07:23 +01:00
Ricardo Wurmus cb4d3d863b gnu: python2-pygtk: fix path to pygobject-codegen-2.0
* gnu/packages/gtk.scm (python2-pygtk)[arguments]: Add phase to patch the path
  to the pygobject-codegen-2.0 executable.
2015-03-04 13:30:39 +01:00
宋文武 32158110b0 gnu: octave: Update to 3.8.2.
* gnu/packages/maths.scm (octave): Update to 3.8.2.
2015-03-04 16:45:23 +08:00
Tomáš Čech 27ce97c64e gnu: enlightenment: Add missing, but used module.
* gnu/packages/enlightenment.scm: Add missing, but used module.
2015-03-04 09:36:49 +01:00
Tomáš Čech ea28d935f3 gnu: rename module and add missing dependency
* gnu/packages/enlightenment.scm: Change module name to be consistent.
* gnu/packages/enlightenment.scm: Add missing, but used module.
2015-03-04 08:50:39 +01:00
宋文武 5713809335 gnu: xterm: Update to 315.
* gnu/packages/xorg.scm (xterm): Update to 315.
2015-03-04 13:30:51 +08:00
宋文武 081cbed90e gnu: flac: Update to 1.3.1.
* gnu/packages/xiph.scm (flac): Update to 1.3.1.
2015-03-04 13:19:24 +08:00
宋文武 d529b91b4e gnu: flac: Propagate libogg.
* gnu/packages/xiph.scm (flac): Move libogg to 'propagated-inputs'.
2015-03-04 13:06:32 +08:00
宋文武 221d45726c gnu: gtk-xfce-engine: Update to 2.10.1.
* gnu/packages/xfce.scm (gtk-xfce-engine): Update to 2.10.1.
2015-03-04 10:16:43 +08:00
Ludovic Courtès 928d62f225 gnu: Add bash-completion.
* gnu/packages/bash.scm (bash-completion): New variable.
2015-03-03 22:58:46 +01:00
Ludovic Courtès 23c0e74375 gnu: git: Install the Bash completion script.
* gnu/packages/version-control.scm (git)[arguments]: Add
  'install-shell-completion' phase.
2015-03-03 22:58:45 +01:00
Ludovic Courtès 776463ba9f http-client: Monkey-patch 'make-chunked-input-port' on Guile <= 2.0.11.
Fixes <http://bugs.gnu.org/19976>.

* guix/http-client.scm (when-guile<=2.0.5): Rename to...
  (when-guile<=2.0.5-or-otherwise-broken): ... this.
  (%web-http): New variable.
  Monkey-patch 'make-chunked-input-port' when %WEB-HTTP defines
  'read-chunk-body'.
2015-03-03 22:58:45 +01:00
Ludovic Courtès c28606bd1d http-client: Update backport of chunked encoding support to Guile 2.0.5.
* guix/http-client.scm (read-chunk, read-chunk-body)
  [when-guile<=2.0.5]: Remove.
  (make-chunked-input-port) [when-guile<=2.0.5]: Update to Guile commit
  00d3ecf2.
2015-03-03 22:58:45 +01:00
Ludovic Courtès da699774d4 gnu: Add search path specifications for 'SSL_CERT_FILE' and 'GIT_SSL_CAINFO'.
* gnu/packages/openssl.scm (openssl)[native-search-paths]: Add
  specification for 'SSL_CERT_FILE'.
* gnu/packages/version-control.scm (git)[native-search-paths]: Add
  specification for 'GIT_SSL_CAINFO'.
2015-03-03 21:25:39 +01:00
Mark H Weaver 41ce460133 gnu: nss-certs: Install only trusted CA certificates.
* gnu/packages/certs.scm (nss-certs): Only install certificates that include a
  non-empty "openssl-trust=" annotation.
2015-03-03 13:49:12 -05:00
Mark H Weaver 78ab0746a5 system: Add /etc/ssl symlink; set needed variables in /etc/profile.
* gnu/build/activation.scm (activate-etc): Create /etc/ssl symlink.
* gnu/system.scm (etc-directory): Set SSL_CERT_DIR, SSL_CERT_FILE,
  and GIT_SSL_CAINFO in /etc/profile.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2015-03-03 13:49:12 -05:00
Mark H Weaver 536c3ee4e3 profiles: Produce a single-file CA certificate bundle.
* guix/profiles.scm (ca-certificate-bundle): New procedure.
  (profile-derivation): Add 'ca-certificate-bundle?' keyword argument.  If
  true (the default), add the result of 'ca-certificate-bundle' to 'inputs'.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2015-03-03 13:49:12 -05:00
Mark H Weaver e33eea8ffd Revert "system: Add 'x509-certificates' field, and populate /etc/ssl/certs."
This reverts commit e979e6dd52.
2015-03-03 13:49:12 -05:00
Mark H Weaver bd4c47a47e Revert "system: Create a single-file certificate bundle in /etc/ssl/certs."
This reverts commit 993300f6cc.
2015-03-03 13:49:12 -05:00
Ludovic Courtès 00e650981c gnu: Add rdesktop.
* gnu/packages/rdesktop.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-03 18:45:10 +01:00
Andreas Enge 2303c8216e gnu: enlightenment: Fix typo in adding the module.
* gnu-system.am (GNU_SYSTEM_MODULES): Fix typo.
538fb23ea0
2015-03-03 15:16:45 +01:00
Jason Self ad036bda89 gnu: vlc: Update to 2.2.0
* gnu/packages/video.scm (vlc): Update to version 2.2.0.
2015-03-03 05:31:59 -08:00
Jason Self 32d9109f24 gnu: libvorbis: Update to 1.3.5
* gnu/packages/xiph.scm (libvorbis): Update to version 1.3.5.
2015-03-03 05:15:54 -08:00
Tomáš Čech df2b053af8 gnu: Add terminology.
* gnu/packages/enlightenment.scm (terminology): New variable.
2015-03-03 13:04:37 +01:00
Tomáš Čech cfa0468317 gnu: Add emotion-generic-players
* gnu/packages/enlightenment.scm (emotion-generic-players): New variable.
2015-03-03 13:04:37 +01:00
Tomáš Čech 87a37fdf72 gnu: Add evas-generic-loaders
* gnu/packages/enlightenment.scm (evas-generic-loaders): New variable.
2015-03-03 13:04:37 +01:00
Tomáš Čech 146ee5cd28 gnu: Add elementary.
* gnu/packages/enlightenment.scm (elementary): New variable.
2015-03-03 13:04:37 +01:00
Tomáš Čech 538fb23ea0 gnu: Add efl.
* gnu/packages/enlightenment.scm: New file
* gnu/packages/enlightenment.scm (efl): New variable.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-03-03 13:04:37 +01:00
Ricardo Wurmus 92cb152b37 gnu: Add snakemake.
* gnu/packages/python.scm (snakemake): New variable.
2015-03-03 10:22:23 +01:00
Mark H Weaver bbd0ea77ef gnu: libuv: Update to 1.4.2.
* gnu/packages/libevent.scm (libuv): Update to 1.4.2.  Update source URI.
  Add 'file-name' field to origin.  Move 'autogen' phase after 'unpack'.
  Run "sh autogen.sh" instead of "./autogen.sh".
2015-03-02 20:35:32 -05:00
Mark H Weaver 2ecebec142 gnu: skribilo: Adapt to recently renamed 'guile-reader' variable.
This is a followup to commit d6d9f1f715.

* gnu/packages/skribilo.scm (skribilo)[propagated-inputs]: Change
  'guile-reader/guile-2.0' --> 'guile-reader'.
2015-03-02 19:53:42 -05:00
Paul van der Walt 136770c9c7 gnu: Add girara.
* gnu/packages/gtk.scm (girara): Add variable.
2015-03-02 23:37:36 +01:00
Paul van der Walt 4ac696c68b gnu: check: Update version to 0.9.14
* gnu/packages/check.scm (check): Update to version 0.9.14.
2015-03-02 23:37:35 +01:00
Paul van der Walt 58acabc368 gnu: mpd: Update to 0.19.9.
* gnu/packages/mpd.scm (mpd): Update version to 0.19.9. Add boost and
  icu4c.
2015-03-02 23:37:35 +01:00
David Thompson bda0c1392a gnu: Add ruby-hoe.
* gnu/packages/ruby.scm (ruby-hoe): New variable.
2015-03-02 17:33:53 -05:00
David Thompson f3c96d474f build: ruby: Install executables in /bin.
* guix/build/ruby-build-system.scm (install): Add '--bindir' flag to gem
  command.
2015-03-02 17:33:53 -05:00
David Thompson 7e7c6a1ac0 build: ruby: Add gitify phase.
* guix/build-system/ruby.scm (lower): Add git as implicit input.
* guix/build/ruby-build-system.scm (gitify): New procedure.
  (%standard-phases): Add gitify phase.
2015-03-02 17:33:53 -05:00
David Thompson 927ff2c379 gnu: Add mpdscribble.
* gnu/packages/mpd.scm (mpdscribble): New variable.
2015-03-02 17:31:40 -05:00
Ludovic Courtès e343024dc4 gnu: tcsh: Use ISO-8859-1 when patching "tests/testsuite".
* gnu/packages/tcsh.scm (tcsh)[arguments]: Set %DEFAULT-PORT-ENCODING
  before substituting "tests/testsuite".  Fixes build failure at
  <http://hydra.gnu.org/build/266962/nixlog/1/raw>.
2015-03-02 23:18:27 +01:00
Ludovic Courtès 993300f6cc system: Create a single-file certificate bundle in /etc/ssl/certs.
Suggested by Mark H Weaver <mhw@netris.org>.

* gnu/system.scm (certificate-bundle): New procedure.
  (etc-directory): Use it.
  [profile]: Set 'SSL_CERT_DIR', 'SSL_CERT_FILE', and 'GIT_SSL_CAINFO'.
2015-03-02 23:05:13 +01:00
Ludovic Courtès e979e6dd52 system: Add 'x509-certificates' field, and populate /etc/ssl/certs.
* gnu/system.scm (<operating-system>)[x509-certificates]: New field.
  (etc-directory): Add #:x509-certificates parameter and honor it.
  (operating-system-etc-directory): Pass #:x509-certificates in
  'etc-directory' call.
* doc/guix.texi (operating-system Reference): Document
  'x509-certificates'.
2015-03-02 22:32:54 +01:00
Ludovic Courtès d6d9f1f715 gnu: Remove 'guile-reader-for-guile_1.8'.
This was a useful example back in July 2012, but not very useful
beyond that.

* gnu/packages/guile.scm (guile-reader): Turn into a plain package.
  [source]: Use mirror:// URI.
  [inputs]: Use GUILE-2.0.
  [arguments]: Use the site/2.0 directory for --with-moduledir.
  (guile-reader/guile-1.8, guile-reader/guile-2.0): Remove.
2015-03-02 21:40:53 +01:00
Ludovic Courtès 16c33bfb07 services: xorg: Fix file descriptor leak from SLiM/xinitrc.
This reverts commit 9515b74554.

* gnu/services/xorg.scm (xinitrc)[builder](close-all-fdes): Start from
  file descriptor 3.
2015-03-02 20:34:37 +01:00
Mark H Weaver 1204c5100e gnu: Add llvm-3.6.0 and clang-3.6.0.
* gnu/packages/llvm.scm (llvm): Update to 3.6.0.
  (clang-from-llvm): New procedure.
  (clang): Update to 3.6.0.  Reimplement using 'clang-from-llvm'.
  (llvm-3.5, clang-3.5): New variables.
2015-03-02 12:08:56 -05:00
Ricardo Wurmus 191c710139 gnu: Add crossmap.
* gnu/packages/bioinformatics.scm (crossmap): New variable.
* gnu/packages/patches/crossmap-allow-system-pysam.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-03-02 17:23:56 +01:00
Ludovic Courtès 7e75a6739b gexp: Make sure 'gexp-outputs' removes duplicate outputs.
Fixes a regression introduced in f9efe56.

* guix/gexp.scm (gexp-outputs): Add call to 'delete-duplicates'.
* tests/gexp.scm ("output list, combined gexps, duplicate output"): New
  test.
2015-03-02 16:26:13 +01:00
宋文武 1385d37a6e gnu: gtk-xfce-engine: Update to 2.10.0.
* gnu/packages/xfce.scm (gtk-xfce-engine): Update to 2.10.0.
2015-03-02 21:27:42 +08:00
Ricardo Wurmus 810cff8557 gnu: Add CLIPper.
* gnu/packages/bioinformatics.scm (clipper): New variable.
2015-03-02 14:11:54 +01:00
Ricardo Wurmus 240ca4aae7 gnu: Add Scikit-learn.
* gnu/packages/python.scm (python-scikit-learn, python2-scikit-learn): New
  variables.
2015-03-02 14:09:10 +01:00
宋文武 b283679951 gnu: xfconf: Re-enable tests.
* gnu/packages/xfce.scm (xfconf)[arguments]: Add #:phases.
2015-03-02 20:37:21 +08:00
Ricardo Wurmus d57e6d0f8e gnu: Add MACS.
* gnu/packages/bioinformatics.scm (macs): New variable.
2015-03-02 11:33:13 +01:00
Ricardo Wurmus a2fb1492af gnu: Add pybedtools.
* gnu/packages/bioinformatics.scm (python2-pybedtools): New variable.
2015-03-02 11:32:10 +01:00
Ricardo Wurmus 8d12be1eb1 gnu: Add pyyaml.
* gnu/packages/python.scm (python-pyyaml, python2-pyyaml): New variables.
2015-03-02 11:31:14 +01:00
Mark H Weaver 649b5e1bd4 gnu: libotr: Update to 4.1.0.
* gnu/packages/messaging.scm (libotr): Update to 4.1.0.
2015-03-02 00:09:09 -05:00
Mark H Weaver 9515b74554 Revert "services: xorg: Fix file descriptor leak from SLiM/xinitrc."
This reverts commit ec4a4c46ef,
because it broke XFCE.
2015-03-01 23:57:23 -05:00
Mark H Weaver e013220eb6 gnu: xfconf: Update to 4.12.0.
* gnu/packages/xfce.scm (xfconf): Update to 4.12.0.  Disable tests.
2015-03-01 20:16:45 -05:00
Mark H Weaver f6176e7870 gnu: gnu-pw-mgr: Update to 1.3.
* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.3.
2015-03-01 19:44:13 -05:00
Mark H Weaver 0a5c308782 gnu: sharutils: Update to 4.15.
* gnu/packages/compression.scm (sharutils): Update to 4.15.
2015-03-01 19:42:57 -05:00
Mark H Weaver 5245251eaa gnu: gdb: Update to 7.9.
* gnu/packages/gdb.scm (gdb): Update to 7.9.
2015-03-01 19:35:46 -05:00
Mark H Weaver 3820d39739 Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/gnupg.scm
2015-03-01 19:05:29 -05:00
Mark H Weaver afff9058a0 gnu: gnupg: Update to 2.0.27.
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.27.
2015-03-01 19:02:49 -05:00
Mark H Weaver 751be9a056 gnu: libgcrypt: Update to 1.6.3.
* gnu/packages/gnupg.scm (libgcrypt): Update to 1.6.3.
2015-03-01 18:52:02 -05:00
Ludovic Courtès 6b9540bcff gnu: wget: Update to 1.16.2.
* gnu/packages/wget.scm (wget): Update to 1.16.2.
  [inputs]: Add PKG-CONFIG.
2015-03-01 22:22:43 +01:00
Ludovic Courtès ec35d36495 gnu: libpsl: Fix link flag in 'libpsl.pc'.
* gnu/packages/web.scm (libpsl)[source]: Add 'snippet' and 'modules'
  fields.
2015-03-01 22:22:43 +01:00
Ludovic Courtès 9041d935c4 gnu: gnupg-1: Update to 1.4.19.
* gnu/packages/gnupg.scm (gnupg-1): Update to 1.4.19.
2015-03-01 22:22:43 +01:00
Taylan Ulrich Bayırlı/Kammer cb03a9b6a2 gnu: ecl: Update to version 15.2.21.
* gnu/packages/lisp.scm (ecl): Update to version 15.2.21, and disable the test
  suite because ECL now fails to initialize during 'make check'.
2015-03-01 21:29:33 +01:00
Mathieu Lirzin 76212b57f6 gnu: Add xbindkeys.
* gnu/packages/xdisorg.scm (xbindkeys): New variable.
2015-03-01 11:22:19 -05:00
Ricardo Wurmus eb0fb087b9 gnu: Add AlsaModularSynth.
* gnu/packages/audio.scm (alsa-modular-synth): New variable.
2015-03-01 17:07:51 +01:00
Ricardo Wurmus 631ac903b6 gnu: Add clalsadrv.
* gnu/packages/audio.scm (clalsadrv): New variable.
2015-03-01 17:07:44 +01:00
Ludovic Courtès bbe7a2ce0c Revert "build-system/gnu: Keep the sloppy conversion strategy during bootstrap."
This reverts commit b479c3ddaf.
This commit was the result of an incorrect characterization of the
problem; see the log of commit 87c8b92 for details.
2015-03-01 17:05:41 +01:00
Ludovic Courtès 87c8b92f50 gnu: commencement: Make UTF-8 locales available right after 'guile-final'.
In <http://hydra.gnu.org/build/263170>, we see:

   153: 12 [patch-usr-bin-file #:native-inputs #f ...]

  [...]

     ?: 1 [regexp-exec # ...]
  In ice-9/boot-9.scm:
   106: 0 [#<procedure 1998ec0 at ice-9/boot-9.scm:97:6 (thrown-k . args)> encoding-error ...]

  ice-9/boot-9.scm:106:20: In procedure #<procedure 1998ec0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
  ice-9/boot-9.scm:106:20: Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert narrow string to output locale" 84 #f #f)'.

This is due to that fact that 'patch-/usr/bin/file' read a line
containing a byte sequence with bytes > 127 (namely a copyright sign.)
But this build was running with a C locale, and so those bytes cannot be
represented in that locale, hence this error.

This commit makes the UTF-8 locales available earlier such that
everything can be represented in locale encoding.

* gnu/packages/commencement.scm (glibc-utf8-locales-final): Move
  earlier; change "gzip" input to GZIP built with %BOOT4-INPUTS.
  (%boot5-inputs): Define to %BOOT4-INPUTS plus
  GLIBC-UTF8-LOCALES-FINAL.
  (gnu-make-final, coreutils-final, grep-final): Use it instead of
  %BOOT4-INPUTS.
  (gzip-final): Remove.
  (%boot6-inputs): New variable.
  (%final-inputs): Use it instead of %BOOT5-INPUTS.  Don't rely on
  GZIP-FINAL.
2015-03-01 17:03:04 +01:00
宋文武 8ccf68f9e0 gnu: xfwm4: Add inputs libdrm and libxdamage.
* gnu/packages/xfce.scm (xfwm4): Add libdrm and libxdamage to inputs.
2015-03-01 18:41:57 +08:00
宋文武 39a4d761c7 gnu: xfwm4: Update to 4.12.0.
* gnu/packages/xfce.scm (xfwm4): Update 4.12.0.
2015-03-01 18:41:02 +08:00
宋文武 046bcf2952 gnu: xfdesktop: Update to 4.12.0.
* gnu/packages/xfce.scm (xfdesktop): Update to 4.12.0.
2015-03-01 18:38:52 +08:00
宋文武 ad1540062b gnu: thunar-volman: Update to 0.8.1.
* gnu/packages/xfce.scm (thunar-volman): Update to 0.8.1.
2015-03-01 18:38:39 +08:00
宋文武 78daf79be1 gnu: thunar: Update to 1.6.6.
* gnu/packages/xfce.scm (thunar): Update to 1.6.6.
2015-03-01 18:38:22 +08:00
宋文武 2998f7181f gnu: xfce4-settings: Update to 4.12.0.
* gnu/packages/xfce.scm (xfce4-settings): Update to 4.12.0.
2015-03-01 18:38:06 +08:00
宋文武 3d75c320fa gnu: xfce4-session: Update to 4.12.0.
* gnu/packages/xfce.scm (xfce4-session): Update to 4.12.0.
2015-03-01 18:37:54 +08:00
宋文武 be3db25a52 gnu: xfce4-appfinder: Update to 4.12.0.
* gnu/packages/xfce.scm (xfce4-appfinder): Update to 4.12.0.
2015-03-01 18:37:37 +08:00
宋文武 bcd54994f0 gnu: xfce4-panel: Update to 4.12.0.
* gnu/packages/xfce.scm (xfce4-panel): Update to 4.12.0.
2015-03-01 18:37:20 +08:00
宋文武 3786be080f gnu: tumbler: Update to 0.1.31.
* gnu/packages/xfce.scm (tumbler): Update to 0.1.31.
2015-03-01 18:37:04 +08:00
宋文武 ea3fb8f183 gnu: garcon: Update to 0.4.0.
* gnu/packages/xfce.scm (garcon): Update to 0.4.0.
2015-03-01 18:36:48 +08:00
宋文武 9ade90ae52 gnu: exo: Update to 0.10.3.
* gnu/packages/xfce.scm (exo): Update to 0.10.3.
2015-03-01 18:36:26 +08:00
宋文武 7379ffc1a0 gnu: libxfce4ui: Update to 4.12.0.
* gnu/packages/xfce.scm (libxfce4ui): Update to 4.12.0.
2015-03-01 18:36:12 +08:00
宋文武 96fffedea0 gnu: libxfce4util: Update to 4.12.1.
* gnu/packages/xfce.scm (libxfce4util): Update to 4.12.1.
2015-03-01 18:35:14 +08:00
Ludovic Courtès ec4a4c46ef services: xorg: Fix file descriptor leak from SLiM/xinitrc.
Previously processes started from the window manager would have a couple
of leaked file descriptors: writable /var/log/slim.log and readable
/gnu/store/…-xinitrc.

* gnu/services/xorg.scm (xinitrc)[builder]: Add 'close-all-fdes'.  Use
  it in 'exec-from-login-shell'.
2015-03-01 00:25:30 +01:00
Ludovic Courtès b479c3ddaf build-system/gnu: Keep the sloppy conversion strategy during bootstrap.
* guix/build/gnu-build-system.scm (gnu-build): Leave
  %DEFAULT-PORT-CONVERSION-STRATEGY unchanged when 'string->bytevector'
  fails to convert to ISO-8859-1.  This is an attempt to work around the
  build failures at <http://hydra.gnu.org/build/263002>.
2015-03-01 00:23:07 +01:00
Ricardo Wurmus 74bbf89495 gnu: Add zita-alsa-pcmi.
* gnu/packages/audio.scm (zita-alsa-pcmi): New variable.
2015-02-28 22:30:19 +01:00
Ricardo Wurmus 8fb79e3dfb gnu: Add LV2 mda EPiano plugin.
* gnu/packages/audio.scm (lv2-mdaepiano): New variable.
2015-02-28 22:29:57 +01:00
Ricardo Wurmus 982471276b gnu: Add LV2 mda Piano plugin.
* gnu/packages/audio.scm (lv2-mdapiano): New variable.
2015-02-28 22:29:47 +01:00
Ricardo Wurmus dd6b54b846 gnu: Add txt2man.
* gnu/packages/man.scm (txt2man): New variable.
2015-02-28 21:54:29 +01:00
David Thompson 654b27e56e gnu: mpd: Export package variables using define-public.
* gnu/packages/mpd.scm: Use define-public for package variables.  Remove
  #:exports from module declaration.
2015-02-28 14:05:20 -05:00
Paul van der Walt 773b2792e1 gnu: Add mpd-mpc.
* gnu/packages/mpd.scm (mpd-mpc): New variable.
2015-02-28 13:10:32 -05:00
Paul van der Walt e42dc6249c gnu: ncmpcpp: Update to 0.6.2
* gnu/packages/mpd.scm (ncmpcpp): Update to version 0.6.2.  Add boost,
  readline, autotools inputs.
2015-02-28 09:54:12 -05:00
Mark H Weaver f586c87705 gnu: Add 'file-name' fields for github source tarballs without a name.
* gnu/packages/aarddict.scm (aarddict), gnu/packages/algebra.scm (arb),
  gnu/packages/audio.scm (jack-2, lvtk),
  gnu/packages/bioinformatics.scm (bedops, bedtools, bowtie),
  gnu/packages/game-development.scm (tiled),
  gnu/packages/games.scm (minetest-data, minetest, retroarch),
  gnu/packages/jrnl.scm (jrnl), gnu/packages/kde.scm (qjson),
  gnu/packages/libevent.scm (libuv), gnu/packages/linux.scm (pflask),
  gnu/packages/mail.scm (offlineimap, libetpan),
  gnu/packages/maths.scm (arpack-ng), gnu/packages/ninja.scm (ninja),
  gnu/packages/nutrition.scm (gourmet),
  gnu/packages/python.scm (python-cairocffi), gnu/packages/rdf.scm (lrdf),
  gnu/packages/ruby.scm (ruby-i18n), gnu/packages/sxiv.scm (sxiv): Add
  'file-name' field to origin.
2015-02-28 09:49:01 -05:00
Mark H Weaver 722ec72244 gnu: Move autoconf-style phases after the unpack phase.
* gnu/packages/audio.scm (soundtouch)[arguments]: Move 'bootstrap'
  after 'unpack'.  Remove custom /usr/bin/file patching, which will
  now be handled by the 'patch-usr-bin-file' phase.
* gnu/packages/emacs.scm (emacs-w3m)[arguments]: Rename 'pre-configure'
  phase to 'autoconf' and move it after 'unpack'.
* gnu/packages/fontutils.scm (libuninameslist)[arguments]: Move 'bootstrap'
  phase after 'unpack'.
* gnu/packages/libevent.scm (libuv)[arguments]: Move 'autogen' phase after
  'unpack'.  Run "sh autogen.sh" instead of "./autogen.sh".
* gnu/packages/linux.scm (bridge-utils)[arguments]: Move 'bootstrap' phase
  after 'unpack'.
* gnu/packages/mail.scm (libetpan)[arguments]: Move 'autogen' phase after
  'unpack'.  Run "sh autogen.sh" instead of "./autogen.sh".  Setenv
  "NOCONFIGURE" before running autogen.sh.
* gnu/packages/package-management.scm (guix-devel)[arguments]: Move
  'bootstrap' phase after 'unpack'.  Run "sh autogen.sh" instead of
  "./autogen.sh".
* gnu/packages/rdf.scm (lrdf)[arguments]: Move 'autoreconf' phase after
  'remove-out-of-tree-references' phase.
* gnu/packages/tor.scm (privoxy)[arguments]: Move 'autoconf' phase after
  'unpack'.
* gnu/packages/web.scm (libpsl)[arguments]: Move 'bootstrap' phase after
  'unpack'.  Run "sh autogen.sh" instead of "./autogen.sh".  Remove
  'fix-autogen-shebang' phase.
2015-02-28 09:49:01 -05:00
Paul van der Walt 17dd4329eb gnu: mail: Add copyright line.
* gnu/packages/mail.scm (mu): Add forgotten copyright line.
2015-02-28 09:48:28 -05:00
Ludovic Courtès dd0a8ef15f utils: Treat 'configure' and Makefiles with an 8-bit encoding.
* guix/build/utils.scm (patch-makefile-SHELL, patch-/usr/bin/file): Wrap
  'substitute*' in 'with-fluids'.  Fixes <http://hydra.gnu.org/build/262895>.
2015-02-28 12:25:22 +01:00
宋文武 692784ddbb gnu: Add font-adobe-source-han-sans.
* gnu/packages/fonts.scm (font-adobe-source-han-sans): New variable.
2015-02-28 17:51:29 +08:00
Andreas Enge 88c268347b gnu: python: Drop special handling of python2-numpydoc as input.
* gnu/packages/python.scm (python2-numpy, python2-matplotlib,
  python2-ipython): Keep input python2-numpydoc created by
  package-with-python2.
2015-02-28 01:17:57 +01:00
Ludovic Courtès 4db87162e6 packages: Set the port conversion strategy to 'error'.
Suggested by Mark H Weaver.

* guix/build/gnu-build-system.scm (gnu-build): Set
  %DEFAULT-PORT-CONVERSION-STRATEGY to 'error.
* guix/packages.scm (patch-and-repack)[builder]: Likewise.
2015-02-28 01:10:24 +01:00
Andreas Enge 5e4d8f6710 gnu: python-numpydoc: Drop one test.
* gnu/packages/python.scm (python-numpydoc): Drop one test for all Python
  versions.
  (python2-numpydoc): Define it by package-with-python2 without modifications.
2015-02-28 01:08:37 +01:00
Ludovic Courtès ca1e3ad2fa utils: Change 'patch-shebangs' to use binary input.
* guix/build/utils.scm (get-char*): New procedure.
  (patch-shebang): Use it instead of 'read-char'.
  (fold-port-matches): Remove local 'get-char' and use 'get-char*'
  instead.
2015-02-28 01:01:51 +01:00
Andreas Enge 7ca0dbc3f0 gnu: python2-py2cairo: Rename to python2-pycairo.
* gnu/packages/gtk.scm (python2-py2cairo): Rename to ...
  (python2-pycairo): ... this
  (python2-pygtk): Adapt input.
* gnu/packages/glib.scm (python2-pygobject-2): Adapt input.
* gnu/packages/python.scm (package-with-python2): Adapt input.
2015-02-27 23:53:57 +01:00
Ludovic Courtès f9efe568c3 gexp: Aggregate outputs of compound gexps.
* guix/gexp.scm (gexp-outputs)[add-reference-output]: Recurse into
  lists.
* tests/gexp.scm ("output list + ungexp-splicing list, combined gexps"):
  New test.
2015-02-27 22:05:40 +01:00
Ludovic Courtès 4b23c4664e gexp: Add tests for 'gexp-outputs'.
* tests/gexp.scm (gexp-outputs): New procedure.
  ("output list", "output list, combined gexps"): New tests.
2015-02-27 22:03:20 +01:00
Ludovic Courtès c9727aac40 download: Comment on lack of progress report with chunked encoding.
* guix/build/download.scm (progress-proc): Add comment.
2015-02-27 15:08:37 +01:00
Ludovic Courtès 9fbe6f1920 download: Measure and display the throughput.
* guix/build/download.scm (duration->seconds, throughput->string): New
  procedures.
  (progress-proc): Measure and display the throughput.
2015-02-27 15:08:37 +01:00
Ludovic Courtès e7620dc995 download: Abstract the receive buffer size.
* guix/build/download.scm (%http-receive-buffer-size): New variable.
  (progress-proc, tls-wrap, http-fetch): Use it.
2015-02-27 15:08:37 +01:00
Ludovic Courtès 2c1fb35377 utils: Call the progress-report proc when 'dump-port' starts.
* guix/build/utils.scm (dump-port): Add call to PROGRESS at the
  beginning.
2015-02-27 15:08:37 +01:00
Ludovic Courtès 251e8b2ee8 build-system/gnu: Set $LC_ALL (or similar) to the chosen locale.
Suggested by Mark H Weaver.

* guix/build/utils.scm (locale-category->string): New procedure.
* guix/build/gnu-build-system.scm (install-locale): Add 'setenv' call.
2015-02-27 15:08:37 +01:00
Ludovic Courtès 7184b4b1bd gnu: Remove now unneeded 'localedef' invocations.
This is a followup to commit b0fd2bd.

* gnu/packages/gawk.scm (gawk)[arguments] <install-locales>: Add comment
  on why we leave this here.
* gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove
  'install-locales' phase.
* gnu/packages/swig.scm (swig)[arguments]: Likewise.
* gnu/packages/python.scm (python-matplotlib): Remove 'LOCPATH' setting
  and 'localedef' invocation.
  (python-scipy): Likewise.
2015-02-27 15:08:37 +01:00
Ludovic Courtès da6dd842d0 gnu: Remove now unneeded 'unpack' phases for unzip.
This is a followup to commit cd0385b.

* gnu/packages/bioinformatics.scm (hisat)[arguments]: Remove 'unpack'
  phase.
* gnu/packages/image.scm (freeimage): Likewise.
* gnu/packages/python.scm (python2-cssutils): Likewise.
2015-02-27 15:08:37 +01:00
Ludovic Courtès e8c9f0498f gnu: gettext: Set encoding to ISO-8859-1 when modifying files.
* gnu/packages/gettext.scm (gnu-gettext)[arguments] <patch-tests>: Set
  %default-port-encoding.  Fixes test failures at
  <http://hydra.gnu.org/build/262586>.
2015-02-27 15:08:37 +01:00
Jason Self ac4cbcc10a gnu: linux-libre: Update to 3.18.8
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.8.
2015-02-27 05:02:31 -08:00
宋文武 50915d2c2e build-system/cmake: Enable verbose output from Makefile builds.
* guix/build/cmake-build-system.scm (configure): Pass
  -DCMAKE_VERBOSE_MAKEFILE=ON to cmake.
2015-02-27 19:10:40 +08:00
宋文武 f1886b51bd gnu: cmake: Update to 3.1.3.
* gnu/packages/cmake.scm (cmake): Update to 3.1.3.
2015-02-27 18:53:25 +08:00
Paul van der Walt 922eaededc gnu: mu: Update to 0.9.11.
* gnu/packages/mail.scm (mu): Update to 0.9.11.  Update source URI.  Add
  autoconf, automake, and libtool to native-inputs.  Add autoreconf phase.
2015-02-26 20:53:41 -05:00
Mark H Weaver 77888fae13 gnu: cairo: Enable tee surface backend.
* gnu/packages/gtk.scm (cairo)[arguments]: Add --enable-tee to
  configure-flags.
2015-02-26 19:22:57 -05:00
Mark H Weaver e5718ca1e6 gnu: sqlite: Update to 3.8.8.3.
* gnu/packages/databases.scm (sqlite): Update to 3.8.8.3.
2015-02-26 19:22:27 -05:00
Mark H Weaver 8f1d22b718 gnu: sqlite: Add "CFLAGS=-O2 -DSQLITE_SECURE_DELETE" to configure-flags.
* gnu/packages/databases.scm (sqlite)[arguments]: Add "CFLAGS=-O2
  -DSQLITE_SECURE_DELETE" to configure-flags.
2015-02-26 18:30:43 -05:00
Ludovic Courtès f307947ecc ld-wrapper: Add '-rpath' for arguments such as 'libfoo.so.5.3'.
Suggested by Andreas Enge <andreas@enge.fr>
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00810.html>.
CMake command lines appear to refer to such file names.

* gnu/packages/ld-wrapper.scm (shared-library?): New procedure.
  (library-files-linked): Use it.
2015-02-27 00:09:30 +01:00
Ludovic Courtès 9cca706c2e packages: When possible, use a UTF-8 locale in patch-and-repack.
* guix/packages.scm (%standard-patch-inputs): Add "locales".
  (patch-and-repack)[builder]: Add 'locales' variable.  When it is true,
  call 'setenv' and 'setlocale'.
2015-02-27 00:03:17 +01:00
Ludovic Courtès b0fd2bd3c5 gnu: Add glibc-utf8-locales to the implicit inputs.
Suggested by Mark H Weaver and Andreas Enge
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00356.html>.

* gnu/packages/commencement.scm (gzip-final, glibc-utf8-locales-final):
  New variables.
  (%final-inputs): Use them.
2015-02-26 23:41:49 +01:00
Ludovic Courtès 5335c56e8e build-system/gnu: Add 'install-locale' phase.
* guix/build/gnu-build-system.scm (install-locale): New procedure.
  (%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build): Add #:locale and pass it to
  the build script.
  (gnu-cross-build): Likewise.
2015-02-26 23:36:55 +01:00
Ludovic Courtès f84218acae build-system: Use 'modify-phases'.
* guix/build/cmake-build-system.scm (%standard-phases): Use
  'modify-phases' instead of alist-*.
* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
* guix/build/gnu-dist.scm (%dist-phases): Likewise.
* guix/build/perl-build-system.scm (%standard-phases): Likewise.
* guix/build/python-build-system.scm (%standard-phases): Likewise.
* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
* guix/build/waf-build-system.scm (%standard-phases): Likewise.
2015-02-26 23:00:21 +01:00
Ludovic Courtès 8ddc41e1f2 utils: Add 'modify-phases'.
* guix/build/utils.scm (modify-phases): New macro.
2015-02-26 22:48:39 +01:00
Ludovic Courtès cd0385b61a build-system/gnu: Add support for zip archives.
Fixes <http://bugs.gnu.org/19866>.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/build/gnu-build-system.scm (unpack): Use 'unzip' when SOURCE ends
  in '.zip'.
2015-02-26 22:48:33 +01:00
Ludovic Courtès 93be4e8e6c Merge branch 'master' into core-updates 2015-02-26 22:37:12 +01:00
Ludovic Courtès e150917495 services: slim: Add "F1 to change" in session message.
* gnu/services/xorg.scm (slim-service)[slim.cfg]: Add 'session_msg'.
2015-02-26 22:25:15 +01:00
Ludovic Courtès a21b23d34a services: slim: Preserve the order of session types.
That makes WindowMaker the default session, by default.

* gnu/services/xorg.scm (xsessions-directory)[builder]: Prepend a number
  in the file name to preserve the order of SESSIONS.
  (slim-service): Augment docstring.
* doc/guix.texi (X Window): Adjust accordingly.
2015-02-26 22:25:15 +01:00
Ludovic Courtès 9f2840cb52 gnu: openexr: Add synopsis.
* gnu/packages/graphics.scm (openexr)[synopsis]: Fill in.
  [description]: Improve.
2015-02-26 22:25:15 +01:00
Mark H Weaver a068dba78b gnu: grep: Apply fix for CVE-2015-1345.
* gnu/packages/patches/grep-CVE-2015-1345.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (grep): Add patch.
2015-02-26 05:16:04 -05:00
Mark H Weaver baece08a04 gnu: samba: Update to 3.6.25.
* gnu/packages/samba.scm (samba): Update to 3.6.25.
2015-02-26 02:23:06 -05:00
Mark H Weaver 183eaf877f gnu: e2fsprogs: Update to 1.42.12.
* gnu/packages/linux.scm (e2fsprogs): Update to 1.42.12.
2015-02-26 02:23:06 -05:00
Mark H Weaver 24d77d1038 doc: Remove reference to git submodules in HACKING.
* HACKING: Remove mention of git submodules.
2015-02-26 00:44:13 -05:00
Mark H Weaver 8830740643 gnu: icecat: Apply fixes for CVE-2015-{0822,0827,0831,0836}.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
  gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
  gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.
2015-02-26 00:39:31 -05:00
Mark H Weaver 5be2f8844d gnu: luajit: Fix patch file names in gnu-system.am.
* gnu-system.am (dist_patch_DATA): Fix patch file names.
2015-02-25 21:00:43 -05:00
Tomáš Čech dcaf2511d7 gnu: Fix luajit installation
* gnu/packages/lua.scm (luajit): Apply 2 patches.
* gnu-system.am (dist_patch_DATA): Register 2 patches.
* gnu/packages/patches/luajit-no_ldconfig.patch: New file.
* gnu/packages/patches/luajit-symlinks.patch: New file.
2015-02-26 00:43:02 +01:00
Andreas Enge 447260319b gnu: Add avidemux.
* gnu/packages/video.scm (avidemux, avidemux-2.5): New variables.
2015-02-26 00:08:17 +01:00
Ludovic Courtès fe3df05091 build: Bump version number.
* configure.ac: Change to version 0.8.2.
2015-02-26 00:04:36 +01:00
Ludovic Courtès e9c1e22f04 ui: Add missing copyright line.
* guix/ui.scm: Add copyright line for Deck (aka. nebuli).
2015-02-26 00:04:36 +01:00
Ludovic Courtès cf6ce3e6ef ui: Honor --no-* options passed via $GUIX_BUILD_OPTIONS.
Reported by Alex Kost <alezost@gmail.com>
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00702.html>.

* guix/ui.scm (parse-command-line)[parse-options-from]: Add 'seeds'
  parameter.
  Thread the result of the first 'parse-options-from' call to the
  second.
2015-02-26 00:04:36 +01:00
Ludovic Courtès b3f213893b ui: Factorize command-line + env. var. option parsing.
* guix/ui.scm (%default-argument-handler, parse-command-line): New
  procedures.
  (environment-build-options): Make private.
* guix/scripts/archive.scm (guix-archive)[parse-options,
  parse-options-from]: Remove.  Use 'parse-command-line' instead.
* guix/scripts/build.scm (guix-build): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* tests/ui.scm (with-environment-variable): New macro.
  ("parse-command-line"): New test.
2015-02-26 00:04:36 +01:00
Taylan Ulrich Bayırlı/Kammer 72bfebf58d gnu: ffmpeg: Add soxr and twolame as inputs.
* gnu/packages/video.scm (ffmpeg): Add soxr and twolame as inputs.
2015-02-25 22:09:35 +01:00
Ludovic Courtès 60a2d27edd gnu: nss-mdns: Use /var as the localstatedir.
Reported by Mark H Weaver <mhw@netris.org>
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00686.html>.

* gnu/packages/avahi.scm (nss-mdns)[arguments]: Use
  --localstatedir=/var.
2015-02-25 18:03:51 +01:00
Ludovic Courtès faf0f39bd3 services: nscd: Make sure /var/db/nscd exists.
* gnu/services/base.scm (nscd-service)[activate]: Make /var/db/nscd.
2015-02-25 18:02:13 +01:00
Ludovic Courtès 9d620590b9 gnu: Add CTL.
* gnu/packages/graphics.scm (ctl): New variable.
2015-02-25 17:05:45 +01:00
Ludovic Courtès cab6a2535a gnu: Add OpenEXR and IlmBase.
* gnu/packages/graphics.scm (ilmbase, openexr): New variables.
* gnu/packages/patches/openexr-missing-samples.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-02-25 16:58:50 +01:00
Taylan Ulrich Bayırlı/Kammer bd4464f2e9 gnu: Add portaudio.
* gnu/packages/audio.scm (portaudio): New variable.
2015-02-25 15:38:17 +01:00
Taylan Ulrich Bayırlı/Kammer 49f3670889 gnu: Add twolame.
* gnu/packages/audio.scm (twolame): New variable.
2015-02-25 15:38:17 +01:00
Taylan Ulrich Bayırlı/Kammer 4bddd14c11 gnu: Add soxr.
* gnu/packages/audio.scm (soxr): New variable.
2015-02-25 15:38:17 +01:00
Taylan Ulrich Bayırlı/Kammer 754a98ae42 gnu: Add soundtouch.
* gnu/packages/audio.scm (soundtouch): New variable.
2015-02-25 15:38:17 +01:00
Taylan Ulrich Bayırlı/Kammer 9f1cdd9dfa gnu: Add libsbsms.
* gnu/packages/audio.scm (libsbsms): New variable.
2015-02-25 15:38:17 +01:00
Taylan Ulrich Bayırlı/Kammer e6caa52d85 gnu: Add cpufrequtils.
* gnu/packages/linux.scm (cpufrequtils): New variable.
* gnu/packages/patches/cpufrequtils-fix-aclocal.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-02-25 15:27:48 +01:00
Taylan Ulrich Bayırlı/Kammer a9a1a40b50 gnu: Add sysfsutils-1.
* gnu/packages/linux.scm (sysfsutils-1): New variable.
2015-02-25 15:27:48 +01:00
Taylan Ulrich Bayırlı/Kammer 37f5caec4e gnu: Add sysfsutils.
* gnu/packages/linux.scm (sysfsutils): New variable.
2015-02-25 15:27:48 +01:00
Ludovic Courtès c9505f3ffa gnu: Add glibc-utf8-locales.
* gnu/packages/base.scm (glibc-utf8-locales): New variable.
2015-02-25 14:13:30 +01:00
Andreas Enge 5e5784a91d gnu: python2-rdflib: Explicitly build with python-2.
* gnu/packages/rdf.scm (python2-rdflib): Add argument to build with python-2.
2015-02-25 10:55:28 +01:00
Ludovic Courtès 8a00b93027 gnu: glibc: Change 'LOCPATH' specification to look for "lib/locale".
Suggested by Andreas Schwab <schwab@linux-m68k.org>
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00652.html>.

* gnu/packages/base.scm (glibc)[native-search-paths]: Change
  "share/locale" to "lib/locale".
2015-02-25 09:46:13 +01:00
Mark H Weaver c964a15d82 download: Cope with Guile 2.0.6 or earlier.
* guix/build/download.scm: Do not attempt to support relative URIs in
  "Location" headers if 'declare-relative-uri-header!' is not present.
  This is the case for Guile 2.0.6 or earlier.
2015-02-24 20:01:55 -05:00
Andreas Enge da71f145c6 gnu: Add python2-rdflib.
* gnu/packages/rdf.scm (python2-rdflib): New variable.
  (python-rdflib): Add patch.
* gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
2015-02-25 00:58:20 +01:00
Andreas Enge 3dd7547666 gnu: python-html5lib: Add propagated input.
* gnu/packages/python.scm (python-html5lib): Add propagated input python-six.
  (python2-html5lib): Add propagated input python2-six.
2015-02-25 00:58:20 +01:00
Andreas Enge 0c20025c05 gnu: Add python2-six.
* gnu/packages/python.scm (python2-six): New variable.
2015-02-25 00:58:20 +01:00
Andreas Enge 4219f48f70 gnu: python-rdflib: Correct typo.
* gnu/packages/rdf.scm (python-rdflib): Correct typo in the name of an input.
2015-02-25 00:58:20 +01:00
Ludovic Courtès b9e02a71a9 gnu: glibc-locales: Install to lib/locales.
Suggested by Andreas Schwab <schwab@linux-m68k.org>
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00652.html>.

* gnu/packages/base.scm (glibc-locales) <#:configure-flags>: Change
  "/share/locale" to "/lib/locale".
2015-02-25 00:47:49 +01:00
David Thompson 61452a5ab1 gnu: Add pumpa.
* gnu/packages/pumpio.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-24 18:00:31 -05:00
Ludovic Courtès 6e1a7d17f4 guix system: Honor '--no-grub'.
Reported by Alex Kost <alezost@gmail.com>
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00564.html>.

* guix/scripts/system.scm (%options) <no-grub>: Use 'alist-cons' instead
  of 'alist-delete'.
2015-02-24 23:43:03 +01:00
Ludovic Courtès a4d8c40f7d artwork: Update to latest GRUB image.
* gnu/artwork.scm (%artwork-repository): Update to newer snapshot.
2015-02-24 23:43:03 +01:00
Ludovic Courtès 4cc78cb38f gnu: Sync GNU synopses and descriptions.
* gnu/packages/games.scm (gnugo): Adjust synopsis.
* gnu/packages/libffcall.scm (libffcall): Likewise.
* gnu/packages/lisp.scm (clisp): Adjust synopsis and description.
2015-02-24 23:43:03 +01:00
Ludovic Courtès 2178ed66f7 build: Reject or warn against file name length limit overruns.
* m4/guix.m4 (GUIX_TEST_ROOT_DIRECTORY, LINUX_HASH_BANG_LIMIT,
  SOCKET_FILE_NAME_LIMIT, GUIX_SOCKET_FILE_NAME_LENGTH,
  GUIX_TEST_SOCKET_FILE_NAME_LENGTH, GUIX_HASH_BANG_LENGTH,
  GUIX_CHECK_FILE_NAME_LIMITS): New macros.
* configure.ac: Use 'GUIX_CHECK_FILE_NAME_LIMITS'.
* config-daemon.ac: Use 'GUIX_TEST_ROOT_DIRECTORY'.
* test-env.in: Check socket name length and emit warning if it exceeds
  107.
2015-02-24 23:43:03 +01:00
Ludovic Courtès 43da8f018d build: Disable grafting in sanity checks.
* build-aux/check-available-binaries.scm: Wrap body in 'parameterize'
  form that clears '%graft?'.
* build-aux/check-final-inputs-self-contained.scm: Likewise.
2015-02-24 23:43:03 +01:00
Ricardo Wurmus 9ffee4571c gnu: Add TiMidity++.
* gnu/packages/audio.scm (timidity++): New variable.
2015-02-24 23:01:12 +01:00
Ricardo Wurmus 7c92efffe6 gnu: Add Freepats.
* gnu/packages/audio.scm (freepats): New variable.
2015-02-24 23:01:12 +01:00
Ricardo Wurmus 8d422e258b gnu: Add Stow.
* gnu/packages/package-management.scm (stow): New variable.
2015-02-24 21:29:27 +01:00
Ricardo Wurmus fb0832037f gnu: Add Test::Output.
* gnu/packages/perl.scm (perl-test-output): New variable.
2015-02-24 21:29:27 +01:00
Ricardo Wurmus 61593ab3d6 gnu: Add Sub::Exporter.
* gnu/packages/perl.scm (perl-sub-exporter): New variable.
2015-02-24 21:29:27 +01:00
Ricardo Wurmus 1420576458 gnu: Add Data::OptList.
* gnu/packages/perl.scm (perl-data-optlist): New variable.
2015-02-24 21:29:27 +01:00
Ricardo Wurmus 6f38dce749 gnu: Add Capture::Tiny.
* gnu/packages/perl.scm (perl-capture-tiny): New variable.
2015-02-24 21:29:27 +01:00
Ricardo Wurmus 8ba06a38c1 gnu: Add Params::Util.
* gnu/packages/perl.scm (perl-params-util): New variable.
2015-02-24 21:29:27 +01:00
Ricardo Wurmus aeccd1bda2 gnu: Add Sub::Install.
* gnu/packages/perl.scm (perl-sub-install): New variable.
2015-02-24 21:29:27 +01:00
Ricardo Wurmus 7ad608e49d gnu: Add Xournal.
* gnu/packages/pdf.scm (xournal): New variable.
2015-02-24 21:26:58 +01:00
Andreas Enge 6d5e7ef3ae licenses: Add IPA Font License.
* guix/licenses.scm (ipa): New variable.
2015-02-24 16:09:30 +01:00
Ludovic Courtès 31567c4274 Thank Daniel. 2015-02-24 00:04:37 +01:00
Ludovic Courtès b69c5c2ced tests: Skip tests that would fail due to the shebang length.
Reported by Daniel Kochmański <dkochmanski@hellsgate.pl>.
Fixes <http://bugs.gnu.org/19888>.

* guix/tests.scm (shebang-too-long?): New procedure.
* tests/builders.scm ("gnu-build"): Conditionalize on
  not (shebang-too-long?).
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/guix-package.sh (shebang_not_too_long): New function.
  Use it to determine whether to build 'gnu-make-boot0'.
2015-02-24 00:01:34 +01:00
Ludovic Courtès 12d720fd1a tests: Factorize the network reachability test.
* guix/tests.scm (network-reachable?): New procedure.
* tests/builders.scm (network-reachable?): Remove.
  Replace references to it with calls to the new 'network-reachable?'
  procedure.
* tests/derivations.scm (%coreutils): Use 'network-reachable?' instead
  of 'getaddrinfo'.
* tests/packages.scm: Likewise.
* tests/union.scm: Likewise.
2015-02-24 00:01:34 +01:00
Jason Self 49685cae2b gnu: ffmpeg-2.2: Update to 2.2.13
* gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.13.
2015-02-23 14:38:13 -08:00
Jason Self 30aa3d5a03 gnu: ffmpeg: Update to 2.5.4
* gnu/packages/video.scm (ffmpeg): Update to version 2.5.4.
2015-02-23 14:37:07 -08:00
Taylan Ulrich Bayırlı/Kammer 531a9aac6d gnu: Add CCL.
* gnu/packages/lisp.scm (ccl): New variable.
2015-02-23 23:07:18 +01:00
Taylan Ulrich Bayırlı/Kammer 927b6728f0 gnu: Add wxwidgets.
* gnu/packages/wxwidgets.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-23 21:56:41 +01:00
Andreas Enge 89b5c60ef9 gnu: python2-oauthlib: Drop inherited fields.
* gnu/packages/python.scm (python2-oauthlib): Drop inherited fields.
2015-02-23 18:41:10 +01:00
Ricardo Wurmus bccf27cb3b gnu: i2c-tools: Add perl to inputs.
* gnu/packages/linux.scm (i2c-tools): Add perl to inputs.
2015-02-22 18:59:45 +01:00
Ricardo Wurmus f5b2a53dab gnu: Add i2c-tools.
* gnu/packages/linux.scm (i2c-tools): New variable.
2015-02-22 17:36:23 +01:00
Taylan Ulrich Bayırlı/Kammer 27f76fe6aa gnu: Add libmspack.
* gnu/packages/compression.scm (libmspack): New variable.
2015-02-21 23:08:37 +01:00
Taylan Ulrich Bayırlı/Kammer 9002e17c5a gnu: vamp: Delete broken files from output.
See <https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656>.

* gnu/packages/audio.scm (vamp): Delete "/lib/libvamp-sdk.la" and
  "/lib/libvamp-hostsdk.la" from the output directory after the install
  phase.
2015-02-21 23:08:37 +01:00
Andreas Enge 8cc91fa041 gnu: Add weex.
* gnu/packages/ftp.scm (weex): New variable.
* gnu/packages/patches/weex-vacopy.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
2015-02-21 19:24:54 +01:00
Mark H Weaver 94c4300720 gnu: isc-dhcp: Add inetutils to inputs.
* gnu/packages/admin.scm (isc-dhcp): Add inetutils to inputs, and
  add it to the PATH set by the wrapper around 'dhclient-script'.
2015-02-21 08:31:48 -05:00
Andreas Enge a34816ef6e gnu: chmlib: Patch for compilation on mips.
* gnu/packages/patches/chmlib-inttypes.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
* gnu/packages/ebook.scm (chmlib): Apply patch.
2015-02-21 10:17:10 +01:00
Eric Bavier cc9b70d3ea import: cpan: Update tests for dependency handling.
* tests/cpan.scm (test-json): Remove core module dependencies.
  [cpan->guix-package]: Add mock url handling for module api.
  Adjust expected native-inputs and license.
2015-02-20 16:05:15 -06:00
Mark H Weaver 431b28d9dc import: cpan: Change %corelist into a promise.
Fixes compilation failures in 'guix pull'.

* guix/import/cpan.scm (%corelist): Change it to a promise by wrapping it with
  'delay'.
  (cpan-module->sexp): Adapt uses of %corelist by wrapping with 'force'.
2015-02-20 16:28:05 -05:00
Ricardo Wurmus 2f4646b6f6 gnu: Add jalv.
* gnu/packages/audio.scm (jalv): New variable.
2015-02-20 22:22:06 +01:00
Ricardo Wurmus ff7df27d4b gnu: lilv: propagate inputs serd, sord and sratom.
* gnu/packages/audio.scm (lilv): move serd, sord and sratom to propagated
  inputs.
2015-02-20 22:10:14 +01:00
Ricardo Wurmus 85652f599a gnu: Add HTSeq.
* gnu/packages/bioinformatics.scm (htseq): New variable.
2015-02-20 19:31:53 +01:00
Ricardo Wurmus 5eb86b64d1 gnu: Add libyaml.
* gnu/packages/web.scm (libyaml): New variable.
2015-02-20 19:31:42 +01:00
Andreas Enge 945562d469 gnu: mpc: Update to 1.0.3.
* gnu/packages/multiprecision.scm (mpc): Update to 1.0.3.
2015-02-20 16:52:29 +01:00
Andreas Enge f78c66aacc gnu: pari-gp: Update to 2.7.3.
* gnu/packages/algebra.scm (pari-gp): Update to 2.7.3.
2015-02-20 16:46:26 +01:00
Ricardo Wurmus 865a69ddc8 gnu: Add arpack-ng.
* gnu/packages/maths.scm (arpack-ng): New variable.
2015-02-20 14:26:48 +01:00
Ricardo Wurmus f18f8b7383 gnu: python-scipy: install UTF-8 locale.
* gnu/packages/python.scm (python-scipy): Install en_US.UTF-8 locale in
  install-doc phase to avoid encoding error.
2015-02-20 14:25:38 +01:00
Ricardo Wurmus 6754032f0c gnu: matplotlib: install UTF-8 locale.
* gnu/packages/python.scm (python-matplotlib): Install en_US.UTF-8 locale in
  install-doc phase to avoid encoding error.
2015-02-20 14:25:30 +01:00
Andreas Enge cd064df7bb gnu: gnupg: Add version 2.1.2.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.2.
  (gnupg-2.0): Copy of previous package for version 2.0.26.
2015-02-20 10:30:05 +01:00
Andreas Enge 76aae0f96f Add David Hashe to 'AUTHORS'. 2015-02-20 10:14:23 +01:00
Taylan Ulrich Bayırlı/Kammer 66cc3ab218 gnu: Add exim.
* gnu/packages/mail.scm (exim): New variable.
2015-02-20 09:39:13 +01:00
David Hashe fc936b65d3 gnu: Add gnugo.
* gnu/packages/games.scm (gnugo): New variable.
2015-02-19 23:14:21 -05:00
Mark H Weaver 232010f89d gnu: glibc: Disable parallel build.
* gnu/packages/base.scm (glibc)[arguments]: Disable parallel build.
2015-02-19 18:03:28 -05:00
Andreas Enge c18ea90fd9 gnu: Add npth.
* gnu/packages/gnupg.scm (npth): New variable.
2015-02-19 21:22:25 +01:00
Ricardo Wurmus 9953fa7602 gnu: Add Ant.
* gnu/packages/java.scm (ant): New variable.
2015-02-19 13:48:29 +01:00
Ricardo Wurmus 8622a07280 gnu: Add RSeQC.
* gnu/packages/bioinformatics.scm (rseqc): New variable.
2015-02-19 13:41:38 +01:00
Mark H Weaver fdb3162665 gnu: libunistring: Update to 0.9.5.
* gnu/packages/libunistring.scm (libunistring): Update to 0.9.5.
2015-02-19 04:12:30 -05:00
Mark H Weaver 04dec194d8 download: Handle HTTP redirects to relative URI references.
Fixes <http://bugs.gnu.org/19840>.
Reported by Ricardo Wurmus <rekado@elephly.net>.

* guix/build/download.scm: On Guile 2.0.11 or earlier, redefine the http
  "Location" header to accept relative URIs.
  (resolve-uri-reference): New exported procedure.
  (http-fetch): Use 'resolve-uri-reference' to resolve redirections.
* guix/http-client.scm (http-fetch): Use 'resolve-uri-reference'
2015-02-19 03:32:22 -05:00
Eric Bavier e92a4ad928 import: cpan: Use cpan mirror url.
* guix/import/cpan.scm (cpan-module->sexp)[source-url]: Substitute cpan mirror
  url.
2015-02-18 23:53:46 -06:00
Eric Bavier a0c2c4b45b import: cpan: Sort inputs.
* guix/import/cpan.scm (cpan-module->sexp)[convert-inputs]: Sort returned list
  of inputs.
2015-02-18 23:53:46 -06:00
Eric Bavier 2491d58962 import: cpan: Adjust licenses.
* guix/import/cpan.scm (string->license): Add artistic2.0.  Use
  '(package-license perl) for "perl_5" as is our convention.
2015-02-18 23:53:46 -06:00
Eric Bavier 66392e475d import: cpan: Use corelist to filter dependencies.
* guix/import/cpan.scm (%corelist): New variable.
  (module->dist-name, core-module?): New procedures.
  (cpan-module->sexp)[convert-inputs]: Use them.  Include "test" dependencies
  in converted inputs.
* doc/guix.texi (Invoking guix import)[cpan]: Mention corelist filtering.
2015-02-18 23:53:46 -06:00
Eric Bavier f8e366230d guix: licenses: Add Artistic 2.0 license.
* guix/licenses.scm (artistic2.0): New variable.
2015-02-18 23:53:46 -06:00
Eric Bavier 2d2a53fc24 build-system/perl: Use Build.PL for builds if present.
* guix/build/perl-build-system.scm (configure): Use Build.PL if present.
  (build, check, install): New procedures.
  (%standard-phases): Replace build, check, and install phases.
* guix/build-system/perl (perl-build): Add make-maker? and module-build-flags
  arguments.
* doc/guix.texi (Build Systems)[perl-build-system]: Document behavior rsp.
  Build.PL and new arguments.
2015-02-18 23:53:46 -06:00
宋文武 d2fcfd3d42 gnu: gnutls: Move which from 'propagated-inputs' to 'native-inputs'.
* gnu/packages/gnutls.scm (gnutls): Move which to 'native-inputs'.
  Comment on 'propagated-inputs'.
2015-02-19 10:33:03 +08:00
宋文武 6f96a359eb gnu: Add libxklavier.
* gnu/packages/gnome.scm (libxklavier): New variable.
2015-02-19 10:32:56 +08:00
宋文武 c1944c9272 gnu: libxml2: Propagate input zlib.
* gnu/packages/xml.scm (libxml2): Move zlib to 'propagated-inputs'.
2015-02-19 10:32:44 +08:00
Mark H Weaver 0f3d643b0b gnu: xorg-server: Update to 1.16.4.
* gnu/packages/xorg.scm (xorg-server): Update to 1.16.4.
2015-02-18 14:33:23 -05:00
Ricardo Wurmus f753846b7a gnu: remove "util-linux" from inputs
* gnu/packages/audio.scm (aubio, ardour, azr3, lash, patchage): Remove
  "util-linux" from `inputs'.
2015-02-18 18:19:12 +01:00
Ricardo Wurmus 5d95e30b48 gnu: jack: propagate input "util-linux"
* gnu/packages/audio.scm (jack-1): Move input "util-linux" to
  `propagated-inputs'.
2015-02-18 18:19:12 +01:00
Mark H Weaver 447ce59195 gnu: isc-dhcp: Update to 4.3.1.
* gnu/packages/admin.scm (isc-dhcp): Update to 4.3.1.
2015-02-18 02:46:14 -05:00
Taylan Ulrich Bayırlı/Kammer 3e92f4f945 gnu: Add chibi-scheme.
* gnu/packages/scheme.scm (chibi-scheme): New variable.
2015-02-17 09:35:30 +01:00
Taylan Ulrich Bayırlı/Kammer 07f4aef078 gnu: Add gambit-c.
* gnu/packages/scheme.scm (gambit-c): New variable.
2015-02-17 09:35:30 +01:00
Ricardo Wurmus 497e9a82bd gnu: Add AZR-3.
* gnu/packages/audio.scm (azr3): New variable.
2015-02-17 07:51:50 +01:00
Andreas Enge 5078e98a61 gnu: Add aarddict.
* gnu/packages/aarddict.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-16 21:52:58 +01:00
Andreas Enge 3e291958b0 gnu: Add PyQt for Qt-4.
* gnu/packages/qt.scm (python-pyqt-4, python2-pyqt-4): New variables.
2015-02-16 21:16:32 +01:00
Ricardo Wurmus 4443bb8da3 gnu: Add patchage.
* gnu/packages/audio.scm (patchage): New variable.
2015-02-16 20:12:33 +01:00
Ricardo Wurmus e926ba716e gnu: Add ganv.
* gnu/packages/gtk.scm (ganv): New variable.
2015-02-16 20:12:26 +01:00
Mark H Weaver 192c6f966f gnu: libtool and libltdl: Update to 2.4.6.
* gnu/packages/autotools.scm (libtool, libltdl): Update to 2.4.6.
* gnu/packages/patches/libtool-skip-tests.patch: Adapt to 2.4.6.
2015-02-16 10:56:34 -05:00
Ricardo Wurmus cb7e486797 gnu: Add R.
* gnu/packages/statistics.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
* guix/download.scm (%mirrors): Add CRAN mirrors.
2015-02-16 16:35:41 +01:00
Andreas Enge da466f7ff6 utils: Preserve symbolic links in 'wrap-program'.
* guix/build/utils.scm (wrap-program): Preserve symbolic links instead of
    copying the contents of the link.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>

Closes <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19743>.
2015-02-16 10:13:40 +01:00
Andreas Enge b01f89675d utils: Use $0 instead of absolute path to original program in 'wrap-program'.
* guix/build/utils.scm (wrap-program): Create scripts that use $0 (which is
    usually just the base name) instead of the absolute path to the original
    program. Alternative implementation of 2ed11b3.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>

Closes <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19742>.
2015-02-16 10:13:39 +01:00
Andreas Enge d3d656c5fb gnu: python-setuptools: Update to 12.1.
*  gnu/packages/python.scm (python-setuptools, python2-setuptools):
     Update to 12.1.
2015-02-15 23:10:58 +01:00
Andreas Enge 431d32e688 gnu: complexity: Update to 1.2.
* gnu/packages/complexity.scm (complexity): Update to 1.2.
2015-02-15 20:51:22 +01:00
Andreas Enge 0565587c54 gnu: xboard: Update to 4.8.0.
* gnu/packages/games.scm (xboard): Update to 4.8.0.
2015-02-15 20:47:07 +01:00
Andreas Enge 3e74dcd0bb gnu: pinentry: Update to 0.9.0.
* gnu/packages/gnupg.scm (pinentry): Update to 0.9.0.
2015-02-15 20:29:53 +01:00
Andreas Enge 2249a16832 gnu: pius: Update to 2.0.11.
* gnu/packages/gnupg.scm (pius): Update to 2.0.11.
2015-02-15 19:54:46 +01:00
Andreas Enge 456cf627cd gnu: gpgme: Update to 1.5.3.
* gnu/packages/gnupg.scm (gpgme): Update to 1.5.3.
2015-02-15 19:54:36 +01:00
Andreas Enge a02ee3d714 gnu: libgpg-error: Update to 1.18.
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.18.
2015-02-15 19:36:13 +01:00
Andreas Enge 9e91418b10 gnu: freetype: Update to 2.5.5.
* gnu/packages/fontutils.scm (freetype): Update to 2.5.5.
2015-02-15 19:18:29 +01:00
Taylan Ulrich Bayırlı/Kammer b702b52de3 gnu: Add SBCL.
* gnu/packages/lisp.scm (sbcl): New variable.
2015-02-15 15:31:05 +01:00
Andreas Enge be6bfa7d82 gnu: httpd: Update to 2.4.12.
* gnu/packages/web.scm (httpd): Update to 2.4.12.
2015-02-15 11:43:07 +01:00
Andreas Enge 60357f99c4 gnu: Add python-netifaces.
* gnu/packages/python.scm (python-netifaces, python2-netifaces):
    New variables.
2015-02-15 10:46:43 +01:00
Andreas Enge 0b0e11a9d8 gnu: Add xdg-utils.
* gnu/packages/freedesktop.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-14 19:57:23 +01:00
Andreas Enge 880ff77c17 gnu: Add python-cssselect.
* gnu/packages/python.scm (python-cssselect, python2-cssselect):
    New variables.
2015-02-14 19:39:20 +01:00
Andreas Enge 092e86f54f gnu: Add python2-cssutils.
* gnu/packages/python.scm (python2-cssutils): New variable.
2015-02-14 19:25:55 +01:00
Andreas Enge bec07a7c08 gnu: Add python2-pil.
* gnu/packages/python.scm (python2-pil): New variable.
2015-02-14 18:58:13 +01:00
Mark H Weaver 8722166cfa gnu: linux-libre: Update to 3.18.7.
* gnu/packages/linux.scm (linux-libre): Update to 3.18.7.
2015-02-14 10:20:25 -05:00
Mark H Weaver a48ba458a3 Revert "gnu: linux-libre: Update to 3.19"
Linux-libre 3.19 doesn't work on the Libreboot X60.

This reverts commit 1f4edec4fd.
2015-02-14 10:06:50 -05:00
Taylan Ulrich Bayırlı/Kammer 8d872ae001 gnu: Add moreutils.
* gnu/packages/moreutils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-14 12:43:56 +01:00
Ricardo Wurmus da49086a59 gnu: Add lash.
* gnu/packages/audio.scm (lash): New variable.
2015-02-14 10:13:59 +01:00
Ludovic Courtès abde5f375f gnu: python-apsw: Fix license.
* gnu/packages/python.scm (python-apsw)[license]: Change to
  LICENSE:ZLIB.
2015-02-14 00:43:41 +01:00
Ludovic Courtès ce45eb4c38 gexp: Add #:graft? parameter to 'gexp->derivation'.
* guix/gexp.scm (gexp->derivation): Add #:graft? parameter and honor it.
* tests/gexp.scm ("gexp->derivation vs. grafts"): New test.
* doc/guix.texi (G-Expressions): Update 'gexp->derivation'
  documentation.
2015-02-13 23:19:49 +01:00
Ludovic Courtès b8bedf6051 packages: Add 'set-grafting' procedure.
* guix/packages.scm (set-grafting): New procedure.
2015-02-13 23:19:49 +01:00
Ludovic Courtès 2bba832f88 tests: Add missing import.
* guix/tests.scm: Add missing import, needed by 'dummy-package'.
2015-02-13 23:19:49 +01:00
Ricardo Wurmus 314275c776 gnu: JACK2: rename package to "jack2".
* gnu/packages/audio.scm (jack-2): Change package name to "jack2" to
  distinguish from JACK1.
2015-02-13 23:18:42 +01:00
Ricardo Wurmus 2f9ae82f4b gnu: jack: build ALSA backend.
* gnu/packages/audio.scm (jack): Add missing inputs to build ALSA backend.
2015-02-13 23:18:23 +01:00
Ricardo Wurmus c1718190d5 gnu: Add lvtk.
* gnu/packages/audio.scm (lvtk): New variable.
2015-02-13 23:13:35 +01:00
Andreas Enge 4ed206639b gnu: Add python-pillow.
* gnu/packages/python.scm (python-pillow, python2-pillow): New variables.
2015-02-13 21:03:48 +01:00
Ludovic Courtès c9e0a44eec gnu: net-tools: Remove the 'hostname' and *domainname commands.
* gnu/packages/linux.scm (net-tools)[arguments]: Add #:modules.
  Add 'remove-redundant-commands' phase.
2015-02-13 20:38:05 +01:00
Ludovic Courtès 80393eeda2 gnu: procps: Remove the 'kill' and 'uptime' commands.
* gnu/packages/linux.scm (procps)[arguments]: Add #:modules.
  <install phase>: Remove kill* and uptime*.
2015-02-13 20:27:38 +01:00
Ludovic Courtès aa72d9afdf gexp: Implement 'imported-modules' & co. using 'gexp->derivation'.
* guix/derivations.scm (imported-files): Keep private.
  (%imported-modules, %compiled-modules, build-expression->derivation):
  Mark as deprecated.
  (imported-modules, compiled-modules): Remove.
* guix/gexp.scm (%mkdir-p-definition): New variable.
  (imported-files, search-path*, imported-modules, compiled-modules):
  New procedures.
* tests/derivations.scm ("imported-files"): Remove.
* tests/gexp.scm ("imported-files", "gexp->derivation #:modules"): New
  tests.
2015-02-13 17:28:19 +01:00
Ludovic Courtès 57a516d3ec gnu: Add acpid.
* gnu/packages/linux.scm (acpid): New variable.
2015-02-13 17:28:19 +01:00
Andreas Enge 5deea4fcc9 gnu: nss: Update to 3.17.4.
* gnu/packages/gnuzilla.scm (nss): Update to 3.17.4.
2015-02-13 15:55:23 +01:00
Ricardo Wurmus 8dd4ff1133 gnu: Add bedops.
* gnu/packages/bioinformatics.scm (bedops): New variable.
2015-02-13 15:51:10 +01:00
Alex Kost 11447a7927 gnu: Add xosd.
* gnu/packages/xdisorg.scm (xosd): New variable.
2015-02-13 15:54:12 +03:00
Taylan Ulrich Bayırlı/Kammer 560f51d060 gnu: Add CLISP.
* gnu/packages/lisp.scm (clisp): New variable.
2015-02-13 11:28:14 +01:00
Andreas Enge 148cb1c270 gnu: openssl: Add search path definition for root certificates.
* gnu/packages/openssl.scm (openssl)[native-search-paths]: New property.
2015-02-13 11:19:53 +01:00
Andreas Enge 6e6e241409 gnu: Add nss-certs, certificates extracted from nss.
* gnu/packages/certs.scm (nss-certs): New variable.
2015-02-13 11:19:45 +01:00
Andreas Enge cf053a4f06 gnu: Add certdata2pem Python script.
* gnu/packages/certs.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-13 11:19:37 +01:00
David Thompson 44e10a4d4c gnu: node: Update to 0.12.0.
* gnu/packages/node.scm (node): Update to 0.12.0.
2015-02-12 21:33:08 -05:00
David Thompson 96c232ba8f gnu: ruby: Update to 2.2.0.
* gnu/packages/ruby.scm (ruby): Update to 2.2.0.
2015-02-12 21:33:08 -05:00
Ludovic Courtès 9c09760a78 artwork: Update snapshot to GuixSD branding.
* gnu/artwork.scm (%artwork-repository): Update to new "GuixSD"
  branding.
* gnu/system/grub.scm (%background-image, %default-theme): Adjust
  accordingly.
2015-02-12 23:43:18 +01:00
Ludovic Courtès ad3729536a store: Add optional 'references' parameter to 'text-file'.
* guix/store.scm (text-file): Add optional 'references' parameter.  Pass
  it to 'add-text-to-store'.
* doc/guix.texi (The Store Monad): Adjust accordingly.
2015-02-12 23:43:18 +01:00
Taylan Ulrich Bayırlı/Kammer 00ab945823 gnu: Add ECL.
* gnu/packages/lisp.scm (ecl): New variable.
2015-02-12 22:25:34 +01:00
Andreas Enge 26b307e2cc gnu: Add python-lxml.
* gnu/packages/python.scm (python-lxml, python2-lxml): New variables.
2015-02-12 21:14:38 +01:00
Andreas Enge bd3fa66676 gnu: python: Prefix expat license by "license:" to avoid conflicts with
expat from the xml module.

* gnu/packages/python.scm: Prefix expat license imported from
    (guix licenses).
* gnu/packages/python.scm (python-lockfile, python-mock, python-pysam,
    python-extras, python-mimeparse, python-py, python-pytest,
    python-scripttest, python-jsonschema, python-pyjwt, python-virtualenv,
    python-sphinx-rtd-theme, python-pyparsing, python-cffi, python-xcffib,
    python-html5lib, python-dbus): Adapt license field.
2015-02-12 21:07:14 +01:00
Andreas Enge a6ac8332be gnu: Add python-apsw.
* gnu/packages/python.scm (python-apsw, python2-apsw): New variables.
2015-02-12 20:19:31 +01:00
Ricardo Wurmus e58d01faf5 gnu: hisat: fix build on non-x86_64.
* gnu/packages/bioinformatics.scm (hisat): Add "POPCNT_CAPABILITY=0" to
  make-flags on architectures other than x86_64.
2015-02-12 14:09:00 +01:00
宋文武 3ff733901a gnu: sdl-mixer: Don't use dlopen for shared object loading.
* gnu/packages/sdl.scm (sdl-mixer)[arguments]<#:configure-flags>: Add
  --disable-music-mod-shared --disable-music-fluidsynth-shared
  --disable-music-ogg-shared --disable-music-flac-shared
  --disable-music-mp3-shared.
2015-02-12 14:21:40 +08:00
宋文武 7c3e60fbe6 gnu: sdl-image: Don't use dlopen for shared object loading.
* gnu/packages/sdl.scm (sdl-image)[arguments]: New field.
2015-02-12 14:16:44 +08:00
Ricardo Wurmus 88efb2c327 gnu: Add ardour.
* gnu/packages/audio.scm (ardour): New variable.
2015-02-11 23:45:32 +01:00
Ricardo Wurmus eadc734e30 gnu: Add libgnomecanvasmm.
* gnu/packages/gnome.scm (libgnomecanvasmm): New variable.
2015-02-11 23:45:26 +01:00
Ricardo Wurmus 57238ff2b4 gnu: Add rubberband.
* gnu/packages/audio.scm (rubberband): New variable.
2015-02-11 23:45:21 +01:00
Ricardo Wurmus 2cc7ce317b gnu: Add LADSPA.
* gnu/packages/audio.scm (ladspa): New variable.
2015-02-11 23:45:08 +01:00
Ricardo Wurmus db46f2fcf4 gnu: Add Vamp SDK.
* gnu/packages/audio.scm (vamp): New variable.
2015-02-11 23:45:02 +01:00
Ricardo Wurmus f3ab6ad3d1 gnu: Add suil.
* gnu/packages/audio.scm (suil): New variable.
2015-02-11 23:41:43 +01:00
Ricardo Wurmus 332aad1b00 gnu: Add lilv.
* gnu/packages/audio.scm (lilv): New variable.
2015-02-11 23:41:37 +01:00
Ricardo Wurmus 5279eb6fce gnu: Add sratom.
* gnu/packages/audio.scm (sratom): New variable.
2015-02-11 23:41:33 +01:00
Ricardo Wurmus a035e6ffef gnu: Add sord.
* gnu/packages/rdf.scm (sord): New variable.
2015-02-11 23:41:29 +01:00
Ricardo Wurmus f65784d50e gnu: Add serd.
* gnu/packages/rdf.scm (serd): New variable.
2015-02-11 23:41:21 +01:00
Ricardo Wurmus e24201912f gnu: Add LV2.
* gnu/packages/audio.scm (lv2): New variable.
2015-02-11 23:38:07 +01:00
Ludovic Courtès 605217beaa Merge branch 'master' into core-updates 2015-02-11 22:28:21 +01:00
Ludovic Courtès c8351d9a40 gexp: Add #:allowed-references parameter to 'gexp->derivation'.
* guix/gexp.scm (lower-references): New procedure.
  (gexp->derivation): Add #:allowed-references and honor it.
* tests/gexp.scm ("gexp->derivation #:allowed-references",
  "gexp->derivation #:allowed-references, disallowed"): New tests.
* doc/guix.texi (G-Expressions): Update 'gexp->derivation' doc.
2015-02-11 22:10:14 +01:00
Ludovic Courtès a4a17ec36e gnu: bison: Update to 3.0.4.
* gnu/packages/bison.scm (bison): Update to 3.0.4.
2015-02-11 14:20:23 +01:00
Ludovic Courtès d6718df416 gnu: glibc: Add search path specification for 'LOCPATH'.
* gnu/packages/base.scm (glibc)[native-search-paths]: New field.
2015-02-11 14:16:29 +01:00
Ludovic Courtès fdaae61371 gnu: glibc: Update to 2.21.
* gnu/packages/base.scm (glibc): Update to 2.21.  Remove 3 patches no
  longer needed.
* gnu/packages/patches/glibc-CVE-2012-3406.patch,
  gnu/packages/patches/glibc-CVE-2014-7817.patch,
  gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2015-02-11 14:11:14 +01:00
Ludovic Courtès f6408bc584 gnu: patch: Update to 2.7.4.
* gnu/packages/base.scm (patch): Update to 2.7.4.  Remove
  'replacement'.  Remove outdated comment.
  (patch-2.7.4, patch-CVE-2015-1196): Remove.
2015-02-11 11:23:46 +01:00
Ludovic Courtès aee6180c10 gnu: Add glibc-locales.
* gnu/packages/patches/glibc-locales.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc-locales): New variable.
2015-02-11 11:19:29 +01:00
Ludovic Courtès fbe952c99f derivations: Make the "grafting..." message directly visible.
* guix/derivations.scm (graft-derivation)[build]: Add call to
  'force-output'.
2015-02-11 11:11:01 +01:00
Ludovic Courtès ab3872de4f doc: Use @code for the abstract USB image URL.
Reported by Quentin Pradet <webmasters-comment@gnu.org>.

* doc/guix.texi (System Installation): Use @code instead of @url for the
  abstract URL.
2015-02-11 10:36:48 +01:00
Ludovic Courtès 1c301e4861 gnu: gettext: Change license to GPLv3+.
* gnu/packages/gettext.scm (gnu-gettext)[license]: Change to GPLv3+.
2015-02-10 21:25:25 +01:00
Eric Bavier d5b3de6af2 utils: Strip duplicates from search path.
* guix/build/utils.scm (search-path-as-list): Delete duplicate input
  directories before searching.
2015-02-10 13:31:56 -06:00
Ricardo Wurmus ce7155d5dd gnu: Add STAR.
* gnu/packages/bioinformatics.scm (star): New variable.
2015-02-10 14:37:14 +01:00
Ricardo Wurmus 346a829a85 gnu: Add HISAT.
* gnu/packages/bioinformatics.scm (hisat): New variable.
2015-02-10 14:37:13 +01:00
Taylan Ulrich Bayırlı/Kammer 4ee696247b gnu: Add openntpd.
* gnu/packages/ntp.scm (openntpd): New variable.
2015-02-10 10:50:57 +01:00
Taylan Ulrich Bayırlı/Kammer d02f2cc48c gnu: Add smartmontools.
* gnu/packages/admin.scm (smartmontools): New variable.
2015-02-10 09:28:48 +01:00
Cyril Roelandt c9815b5deb lint: handle FTP URIs.
* guix/scripts/lint.scm (probe-uri): handle FTP URIs.
2015-02-10 00:24:30 +01:00
Taylan Ulrich Bayırlı/Kammer e1e277372a gnu: Add ltrace.
* gnu/packages/linux.scm (ltrace): New variable.
2015-02-10 00:00:12 +01:00
Jason Self 1f4edec4fd gnu: linux-libre: Update to 3.19
* gnu/packages/linux.scm (linux-libre): Update to version 3.19.
2015-02-09 14:46:04 -08:00
Ludovic Courtès 34875383c1 linux-initrd: Add 'isci' module, needed for some SAS controllers.
Encountered on a Dell Precision T3600.

* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add isci.
2015-02-09 18:18:41 +01:00
Ludovic Courtès 3bea13bb1f profiles: Report "pseudo-upgrades" as upgrades, not downgrades.
Reported by Andreas Enge <andreas@enge.fr>
at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19764#19>.

* guix/profiles.scm (manifest-transaction-effects): Use 'version>=?'
  instead of 'version>?'.
* tests/profiles.scm ("manifest-transaction-effects and
  pseudo-upgrades"): New test.
2015-02-09 18:18:41 +01:00
Ludovic Courtès cde1e967cf utils: Add 'version>=?'.
* guix/utils.scm (version>?): Clarify docstring.
  (version>=?): New procedure.
2015-02-09 18:18:41 +01:00
Federico Beffa d4f12db8c0 gnu: ffmpeg: Add 'lame' input.
* gnu/packages/video.scm (ffmpeg): Add 'lame' input and corresponding
  configure flag.
2015-02-09 16:13:23 +01:00
Andreas Enge fc2bf70dfe gnu: perl-net-ssleay: Update to 1.68.
* gnu/packages/openssl.scm (perl-net-ssleay): Update to 1.68.
2015-02-09 14:29:39 +01:00
Andreas Enge c7ab5a12f4 gnu: openssl: Update to 1.0.2.
* gnu/packages/openssl.scm (openssl): Update to 1.0.2.
2015-02-09 13:43:06 +01:00
Ricardo Wurmus ad320b20ee gnu: Add Sphinx RTD theme.
* gnu/packages/python.scm (python-sphinx-rtd-theme, python2-sphinx-rtd-theme):
  New variables.
2015-02-09 10:29:55 +01:00
Ricardo Wurmus d7678942f9 gnu: Add flexbar.
* gnu/packages/bioinformatics.scm (flexbar): New variable.
2015-02-09 10:26:28 +01:00
Ricardo Wurmus d3517eda25 gnu: Add seqan.
* gnu/packages/bioinformatics.scm (seqan): New variable.
2015-02-09 10:26:20 +01:00
Taylan Ulrich Bayırlı/Kammer da6c3749e4 gnu: Add libcap-ng.
* gnu/packages/admin.scm (libcap-ng): New variable.
2015-02-09 09:59:47 +01:00
Ricardo Wurmus d55f912a31 gnu: Add aubio.
* gnu/packages/audio.scm (aubio): New variable.
2015-02-09 09:21:36 +01:00
Ricardo Wurmus f47cba0efb gnu: Add liblo.
* gnu/packages/audio.scm (liblo): New variable.
2015-02-09 09:14:12 +01:00
Ricardo Wurmus c54a89811f gnu: Add JACK2.
* gnu/packages/audio.scm (jack-2): New variable.
2015-02-09 09:00:02 +01:00
David Thompson 2cd85cf9e1 gnu: Add srt2vtt.
* gnu/packages/video.scm (srt2vtt): New variable.
2015-02-08 21:08:06 -05:00
nebuli 5833bf33a2 services: lsh: Add graceful handling of daemonic option.
* gnu/services/ssh.scm (lsh-service): New #:keys (daemonic?, pid-file?,
  pid-file).  Build new lshd-command and expand service-requirement
  field.
* doc/guix.texi (Networking Services): Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-02-08 21:52:26 +01:00
Ricardo Wurmus a677c7267b build: Add 'waf-build-system'.
* guix/build-system/waf.scm,
  guix/build/waf-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document waf-build-system.
2015-02-08 19:21:58 +01:00
Ludovic Courtès 027981d6d7 doc: Remove ".ko" extension in 'base-initrd' example.
Reported by Marek Benc.

* doc/guix.texi (Initial RAM Disk): Remove ".ko" from the 'base-initrd'
  example.  Add a comment.
2015-02-08 19:00:39 +01:00
Ludovic Courtès 46b23e1a43 profiles: Distinguish downgrades from upgrades.
Fixes <http://bugs.gnu.org/19764>.

* guix/profiles.scm (manifest-transaction-effects): Return downgraded
  packages as a fourth value.
* guix/ui.scm (show-manifest-transaction): Adjust accordingly.
* tests/profiles.scm ("manifest-transaction-effects and downgrades"):
  New test.
2015-02-08 19:00:39 +01:00
Ludovic Courtès 77ee4a96f4 ui: Simplify 'show-manifest-transaction' test.
* tests/ui.scm ("show-manifest-transaction"): Remove useless call to
  'manifest-transaction-effects'.
2015-02-08 19:00:39 +01:00
Ludovic Courtès b7071bc5bb ui: Properly report '&nar-error' conditions.
This is a followup to 46b8aad.

* guix/ui.scm (call-with-error-handling): Add 'nar-error?' case.
2015-02-08 19:00:39 +01:00
Ludovic Courtès 0919f5f466 build: Remove references to 'nix-setuid-helper'.
'nix-setuid-helper' vanished in commit d43eb499a (Jan. 2014.)

* pre-inst-env.in: Remove occurrences of 'NIX_SETUID_HELPER'.
2015-02-08 19:00:39 +01:00
Ludovic Courtès 843b196287 gnu: guile-ssh: Correct post-installation test.
* gnu/packages/ssh.scm (guile-ssh)[arguments]
  <fix-libguile-ssh-file-name>: Call 'zero?' to check the return value of
  'system*'.
2015-02-08 19:00:39 +01:00
Andreas Enge 27e86bed53 gnu: Add p11-kit.
* gnu/packages/gnutls.scm (p11-kit): New variable.
2015-02-08 16:23:44 +01:00
Andreas Enge 75be6b7c06 gnu: Add libmtp.
* gnu/packages/libusb.scm (libmtp): New variable.
2015-02-08 14:36:55 +01:00
David Thompson 5294768ce3 gnu: tidy: Run bootstrap phase after the unpack phase.
* gnu/packages/web.scm (tidy): Run bootstrap phase after the unpack phase,
  rather than before the configure phase.
2015-02-07 21:12:21 -05:00
Jason Self 59c4cceea8 gnu: linux-libre: Update to 3.18.6
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.6.
2015-02-07 16:21:04 -08:00
David Thompson 18cb3df837 gnu: Add tidy.
* gnu/packages/web.scm (tidy): New variable.
2015-02-07 18:48:53 -05:00
Ludovic Courtès 0cb804117f gnu: lightning: Update to 2.1.0.
* gnu/packages/lightning.scm (lightning): Update to 2.1.0.
2015-02-07 23:30:05 +01:00
Ludovic Courtès cce629c027 Thank Andrei. 2015-02-07 23:17:33 +01:00
Ludovic Courtès 9ba0b8d3d0 daemon: Flush upon '\r' when reading the substituter's stderr.
* nix/libstore/local-store.cc (LocalStore::getLineFromSubstituter):
  Flush when the line contains '\r'.
2015-02-07 23:16:56 +01:00
Ludovic Courtès 46b8aadbd6 serialization: Check for EOF and incomplete input conditions.
Fixes <http://bugs.gnu.org/19756>.
Reported by <sleep_walker@suse.cz>.

* guix/serialization.scm (currently-restored-file): New variable.
  (get-bytevector-n*): New procedure.
  (read-int, read-long-long, read-string, read-latin1-string,
  read-contents): Use it instead of 'get-bytevector-n'.
  (restore-file): Parameterize 'currently-restored-file' and set it.
* tests/nar.scm ("restore-file with incomplete input"): New test.
2015-02-07 23:16:55 +01:00
Ludovic Courtès cbc538fe69 doc: Document the location of the build directory.
Fixes <http://bugs.gnu.org/19771>.
Reported by Andrei Osipov <andrspv@gmail.com>.

* doc/guix.texi (Invoking guix-daemon): Document the build directory
  location.
2015-02-07 23:16:55 +01:00
Ludovic Courtès 4320c094f3 gnu: gimp: Add EXIF and SVG support, plus color management.
* gnu/packages/gimp.scm (gimp)[inputs]: Add LIBEXIF, LCMS, and LIBRSVG.
2015-02-07 23:16:55 +01:00
Andreas Enge 5cc0e48613 gnu: podofo: Add optional input lua.
* gnu/packages/pdf.scm (podofo): Add optional input lua-5.1.
2015-02-07 20:59:37 +01:00
Andreas Enge d4322e6111 gnu: podofo: Update to 0.9.3.
* gnu/packages/pdf.scm (podofo): Update to 0.9.3.
2015-02-07 20:50:35 +01:00
Andreas Enge cb6a14ba56 gnu: podofo: Enable building a shared library.
* gnu/packages/pdf.scm (podofo): Enable building a shared library in addition
    to a static one.
2015-02-07 20:42:19 +01:00
Andreas Enge 71e1de33f9 gnu: chmlib: Correct license.
* gnu/packages/ebook.scm (chmlib): Correct copy-pasted license field.
2015-02-07 20:16:30 +01:00
Andreas Enge 947ae54559 gnu: Add chmlib.
* gnu/packages/ebook.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-07 20:12:36 +01:00
Andreas Enge 85b5d3331d gnu: dejagnu: Update to 1.5.2.
* gnu/packages/dejagnu.scm (dejagnu): Update to 1.5.2.
2015-02-07 19:53:23 +01:00
Andreas Enge 7908f58343 gnu: global: Update to 6.3.4.
* gnu/packages/global.scm (global): Update to 6.3.4.
2015-02-07 19:41:33 +01:00
Andreas Enge 9b268f12fe gnu: eigen: Update to 3.2.4.
* gnu/packages/algebra.scm (eigen): Update to 3.2.4.
2015-02-07 19:25:47 +01:00
Andreas Enge 717ccec86b gnu: imagemagick: Update to 6.9.0-4.
* gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.0-4.
2015-02-07 18:05:32 +01:00
Mark H Weaver 710f3ce44f gnu: tumbler: Update to 0.1.30.
* gnu/packages/xfce.scm (tumbler): Update to 0.1.30.  Use latest gstreamer.
2015-02-07 01:59:55 -05:00
Mark H Weaver 7747c4ca3d gnu: wicd: Fix curses client to work with urwid 1.3.
* gnu/packages/patches/wicd-urwid-1.3.patch: New file.
* gnu-system (dist_patch_DATA): Add it.
* gnu/packages/wicd.scm (wicd): Add patch.
2015-02-06 15:26:56 -05:00
Mark H Weaver b7921ba5a7 gnu: ntp: Update to 4.2.8p1.
* gnu/packages/ntp.scm (ntp): Update to 4.2.8p1.
2015-02-06 15:15:25 -05:00
Tomáš Čech ac6c66aeed gnu: slock: Update to 1.2
* gnu/packages/dwm.scm (slock): Update to 1.2
2015-02-06 20:38:43 +01:00
Ludovic Courtès 862abf8fcd tests: Disable grafts when comparing derivations.
Fixes a regression introduced with the grafting of Patch in 3f11f01.

* tests/packages.scm ("reference to non-existent output"): Wrap in
  'parameterize'.
2015-02-06 18:04:19 +01:00
Ludovic Courtès c9323a4c69 guix package: Make custom profiles actual indirect roots.
Before that, any profile generation built when '-p' is used would
effectively become a permanent GC root because the symlink in
/var/guix/gcroots/auto would point directly to /gnu/store/...-profile.

* guix/scripts/package.scm (maybe-register-gc-root): Rename to...
  (register-gc-root): ... this.  Remove conditional, and replace call to
  'canonicalize-path' with (string-append (getcwd) "/" ...).
  (guix-package): Call 'register-gc-root' only if PROFILE is different
  from %CURRENT-PROFILE.
* tests/guix-package.sh: Add test case.
2015-02-06 17:56:22 +01:00
Ludovic Courtès 3df5acf332 pull: Always install the ~/.config/guix/latest symlink.
Before that, if two users on the same machine ran 'guix pull', the
second one would have the "Guix already up to date" message and their
~/.config/guix/latest link would be left unchanged---effectively
preventing them from updating.

* guix/scripts/pull.scm (build-and-install): Install the 'latest'
  symlink regardless of whether TO-DO? is true or false.
2015-02-06 17:39:10 +01:00
Ludovic Courtès 95c559c145 doc: Provide a better illustration of Ethernet interface names.
Reported on #guix.

* doc/guix.texi (System Installation)[USB Stick Installation]: Mention
  "eno1" instead of "eth0" and give other examples.
2015-02-06 17:32:17 +01:00
Ludovic Courtès 3f11f01fa8 gnu: patch: Add 2.7.4 and make it a replacement for the default one.
* gnu/packages/base.scm (patch-2.7.4, patch-CVE-2015-1196): New
  variables.
  (patch): Add 'replacement' field.
2015-02-06 13:53:28 +01:00
Ludovic Courtès ca63770ab1 services: xorg: Add Nouveau driver.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  XF86-VIDEO-NOUVEAU.
2015-02-06 13:53:28 +01:00
Ludovic Courtès 0d5212e822 gnu: Add xf86-video-nouveau.
* gnu/packages/xorg.scm (xf86-video-nouveau): New variable.
2015-02-06 13:53:28 +01:00
Ludovic Courtès 2e50aa760c gnu: xf86-video-nv: Improve description.
* gnu/packages/xorg.scm (xf86-video-nv): Adjust synopsis and
  description.
2015-02-06 13:53:28 +01:00
Mark H Weaver ce4a347fe9 gnu: orc: Disable the 'test-limits' and 'exec_opcodes_sys' tests.
* gnu/packages/gstreamer.scm (orc)[arguments]: Disable the 'test-limits' and
  'exec_opcodes_sys' tests, which fail on some machines.
2015-02-05 23:07:29 -05:00
Ludovic Courtès 353e34a626 offload: Better report failure to create the GC root directory.
Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* guix/scripts/offload.scm (register-gc-root)[script]: Replace
  'false-if-exception' with a finer-grain 'system-error handler.
  Provide the name of MACHINE in 'leave' error message.
2015-02-05 23:40:55 +01:00
Ludovic Courtès 7d157c652c gnu: groff: Add "doc" output.
* gnu/packages/groff.scm (groff): Add 'outputs' field.
2015-02-05 23:40:55 +01:00
Ludovic Courtès fc61b641c2 offload: Warn about SSH client issues.
Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* guix/scripts/offload.scm (remote-pipe): Remove unneeded 'catch'.
  (machine-load): Check the exit value  upon (close-pipe pipe).  Call
  'warning' when it is non-zero.
2015-02-05 23:40:55 +01:00
Ludovic Courtès bf26b8ddab nls: Update 'eo' translation. 2015-02-05 23:40:55 +01:00
Mark H Weaver aa7c7f21b3 gnu: gnutls: Configure location of system-wide trust store.
* gnu/packages/gnutls.scm (gnutls): Configure the location of the system-wide
  trust store.
2015-02-05 14:05:37 -05:00
Taylan Ulrich Bayırlı/Kammer ea119a288f gnu: Add ngircd.
* gnu/packages/messaging.scm (ngircd): New variable.
* gnu/packages/patches/ngircd-no-dns-in-tests.patch: New file.
* gnu/packages/patches/ngircd-handle-zombies.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.
2015-02-05 17:08:39 +01:00
宋文武 0ca0ce53a8 gnu: Add xfce.
* gnu/packages/xfce.scm (xfce): New variable.
2015-02-05 19:23:54 +08:00
宋文武 122ddc595e gnu: gnutls: Propagate zlib.
* gnu/packages/gnutls.scm (gnutls): Move zlib to 'propagated-inputs'.
2015-02-05 18:46:59 +08:00
Andreas Enge e8419d6c61 gnu: gnutls: Update to 3.3.12.
* gnu/packages/gnutls.scm (gnutls): Update to 3.3.12.
2015-02-05 10:53:52 +01:00
宋文武 20cf74540e gnu: gst-plugins-good: Update to 1.4.5.
* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.4.5.
2015-02-05 17:32:30 +08:00
宋文武 e9a0b5e7b2 gnu: gst-plugins-base: Update to 1.4.5, re-enable tests.
* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.4.5.
  [arguments]: Add #:phases.
  [inputs]: Add cdparanoia and orc.
2015-02-05 17:18:20 +08:00
宋文武 e244dc6dd6 gnu: gstreamer: Update to 1.4.5, propagate glib.
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.4.5.
  [arguments]: Remove field to re-enable tests.
  [inputs]: Rename to 'propagated-inputs'.
2015-02-05 16:29:22 +08:00
宋文武 195857b0f7 gnu: Add orc.
* gnu/packages/gstreamer.scm (orc): New variable.
2015-02-05 16:11:23 +08:00
宋文武 666aa995f0 gnu: sdl: Don't use dlopen for shared object loading.
* gnu/packages/sdl.scm (sdl)[arguments]<#:configure-flags>:
  Use '--disable-sdl-dlopen'.
  [propagated-inputs]: Add libcap.
2015-02-05 15:29:41 +08:00
宋文武 b907324d05 gnu: sdl2: Update to 2.0.3.
* gnu/packages/sdl.scm (sdl2): Update to 2.0.3.
2015-02-05 15:29:41 +08:00
宋文武 1effda8dc5 gnu: libmikmod: Update to 3.3.7.
* gnu/packages/sdl.scm (libmikmod): Update to 3.3.7.
2015-02-05 15:29:41 +08:00
Mark H Weaver 800d8d4061 gnu: wicd: Allow wicd-gtk to find its icons.
* gnu/packages/wicd.scm (wicd)[inputs]: Add hicolor-icon-theme.
  [arguments]: Install icons in $out/share/icons.  Install a copy of
  'index.theme' from 'hicolor-icon-theme' into $out/share/icons/hicolor.
2015-02-05 01:30:16 -05:00
Mark H Weaver b7d0c494f4 services: Add wicd service.
* gnu/services/networking.scm (wicd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2015-02-04 18:20:17 -05:00
Mark H Weaver 10b60c0430 gnu: Add wicd.
Based on preliminary work by Pierre-Antoine Rault <par@rigelk.eu>

* gnu/packages/wicd.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-02-04 18:20:17 -05:00
Mark H Weaver 4fb7e0de19 gnu: wpa-supplicant: Add dbus support; add wpa-supplicant-light.
* gnu/packages/admin.scm (wpa-supplicant-light): New variable containing the
  previous dbus-free package, but renamed.  Remove outdated TODO comments.
  (wpa-supplicant): Now inherits from wpa-supplicant-light but adds dbus
  support.
* gnu/system/install.scm (installation-os): Use wpa-supplicant-light.
2015-02-04 18:20:17 -05:00
Ludovic Courtès 698761587c gnu: nss-mdns: Allow the daemon's socket to be found.
* gnu/packages/avahi.scm (nss-mdns)[arguments]: New field.
2015-02-04 22:49:35 +01:00
Ludovic Courtès 4aee6e6003 services: nscd-service: Add #:name-services parameter.
* gnu/services/base.scm (nscd-service): Add #:name-services parameter.
  In 'start' field, set LD_LIBRARY_PATH based on #:name-services.
* doc/guix.texi (Base Services): Document it.
  (Name Service Switch): Link to 'nscd-service'.
2015-02-04 22:49:35 +01:00
Ludovic Courtès 996ed73948 system: Add bindings to configure libc's NSS.
* gnu/system/nss.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu.scm (%public-modules): Add it.
* gnu/system.scm (<operating-system>)[name-service-switch]: New field.
  (etc-directory): Add #:nss parameter and honor it.
  (operating-system-etc-directory): Adjust call accordingly.
* doc/guix.texi (operating-system Reference): Document
  'name-service-switch'.
  (Name Service Switch): New section.
2015-02-04 22:49:35 +01:00
Ludovic Courtès ffd74de0c6 gnu: wpa-supplicant: Install man pages.
* gnu/packages/admin.scm (wpa-supplicant)[arguments]: Add
  'install-man-pages' phase.
2015-02-04 22:49:35 +01:00
Ludovic Courtès 61bdd0d89f gnu: wpa-supplicant: Use GnuTLS instead of OpenSSL.
* gnu/packages/admin.scm (wpa-supplicant)[arguments] <configure phase>:
  Set CONFIG_TLS.
  [inputs]: Add GNUTLS and LIBGCRYPT.
2015-02-04 22:49:34 +01:00
Ludovic Courtès 3b9855f496 build: Make 'chroot' a hard requirement.
* config-daemon.ac: Error out when $ac_cv_func_chroot is not "yes".
* nix/nix-daemon/guix-daemon.cc (options): Remove #ifdef HAVE_CHROOT.
  (main): Likewise.
2015-02-04 22:49:34 +01:00
Mark H Weaver 6a070700df gnu: libffcall: Correct license field.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* gnu/packages/libffcall.scm (libffcall): Change license to gpl2+.
2015-02-04 04:31:40 -05:00
Mark H Weaver f5844fde7d gnu: Add libffcall.
* gnu/packages/libffcall.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Co-Authored-By: Joshua S. Grant <jgrant@parenthetical.io>
2015-02-04 01:51:21 -05:00
Mark H Weaver 89328d240f Add support for 'cvs-fetch' method in origins.
* guix/cvs-download.scm, guix/build/cvs.scm: New files.
* Makefile.am (MODULES): Add them.
2015-02-04 01:51:20 -05:00
Mark H Weaver b52af02b5d gnu: Add python2-dbus.
* gnu/packages/python.scm (python2-dbus): New variable.
2015-02-04 01:36:09 -05:00
Pierre-Antoine Rault d95a56c632 gnu: Add python-dbus.
* gnu/packages/python.scm (python-dbus): Add it. Makes use of dbus,
  dbus-glib and glib itself.
2015-02-04 01:36:03 -05:00
Mark H Weaver 613467abc5 Remove outdated comment from svn-fetch.
* guix/svn-download.scm (svn-fetch): Remove outdated comment.
2015-02-04 00:14:37 -05:00
Mark H Weaver be1f44bbd6 gnu: python-urwid: Remove Fedora mirror from source URI list.
* gnu/packages/python.scm (python-urwid)[source]: Remove Fedora mirror.
2015-02-04 00:11:06 -05:00
Mark H Weaver 9a72770094 gnu: wpa-supplicant: Update to 2.3.
* gnu/packages/admin.scm (wpa-supplicant): Update to 2.3.  Update URLs.
2015-02-03 23:10:59 -05:00
David Thompson 4b7ad2e338 guix: environment: Consider all package outputs.
* guix/scripts/environment.scm (for-each-search-path): Iterate over all
  derivation output paths.
  (packages->transitive-inputs): Process inputs that specify an output, too.
2015-02-03 16:11:01 -05:00
宋文武 5ce93d9ade services: xorg: Add sawfish session.
* gnu/services/xorg.scm (%sawfish-session-type): New variable.
* doc/guix.texi (X Window): Mention it.
2015-02-03 22:20:49 +08:00
宋文武 ca2eebbd99 gnu: Add sawfish.
* gnu/packages/sawfish.scm (sawfish): New variable.
2015-02-03 22:13:00 +08:00
宋文武 a0aa8d0be0 gnu: Add rep-gtk.
* gnu/packages/sawfish.scm (rep-gtk): New variable.
2015-02-03 22:13:00 +08:00
宋文武 93dc836f9d gnu: Add librep.
* gnu/packages/sawfish.scm: New file.
* gnu/packages/patches/librep-rules.mk.patch: New file.
* gnu-system.am: Add them.
2015-02-03 22:13:00 +08:00
Mark H Weaver e99f421185 gnu: Add python-urwid and python2-urwid.
Based on preliminary work by Omar Radwan <toxemicsquire4@gmail.com>.

* gnu/packages/python.scm (python-urwid, python2-urwid): New variables.
2015-02-03 00:33:08 -05:00
David Thompson 50b7a6a040 gnu: httpd: Add perl input.
* gnu/packages/web.scm (httpd): Add perl input.
2015-02-02 20:38:31 -05:00
David Thompson bc35100151 gnu: inkscape: Update to 0.91.
* gnu/packages/inkscape.scm (inkscape): Update to 0.91.
2015-02-02 20:38:30 -05:00
Andreas Enge 20fbd20932 gnu: node: Update to 0.10.36.
* gnu/packages/node.scm (node): Update to 0.10.36.
2015-02-03 00:14:54 +01:00
Andreas Enge 004dbec567 gnu: elfutils: Update to 0.161.
* gnu/packages/elf.scm (elfutils): Update to 0.161.
2015-02-02 23:40:58 +01:00
Andreas Enge 63af948fc4 gnu: sipwitch: Update to 1.9.6.
* gnu/packages/telephony.scm (sipwitch): Update to 1.9.6.
2015-02-02 23:33:36 +01:00
Taylan Ulrich B b1ec2233a1 Set Emacs indentation for `wrap-program'.
* .dir-locals.el (scheme-mode): Set `scheme-indent-function' of `wrap-program'
  to 1.
2015-02-02 17:22:36 -05:00
Andreas Enge aa30c6e738 gnu: ucommon: Update to 6.3.0.
* gnu/packages/telephony.scm (ucommon): Update to 6.3.0.
2015-02-02 23:03:30 +01:00
Mark H Weaver 4e7a137a83 Revert "gnu: python-matplotlib: Remove python-pillow input."
python-pillow is now fixed, so we can add it back.
This reverts commit dfbc33dceb.
2015-02-02 15:19:12 -05:00
Eric Bavier ca4077561f gnu: openjpeg: Upgrade to 2.1.0.
* gnu/packages/image.scm (openjpeg): Upgrade to 2.1.0.
  (openjpeg-2.0): New variable.
* gnu/packages/pdf.scm (mupdf)[inputs]: Use openjpeg-2.0.
2015-02-02 13:03:42 -06:00
Mark H Weaver 288084d535 gnu: Add hdparm.
* gnu/packages/linux.scm (hdparm): New variable.
2015-02-02 12:13:58 -05:00
Ludovic Courtès 01d8ac64ab store: Remove 'build-derivations'.
* guix/store.scm (build-derivations): Remove.
* guix/derivations.scm (build-derivations): Write in terms of
  'build-things'.
* doc/guix.texi (Invoking guix build): Adjust text accordingly.
2015-02-02 12:46:36 +01:00
Ludovic Courtès bd98ad1fbc tests: Skip 'guix-register' when the socket name length is exceeded.
* tests/guix-register.sh: Before running 'guix-daemon', check whether
  the socket name length exceeds the system limitation.
2015-02-02 12:46:36 +01:00
Ludovic Courtès 5f1f10c59d tests: Don't dump the list of dead items in the test log.
* tests/store.scm ("dead-paths"): Wrap result in '->bool'.
2015-02-02 12:46:36 +01:00
Ludovic Courtès abac874b22 store: Add 'build-things'.
* guix/store.scm (operation-id): Rename 'build-derivations' to
  'build-things', as per Nix commit 1aba0bf0.
  (build-derivations): Rename to...
  (build-things): ... this.  Keep 'build-derivations' as an alias.
  (build): New procedure.
* tests/store.scm ("build-things with output path",
  "substitute + build-things with output path"): New tests.
2015-02-02 12:46:36 +01:00
Ludovic Courtès e6c8839c18 tests: Add 'with-derivation-substitute' and use it.
* guix/tests.scm (%substitute-directory): New variable.
  (call-with-derivation-narinfo): Use it.
  (call-with-derivation-substitute): New procedure.
  (with-derivation-substitute): New macro.
* tests/store.scm ("substitute"): Use 'with-derivation-substitute'.
  ("substitute, corrupt output hash"): Likewise.
2015-02-02 12:46:35 +01:00
Ludovic Courtès 6eebbab562 tests: Further factorize substitute mocks.
* guix/tests.scm (derivation-narinfo): Turn 'nar' into a keyword
  parameter.  Add #:sha256 parameter, and honor it.
  (call-with-derivation-narinfo): Add #:sha256 and pass it to
  'derivation-narinfo'.
  (with-derivation-narinfo): Extend with support for (sha256 => value).
* tests/store.scm ("substitute query"): Use 'with-derivation-narinfo'.
  ("substitute"): Likewise.
  ("substitute, corrupt output hash"): Likewise.
  ("substitute --fallback"): Likewise.
* tests/derivations.scm: Remove Emacs local variable.
2015-02-02 12:46:35 +01:00
Ludovic Courtès 2d53df66de tests: Use 'with-store' as appropriate.
* tests/store.scm ("no substitutes", "substitute query",
  "substitute", "substitute, corrupt output hash",
  "substitute --fallback"): Use 'with-store' instead of
  'open-connection'.
2015-02-02 12:46:35 +01:00
Ludovic Courtès 1af50c224d Add Deck to 'AUTHORS'. 2015-02-02 12:46:35 +01:00
Mark H Weaver 3b02429c8a gnu: libvpx: Apply bug fixes.
Fixes build on armhf.

* gnu/packages/patches/libvpx-fix-armhf-link.patch,
  gnu/packages/patches/libvpx-fix-ssse3-quantize.patch,
  gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/video.scm (libvpx): Add patches.  On armhf, add additional
  configure flags to avoid requiring support for NEON.
2015-02-02 03:54:42 -05:00
Taylan Ulrich Bayırlı/Kammer 38012ed5cd gnu: Add polipo.
* gnu/packages/web.scm (polipo): New variable.
2015-02-01 20:43:50 -05:00
Taylan Ulrich Bayırlı/Kammer dd2efd3d5b gnu: Add dnsmasq.
* gnu-system.am (GNU_SYSTEM_MODULES): Add dnsmasq.scm.
* gnu/packages/dnsmasq.scm: New file.
2015-02-01 17:53:36 -05:00
宋文武 48f46dc379 gnu: gdk-pixbuf: Enable Xlib rendering support.
* gnu/packages/gtk.scm (gdk-pixbuf)[arguments]: New field.
  [inputs]: Add LIBX11.
2015-02-01 13:18:37 +08:00
Mark H Weaver 13b284d91e gnu: icecat: Use system libvpx, icu4c, and pixman libraries.
* gnu/packages/gnuzilla.scm (icecat)[inputs]: Add libvpx, icu4c, pixman.
  [arguments]: Add --with-system-libvpx, --with-system-icu, and
  --enable-system-pixman configure flags.  Add comments about why we
  cannot (yet) add system cairo and sqlite, etc.
2015-01-31 08:52:49 -05:00
宋文武 20e416453c gnu: libxtst: Propagate libxi.
* gnu/packages/xorg.scm (libxtst): Move libxi to 'propagated-inputs'.
2015-01-31 21:38:31 +08:00
Mark H Weaver 43cc5c5e61 gnu: icecat: Use gstreamer-1.0 and enable webrtc.
* gnu/packages/gnuzilla.scm (icecat)[inputs]: Use latest gstreamer and
  gst-plugins-base.
  [arguments]: Remove "--disable-webrtc" and add "--enable-gstreamer=1.0" to
  configure flags.
2015-01-31 00:06:20 -05:00
Jason Self 28bda60251 gnu: linux-libre: Update to 3.18.5
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.5.
2015-01-30 11:42:58 -08:00
Ricardo Wurmus 2b0bba49e1 gnu: Add jansson.
* gnu/packages/web.scm (jansson): New variable.
2015-01-30 17:08:19 +01:00
Mark H Weaver 582100a0c0 gnu: icecat: Update to 31.4.0.
* gnu/packages/patches/icecat-CVE-2014-1587-bug-1042567.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1072847.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1079729.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1080312.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1089207.patch,
  gnu/packages/patches/icecat-CVE-2014-1590.patch,
  gnu/packages/patches/icecat-CVE-2014-1592.patch,
  gnu/packages/patches/icecat-CVE-2014-1593.patch,
  gnu/packages/patches/icecat-CVE-2014-1594.patch,
  gnu/packages/patches/icecat-CVE-2014-8634-pt1.patch,
  gnu/packages/patches/icecat-CVE-2014-8634-pt2.patch,
  gnu/packages/patches/icecat-CVE-2014-8638-pt1.patch,
  gnu/packages/patches/icecat-CVE-2014-8638-pt2.patch,
  gnu/packages/patches/icecat-CVE-2014-8639.patch,
  gnu/packages/patches/icecat-CVE-2014-8641.patch,
  gnu/packages/patches/icecat-armhf-xpcom.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm: Update to 31.4.0.  Remove patches.
2015-01-30 10:54:41 -05:00
宋文武 686e025d79 gnu: Add desktop-file-utils.
* gnu/packages/gnome.scm (desktop-file-utils): New variable.
2015-01-30 21:47:01 +08:00
Ricardo Wurmus 241e122193 gnu: bowtie: fix build errors
* gnu/packages/bioinformatics.scm (bowtie): Add 'supported-systems' field and
  add Makefile patch.
* gnu/packages/patches/bowtie-fix-makefile.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2015-01-30 10:45:27 +01:00
David Thompson e89fa047f7 gnu: jack-1: Fix licenses.
* gnu/packages/audio.scm (jack-1): Change license field to a list of licenses
  instead of a list of symbols.
2015-01-29 19:19:08 -05:00
Ricardo Wurmus 8c6c91fead gnu: Add Threading Building Blocks.
* gnu/packages/tbb.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-29 11:40:06 +01:00
Ricardo Wurmus 0760e3a1aa gnu: Add IcedTea 6
* gnu/packages/java.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-29 10:32:42 +01:00
Ludovic Courtès b02c197cdf Merge branch '0.8.1-release' 2015-01-29 08:54:21 +01:00
Ludovic Courtès ae5e3d3a62 gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update snapshot.
  (guix): Change to GUIX-DEVEL.
2015-01-28 23:53:09 +01:00
Ludovic Courtès f1082ec16c gnu: guix: Update to 0.8.1.
* gnu/packages/package-management.scm (guix-0.8): Rename to...
  (guix-0.8.1): ... this.  Add 'propagated-inputs'.
  (guix-devel): Append ".0" to version number.  Remove
  'propagated-inputs'.
  (guix): Set to GUIX-0.8.1.
2015-01-28 23:36:58 +01:00
Mark H Weaver 39d0ce93be gnu: racket: Add MIPS back to supported-systems.
* gnu/packages/scheme.scm (racket)[supported-systems]: Remove field.
2015-01-28 16:55:55 -05:00
Ludovic Courtès 983c082a74 Update NEWS. 2015-01-28 22:01:29 +01:00
Mark H Weaver a884ad0bff gnu: xf86-video-geode: Only supported on i686 systems.
* gnu/packages/xorg.scm (xf86-video-geode)[supported-systems]: Trim to include
  only i686-based systems.
2015-01-28 15:43:33 -05:00
Mark H Weaver 6ec7dd15bb gnu: xf86-video-intel: Only supported on Intel-based systems.
* gnu/packages/xorg.scm (xf86-video-intel)[supported-systems]: Trim to include
  only Intel-based systems.
2015-01-28 15:43:33 -05:00
Mark H Weaver 893046ff4b gnu: Remove 'xf86-video-ast' and 'xf86-video-newport' drivers.
* gnu/packages/xorg.scm (xf86-video-ast, xf86-video-newport): Comment out.
2015-01-28 15:43:33 -05:00
Ludovic Courtès d3206af65a gnu: racket: Update to 6.1.1.
* gnu/packages/scheme.scm (racket): Update to 6.1.1.  Adjust URI.
  [inputs]: Add FONTCONFIG and SQLITE.
2015-01-28 21:32:58 +01:00
Ludovic Courtès 01ed3c4fe5 linux-boot: Don't fail if /root/etc/mtab is a dangling symlink.
Reported Joshua Grant.
Patch suggested by Mark H Weaver.

* gnu/build/linux-boot.scm (mount-root-file-system): Use
  'false-if-exception' instead of 'when (file-exists? ...)' to account
  for dangling symlinks.
2015-01-28 21:32:58 +01:00
Ludovic Courtès 9250b30466 ui: Update copyright year in '--version' output.
* guix/ui.scm (show-version-and-exit): Increment copyright year.
2015-01-28 21:32:58 +01:00
Ludovic Courtès d31721464e nls: Update 'vi' translation. 2015-01-28 21:32:58 +01:00
Mark H Weaver 9dcd1b3b1c gnu: guile-ssh: Put 'autoreconf' phase after 'unpack', not before 'configure'.
* gnu/packages/ssh.scm (guile-ssh): Add 'autoreconf' phase after 'unpack'
  instead of before 'configure', so that it will be before
  'patch-usr-bin-file' and other similar phases.
2015-01-28 15:26:31 -05:00
Federico Beffa 18a5a9a17a gnu: Add libupnp.
* gnu/packages/libupnp.scm: New file.
* gnu-system.am: Add the new file.
2015-01-28 16:09:57 +01:00
Ludovic Courtès 88c6b58020 gnu: Define $CC to placate 'g-ir-scanner'.
* gnu/packages/glib.scm (telepathy-glib)[arguments]: New field.
* gnu/packages/gnome.scm (json-glib)[arguments]: New field.
2015-01-28 14:38:58 +01:00
Ludovic Courtès 2fd22ec52c gnu: libextractor: Adjust to deal with current libmagic.
* gnu/packages/gnunet.scm (libextractor)[source]: Add 'snippet'.
  (libextractor)[inputs]: Remove GNU-GETTEXT, which was unneeded.  Add
  FILE.
2015-01-28 14:23:14 +01:00
Ludovic Courtès 2c63619588 doc: Fix typo for 'lsh-service'.
* doc/guix.texi (Networking Services): Fix typo in 'lsh-service'
  parameters.
2015-01-28 14:04:57 +01:00
Ludovic Courtès 8fbf530260 lint: Fix argument parsing when several packages are specified.
* guix/scripts/lint.scm (%options) <--checkers>: Remove 'arg-handler'
  parameter, and return a single value.
  (guix-lint)[parse-options]: Remove 'arg-handler' parameter from
  handlers.  Remove second seed to 'args-fold*'.
* tests/guix-lint.sh: Add test.
2015-01-28 14:00:58 +01:00
Ludovic Courtès 30347040de gnu: gimp: Update to 2.8.14.
* gnu/packages/gimp.scm (gimp): Update to 2.8.14.
2015-01-28 10:56:04 +01:00
Ludovic Courtès 3761792c3a system: Define $ASPELL_CONF in /etc/profile.
* gnu/system.scm (etc-directory)[profile]: Define 'ASPELL_CONF'.
2015-01-28 10:56:04 +01:00
Ludovic Courtès 43faf869b9 Update NEWS. 2015-01-28 10:56:04 +01:00
Ludovic Courtès 8a225c6652 doc: Update USB image size.
* doc/guix.texi (System Installation): Change to --image-size=850MiB.
2015-01-28 10:56:04 +01:00
Ludovic Courtès 7de2b18612 install: Add iw to the packages.
* gnu/system/install.scm (installation-os)[packages]: Add IW.
2015-01-28 10:56:04 +01:00
Ludovic Courtès 8666869491 Thank Amirouche. 2015-01-28 10:56:04 +01:00
Jason Self 589f7dbeb5 gnu: linux-libre: Update to 3.18.4
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.4.
2015-01-27 19:52:38 -08:00
Ludovic Courtès 6bc64f4187 gnu: Add xinit.
* gnu/packages/xorg.scm (xinit): New variable.
2015-01-27 21:32:07 +01:00
Ludovic Courtès 3a5d914b5e doc: Change the USB image file name to 'gsd-usb-install*'.
* doc/guix.texi (System Installation): Change the file name to
  'gsd-usb-install-*'.
2015-01-27 21:32:07 +01:00
Ludovic Courtès 493c245b8f linux-initrd: Add USB kernel modules to the default initrd.
* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add
  usb-storage, uas, usbkbd, and usbhid.
* gnu/system/vm.scm (system-disk-image): Remove #:extra-modules argument
  to 'base-initrd'.
2015-01-27 21:32:06 +01:00
Manolis Ragkousis d021d25175 gnu: apr-util: Correct hash.
* gnu/packages/apr.scm (apr-util): Correct hash.
2015-01-27 13:39:14 -05:00
Alex Kost 6256553cc1 gnu: Add sxiv.
* gnu/packages/sxiv.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-27 18:02:45 +03:00
Ricardo Wurmus 74574fd1e3 gnu: Add GCJ
* gnu/packages/gcc.scm (gcj-4.8, ecj-bootstrap-4.8): New variables.
* gnu/packages/javac.in: New file.
* gnu-system.am (MISC_DISTRO_FILES): Add it.
* Makefile.am (nobase_dist_guilemodule_DATA): Add MISC_DISTRO_FILES.
2015-01-27 15:33:08 +01:00
rekado bfe26beb3e gnu: Add LRDF.
* gnu/packages/rdf.scm (lrdf): New variable.
2015-01-27 10:58:45 +01:00
rekado fb68469f13 gnu: Add JACK
* gnu/packages/audio.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
2015-01-27 10:53:51 +01:00
Ludovic Courtès b1e95eca07 doc: Update "Limitations" section.
* doc/guix.texi (System Installation): Mention Xfce.  Update package
  count.
2015-01-27 10:24:35 +01:00
Ludovic Courtès c73adb0998 install: Mention GSD.
* gnu/system/install.scm (installation-services): Mention the Guix
  System Distribution.
2015-01-27 10:24:35 +01:00
Ludovic Courtès 39de700c6f gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (boot-guile-uri): New procedure.
  (guix-0.8): Add "boot-guile/armhf" input.  Update
  'copy-bootstrap-guile' phase to handle it.
  (guix-devel): Update snapshot.
2015-01-27 10:24:34 +01:00
Manolis Ragkousis a795477b20 gnu: zsh: Update to 5.0.7
* gnu/packages/zsh.scm (zsh): Update to 5.0.7

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-01-27 10:24:34 +01:00
Manolis Ragkousis 9506a01c6d gnu: apr: Update to 1.5.4.
* gnu/packages/apr.scm (apr-util): Update to 1.5.4

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-01-27 10:24:34 +01:00
Manolis Ragkousis 64605c20ec gnu: ftp: Update to 4.6.1.
* gnu/packages/ftp.scm (lftp): Update to 4.6.1

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-01-27 10:24:34 +01:00
Ludovic Courtès 6acef6811f services: mingetty: Wait for udev.
* gnu/services/base.scm (mingetty-service): Add 'udev' to
  'requirement'.
2015-01-27 10:24:34 +01:00
宋文武 00239d0594 system: Add 'XDG_DATA_DIRS' and 'XDG_CONFIG_DIRS' to /etc/profile.
* gnu/system.scm (etc-directory)[profile]: Set 'XDG_DATA_DIRS' and
  'XDG_CONFIG_DIRS'.
2015-01-27 13:49:02 +08:00
Ludovic Courtès 4ad8789c17 nls: Add a few more package modules for translation.
* po/packages/POTFILES.in: List a few more files.
2015-01-27 00:07:25 +01:00
Ludovic Courtès 36c452309f build: Unset 'GUIX_PACKAGE_PATH' in 'sync-descriptions'.
* Makefile.am (sync-descriptions): Clear 'GUIX_PACKAGE_PATH'.
2015-01-26 23:56:58 +01:00
Ludovic Courtès f8bcf997d5 build: Remove reference to non-existent file.
* daemon.am (EXTRA_DIST): Remove nix/sync-with-upstream.
2015-01-26 23:56:18 +01:00
Ludovic Courtès 873c4085c8 doc: Expound a bit on 'guix lint'.
* doc/guix.texi (Invoking guix lint): Give examples of checkers.
2015-01-26 23:45:27 +01:00
Ludovic Courtès ffc3a02b5a services: xorg: Define the <session-type> record type.
* gnu/services/xorg.scm (<session-type>): New record type.
  (%windowmaker-session-type, %ratpoison-session-type): New variables.
  (%default-xsessions): Use them.
  (xsessions-directory): Expect SESSIONS to be a list of <session-type>
  and rewrite accordingly.
  (slim-service): Adjust docstring.
* doc/guix.texi (X Window): Update accordingly.
2015-01-26 23:33:24 +01:00
Ludovic Courtès 3bcfe23cfc substitute-binary: Let the user know when the cache is being updated.
* guix/scripts/substitute-binary.scm (open-cache*): New macro.
  (guix-substitute-binary): Use it instead of (delay (open-cache ...)).
2015-01-26 21:58:12 +01:00
Ludovic Courtès 19a454448b hash: Initialize libgcrypt before use.
Fixes <http://bugs.gnu.org/19677>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/hash.scm: Use (guix gcrypt).
  (sha256, open-sha256-md, md-write, md-close): Use 'libgcrypt-func'
  instead of 'dynamic-func'.
2015-01-26 21:58:12 +01:00
Ludovic Courtès 4862bc4a1a Add (guix gcrypt).
* guix/gcrypt.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/pk-crypto.scm: Use it.
  (libgcrypt-func, gcrypt-version): Remove.
2015-01-26 21:58:12 +01:00
Mark H Weaver 72c5ad8bae gnu: Add gobject-introspection patches to gnu-system.am.
* gnu-system.am (dist_patch_DATA): Add
  'gobject-introspection-absolute-shlib-path.patch' and
  'gobject-introspection-girepository.patch'.
2015-01-26 05:13:05 -05:00
Mark H Weaver 5ade90ba69 Merge branch 'wip-gobject-introspection' 2015-01-25 21:15:13 -05:00
Ludovic Courtès 06aac933e1 guix lint: Make the 'source' checker happy if at least one URI is valid.
Before that it would check all the URIs of each package.

* guix/scripts/lint.scm (validate-uri): Really return #f on failure and
  #t otherwise.
  (check-source): Replace 'for-each' with 'any'.
2015-01-26 00:19:33 +01:00
Ludovic Courtès ac41737f49 services: dbus: Set the search path for .service files.
* gnu/services/dbus.scm (dbus-configuration-directory)[services->sxml]:
  Produce a <servicedir> tag.
2015-01-26 00:06:32 +01:00
Ludovic Courtès dfba54893e gnu: Raise an error when a bootstrap binary is not found.
* gnu/packages.scm (search-bootstrap-binary): Raise an error when
  FILE-NAME is not found.
2015-01-26 00:06:32 +01:00
Andreas Enge 836223f746 Revert "gnu: netpbm: Update to 10.69.04."
This reverts commit 03c2776535.
2015-01-25 21:57:44 +01:00
Andreas Enge 7246e8f701 Revert "gnu: netpbm: Correct hash."
This reverts commit a6ae52fe14.
2015-01-25 21:57:35 +01:00
Andreas Enge a6ae52fe14 gnu: netpbm: Correct hash.
* gnu/packages/netpbm.scm (netpbm): Correct hash.

Fixes <http://bugs.gnu.org/19686>.
Reported by Marek Benc <dusxmt@gmx.com> and Mark Weaver <mhw@netris.org>.
2015-01-25 20:29:58 +01:00
Andreas Enge 014e7dd8f0 gnu: Add python-pyqt.
* gnu/packages/qt.scm (python-pyqt, python2-pyqt): New variables.
* gnu/packages/patches/pyqt-configure.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
2015-01-25 20:10:03 +01:00
Andreas Enge 84ef83dd05 gnu: Add python-sip.
* gnu/packages/qt.scm (python.sip, python2-sip): New variables.
2015-01-25 20:04:39 +01:00
Cyril Roelandt 17a7b75c0f lint: add 'source' checker.
* guix/scripts/lint.scm (validate-uri?): New procedure.
  (%checkers): Add 'source' checker
2015-01-25 18:34:51 +01:00
Andreas Enge 03c2776535 gnu: netpbm: Update to 10.69.04.
* gnu/packages/netpbm.scm (netpbm): Update to 10.69.04.
2015-01-25 10:56:44 +01:00
Ludovic Courtès f304c9c237 derivations: Raise an error for references to non-existent outputs.
Fixes <http://bugs.gnu.org/19630>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* guix/derivations.scm (&derivation-error,
  &derivation-missing-output-error): New error conditions.
  (derivation->output-path): Raise a '&derivation-missing-output-error'
  if OUTPUT is not an output of DRV.
* guix/ui.scm (call-with-error-handling): Add case for
  'derivation-missing-output-error?'.
  (show-what-to-build): Check whether (derivation-outputs drv) is
  empty.
* tests/packages.scm ("reference to non-existent output"): Add test.
2015-01-24 22:57:49 +01:00
Ludovic Courtès da74bc7886 Add Ricardo to 'AUTHORS'. 2015-01-24 22:57:49 +01:00
Andreas Enge b027d919cb gnu: Add libdvdnav.
* gnu/packages/video.scm (libdvdnav): New variable.
2015-01-24 18:05:03 +01:00
Andreas Enge e6bdb36a51 gnu: Add libdvdread.
* gnu/packages/video.scm (libdvdread): New variable.
2015-01-24 17:59:22 +01:00
Andreas Enge 2f7fade9ea gnu: youtube-dl: Update to 2015.01.23.4.
* gnu/packages/video.scm (youtube-dl): Update to 2015.01.23.4.
2015-01-24 16:42:10 +01:00
Andreas Enge 7db8a6011a gnu: freeipmi: Update to 1.4.8.
* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.8.
2015-01-24 11:55:37 +01:00
Andreas Enge 6e8586fb47 gnu: xnee: Update to 3.19 and add input GTK+.
* gnu/packages/xnee.scm (xnee): Update to 3.19. This requires gtk+-2 as
    additional input.
2015-01-24 09:56:39 +01:00
Ludovic Courtès 02bb6b45e4 services: guix: #:authorize-hydra-key? now defaults to #t.
* gnu/services/base.scm (guix-service): Change AUTHORIZE-HYDRA-KEY?
  default value to #t.
2015-01-23 23:49:24 +01:00
Ludovic Courtès ca79e42ea2 build-system/glib-or-gtk: Add MIME directories to $XDG_DATA_DIRS.
Fixes an Evince regression introduced in commit 3d243e9.

* guix/build/glib-or-gtk-build-system.scm (data-directories): Check the
  /mime sub-directory.
2015-01-23 23:49:24 +01:00
Andreas Enge 7d8379a767 gnu: netpbm: Switch to svn checkout.
* gnu/packages/netpbm.scm (netpbm): Use svn-fetch for the source instead
    of a separately hosted tarball.
2015-01-23 23:27:20 +01:00
Andreas Enge e066928977 gnu: python-pyparsing: Update to 2.0.3.
* gnu/packages/python.scm (python-pyparsing, python2-pyparsing): Update to 2.0.3.
2015-01-23 21:50:56 +01:00
Federico Beffa 94987ebe13 gnu: gobject-introspection: Add patch.
* gnu/packages/glib.scm (gobject-introspection): Add patch
  gobject-introspection-girepository.patch.
2015-01-23 18:33:59 +01:00
Ludovic Courtès 37cb3a69ac gnu: gtk+: Add CUPS print back-end.
* gnu/packages/gtk.scm (gtk+)[inputs]: Add CUPS.
2015-01-23 16:29:20 +01:00
Ludovic Courtès 80ae897f01 doc: Mention that guix.el works out-of-the-box on GSD.
* doc/emacs.texi (Emacs Initial Setup): Mention that it works
  out-of-the-box on GSD.
2015-01-23 16:29:20 +01:00
Ludovic Courtès 842e0b95f4 build: Change version to 0.8.1.
* configure.ac: Change version to 0.8.1.
2015-01-23 16:29:20 +01:00
Ludovic Courtès a21f0e0a54 gnu: libmicrohttpd: Update to 0.9.39.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.39.
2015-01-23 16:29:20 +01:00
Ludovic Courtès 73ebc66feb gnu: rcs: Update to 5.9.4.
* gnu/packages/version-control.scm (rcs): Update to 5.9.4.
2015-01-23 16:29:20 +01:00
Ludovic Courtès 351d752630 gnu: parallel: Update to 20150122.
* gnu/packages/parallel.scm (parallel): Update to 20150122.
2015-01-23 16:29:20 +01:00
Ludovic Courtès 2b8ae65ed1 gnu: libassuan: Update to 2.2.0.
* gnu/packages/gnupg.scm (libassuan): Update to 2.2.0.
2015-01-23 16:29:20 +01:00
Ludovic Courtès ec2da92c96 gnu: util-linux: Do not build 'kill'.
* gnu/packages/linux.scm (util-linux)[source](snippet): Set
  "build_kill=no" in 'configure'.
2015-01-23 16:29:20 +01:00
Ludovic Courtès c44ed26ce7 gnu: e2fsprogs: Don't build libraries and commands provided by util-linux.
* gnu/packages/linux.scm (e2fsprogs)[arguments]: Add --disable-blkid
  --disable-libuuid --disable-uuidd --disable-fsck.
2015-01-23 16:29:20 +01:00
Ludovic Courtès 9f533d60df gnu: util-linux: Update to 2.25.2.
* gnu/packages/linux.scm (util-linux): Update to 2.25.2.  Remove
  util-linux-perl.patch, and add util-linux-tests.patch.  Adjust
  'snippet'.
  [arguments]: Remove 'patch-chkdupexe' phase.  Add 'pre-check' phase.
  [native-inputs]: Add NET-BASE.
* gnu/packages/patches/util-linux-perl.patch: Remove.
* gnu/packages/patches/util-linux-tests.patch: New file.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2015-01-23 16:29:19 +01:00
Ludovic Courtès 61bce2f9cb gnu: e2fsprogs: Update to 1.42.11.
* gnu/packages/linux.scm (e2fsprogs): Update to 1.42.11.
2015-01-23 16:29:19 +01:00
Ludovic Courtès 53a7a01675 doc: Add services to the configuration template.
* gnu/system/os-config.tmpl (services): New field.
2015-01-23 16:29:17 +01:00
Ludovic Courtès dd6b28d18b install: Make sure 'info' can decompress the Info files.
* gnu/system/install.scm (log-to-info): Add GZIP to $PATH.
2015-01-23 10:37:01 +01:00
Ludovic Courtès de71cc4f83 doc: Update USB installation image name.
* doc/guix.texi (System Installation): Change image name to guix-usb-*.
2015-01-23 10:17:52 +01:00
Ludovic Courtès 3ca2731c20 doc: Introduce the Guix System Distribution.
* doc/guix.texi (Introduction): Introduce "Guix System Distribution".
  Add a couple of sentences about it.  Remove "Guixotic".
  (GNU Distribution): Likewise.
  (System Installation): Ditto.
2015-01-23 10:15:46 +01:00
Marek Benc 2baf46348f gnu: nvi: Fix Berkely DB compatability issues.
* gnu/packages/patches/nvi-db4.patch: New file.
* gnu/packages/patches/nvi-dbpagesize-binpower.patch: New file.
* gnu/packages/nvi.scm (nvi): Make use of them.
* gnu-system.am (dist_patch_DATA): Add them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-01-23 09:44:42 +01:00
宋文武 e1626e3b3a gnu: sudo: Set rundir, vardir and iologdir.
* gnu/packages/admin.scm (sudo)[arguments]<#:configure-flags>: Add
  --with-rundir=/run/sudo --with-vardir=/var/db/sudo
  --with-iologdir=/var/log/sudo-io.
2015-01-23 12:24:54 +08:00
Ludovic Courtès 8c9267a448 system: Make D-Bus warnings non fatal.
* gnu/system.scm (etc-directory): Add 'DBUS_FATAL_WARNINGS' in PROFILE.
2015-01-22 23:47:13 +01:00
Ludovic Courtès 0a0517690d system: Create /etc/emacs/site-start.el.
* gnu/system.scm (emacs-site-file, emacs-site-directory): New
  procedures.
  (etc-directory): Add 'EMACSLOADPATH' setting to PROFILE.  Call
  'emacs-site-directory', and bind its result to /etc/emacs.
2015-01-22 23:42:15 +01:00
Ludovic Courtès b6c5a39701 gnu: guix-devel: Propagate Geiser.
* gnu/packages/package-management.scm (guix-devel)[propagated-inputs]:
  Add GEISER.
2015-01-22 23:39:55 +01:00
Ludovic Courtès 5bf6b86f1b doc: Update 'ROADMAP'.
Suggested by Omar Radwan <toxemicsquire4@gmail.com>.

* ROADMAP: Rewrite.
2015-01-22 22:52:11 +01:00
Ludovic Courtès 70e629f548 guix system: Improve error messages.
* guix/ui.scm (report-error): Export.
* guix/scripts/system.scm (read-operating-system): Report syntax errors
  using standard GNU format.  Report other errors using 'display-error'.
2015-01-22 22:43:46 +01:00
Joshua S. Grant fbb020451e gnu: Add convenience macros to make module imports more concise.
* gnu.scm (use-package-modules, use-service-modules,
  use-system-modules): New macros.
2015-01-22 17:01:01 +01:00
Ludovic Courtès 3698f524d5 store: Change 'run-with-store' to return a single value.
* guix/store.scm (run-with-store): Wrap 'run-with-state' in
  'call-with-values'.  Return only the first value.
2015-01-21 23:18:57 +01:00
Ludovic Courtès a101c891e1 gnu: libtool: Update to 2.4.5.
* gnu/packages/autotools.scm (libtool): Update to 2.4.5.
  (libltdl): Adjust 'version' and 'source' to remain at 2.4.4.
2015-01-21 23:18:57 +01:00
Andreas Enge ca8343b5ac gnu: phonon: Shuffle inputs.
* gnu/packages/kde.scm (phonon): Move automoc to native-inputs and qt to
    propagated inputs.
2015-01-21 23:12:34 +01:00
Andreas Enge 898da0cc4c gnu: phonon: Update to 4.8.3.
* gnu/packages/kde.scm (phonon): Update to 4.8.3.
2015-01-21 22:55:27 +01:00
Ludovic Courtès 2af29d239b gnu: perf: Install libraries to lib/ instead of lib64/.
* gnu/packages/linux.scm (perf)[arguments]: Add "lib=lib" to
  #:make-flags.
2015-01-21 15:16:11 +01:00
Ludovic Courtès b1fb4b2371 gnu: perf: Build the interactive TUI.
* gnu/packages/linux.scm (perf)[inputs]: Add SLANG.
2015-01-21 15:16:10 +01:00
Ludovic Courtès e9257d377a gnu: Add S-Lang.
* gnu/packages/slang.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-21 15:16:10 +01:00
Ludovic Courtès d7ece67af0 gnu: perf: Build the documentation.
* gnu/packages/linux.scm (perf)[inputs]: Uncomment documentation inputs.
2015-01-21 15:16:10 +01:00
Ludovic Courtès 6c030d1037 gnu: perf: Add dependency on Python.
* gnu/packages/linux.scm (perf)[inputs]: Add PYTHON-2.
2015-01-21 15:16:10 +01:00
Federico Beffa 58d32305b6 gnu: libpeas: Update to 1.12.1, add 'pre-build phase.
* gnu/packages/gnome.scm (libpeas): Update to version 1.12.1 and add
  'pre-build phase.
2015-01-21 13:44:47 +01:00
Andreas Enge 2dfed643aa gnu: Register patches for installation.
* gnu-system.am (dist_patch_DATA): Add patches for aegis, clucene,
    libcanberra and lua-5.1.
2015-01-20 23:25:12 +01:00
Andreas Enge 4bb49be2c2 gnu: Add python-rdflib.
* gnu/packages/rdf.scm (python-rdflib): New variable.
2015-01-20 22:44:44 +01:00
Andreas Enge 673ab897a3 gnu: Add python-html5lib.
* gnu/packages/python.scm (python-html5lib, python2-html5lib): New variables.
2015-01-20 22:42:28 +01:00
Ludovic Courtès 1a0965045b guix package: Avoid spurious warnings from 'find-files'.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/scripts/package.scm (with-null-error-port): New macro.
  (search-path-environment-variables): Wrap 'search-path-as-list' call
  in 'with-null-error-port'.
2015-01-20 22:29:17 +01:00
Andreas Enge 03411993a8 gnu: Add python-isodate.
* gnu/packages/python.scm (python-isodate, python2-isodate): New variables.
2015-01-20 22:16:58 +01:00
Ludovic Courtès 28561d85da build: Make sure only the local .go files are loaded during compilation.
Reported by Andreas Enge <andreas@enge.fr>
at <http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00272.html>.

* Makefile.am (.scm.go): Add "unset GUILE_LOAD_COMPILED_PATH".
2015-01-20 14:55:06 +01:00
Ludovic Courtès dbab5150f8 gnu: 'search-patch' raises an error when a patch is not found.
* gnu/packages.scm (search-patch): Raise an error condition when
  'search-path' returns #f.
* tests/packages.scm ("patch not found yields a run-time error"): New
  test.
2015-01-20 10:17:24 +01:00
Ludovic Courtès 6b1f9721a8 packages: Mark the 'patches' field as delayed.
* guix/packages.scm (<origin>)[patches]: Mark as 'delayed'.
  (print-origin, origin->derivation): Add call to 'force' when accessing
  'patches'.
2015-01-20 09:59:56 +01:00
Ludovic Courtès 310b32a2a6 records: Add support for delayed fields.
* guix/records.scm (make-syntactic-constructor): Add #:delayed
  parameter.
  [delayed-field?]: New procedure.
  [wrap-field-value]: Use it.
  (define-record-type*)[delayed-field?, wrapped-field?]: New procedures.
  [thunked-field-accessor-name]: Rename to...
  [wrapped-field-accessor-name]: ... this.
  [field-spec->srfi-9]: Change 'thunked' to 'wrapped'.
  [delayed-field-accessor-definition]: New procedure.
  Compute delayed-field accessors and emit them.  Pass #:delayed to
  'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & delayed",
  "define-record-type* & delayed & default",
  "define-record-type* & delayed & inherited"): New tests.
2015-01-19 23:30:42 +01:00
Ludovic Courtès 0db40ed289 make-syntactic-constructor kwarg default 2015-01-19 23:30:42 +01:00
Ludovic Courtès c492be654b records: Factorize value wrapping in the record constructor.
* guix/records.scm (make-syntactic-constructor)[wrap-field-value]: New
  procedure.
  [field-bindings, field-value]: Use it.
2015-01-19 23:30:42 +01:00
Ludovic Courtès cf4efb394f records: Move 'make-syntactic-constructor' to the top level.
* guix/records.scm (make-syntactic-constructor): New procedure, formerly
  nested in 'define-record-type*'.
2015-01-19 23:30:42 +01:00
Ludovic Courtès 9b543456d7 records: Use keyword parameters for 'make-syntactic-constructor'.
* guix/records.scm (define-record-type*)[make-syntactic-constructor]:
  Turn THUNKED and DEFAULTS into keyword arguments.
  Adjust caller accordingly.  Declare 'thunked' and 'defaults' local
  variables.
2015-01-19 23:30:42 +01:00
Ludovic Courtès eb497b6616 gnu: Make libgnomeprint{,ui} as deprecated.
* gnu/packages/gnome.scm (libgnomeprint): Add comment and update
  'description' to mark it as deprecated.
  (libgnomeprintui): Ditto.
2015-01-19 23:30:42 +01:00
Ludovic Courtès 56b7a33873 gnu: Remove unneeded #:select.
* gnu/packages/fonts.scm: Remove #:select to work around
  <http://bugs.gnu.org/15540>.
2015-01-19 23:30:11 +01:00
Ludovic Courtès 00ebe4740a gnu: Move guile-charting to (gnu packages plotutils).
This removes the dependency from (gnu packages guile)
to (gnu packages gtk), which potentially reduces the memory/IO/CPU
footprint given that 'guile' is used during bootstrap.

* gnu/packages/guile.scm (guile-charting): Move to...
* gnu/packages/plotutils.scm (guile-charting): ... here.
2015-01-19 23:30:11 +01:00
Andreas Enge 109da1c082 gnu: Add json-glib.
* gnu/packages/gnome.scm (json-glib): New variable.
2015-01-19 23:05:58 +01:00
David Thompson 7d24363f09 gnu: tiled: Update to 0.11.0.
* gnu/packages/game-development.scm (tiled): Update.
2015-01-19 15:13:30 -05:00
David Thompson b0910aad2f gnu: tiled: Move to game-development module.
* gnu/packages/games.scm (tiled): Move from here...
* gnu/packages/game-development (tiled): ...to here.
2015-01-19 15:12:52 -05:00
Federico Beffa 7ed6ee1e34 gnu: vte: Add 'pre-build phase.
* gnu/packages/gnome.scm (vte): Add 'pre-build phase.
2015-01-19 18:04:12 +01:00
Ludovic Courtès c72aed6d8c gnu: emms: Let the build system install emms-print-metadata.1.
Reported by effa`` on #guix.

* gnu/packages/emacs.scm (emms)[arguments] <pre-install>: Remove
  'copy-file' invocation.
2015-01-19 16:37:05 +01:00
Ludovic Courtès d35c5e29b6 tests: Adjust syscall tests for 2.6ish Linux.
* tests/syscalls.scm ("set-network-interface-flags",
  "set-network-interface-address"): Accept EACCES as a valid result.
2015-01-19 15:44:12 +01:00
Ricardo Wurmus 510023184a gnu: Add CUPS.
* gnu/packages/cups.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-19 12:38:43 +01:00
Ricardo Wurmus 01aae5fcce gnu: Add IJS
* gnu/packages/ghostscript.scm (ijs): New variable.
2015-01-19 12:38:42 +01:00
Andreas Enge 7873318d30 gnu: Add telepathy-glib.
* gnu/packages/glib.scm (telepathy-glib): New variable.
2015-01-18 22:37:57 +01:00
Ludovic Courtès 71c1d5280c nar: Read archive signatures as Latin-1 strings.
Fixes <http://bugs.gnu.org/19610>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/nar.scm (restore-one-item): Use 'read-latin1-string' to read the
  signature.
2015-01-18 22:19:04 +01:00
Ludovic Courtès aa27b56083 serialization: Read Latin-1 strings with 'get-bytevector-n'.
* guix/serialization.scm (read-latin1-string): Use 'get-bytevector-n'
  instead of 'get-string-n'.  Use 'list->string' etc. to convert the
  bytevector to a string.
2015-01-18 22:17:09 +01:00
Federico Beffa 0404c34cb7 gnu: gtkmm: Update to 3.14.0.
* gnu/packages/gtk.scm (gtkmm): Update to 3.14.0.
2015-01-18 20:07:59 +01:00
Federico Beffa 13c9acbfbd gnu: xorg-server: Disable parallel execution of tests.
* gnu/packages/xorg.scm (xorg-server): Set '#:parallel-tests?' to '#f'.
2015-01-18 19:48:35 +01:00
Federico Beffa dc67ebd226 gnu: librsvg: Update to 2.40.6 and add 'pre-build phase.
* gnu/packages/gnome.scm (librsvg): Update to 2.40.6 and add 'pre-build phase.
2015-01-18 19:30:52 +01:00
Federico Beffa da6ce3f1b8 gnu: python-scipy: Update to 0.15.0.
* gnu/packages/python.scm (python-scipy): Update to 0.15.0.
2015-01-18 18:05:53 +01:00
Federico Beffa 3e6ccb5355 gnu: python-matplotlib: Update comments.
* gnu/packages/python.scm (python-matplotlib): Update comments as, with the
  patched 'gobject-introspection', setting LD_LIBRARY_PATH at run time is not
  anymore necessary.  It's still necessary at build time.
2015-01-18 18:05:53 +01:00
Federico Beffa a6035fc19a gnu: gtk+: Update to 3.14.7.
* gnu/packages/gtk.scm (gtk+): Update to 3.14.7.
2015-01-18 18:05:53 +01:00
Federico Beffa dfbc33dceb gnu: python-matplotlib: Remove python-pillow input.
* gnu/packages/python.scm (python-matplotlib): Remove python-pillow input as
  it currently is broken.
2015-01-18 18:05:53 +01:00
Federico Beffa 8597ab7d22 gnu: atk: Update to 2.15.3.
* gnu/packages/gtk.scm (atk): Update to 2.15.3.
2015-01-18 18:05:53 +01:00
Federico Beffa 31aa437987 gnu: eudev: Add pre-build phase.
* gnu/packages/linux.scm (eudev): Add 'pre-build phase to fix compilation with
  'gobject-introspection' 1.42.0.
2015-01-18 18:05:52 +01:00
Federico Beffa b6e5e1b738 gnu: eudev: Update to 2.1.1.
* gnu/packages/linux.scm (eudev): Update to 2.1.1.
2015-01-18 17:44:29 +01:00
Federico Beffa 5c88063614 gnu: gdk-pixbuf: Update to 2.31.1.
* gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.31.1.
2015-01-18 17:44:29 +01:00
Federico Beffa dca1b58df1 gnu: pango: Update to 1.36.8.
* gnu/packages/gtk.scm (pango): Update to 1.36.8.
2015-01-18 17:44:29 +01:00
Federico Beffa 2474b81d96 gnu: gobject-introspection: Update to 1.42.0 and add new patch.
* gnu/packages/glib.scm (gobject-introspection): Update to version 1.42.0.
  Add patch 'gobject-introspection-absolute-shlib-path.patch' provided by Luca
  Bruno <lucabru@src.gnome.org> for Nix.
2015-01-18 17:44:29 +01:00
Ludovic Courtès 5808dcc27c store: Change 'store-lower' to preserve the original procedure's documentation.
* guix/store.scm (preserve-documentation): New procedure.
  (store-lift, store-lower): Use it.
2015-01-18 17:38:15 +01:00
Ludovic Courtès 561fb6c31f doc: Document '%state-monad' and update '%store-monad' description.
* doc/guix.texi (The Store Monad): Document '%state-monad' and related
  procedures.  Describe '%store-monad' as an alias for '%state-monad'.
* guix/monads.scm: Update commentary.
2015-01-17 23:45:48 +01:00
Ludovic Courtès 4e190c2803 store: Make '%store-monad' an alias for '%state-monad'.
* guix/store.scm (define-alias): New macro.
  (%store-monad, store-return, store-bind): Define as aliases of the
  corresponding %STATE-MONAD part.
  (store-lift, text-file, interned-file): Return STORE as a second
  value.
  (run-with-store): Use 'run-with-state'.
* guix/packages.scm (set-guile-for-build, package-file): Return STORE as
  a second value.
* guix/monads.scm: Remove part of the module commentary.
2015-01-17 23:45:48 +01:00
Ludovic Courtès 81a97734e0 monads: Add the state monad.
* guix/monads.scm (state-return, state-bind, run-with-state,
  current-state, set-current-state, state-push, state-pop): New
  procedures.
  (%state-monad): New variable.
* tests/monads.scm (%monads): Add %STATE-MONAD.
  (%monad-run): Add 'run-with-state'.
  (values->list): New macro.
  ("set-current-state", "state-push etc."): New tests.
2015-01-17 23:45:48 +01:00
Jason Self 5db3719153 gnu: linux-libre: Update to 3.18.3
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.3.
2015-01-17 10:32:57 -08:00
Andreas Enge ca1071e1c3 gnu: rasqal: Update to 0.9.33.
* gnu/packages/rdf.scm (rasqal): Update to 0.9.33.
2015-01-17 18:47:03 +01:00
Andreas Enge f4ee08d85e gnu: raptor2: Update to 2.0.15.
* gnu/packages/rdf.scm (raptor2): Update to 2.0.15.
2015-01-17 18:14:48 +01:00
Ludovic Courtès 5660708895 guix archive: Add -r/--recursive.
* guix/scripts/archive.scm (show-help, %options): Add -r/--recursive.
  (export-from-store): Pass #:recursive? to 'export-paths'.
* doc/guix.texi (Invoking guix archive): Add -r in Emacs example.  Add
  example with ~/.guix-profile.  Document -r/--recursive.
2015-01-17 17:05:54 +01:00
Ludovic Courtès 9decb18c0b guix archive: Remove unused -r/--root option.
* guix/scripts/archive.scm (%options): Remove -r/--root.
2015-01-17 16:52:49 +01:00
Ludovic Courtès 1d50699354 store: Remove unused variable.
* guix/store.scm (export-paths): Remove unused variable 's'.
2015-01-17 16:03:35 +01:00
Ludovic Courtès 5b3d863f00 store: Add #:recursive? parameter to 'export-paths'.
* guix/store.scm (export-paths): Add #:recursive? parameter and honor
  it.
* tests/store.scm ("export/import incomplete", "export/import
  recursive"): New tests.
2015-01-17 15:59:00 +01:00
Ludovic Courtès 867d847305 doc: Mention generation of ECDSA/Ed25519 keys when supported.
* doc/guix.texi (Invoking guix archive): Mention ECDSA/Ed25519 as the
  default type of keys for libgcrypt >= 1.6.0.
2015-01-17 14:53:54 +01:00
宋文武 c1b0c7d976 gnu: Add fvwm.
* gnu/packages/fvwm.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-17 17:11:55 +08:00
Mark H Weaver 80650d7719 gnu: fontconfig: Propagate expat and freetype.
* gnu/packages/fontutils.scm (fontconfig)[inputs]: Move expat and freetype ...
  [propagated-inputs]: ... to here.
2015-01-17 00:53:24 -05:00
宋文武 622c8f0af2 gnu: ffmpeg: Augment rpath of libraries.
* gnu/packages/video.scm (ffmpeg)[arguments]<phases>[add-lib-to-run-path]:
  Add $out/lib to the RUNPATH of libraries.
2015-01-17 12:24:20 +08:00
Andreas Enge f159735885 gnu: fontconfig: Update to 2.11.92.
* gnu/packages/fontutils.scm (fontconfig): Update to 2.11.92.
2015-01-16 23:55:42 +01:00
Ludovic Courtès 4ad2e76a14 emacs: In 'run-with-store' call, specify the guile-for-build.
This fixes a regression introduced in commit e87f059.

* emacs/guix-main.scm (process-package-actions): Add call to
  'set-guile-for-build' in monadic expression.
2015-01-16 21:24:52 +01:00
Ludovic Courtès e48977e755 gnu: e2fsck-static: Use really statically-linked executables.
* gnu/packages/linux.scm (e2fsprogs/static): New variable.
  (e2fsck/static): Use it in 'inputs'.
2015-01-16 21:11:55 +01:00
Ludovic Courtès f327b36edb gnu: Add CGAL.
* gnu/packages/graphics.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-16 21:11:55 +01:00
Ludovic Courtès 24004073f0 system: Add "en_US.UTF-8" to the default locales, for backward compatibility.
* gnu/system/locale.scm (%default-locale-definitions): Add
  "en_US.UTF-8".
2015-01-16 21:11:55 +01:00
Ludovic Courtès 8f4b1dfb77 gnu: Add Eigen.
* gnu/packages/algebra.scm (eigen): New variable.
2015-01-16 21:11:55 +01:00
Federico Beffa ae1ab9fe82 gnu: Add IPython.
* gnu/packages/python.scm (python-ipython, python2-ipython): New variable.
2015-01-16 17:51:47 +01:00
Mark H Weaver 2a666e9cfd gnu: icecat: Add fixes for CVE-2014-{8634,8638,8639,8641}.
* gnu/packages/patches/icecat-CVE-2014-8634-pt1.patch,
  gnu/packages/patches/icecat-CVE-2014-8634-pt2.patch,
  gnu/packages/patches/icecat-CVE-2014-8638-pt1.patch,
  gnu/packages/patches/icecat-CVE-2014-8638-pt2.patch,
  gnu/packages/patches/icecat-CVE-2014-8639.patch,
  gnu/packages/patches/icecat-CVE-2014-8641.patch,
  gnu/packages/patches/icecat-armhf-xpcom.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.
2015-01-16 09:14:08 -05:00
Ludovic Courtès 57b7e1a62d Merge branch 'core-updates'
Conflicts:
	gnu/packages/bootstrap.scm
2015-01-16 13:27:03 +01:00
宋文武 72b703cdca gnu: add RetroArch.
* gnu/packages/games.scm (retroarch): New variable.
2015-01-16 19:58:56 +08:00
Mark H Weaver b01a0ba86e gnu: gd: Update to 2.1.1.
* gnu/packages/patches/gd-mips64-deplibs-fix.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/gd.scm (gd): Update to 2.1.1.  Update source URI.  Remove
  patch.  Remove 'chdir' phase.  Add pkg-config to native-inputs.
2015-01-15 20:27:57 -05:00
Ludovic Courtès aeb1a1d966 gnu: gdb: Update to 7.8.2.
* gnu/packages/gdb.scm (gdb): Update to 7.8.2.
2015-01-15 23:10:05 +01:00
Ludovic Courtès 63c5462236 gnu: nix: Update to 1.8.
* gnu/packages/package-management.scm (nix): Update to 1.8.
2015-01-15 23:10:05 +01:00
Ludovic Courtès ceae3fef44 gnu: plotutils: Do not propagate libXaw.
* gnu/packages/plotutils.scm (plotutils): Move LIBXAW from
  'propagated-inputs' to 'inputs'.  Add 'snippet'.
2015-01-15 23:10:05 +01:00
Ludovic Courtès 52958f0dfd gnu: mercurial: Update to 3.2.4.
* gnu/packages/version-control.scm (mercurial): Update to 3.2.4.
2015-01-15 23:10:05 +01:00
Mark H Weaver e478a9ecc2 gnu: teckit: Add alternate source URL.
Fixes <http://bugs.gnu.org/19600>.

* gnu/packages/fontutils.scm (teckit)[source]: Add Fedora mirror.
2015-01-15 13:47:02 -05:00
宋文武 2b2f91ad87 gnu: ninja: Disable testcase SubprocessTest.InterruptChild.
* gnu/packages/patches/ninja-tests.patch: New file.
* gnu/packages/ninja.scm (ninja): Add the patch.
* gnu-system.am (dist_patch_DATA): Add it.
2015-01-15 11:05:18 +08:00
Ludovic Courtès 9fdd80e8f2 gnu: cross-base: Don't build the cross-compilers with target = host.
* gnu/packages/cross-base.scm (xgcc-mips64el)[supported-systems]: Delete
  "mips64el-linux".
  (xgcc-armhf)[supported-systems]: Delete "armhf-linux".
2015-01-14 21:14:14 +01:00
Ludovic Courtès 6ee01481c3 gnu: Don't build the mips64el-linux-gnuabi64 cross-compiler on i686.
Fixes <http://bugs.gnu.org/19598>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/cross-base.scm (xgcc-mips64el): Remove "i686-linux" from
  'supported-systems'.
2015-01-14 19:40:58 +01:00
Ludovic Courtès df5188ddfa check-available-binaries: Use 'substitution-oracle'.
* build-aux/check-available-binaries.scm: Use 'substitution-oracle'.
  Changer caller and 'warn' accordingly.
2015-01-14 18:28:46 +01:00
Ludovic Courtès 619c9522b2 check-available-binaries: Use 'with-store'.
* build-aux/check-available-binaries.scm: Use 'with-store' instead of an
  explicit 'open-connection'.
2015-01-14 18:20:01 +01:00
Ludovic Courtès 58caebf032 build: Use the canonical list of supported systems in 'assert-*'.
* build-aux/check-available-binaries.scm (%supported-systems): Remove.
* build-aux/check-final-inputs-self-contained.scm (%supported-systems):
  Remove.
2015-01-14 17:05:10 +01:00
Ludovic Courtès f220a83848 packages: Convert source derivations to monadic style.
* guix/packages.scm (origin->derivation): Take body from
  'package-source-derivation', and change it to monadic style.  Expect
  METHOD to a monadic procedure.
  (package-source-derivation): Define in terms of 'origin->derivation'.
* guix/download.scm (url-fetch): Remove 'store' argument.  Remove
  'guile-for-build' variable.  Turn into a monadic procedure.
* guix/git-download.scm (git-fetch): Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (url-fetch*): New procedure.
  Change tests to call 'url-fetch*' instead of 'url-fetch'.
* tests/packages.scm ("package-source-derivation, snippet"): Remove
  'store' parameter of 'fetch' and change it to use 'interned-file'
  instead of 'add-to-store'.
* gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Remove 'store'
  parameter.
2015-01-14 14:42:10 +01:00
Mark H Weaver 54e612818b gnu: tre: Build a locale for the tests.
* gnu/packages/tre.scm (tre)[arguments]: Add 'install-locales' phase.
2015-01-14 08:41:47 -05:00
Ludovic Courtès 023d9892c0 store: Add 'store-lower'.
* guix/store.scm (store-lower): New procedure.
* tests/store.scm ("store-lower"): New test.
2015-01-14 14:25:58 +01:00
Ludovic Courtès e87f0591f3 monads: Move '%store-monad' and related procedures where they belong.
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.

* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file, package-file, package->derivation,
  package->cross-derivation, origin->derivation, imported-modules,
  compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file): ... here.
  (%guile-for-build): New variable.
  (run-with-store): Moved from monads.scm.  Remove default value for
  #:guile-for-build.
* guix/packages.scm (default-guile): Export.
  (set-guile-for-build): New procedure.
  (package-file, package->derivation, package->cross-derivation,
  origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
  (imported-modules): Rename to...
  (%imported-modules): ... this.
  (compiled-modules): Rename to...
  (%compiled-modules): ... this.
  (built-derivations, imported-modules, compiled-modules): New
  procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
  gnu/services/dmd.scm, gnu/services/networking.scm,
  gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
  gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
  guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
  guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
  (store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
  'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
Ludovic Courtès 1ed194646b doc: Move 'text-file*' to the gexp section.
This is a follow-up to commit 462a3fa.

* doc/guix.texi (The Store Monad): Move 'text-file*'...
  (G-Expressions): ... to here.
2015-01-14 11:22:51 +01:00
Mark H Weaver a0ba3fc520 gnu: guile-ncurses: Build a UTF-8 locale for the tests.
* gnu/packages/guile.scm (guile-ncurses)[arguments]: Add 'install-locales'
  phase.
2015-01-13 20:37:57 -05:00
Ludovic Courtès 1c975f60b1 gnu: Add zerofree.
* gnu/packages/linux.scm (zerofree): New variable.
2015-01-13 22:20:12 +01:00
Ludovic Courtès 7c594a2c2f gnu: e2fsprogs: Install libext2fs.
* gnu/packages/linux.scm (e2fsprogs)[source]: Add 'snippet'.
  [arguments]: Add --enable-elf-shlibs to #:configure-flags.
  Add #:make-flags.
2015-01-13 22:14:30 +01:00
Mark H Weaver d585f244ce gnu: gnutls: Update to 3.2.21.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.21.
2015-01-13 15:14:23 -05:00
Mark H Weaver fe3711bcce gnu: openssl: Update to 1.0.1k.
* gnu/packages/openssl.scm (openssl): Update to 1.0.1k.
2015-01-13 14:58:07 -05:00
Ludovic Courtès 524f4becff gnu: Add GLEW.
* gnu/packages/gl.scm (glew): New variable.
2015-01-13 18:16:35 +01:00
Ludovic Courtès 7bed4df49a services: user-processes: Really honor the grace delay.
* gnu/services/base.scm (user-processes-service): Change #:grace-delay
  default value to 4.  Define 'sleep*' and use it.
2015-01-13 18:16:35 +01:00
Ludovic Courtès be68177368 system: Add iw to '%base-packages'.
* gnu/system.scm (%base-packages): Add IW.
2015-01-13 18:16:35 +01:00
Ludovic Courtès fb9b7ce258 gnu: wireless-tools: Describe it as deprecated.
* gnu/packages/linux.scm (wireless-tools)[description]: Explain that it
  is deprecated in favor of 'iw'.
2015-01-13 18:16:35 +01:00
Ludovic Courtès 2e69dd8c1d gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update snapshot.
  Remove now-unneeded sub-module stuff in the 'bootstrap' phase.
2015-01-13 18:16:35 +01:00
Mark H Weaver a813710a5f Merge branch 'master' into core-updates 2015-01-13 12:14:08 -05:00
Mark H Weaver d8cd159490 gnu: xorg-server: Update to 1.16.3.
* gnu/packages/xorg.scm (xorg-server): Update to 1.16.3.
2015-01-13 11:57:50 -05:00
Ricardo Wurmus 765f0ac8f9 gnu: Add QPDF.
* gnu/packages/pdf.scm (qpdf): New variable.
2015-01-13 16:51:52 +01:00
Ludovic Courtès 4655005e24 tests: Properly synchronize threads in the 'home-page' lint tests.
* tests/lint.scm (%http-server-lock, %http-server-ready): New
  variables.
  (http-open): New procedure.
  (stub-http-server): Use it.
  (call-with-http-server): Wrap body in 'with-mutex'.  Call
  'wait-condition-variable' after 'make-thread'.
2015-01-13 11:09:05 +01:00
Ludovic Courtès 35ed9306b9 doc: Change some occurrences of "the GNU system" to "Guixotic".
* doc/guix.texi (GNU Distribution): Explain what "Guixotic" is.
  (System Installation): Replace "the GNU system" by "Guixotic".
  (System Configuration): Likewise.
  (Invoking guix system): Likewise.
2015-01-13 11:09:05 +01:00
Federico Beffa f5895dab8a build/glib-or-gtk-build-system: Fix 'generate-icon-cache'.
Reported by Mark H Weaver <mhw@netris.org>

* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Add check for
  existence of icons directory.
2015-01-13 09:16:47 +01:00
Mark H Weaver 65cd77db20 gnu: Add iw.
* gnu/packages/linux.scm (iw): New variable.
2015-01-12 18:37:16 -05:00
Mark H Weaver bdac3d4bf7 gnu: libnl: Update to 3.2.25.
* gnu/packages/linux.scm (libnl): Update to 3.2.25.
2015-01-12 18:37:16 -05:00
Mark H Weaver 73161579b2 gnu: libpng: Update to 1.5.21.
* gnu/packages/image.scm (libpng): Update to 1.5.21.
2015-01-12 18:35:42 -05:00
Ludovic Courtès abebac4601 monads: Remove 'derivation-expression'.
* guix/monads.scm (lower-inputs, derivation-expression): Remove.
* tests/monads.scm (derivation-expression, "mlet* +
  derivation-expression"): Remove.
2015-01-12 23:33:08 +01:00
Ludovic Courtès 462a3fa36c monads: Rewrite 'text-file*' using gexps.
* guix/monads.scm (text-file*): Move to...
* guix/gexp.scm (text-file*): ... here.  Rewrite using gexps.
* tests/monads.scm ("text-file*"): Move to...
* tests/gexp.scm ("text-file*"): ... here.
2015-01-12 23:33:08 +01:00
Ludovic Courtès 4a4dd5d89d services: user-processes: Write debugging messages to the output port.
* gnu/services/base.scm (user-processes-service): Write "sending all
  processes..." message to the current output port, not to /dev/console.
2015-01-12 23:33:08 +01:00
Ludovic Courtès ab69d9ac86 gnu: Move xlockmore to (gnu packages xdisorg).
* gnu/packages/xlockmore.scm: Remove.
* gnu/packages/xdisorg.scm (xlockmore): New variable, from
  xlockmore.scm.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove xlockmore.scm.
2015-01-12 23:33:08 +01:00
Ludovic Courtès bb54c8ff05 gnu: xlockmore: Update to 5.45.
* gnu/packages/xlockmore.scm (xlockmore): Update to 5.45.
  [arguments]: Add #:configure-flags.
2015-01-12 23:33:08 +01:00
Federico Beffa 3d243e9c45 gnu: evince: Add inputs.
* gnu/packages/gnome.scm (evince): Add 'dconf' and 'libcanberra' inputs.
  Remove custom phase 'set-mime-search-path which is now handled by
  glib-or-gtk-build-system.
2015-01-12 18:00:08 +01:00
Federico Beffa beb8dc0007 gnu: libcanberra: Add default sounds support.
* gnu/packages/libcanberra.scm (libcanberra): Add input
  'sound-theme-freedesktop'.  Add "libcanberra-sound-theme-freedesktop.patch"
  and related phase 'patch-default-sounds-directory to patch the default
  sounds directory.
2015-01-12 18:00:08 +01:00
Federico Beffa b47e1b20bd gnu: dconf: Add dconf.
* gnu/packages/gnome.scm (dconf): New variable.
2015-01-12 18:00:08 +01:00
Federico Beffa 61771a79ab guix: build/glib-or-gtk-build-system: Add support for GIO and XDG theming.
* guix/build/glib-or-gtk-build-system.scm (data-directories): Rename
  'schemas-directories' to 'data-directories' and add support for XDG theming
  data.

* guix/build/glib-or-gtk-build-system.scm (gio-module-directories): New
  function.

* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Update names to
  reflect that we are dealing with more types of data and not only with
  schemas.  Add handling of GIO modules.

* guix/build-system/glib-or-gtk.scm (lower): Import the 'bin' output of GLib
  instead of 'out'.  This was an error since we need the program
  'glib-compile-schemas'.  Update the description.
2015-01-12 18:00:08 +01:00
Jason Self 9f496d430b gnu: ffmpeg: Update to 2.5.3
* gnu/packages/video.scm (ffmpeg): Update to version 2.5.3.
2015-01-12 08:00:21 -08:00
Jason Self 7d05f76956 gnu: ffmpeg-2.2: Update to 2.2.11
* gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.11.
2015-01-12 07:59:17 -08:00
Andreas Enge a63ffe03d4 gnu: gp2c: Update to 0.0.9pl2.
* gnu/packages/algebra.scm (gp2c): Update to 0.0.9pl2.
2015-01-12 13:31:35 +01:00
Andreas Enge bbea956575 gnu: pari-gp: Update to 2.7.2.
* gnu/packages/algebra.scm (pari-gp): Update to 2.7.2.
2015-01-12 13:27:59 +01:00
Ludovic Courtès c06d140c03 derivations: Use a set for 'substitution-oracle'.
* guix/derivations.scm (substitution-oracle): Use sets instead of lists.
2015-01-11 23:50:01 +01:00
Ludovic Courtès ed3592a980 derivations: Use sets for 'derivations-prerequisites'.
This yields a 46% improvement in 'derivation-prerequisites' invocations
on the Emacs derivation.

* guix/derivations.scm (derivation-prerequisites): Add 'input-set'
  variable, and use it in iterations.
2015-01-11 23:50:01 +01:00
Ludovic Courtès d326767e64 Add (guix sets).
* guix/sets.scm, tests/sets.scm: New files.sets
* Makefile.am (MODULES, SCM_TESTS): Add them.
2015-01-11 23:50:01 +01:00
Mark H Weaver 798e004538 gnu: sqlite: Update to 3.8.7.4.
* gnu/packages/patches/sqlite-large-page-size-fix.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/databases.scm (sqlite): Update to 3.8.7.4.  Remove patch.
2015-01-11 15:28:41 -05:00
Mark H Weaver 74d72608b3 gnu: curl: Update to 7.40.0.
* gnu/packages/patches/curl-gss-api-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/curl.scm (curl): Update to 7.40.0.  Add patch.
2015-01-11 11:12:27 -05:00
Mark H Weaver 7744885731 Merge branch 'master' into core-updates 2015-01-11 09:38:49 -05:00
宋文武 0009ed71ad gnu: qt: Add more inputs.
* gnu/packages/qt.scm (qt): Add expat, pciutils, libxcomposite, libxcursor,
  libxfixes, libxinerama, libxml2, libxrandr, libxslt, libxtst, mtdev, nss,
  pcre, sqlite, eudev to 'inputs'.
  Add bison, flex, gperf, ninja, python-2, ruby, which to 'native-inputs'.
2015-01-11 19:51:51 +08:00
宋文武 5b490ab52f gnu: qt: Update to 5.4.0.
* gnu/packages/qt.scm (qt): Update to 5.4.0.
  [origin]: Add snippet.
2015-01-11 19:37:33 +08:00
宋文武 cd287ba162 gnu: Add ninja.
* gnu/packages/ninja.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-11 19:19:03 +08:00
宋文武 1aaaff1a7b gnu: Add nss.
* gnu/packages/patches/nss-pkgconfig.patch: New file.
* gnu-system.scm (dist_patch_DATA): Add it.
* gnu/packages/gnuzilla.scm (nss): New variable.
2015-01-11 19:15:34 +08:00
宋文武 4923e06f21 gnu: Move mozjs and nspr to (gnu packages gnuzilla).
* gnu/packages/polkit.scm (mozjs, nspr): Move to...
* gnu/packages/gnuzilla.scm (mozjs, nspr): ... here. New variables.
2015-01-11 19:14:53 +08:00
Mark H Weaver 62c155c0bc gnu: libtool: Add m4 to propagated-inputs.
* gnu/packages/autotools.scm (libtool)[propagated-inputs]: Add m4.
2015-01-10 19:19:34 -05:00
Mark H Weaver b2363f6551 gnu: file: Update to 5.22.
* gnu/packages/file.scm (file): Update to 5.22.
2015-01-10 19:12:49 -05:00
Jason Self c2d9355c36 gnu: linux-libre: Update to 3.18.2
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.2.
2015-01-09 21:19:43 -08:00
Ludovic Courtès e9651e39b3 derivations: Add 'substitution-oracle' and use it.
This makes 'guix environment PACKAGE' significantly faster when
substitutes are enabled.  Before that, it would lead to many invocations
of 'guix substitute-binary', one per 'derivation-prerequisites-to-build'
call.  Now, all these are replaced by a single invocation.

* guix/derivations.scm (derivation-output-paths, substitution-oracle):
  New procedures.
  (derivation-prerequisites-to-build): Replace #:use-substitutes? with
  #:substitutable?.  Remove the local 'derivation-output-paths' and
  'substitutable?'.
* guix/ui.scm (show-what-to-build): Add 'substitutable?'.  Pass it to
  'derivation-prerequisites-to-build'.
  [built-or-substitutable?]: Use it instead of 'has-substitutes?'.
* tests/derivations.scm ("derivation-prerequisites-to-build and
  substitutes"): Use #:substitutable? instead of #:use-substitutes?.
2015-01-10 00:39:59 +01:00
Ludovic Courtès 0b6af195fe derivations: Add 'derivation-output-names'.
* guix/derivations.scm (derivation-output-names): New procedure.
  (derivation-prerequisites-to-build): Use it for #:outputs.
  (map-derivation): Likewise.
* tests/derivations.scm ("derivation-output-names"): New test.
2015-01-09 23:36:24 +01:00
Ludovic Courtès eb9dfcb3c4 nls: Update 'eo' translation. 2015-01-09 23:33:05 +01:00
Ludovic Courtès 4eb01e5442 build-system/gnu: Patch /usr/bin/file in all 'configure' files.
* guix/build/utils.scm (patch-/usr/bin/file): New procedure.
* guix/build/gnu-build-system.scm (patch-usr-bin-file): Rewrite using
  it.  Patch all the files returned by 'find-files' that are executable.
* gnu/packages/gawk.scm (gawk)[arguments]: Remove use of 'substitute*'
  for 'extension/configure'.
2015-01-09 23:29:20 +01:00
Eric Bavier d45dc6da5c import: Add CPAN importer.
* guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm:
  New files.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them.
* guix/scripts/import.scm (importers): Add cpan.
* doc/guix.texi (Requirements): Mention `guix import cpan` as a user
  of guile-json.
  (Invoking guix import): Document new `guix import cpan` command.
2015-01-09 10:38:26 -06:00
Eric Bavier 694b317c2d tests: import: Factorize utility function.
* tests/pypi.scm (mock): Move this...
* guix/tests.scm: to here.
2015-01-09 10:38:25 -06:00
Eric Bavier 1ff2619bc1 import: Factorize utility functions.
* guix/import/pypi.scm (hash-table->alist, flatten, assoc-ref*,
  url-fetch, json-fetch): Pull procedures from here into...
* guix/import/utils.scm: Here and...
* guix/import/json.scm: Here.  New file.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add it.
* guix/import/gnu.scm (file-sha256): Move from here to...
* guix/hash.scm: Here.
* tests/pypi.scm (pypi->guix-package): Update mock module reference.
2015-01-09 10:33:24 -06:00
Eric Bavier c6cb82f5d5 import: gnu: Propagate the key-download argument.
* guix/import/gnu.scm (gnu->guix-package): Pass the key-download
  argument on to gnu-package->sexp.
2015-01-09 10:33:24 -06:00
Ricardo Wurmus 927d4d9bd8 gnu: poppler: build with openjpeg and lcms
* gnu/packages/pdf.scm (poppler): build poppler with openjpeg 1.5 and lcms.
2015-01-09 14:24:14 +01:00
Ricardo Wurmus da2021bca1 gnu: openjpeg: Update to 2.0.1.
* gnu/packages/image.scm (openjpeg): Update to 2.0.1.
2015-01-09 14:24:07 +01:00
Ricardo Wurmus 6140b9d875 gnu: Add openjpeg-1.
* gnu/packages/image.scm (openjpeg-1): New variable.
2015-01-09 14:23:57 +01:00
Ricardo Wurmus 4100fe9d33 gnu: openjpeg: update home page URL.
* gnu/packages/image.scm (openjpeg)[home-page]: Update URL.
2015-01-09 14:23:46 +01:00
Ludovic Courtès 8234fcf21a substitute-binary: Micro-optimize 'narinfo-sha256'.
* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
  Change "~a" to "~s" in error message.
  (%signature-line-rx): Remove.
  (narinfo-sha256): Use 'string-contains' instead of 'regexp-exec', and
  'string-take' instead of 'match:substring'.
2015-01-09 01:10:31 +01:00
Ludovic Courtès fb519bd831 records: Optimize 'recutils->alist' by avoiding regexps.
* guix/records.scm (%recutils-field-rx, %recutils-comment-rx,
  %recutils-plus-rx): Remove.
  (%recutils-field-charset): New variable.
  (recutils->alist): Adjust to use tests (string-ref line 0) instead of
  regexps.
2015-01-09 01:08:10 +01:00
Ludovic Courtès b2ad9d9b08 base64: Inline arithmetic operations.
* guix/base64.scm (define-alias): New macro.
  (fxbit-field, fxarithmetic-shift, fxarithmetic-shift-left, fxand,
  fxior, fxxor): New aliases.
2015-01-09 01:01:04 +01:00
Mark H Weaver aa1e19477b gnu: Add bootstrap binaries for 'armhf-linux'.
* gnu/packages/bootstrap/armhf-linux/bash,
  gnu/packages/bootstrap/armhf-linux/mkdir,
  gnu/packages/bootstrap/armhf-linux/tar,
  gnu/packages/bootstrap/armhf-linux/xz: New files.

* gnu-system.am (bootstrap_armhf_linuxdir, dist_bootstrap_armhf_linux_DATA)
  (nodist_bootstrap_armhf_linux_DATA): New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_armhf_linux_DATA).
  (gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz): New target.
* build-aux/download.scm (file-name->uri): Use newer date in URI for
  armhf-linux.
* gnu/packages/bootstrap.scm (raw-build): Use "guile-2.0.11.tar.xz" on
  armhf-linux.
  (glibc-dynamic-linker, %bootstrap-coreutils&co, %bootstrap-binutils)
  (%bootstrap-glibc, %bootstrap-gcc): Add armhf-linux cases.

* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add armhf case.
  (GUIX_ASSERT_SUPPORTED_SYSTEM): Add armhf-linux to list of
  supported systems.
* doc/guix.texi (GNU Distribution): Add armhf-linux to the list of
  supported systems.
2015-01-07 21:47:51 -05:00
Mark H Weaver b58b7dbb75 gnu: libtool: Skip nopic test on ARM and MIPS systems.
* gnu/packages/patches/libtool-skip-tests.patch: Skip nopic test on ARM and
  MIPS systems.
2015-01-07 18:00:49 -05:00
Ludovic Courtès 05f0607bfc tests: Add missing copyright line.
* tests/lint.scm: Add missing copyright line for commit 907c98ac and
  others.
2015-01-07 22:33:21 +01:00
Mark H Weaver 3f00ff8b43 gnu: Add toolchain support for 'armhf-linux'.
Based on preliminary work by John Darrington <john@darrington.wattle.id.au>.

* gnu/packages/cross-base.scm (xgcc-armhf): New variable.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case.
  (gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list
  of files in which to patch GLIBC_DYNAMIC_LINKER.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case.
* guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet):
  Add armhf cases.
2015-01-07 16:27:55 -05:00
Mark H Weaver f7d2b496b9 gnu: patchelf: On ARM, apply experimental patch to get it working.
* gnu/packages/patches/patchelf-rework-for-arm.patch: New file.
* gnu-system.am: Add it.
* gnu/packages/elf.scm: Apply patch when the target is ARM.
2015-01-07 12:38:11 -05:00
Mark H Weaver 24aaf2f257 gnu: gmp: Apply fixes for armhf.
* gnu/packages/patches/gmp-arm-asm-nothumb.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/multiprecision.scm (gmp): Add patch.  Include --build triplet
  in configure args when building natively.
* gnu/packages/commencement.scm (gcc-final): Use bootstrap guile to
  build gmp-source.
2015-01-07 12:34:19 -05:00
Mark H Weaver 76e639a00f gnu: gcc: Use 'gcc-configure-flags-for-triplet' for native compilers too.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Do not export it.
  (gcc-4.7): Pass the result of 'gcc-configure-flags-for-triplet' to configure
  for all builds, including native ones.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Do not add the result of
  'gcc-configure-flags-for-triplet' here, since it is now included in the
  configure-flags inherited from gcc-4.8.
2015-01-07 12:34:13 -05:00
Mark H Weaver 8eb8048432 Move 'nix-system->gnu-triplet' to (guix utils) and export it.
* gnu/packages/commencement.scm (nix-system->gnu-triplet): Move to...
* guix/utils.scm (nix-system->gnu-triplet): ... here.  Fix docstring typo.
2015-01-07 12:34:10 -05:00
Mark H Weaver 270b501ee2 gnu: gcc-static: Remove -lgcc_s from GNU_USER_TARGET_LIB_SPEC.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'remove-lgcc_s
  phase.
* gnu/packages/gcc.scm (gcc-4.7): Add comment.
2015-01-07 12:33:38 -05:00
Mark H Weaver 84cbe39c5a gnu: bootstrap: Fix egrep and fgrep after unpacking bootstrap binaries.
* gnu/packages/bootstrap.scm (%bootstrap-coreutils&co): Add #:snippet argument
  to 'package-from-tarball' that calls 'patch-shebang' on egrep and fgrep
  after unpacking.  Test 'fgrep' instead of 'true'.
2015-01-07 12:33:32 -05:00
Mark H Weaver 2959dbe935 gnu: bootstrap: Add support for snippets to 'package-from-tarball'.
* gnu/packages/bootstrap.scm (package-from-tarball): Add new keyword
  argument #:snippet.
2015-01-07 12:33:27 -05:00
Mark H Weaver c9a4655553 gnu: tcl: Pass --mandir to configure.
This partially reverts 9b1bf33081.
"gnu: Remove a bunch of now unneeded '--mandir' configure flags."

* gnu/packages/tcl.scm (tcl)[arguments]: Put back the --mandir configure flag,
  with a comment explaining why it's still needed.
2015-01-07 12:05:16 -05:00
Ludovic Courtès 3246cc9185 gnu: Make libtool and libltdl completely separate.
* gnu/packages/autotools.scm (libtool)[outputs]: Remove.
  [arguments]: Remove 'if' around arguments.  Add #:configure-flags.
* gnu/packages/apr.scm (apr)[inputs]: Change libtool to libltdl.
* gnu/packages/fontutils.scm (libuninameslist)[native-inputs]: Remove
  "libtool-bin".
* gnu/packages/global.scm (global): Change libtool to libltdl.
* gnu/packages/gnunet.scm (libextractor, gnunet): Likewise.
* gnu/packages/graphviz.scm (graphviz): Likewise.
* gnu/packages/libcanberra.scm (libcanberra): Likewise.
* gnu/packages/libevent.scm (libuv)[native-inputs]: Remove "bin" part
  for libtool.
* gnu/packages/mail.scm (mailutils): Change libtool to libltdl.
  (libetpan): Remove "bin" part for libtool.
* gnu/packages/mp3.scm (libmp3splt): Change libtool to libltdl.
* gnu/packages/openldap.scm (openldap): Remove "bin" part of libtool.
  Move it from 'inputs' to 'native-inputs'.
* gnu/packages/photo.scm (libgphoto2): Change libtool to libltdl.
* gnu/packages/pulseaudio.scm (pulseaudio): Likewise.
* gnu/packages/ssh.scm (guile-ssh): Remove "bin" part of libtool.
* gnu/packages/web.scm (libpsl): Likewise.
* gnu/packages/weechat.scm (weechat): Move libtool to 'native-inputs'
  and add libltdl to 'inputs'.
2015-01-07 16:48:50 +01:00
Ludovic Courtès c154e1ea81 gnu: libtool: Update to 2.4.4.
* gnu/packages/patches/libtool-2.4-skip-tests.patch: Rename to...
* gnu/packages/patches/libtool-skip-tests.patch: ... this.
* gnu/packages/patches/libtool-skip-tests-for-mips.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/autotools.scm (libtool): Update to 2.4.4.
  (libtool-2.4.4): Remove.
2015-01-07 16:48:50 +01:00
Ludovic Courtès be11b10244 gnu: guile: Depend on 'libltdl' rather than 'libtool'.
* gnu/packages/guile.scm (guile-1.8, guile-2.0): Replace LIBTOOL with
  LIBLTDL.
2015-01-07 16:48:50 +01:00
Ludovic Courtès 3cbb3f9c55 gnu: libtool: Add libltdl as a separate package.
* gnu/packages/autotools.scm (libltdl): New variable.
2015-01-07 16:48:50 +01:00
Ludovic Courtès 5d65ad80b5 gnu: libtool: Use 'parallel-job-count' to get the argument for '-j'.
* gnu/packages/autotools.scm (libtool)[arguments] <check>:
  Use (parallel-job-count) instead of hand-written code.
2015-01-07 16:48:50 +01:00
Mark H Weaver fa1e2f3d0d Revert "gnu: gcc: Add '-lgcc_s' only when '-pthread' is given."
This reverts commit 9097e666d4.

This turned out not to be a good strategy.  Some build system, e.g. tcl's, do
not pass -pthread on GNU/Linux by default, but merely link with -lpthread.
Also, Ludovic found other cases where libgcc_s is dlopened by libc that have
nothing to do with pthreads, e.g. to walk the stack.
2015-01-07 09:51:23 -05:00
Mark H Weaver b515822de1 gnu: guile: Apply fixes for arm.
* gnu/packages/patches/guile-arm-fixes.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/guile.scm (guile-2.0): Add patch.
2015-01-06 19:47:09 -05:00
Mark H Weaver 9097e666d4 gnu: gcc: Add '-lgcc_s' only when '-pthread' is given.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* gnu/packages/gcc.scm (gcc-4.7): In our modified GNU_USER_TARGET_LIB_SPEC,
  add '-lgcc_s' only when '-pthread' is given.
2015-01-06 19:46:48 -05:00
Mark H Weaver 91c47befb8 gnu: gcc: Improve dynamic linker patching code.
* gnu/packages/gcc.scm (gcc-4.7): Join multi-line definitions of
  GLIBC_DYNAMIC_LINKER* before attempting substitutions.
  (gcc-4.9)[arguments]: Remove arguments override.
2015-01-06 19:37:04 -05:00
Mark H Weaver fd19df7252 gnu: patchelf: Update to 0.8.
* gnu/packages/elf.scm (patchelf): Update to 0.8.
* gnu/packages/patches/patchelf-page-size.patch: Adapt to new version.
2015-01-06 18:40:42 -05:00
Mark H Weaver c93d7edda3 gnu: bash: Update to 4.3.33.
* gnu/packages/bash.scm (%patch-series-4.3): Add patches 31-33.
2015-01-06 17:46:00 -05:00
Mark H Weaver fe32c7f760 gnu: udev: Remove package, now superceded by eudev.
* gnu/packages/linux.scm (udev): Remove.
  (eudev): Incorporate fields formerly inherited from udev.
2015-01-06 14:02:08 -05:00
Mark H Weaver 8fcaf8b173 gnu: lvm2: Switch to eudev from udev.
* gnu/packages/linux.scm (lvm2)[inputs]: Use eudev, not udev.
2015-01-06 13:52:57 -05:00
Mark H Weaver 77a39799f9 gnu: swig: Build a UTF-8 locale for the tests.
* gnu/packages/swig.scm (swig)[arguments]: Add 'install-locales' phase.
2015-01-06 13:40:50 -05:00
Mark H Weaver 0d93648bec gnu: icu4c: Avoid use of 'patchelf'; fix build on ARM systems.
* gnu/packages/icu4c.scm (icu4c)[inputs]: Remove patchelf.
  [configure-flags]: Add --enable-rpath.  Add --with-data-packaging=archive
  on arm systems.
  [phases]: Remove 'add-lib-to-runpath' phase.
2015-01-06 13:35:13 -05:00
Mark H Weaver cf0a154c41 gnu: gawk: Fix target-system check.
* gnu/packages/gawk.scm (gawk): Fix target-system check.
2015-01-06 13:31:49 -05:00
Mark H Weaver 7cd802f342 gnu: boost: Fix target-system check.
* gnu/packages/boost.scm (boost): Fix target-system check.
2015-01-06 13:31:44 -05:00
Mark H Weaver d2e842814a gnu: texlive: Fix target-system check.
* gnu/packages/texlive.scm (texlive)[arguments]: Fix target-system
  check.
2015-01-06 13:31:20 -05:00
Mark H Weaver 97f94f5e9b gnu: gtk+: Include xorg-server in native-inputs on MIPS; enable tests.
* gnu/packages/gtk.scm (gtk+)[native-inputs]: Unconditionally include
  xorg-server and enable tests.
2015-01-06 13:30:17 -05:00
Mark H Weaver cd06768e66 gnu: mit-krb5: Build with default gcc.
* gnu/packages/mit-krb5.scm (mit-krb5)[native-inputs]: Remove gcc-4.7.
2015-01-06 13:30:07 -05:00
Mark H Weaver 23800e4736 Merge branch 'master' into core-updates 2015-01-06 12:57:15 -05:00
Ludovic Courtès aebb05b095 gnu: automake: Update to 1.15.
* gnu/packages/autotools.scm (automake): Update to 1.15.
2015-01-06 17:54:25 +01:00
Ludovic Courtès d976258907 gnu: git-manpages: Install under $out/share/man, not $out/share.
* gnu/packages/version-control.scm (git-manpages)[argument]: Install
  under $out/share/man, not $out/share.
2015-01-06 15:20:12 +01:00
Ludovic Courtès 1c38551a36 gnu: Add git-manpages.
* gnu/packages/version-control.scm (git-manpages): New variable.
2015-01-06 15:07:22 +01:00
Ludovic Courtès 50ec74308e gnu: git: Update to 2.2.1.
* gnu/packages/version-control.scm (git): Update to 2.2.1.
2015-01-06 15:06:38 +01:00
Ludovic Courtès ffc200d7e0 gnu: libtool-2.4.4: Disable tests on MIPS.
* gnu/packages/autotools.scm (libtool-2.4.4)[arguments]: New field.
2015-01-06 14:53:10 +01:00
宋文武 9331ba5dd9 linux-boot: Make /etc/mtab a symlink to /proc/self/mounts.
Fixes <http://bugs.gnu.org/19491>.

* gnu/build/linux-boot.scm (mount-root-file-system): Make /root/etc/mtab
  a symlink to /proc/self/mounts.
* gnu/build/file-systems.scm (mount-file-system): Don't update /etc/mtab.
* guix/build/syscalls.scm (mount, umount): Have #:update-mtab? default to
  #f.
2015-01-05 22:24:00 +08:00
Ludovic Courtès 4379c35b73 doc: guix-daemon now automatically creates '…/profiles/per-user'.
Fixes <http://bugs.gnu.org/19315>.
Reported by rekado <rekado@elephly.net>.

* doc/guix.texi (Invoking guix package): Adjust text to new guix-daemon
  behavior introduced in commit 15ddeff.
2015-01-04 23:42:51 +01:00
Ludovic Courtès 63cbe7a17a build: Check for <tr1/unordered_set>, now used by the daemon.
* config-daemon.ac: Check for <tr1/unordered_set>.
2015-01-04 23:28:18 +01:00
Ludovic Courtès 15ddeff532 Merge commit a1dd396cc02922372314c35c8035a38bfeea08df of branch 'nix'. 2015-01-04 23:27:34 +01:00
Ludovic Courtès 828c0bec6b pk-crypto: Improve docstring of signature-related procedures.
* guix/pk-crypto.scm (bytevector->hash-data, sign): Augment docstring.
2015-01-04 22:46:51 +01:00
Ludovic Courtès 9b1bf33081 gnu: Remove a bunch of now unneeded '--mandir' configure flags.
This has become redundant with the 'validate-documentation-location'
phase introduced in commit d68fe74.

* gnu/packages/compression.scm (bzip2): Remove 'fix-man-dir' phase.
* gnu/packages/ncurses.scm (ncurses)[arguments]: Remove --mandir.
* gnu/packages/pth.scm (pth)[arguments]: Remove #:configure-flags.
* gnu/packages/tcl.scm (tcl)[arguments]: Likewise.
* gnu/packages/xiph.scm (flac)[arguments]: Likewise.
2015-01-04 22:23:48 +01:00
Ludovic Courtès d8491ba563 ld-wrapper: Add '-rpath' flag for libraries passed by file name.
Discussed at
<http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00028.html>.

* gnu/packages/ld-wrapper.scm (switch-arguments, library-path): Remove.
  (library-files-linked): Rewrite to include the name of libraries
  passed by file names, and to honor the current -L search path instead
  of the final one.
  (rpath-arguments): Remove 'lib-path' parameter.  Expect LIBRARY-FILES
  to be a list of absolute file names.
  (ld-wrapper): Adjust accordingly.
2015-01-04 22:21:11 +01:00
Ludovic Courtès ac70048be2 build-system/gnu: Use executables from the target inputs in 'patch-shebangs'.
Fixes <http://bugs.gnu.org/18895>.

* guix/build/gnu-build-system.scm (patch-shebangs): Add #:inputs
  parameter.  Remove 'bindirs'.  Add 'bin-directories',
  'output-bindirs', and 'input-bindirs'.  Use them instead of (getenv
  "PATH") to as the argument to 'patch-shebang'.
2015-01-04 18:16:16 +01:00
Mark H Weaver fcdebadf39 gnu: gcc-4.9: Fix build on MIPS.
* gnu/packages/gcc.scm (gcc-4.9): Add 'join-two-line-dynamic-linker-defns
  phase.
2015-01-03 23:48:44 -05:00
Ludovic Courtès ee06af5b4b gnu: Search for patches under $GUIX_PACKAGE_PATH.
Fixes <http://bugs.gnu.org/19364>.
Reported by Tomáš Čech <sleep_walker@suse.cz>
and Mark H Weaver <mhw@netris.org>.

* gnu/packages.scm (%patch-path): Move after definition of
  %package-module-path'.  Append "/gnu/packages/patches" only to
  %DISTRO-ROOT-DIRECTORY.
* tests/guix-package.sh: Add 'emacs-foo-bar-patched' test.
2015-01-03 23:49:42 +01:00
Ludovic Courtès e13f715be0 gnu: libtool: Add 2.4.4.
* gnu/packages/patches/libtool-2.4-skip-tests.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/autotools.scm (libtool-2.4.4): New variable.
2015-01-03 23:35:43 +01:00
Ludovic Courtès cf81a23639 guix package: Follow symlinks for pattern search paths.
* guix/scripts/package.scm (search-path-environment-variables): Add
  local 'files' variable.
* tests/packages.scm ("--search-paths with pattern"): New test.
2015-01-03 19:46:07 +01:00
Ludovic Courtès 7452806931 gnu: libxml2: Wrap search path specification in a list.
Reported by Mark H Weaver.

* gnu/packages/xml.scm (libxml2)[native-search-paths]: Wrap into a list.
2015-01-03 18:48:16 +01:00
David Thompson 4b2fd119be gnu: minetest: Update to 0.4.11.
* gnu/packages/patches/minetest-subgame-env-var.patch: Delete.
* gnu-system.am (dist_patch_DATA): Remove patch.
* gnu/packages/games.scm (minetest, minetest-data): Update to 0.4.11.
2015-01-02 16:46:41 -05:00
宋文武 f4e9727786 gnu: icon-naming-utils: Wrap with PERL5LIB to find XML::Simple.
Fixes <http://bugs.gnu.org/19367>.

* gnu/packages/gnome.scm (icon-naming-utils)[arguments]: New field.
2015-01-02 11:20:13 +08:00
宋文武 27ef7f4542 gnu: perl-xml-simple: Propagate XML::Parser.
* gnu/packages/xml.scm (perl-xml-simple): Move XML::Parser from 'inputs'
  to 'propagated-inputs'.
2015-01-02 11:20:13 +08:00
Mark H Weaver 0f481f0616 gnu: mesa: Fix build on non-intel systems.
* gnu/packages/gl.scm (mesa): On non-intel systems, pass
  "--with-dri-drivers=" configure flag with i915 and i965 removed.
2015-01-01 02:30:46 -05:00
Mark H Weaver 171bf17cc5 gnu: libdrm: Remove old version 2.4.33.
* gnu/packages/xdisorg.scm (libdrm-2.4.33): Remove, as it is no longer needed.
2014-12-31 23:16:18 -05:00
Mark H Weaver bf0baaf7db gnu: glibc: MIPS: Avoid a dangling `vfork@GLIBC_2.0' reference.
* gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc): Add patch.
2014-12-30 19:58:05 -05:00
Mark H Weaver 63d526e268 gnu: mutt: Add fix for CVE-2014-9116.
* gnu/packages/patches/mutt-CVE-2014-9116.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/mail.scm (mutt): Add patch.
2014-12-30 15:18:37 -05:00
Mark H Weaver 2d2301e37a gnu: Import (gnu packages) into (gnu packages zip).
Should have been included in: e5da2f38c3.

* gnu/packages/zip.scm: Import (gnu packages).
2014-12-30 15:10:30 -05:00
Mark H Weaver e5da2f38c3 gnu: unzip: Add fixes for CVE-2014-{8139,8140,8141}.
* gnu/packages/patches/unzip-CVE-2014-8139.patch,
  gnu/packages/patches/unzip-CVE-2014-8140.patch,
  gnu/packages/patches/unzip-CVE-2014-8141.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/zip.scm (unzip): Add patches.
2014-12-30 14:48:13 -05:00
Mark H Weaver c7bdc7ece5 gnu: cpio: Add fixes for CVE-2014-9112.
* 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: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/cpio.scm (cpio): Add patches.  Add 'autoconf' to
  native-inputs.
2014-12-30 14:48:13 -05:00
Mark H Weaver 26804e1351 gnu: glibc: Add fixes for CVE-2014-7817 and CVE-2012-3406.
* gnu/packages/patches/glibc-CVE-2012-3406.patch,
  gnu/packages/patches/glibc-CVE-2014-7817.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/base.scm (glibc): Add patches.
2014-12-30 13:57:40 -05:00
Mark H Weaver 8cbb67e045 Merge branch 'master' into core-updates 2014-12-30 12:23:32 -05:00
Ludovic Courtès 7da473b757 gnu: Revert use of '--strip-all'.
This reverts commits f05bdc9412
and 856ae5e6c7.

This broke all sorts of things.  See <http://hydra.gnu.org/eval/102058>,
for example.
2014-12-29 21:54:12 +01:00
Ludovic Courtès 1c69e4ce3f list-packages: Expand 'mirror://' URIs for patches.
* build-aux/list-packages.scm (package->sxml)[patches](patch-url): Use
  'maybe-expand-mirrors' to get the real URL.
2014-12-29 21:19:17 +01:00
Ludovic Courtès dd8ea244f4 download: Export 'maybe-expand-mirrors'.
* guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New
  procedures.
  (url-fetch): Remove them from here.
2014-12-29 21:19:17 +01:00
Ludovic Courtès 4fbf4ca552 tests: Make the 'lint' tests slightly more concise.
* tests/lint.scm (with-warnings): New macro.
  Replace all uses of 'call-with-warnings' with the corresponding
  'with-warnings' form.
2014-12-29 21:19:13 +01:00
Ludovic Courtès 8b385969cf tests: Factorize the 'dummy-package' macro.
* guix/tests.scm (dummy-package): New macro.
* tests/lint.scm (dummy-package): Remove.
* tests/packages.scm (dummy-package): Remove.
2014-12-29 21:18:12 +01:00
Ludovic Courtès 907c98acbb lint: Add tests for the 'home-page' checker.
Suggested by Cyril Roelandt <tipecaml@gmail.com>.

* tests/lint.scm (%http-server-port, %http-server-socket, %local-url,
  stub-http-server): New variables.
  (http-write, call-with-http-server): New procedures.
  (with-http-server): New macro.
  ("home-page: wrong home-page", "home-page: invalid URI", "home-page:
  host not found", "home-page: Connection refused", "home-page: 200",
  "home-page: 404"): New tests.
* guix/scripts/lint.scm (check-home-page): Export.
2014-12-29 21:17:36 +01:00
Ludovic Courtès 8f501ac849 gnu: Fix misuses of 'x11-style' licenses.
* gnu/packages/xorg.scm (libevdev)[license]: Actually call
  'license:x11-style'.
  (libxshmfence): Likewise.
2014-12-29 12:18:11 +01:00
Ludovic Courtès f05bdc9412 gnu: Don't use --strip-all in cases where this is problematic.
This is a followup to 856ae5e.  See <http://hydra.gnu.org/build/180506>
for an example of build failure.

* guix/build/gnu-build-system.scm (strip): Add #:archive-strip-flags
  parameter.  Use it when (ar-file? path).
* guix/build-system/gnu.scm (gnu-build): Add #:archive-strip-flags
  parameter and pass it down.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add
  #:strip-flags.
* gnu/packages/base.scm (glibc)[arguments]: Likewise.
2014-12-28 23:46:59 +01:00
Ludovic Courtès c79c6e598a lint: Report on the package being checked.
* guix/scripts/lint.scm (run-checkers): Check
  whether (current-error-port) is a tty, and print the package being
  checked and the checker currently running when it is.
2014-12-28 18:21:53 +01:00
Ludovic Courtès 07af3e5efe gnu: Fix or update a number of 'home-page' fields.
* gnu/packages/fltk.scm (fltk): Fix 'home-page'.
* gnu/packages/fonts.scm (font-bitstream-vera): Likewise, and fix
  license URL.
* gnu/packages/games.scm (gnubg, cmatrix, chess): Fix 'home-page'.
* gnu/packages/kde.scm (attica): Likewise.
* gnu/packages/mail.scm (fetchmail): Likewise.
* gnu/packages/popt.scm (popt): Likewise.
* gnu/packages/python.scm (python-mock): Likewise.
* gnu/packages/stalonetray.scm (stalonetray): Likewise.
2014-12-28 17:57:37 +01:00
Ludovic Courtès a3bf096945 lint: Add 'home-page' checker.
* guix/build/download.scm (open-connection-for-uri): Export.
* guix/scripts/lint.scm (probe-uri, check-home-page): New procedures.
  (%checkers): Add 'home-page' checker.
2014-12-28 17:57:36 +01:00
Ludovic Courtès 2a8d44015f gnu: libxml2: Add search path specification.
* gnu/packages/xml.scm (libxml2)[native-search-paths, search-paths]: New
  fields.
* gnu/packages/gnome.scm (gnome-doc-utils)[arguments]: Remove.
* gnu/packages/gps.scm (gpscorrelate)[arguments]: Remove settings for
  'XML_CATALOG_FILES' from 'configure' phase.
* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
2014-12-27 23:54:23 +01:00
Ludovic Courtès cc9a5c1454 guix package: Use 'search-path-as-list' instead of custom code.
This will handle the new 'file-type' and 'file-pattern' fields correctly.

* guix/scripts/package.scm (search-path-environment-variables)[search-path-definition]:
  Rewrite in terms of 'search-path-as-list'.
2014-12-27 23:46:10 +01:00
Ludovic Courtès bd2fc4d813 utils: Export 'search-path-as-list'.
* guix/build/utils.scm (search-path-as-list): Make public.
* guix/scripts/environment.scm (for-each-search-path): Use it.
2014-12-27 23:24:35 +01:00
Ludovic Courtès 7b21fe5385 packages: Add 'file-pattern' field to 'search-path-specification'.
* guix/packages.scm (<search-path-specification>)[file-pattern]: New
  field.
  (search-path-specification->sexp): Honor it.
2014-12-27 23:22:55 +01:00
Ludovic Courtès 7ec02d374d build-support/gnu: Add support for file patterns in search paths.
* guix/build/utils.scm (search-path-as-list): Add #:pattern parameter
  and honor it.
  (set-path-environment-variable): Likewise, and pass it to
  'search-path-as-list'.
* guix/packages.scm (search-path-specification->sexp): Add PATTERN slot.
* guix/build/gnu-build-system.scm (set-paths): Adjust accordingly.
2014-12-27 23:22:55 +01:00
Ludovic Courtès af07095516 packages: Add 'file-type' field to 'search-path-specification'.
Fixes <http://bugs.gnu.org/18033>.

* guix/packages.scm (<search-path-specification>): Rename 'directories'
  field to 'files'.  Add 'file-type'.
  (search-path-specification->sexp): Honor 'file-type'.
* gnu/packages/autotools.scm, gnu/packages/bootstrap.scm,
  gnu/packages/cross-base.scm, gnu/packages/games.scm,
  gnu/packages/gcc.scm, gnu/packages/glib.scm,
  gnu/packages/guile.scm, gnu/packages/man.scm,
  gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
  gnu/packages/python.scm, gnu/packages/ruby.scm,
  gnu/packages/xfce.scm: Change 'directories' to 'files'.
* tests/packages.scm ("search paths"): Change 'directories' field to
  'files'.
* guix/scripts/environment.scm (for-each-search-path): Likewise.
2014-12-27 23:22:49 +01:00
Ludovic Courtès 856ae5e6c7 build-system/gnu: Strip with '--strip-all' instead of '--strip-debug'.
This saves 19% on the 'bin' directory of Coreutils, and certainly
helpful for things like Git's 'libexec' directory.

* guix/build-system/gnu.scm (gnu-build): Change default value for
  #:strip-flags to '("--strip-all").
* guix/build/gnu-build-system.scm (strip): Ditto.
* gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.
2014-12-27 19:20:18 +01:00
Mark H Weaver f9930cfaab Merge branch 'xorg-updates' 2014-12-27 12:03:04 -05:00
Mark H Weaver 7f9b77dc46 gnu: vtk: Fix build with mesa-10.
* gnu/packages/patches/vtk-mesa-10.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/vtk.scm (vtk): Add patch.  Add glu to inputs.
2014-12-27 11:18:29 -05:00
Mark H Weaver 85f4190221 gnu: gmsh: Add glu to inputs.
* gnu/packages/maths.scm (gmsh): Add glu to inputs.
2014-12-27 11:18:29 -05:00
Mark H Weaver 9a224ac2e3 gnu: Use patch --force instead of --batch.
* gnu/packages/linux.scm (linux-libre, net-tools): Pass "--force" to patch,
  instead of "--batch".
* gnu/packages/mit-krb5.scm (mit-krb5): Ditto.
2014-12-27 08:45:17 -05:00
Ludovic Courtès 6aa47e3883 build-system/gnu: Add support for non-directory search paths.
Partly fixes <http://bugs.gnu.org/18033>.

* guix/build/utils.scm (search-path-as-list): Rename 'sub-directories'
  parameter to 'files'.  Add #:type parameter and honor it.
  (set-path-environment-variable): Likewise.  Pass #:type to
  'search-path-as-list'.
* guix/packages.scm (search-path-specification->sexp): Add 'directory as
  the last item of the tuple.
* guix/build/gnu-build-system.scm (set-paths): Add 'type' to search-path
  pattern.  Pass #:type to 'set-path-environment-variable'.
2014-12-27 12:25:31 +01:00
Ludovic Courtès 8c89f514bf gnu: gettext: Update to 0.19.4.
* gnu/packages/gettext.scm (gnu-gettext): Update to 0.19.4.
2014-12-27 12:25:31 +01:00
Ludovic Courtès 84c84ce7bf gnu: binutils: Update to 2.25.
* gnu/packages/base.scm (binutils): Update to 2.25.
2014-12-27 12:25:31 +01:00
Mark H Weaver 6ac8aa3d75 gnu: m4: Remove already-applied patch.
* gnu/packages/patches/m4-readlink-EINVAL.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/m4.scm (m4): Remove patch.
2014-12-26 20:26:10 -05:00
Ludovic Courtès 0d12bc744e gnu: gcc-4.8: Update to 4.8.4.
* gnu/packages/gcc.scm (gcc-4.8): Update to 4.8.4.  Remove patch.
* gnu/packages/patches/gcc-fix-pr61801.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2014-12-27 00:17:43 +01:00
Ludovic Courtès 763a401ed1 Merge branch 'master' into core-updates 2014-12-26 23:31:04 +01:00
Ludovic Courtès 9426440781 packages: Apply patches with "patch --force".
Fixes <http://bugs.gnu.org/19402>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/packages.scm (patch-and-repack): Change "--batch" to "--force".
2014-12-26 23:30:29 +01:00
Ludovic Courtès bf7688fe4d nls: Add French translation for packages. 2014-12-26 23:28:13 +01:00
Ricardo Wurmus be7134bf75 gnu: Add pysam.
* gnu/packages/python.scm (python-pysam, python2-pysam): New variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-26 23:28:13 +01:00
Ricardo Wurmus ee97be9fb4 gnu: Add fastjar.
* gnu/packages/compression.scm (fastjar): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-26 23:28:13 +01:00
Mark H Weaver 977736fc40 gnu: irrlicht: Fix build with mesa-10.
* gnu/packages/patches/irrlicht-mesa-10.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/games.scm (irrlicht): Add patch.  Add glu to inputs.
2014-12-26 15:50:32 -05:00
Mark H Weaver 8a984cb307 Merge branch 'master' into xorg-updates 2014-12-26 09:05:25 -05:00
Mark H Weaver fb916f4dd6 gnu: qemu: Update to 2.2.0.
* gnu/packages/qemu.scm (qemu): Update to 2.2.0.
2014-12-26 09:01:15 -05:00
Mark H Weaver 00c0930019 gnu: pingus: Add glu to inputs.
* gnu/packages/games.scm (pingus): Add glu to inputs.
2014-12-26 00:57:42 -05:00
Mark H Weaver 276a8f7191 gnu: gnubik: Add glu to inputs.
* gnu/packages/games.scm (gnubik): Add glu to inputs.
2014-12-26 00:57:42 -05:00
Mark H Weaver 6a95024c0a gnu: gnubg: Add glu to inputs.
* gnu/packages/games.scm (gnubg): Add glu to inputs.
2014-12-26 00:57:42 -05:00
Mark H Weaver 9cb3036f0d gnu: sdl: Fix incompatibility with libx11-1.6.
* gnu/packages/patches/sdl-libx11-1.6.patch: New file
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/sdl.scm (sdl): Add patch.
2014-12-26 00:34:44 -05:00
Mark H Weaver cc8b02f4a5 gnu: gtkglext: Add glu to inputs.
* gnu/packages/gnome.scm (gtkglext): Add glu to inputs.
2014-12-26 00:01:51 -05:00
Mark H Weaver e933ad3dad gnu: ntp: Update to 4.2.8.
* gnu/packages/ntp.scm (ntp): Update to 4.2.8.  Add openssl to inputs.
  Add pkg-config to native-inputs.  Change source URI to archive.ntp.org.
2014-12-25 00:22:38 -05:00
Mark H Weaver 53a427cf20 gnu: ntp: Update to 4.2.8.
* gnu/packages/ntp.scm (ntp): Update to 4.2.8.  Add openssl to inputs.
  Add pkg-config to native-inputs.  Change source URI to archive.ntp.org.
2014-12-25 00:19:36 -05:00
Mark H Weaver f948656c17 Merge branch 'master' into xorg-updates 2014-12-24 10:07:03 -05:00
Ludovic Courtès 764c077b30 Revert "gnu: matplotlib: Comment out python2-matplotlib."
This reverts commit afc720d34c.
2014-12-23 19:17:17 +01:00
Ludovic Courtès 78a2745370 build-system/python: Fix 'package-with-explicit-python'.
Reported by Federico Beffa <beffa@ieee.org>
and Eric Bavier <ericbavier@gmail.com>.

* guix/build-system/python.scm (package-with-explicit-python): Do
  nothing when P's build system is not PYTHON-BUILD-SYSTEM.
2014-12-23 19:14:52 +01:00
Federico Beffa afc720d34c gnu: matplotlib: Comment out python2-matplotlib.
* gnu/packages/python.scm (python2-matplotlib, python2-scipy, python2-numpy):
  Comment out python2-matplotlib and the packages making use of it as the
  generation of the derivation of these packages takes very long.
2014-12-23 17:56:48 +01:00
Mark H Weaver a193b8248b Optimize package-transitive-supported-systems.
* guix/packages.scm (first-value): Remove.
  (define-memoized/v): New macro.
  (package-transitive-supported-systems): Rewrite.
2014-12-21 20:12:18 -05:00
Ludovic Courtès d95523fb8b packages: Sort Scheme file lists used by 'fold-packages'.
* gnu/packages.scm (scheme-files): Call 'sort' on result.
2014-12-21 12:29:14 +01:00
Mark H Weaver 7dcf67c070 Merge branch 'master' into xorg-updates 2014-12-20 15:08:38 -05:00
Mark H Weaver ce44657aab Really remove the 'nix-upstream' submodule.
* nix-upstream: Remove subproject.
2014-12-20 15:02:26 -05:00
宋文武 eea3e54c59 gnu: Add xfce4-terminal.
* gnu/packages/xfce.scm (xfce4-terminal): New variable.
2014-12-20 13:06:01 +08:00
宋文武 ea57378f24 gnu: Add vte.
* gnu/packages/gnome.scm (vte, vte/gtk+-2): New variables.
2014-12-20 13:01:47 +08:00
Mark H Weaver d2611ffbb5 gnu: Consistently use modular xorg source URIs in xorg.scm.
* gnu/packages/xorg.scm (bigreqsproto, compositeproto, damageproto)
  (dmxproto, encodings, font-adobe100dpi, font-adobe75dpi, font-alias)
  (font-arabic-misc, font-cronyx-cyrillic, font-dec-misc, font-isas-misc)
  (font-micro-misc, font-misc-cyrillic, font-misc-ethiopic, font-misc-misc)
  (font-mutt-misc, font-schumacher-misc, font-screen-cyrillic, font-sony-misc)
  (font-sun-misc, font-util, font-winitzki-cyrillic, font-xfree86-type1)
  (libpthread-stubs, libwindowswm, libxdmcp, libxkbfile, libxscrnsaver)
  (luit, recordproto, renderproto, resourceproto, scrnsaverproto, setxkbmap)
  (smproxy, windowswmproto, x11perf, xcb-proto, xcmiscproto, xcmsdb, xdriinfo)
  (xf86-input-void, xf86-video-newport, xf86bigfontproto, xf86dgaproto)
  (xf86driproto, xf86vidmodeproto, xgamma, xineramaproto, xkbevd, xlsatoms)
  (xorg-sgml-doctools, xpr, xwud, fixesproto, mkfontdir, libxcb, xcb-util)
  (xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, kbproto, xbitmaps):
  Use source URIs with prefix mirror://xorg/individual/ for consistency.
  (dri3proto, presentproto, printproto): Remove comments about them not
  being part of X11R7.7.
2014-12-19 23:28:18 -05:00
Mark H Weaver 073cd6092c gnu: xorg-server: Update to 1.16.2.901, with many security fixes.
Includes fixes for CVE-2014-8091, CVE-2014-8092, CVE-2014-8093, CVE-2014-8094,
CVE-2014-8095, CVE-2014-8096, CVE-2014-8097, CVE-2014-8098, CVE-2014-8099,
CVE-2014-8100, CVE-2014-8101, CVE-2014-8102, and CVE-2014-8103.

See <http://www.x.org/wiki/Development/Security/Advisory-2014-12-09/>

* gnu/packages/xorg.scm (xorg-server): Update to 1.16.2.901.  Move mesa,
  resourceproto, scrnsaverproto, and xf86driproto from inputs to
  propagated-inputs.  Add dri3proto and presentproto to propagated-inputs.
  Add eudev and libxshmfence to inputs.  Add a 'pre-configure' phase instead
  of modifying the 'configure' phase.  Adapt substitution that avoids trying
  to 'mkdir /var' to build system changes.

* gnu/services/xorg.scm (xserver.conf): Add xf86-input-evdev ModulePath line.
2014-12-19 23:28:18 -05:00
Mark H Weaver c0e40804b2 gnu: xf86-video-voodoo: Update to 1.2.5.
* gnu/packages/xorg.scm (xf86-video-voodoo): Update to 1.2.5.
2014-12-19 23:28:18 -05:00
Mark H Weaver bd6863c245 gnu: xf86-video-vmware: Update to 13.0.2.
* gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-vmware): Update to 13.0.2.
  Add patch.  Add mesa to inputs.
2014-12-19 23:28:18 -05:00
Mark H Weaver 7dd17c76ae gnu: xf86-video-vesa: Update to 2.3.3.
* gnu/packages/xorg.scm (xf86-video-vesa): Update to 2.3.3.
2014-12-19 23:28:18 -05:00
Mark H Weaver d0088ad82a gnu: xf86-video-trident: Update to 1.3.6.
* gnu/packages/patches/xf86-video-trident-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-trident): Update to 1.3.6.  Add patch.
2014-12-19 23:28:17 -05:00
Mark H Weaver af339a482e gnu: xf86-video-tga: Update to 1.2.2.
* gnu/packages/patches/xf86-video-tga-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-tga): Update to 1.2.2.  Add patch.
2014-12-19 23:28:17 -05:00
Mark H Weaver 8366433495 gnu: xf86-video-tdfx: Update to 1.4.5.
* gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-tdfx): Update to 1.4.5.  Add patch.
2014-12-19 23:28:17 -05:00
Mark H Weaver a1d80a04b6 gnu: xf86-video-sunffb: Update to 1.2.2.
* gnu/packages/xorg.scm (xf86-video-sunffb): Update to 1.2.2.
2014-12-19 23:28:17 -05:00
Mark H Weaver c4bce93fa2 gnu: xf86-video-suncg6: Update to 1.1.2.
* gnu/packages/xorg.scm (xf86-video-suncg6): Update to 1.1.2.
2014-12-19 23:28:17 -05:00
Mark H Weaver 3fc4eb211e gnu: xf86-video-modesetting: Now uses the same libdrm as mesa.
* gnu/packages/xorg.scm (xf86-video-modesetting): Remove a comment stating
  that the libdrm used in this driver is incompatible with the one in mesa,
  because it is no longer true.
* gnu/services/xorg.scm (xserver.conf): Uncomment 'xf86-video-modesetting'
  ModulePath and remove associated comment.
2014-12-19 23:28:17 -05:00
Mark H Weaver 7007aeb287 gnu: xf86-video-sis: Update to 0.10.7.
* gnu/packages/patches/xf86-video-sis-update-api.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-sis): Update to 0.10.7.  Add patch.
2014-12-19 23:28:17 -05:00
Mark H Weaver a5bea0a730 gnu: xf86-video-siliconmotion: Update to 1.7.7.
* gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch:
  New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-siliconmotion): Update to 1.7.7.
  Add patch.
2014-12-19 23:28:17 -05:00
Mark H Weaver 1a78304572 gnu: xf86-video-savage: Update to 2.3.7.
* gnu/packages/xorg.scm (xf86-video-savage): Update to 2.3.7.
2014-12-19 23:28:17 -05:00
Mark H Weaver 975ced12d4 gnu: xf86-video-r128: Update to 6.9.2.
* gnu/packages/patches/xf86-video-r128-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-r128): Update to 6.9.2.  Add patch.
2014-12-19 23:28:16 -05:00
Mark H Weaver 3d7d909c9d gnu: xf86-video-openchrome: Update to 0.3.3.
* gnu/packages/patches/xf86-video-openchrome-includes.patch: Remove.
* gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it and remove the other.
* gnu/packages/xorg.scm (xf86-video-openchrome): Update to 0.3.3.
  Add one patch and remove the other.
2014-12-19 23:28:16 -05:00
Mark H Weaver fc7a0cf678 gnu: xf86-video-nv: Update to 2.1.20.
* gnu/packages/patches/xf86-video-nv-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-nv): Update to 2.1.20.  Add patch.
2014-12-19 23:28:16 -05:00
Mark H Weaver caabecf056 gnu: xf86-video-neomagic: Update to 1.2.8.
* gnu/packages/xorg.scm (xf86-video-neomagic): Update to 1.2.8.
2014-12-19 23:28:16 -05:00
Mark H Weaver e6eeff1856 gnu: xf86-video-mga: Update to 1.6.3.
* gnu/packages/patches/xf86-video-mga-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-mga): Update to 1.6.3.  Add patch.
2014-12-19 23:28:16 -05:00
Mark H Weaver e7908a24d3 gnu: xf86-video-mach64: Update to 6.9.4.
* gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-mach64): Update to 6.9.4.  Add patch.
2014-12-19 23:28:16 -05:00
Mark H Weaver 49a9099ebc gnu: xf86-video-intel: Update to 2.21.15.
* gnu/packages/patches/xf86-video-intel-compat-api.patch,
  gnu/packages/patches/xf86-video-intel-glibc-2.20.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/xorg.scm (xf86-video-intel): Update to 2.21.15.
  Add patches.  Add eudev to inputs.
2014-12-19 23:28:16 -05:00
Mark H Weaver 7504007211 gnu: xf86-video-i128: Update to 1.3.6.
* gnu/packages/patches/xf86-video-i128-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-i128): Update to 1.3.6.  Add patch.
2014-12-19 23:28:16 -05:00
Mark H Weaver becb7c9987 gnu: xf86-video-glint: Update to 1.2.8.
* gnu/packages/patches/xf86-video-glint-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-glint): Update to 1.2.8.  Add patch.
2014-12-19 23:28:15 -05:00
Mark H Weaver 3ee26f989c gnu: xf86-video-ast: Add patch needed for upcoming xorg-server update.
* gnu/packages/patches/xf86-video-ast-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-ast): Add patch.
  Use modular xorg source URI.
2014-12-19 23:28:15 -05:00
Mark H Weaver 232af79efb gnu: Resurrect xf86-video-geode and update to 2.11.16.
* gnu/packages/patches/xf86-video-geode-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-geode): Uncomment it.  Update
  to 2.11.16.  Add patch.
2014-12-19 23:28:15 -05:00
Mark H Weaver 2c0a2d7a4f gnu: xf86-video-fbdev: Update to 0.4.4.
* gnu/packages/xorg.scm (xf86-video-fbdev): Update to 0.4.4.
2014-12-19 23:28:15 -05:00
Mark H Weaver 102e8fc0a1 gnu: xf86-video-cirrus: Update to 1.5.2.
* gnu/packages/xorg.scm (xf86-video-cirrus): Update to 1.5.2.
2014-12-19 23:28:15 -05:00
Mark H Weaver 316fdeb27e gnu: xf86-video-ati: Update to 7.5.0.
* gnu/packages/xorg.scm (xf86-video-ati): Update to 7.5.0.
  Add "--disable-glamor" configure flag.
2014-12-19 23:28:15 -05:00
Mark H Weaver ea73576bc1 gnu: xf86-video-ark: Update to 0.7.5.
* gnu/packages/patches/xf86-video-ark-remove-mibstore.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-ark): Update to 0.7.5.  Add patch.
2014-12-19 23:28:15 -05:00
Mark H Weaver 2750ee5b0d gnu: xf86-input-synaptics: Update to 1.8.1.
* gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/xorg.scm (xf86-input-synaptics): Update to 1.8.1.
  Remove patch.  Add libevdev to inputs.
2014-12-19 23:28:15 -05:00
Mark H Weaver 9b1cd1e56a gnu: xf86-input-mouse: Update to 1.9.1.
* gnu/packages/xorg.scm (xf86-input-mouse): Update to 1.9.1.  Add
  "--with-sdkdir" configure flag.
2014-12-19 23:28:14 -05:00
Mark H Weaver 02c9f9ca4c gnu: xf86-input-keyboard: Update to 1.8.0.
* gnu/packages/xorg.scm (xf86-input-keyboard): Update to 1.8.0.
2014-12-19 23:28:14 -05:00
Mark H Weaver aa868f6da4 gnu: xf86-input-joystick: Update to 1.6.2.
* gnu/packages/xorg.scm (xf86-input-joystick): Update to 1.6.2.
2014-12-19 23:28:14 -05:00
Mark H Weaver 04074a95de gnu: xf86-input-evdev: Update to 2.8.4.
* gnu/packages/xorg.scm (xf86-input-evdev): Update to 2.8.4.
  Add libevdev to inputs.  Switch to eudev from udev.
2014-12-19 23:28:14 -05:00
Mark H Weaver 5c28dce043 gnu: xwininfo: Update to 1.1.3.
* gnu/packages/xorg.scm (xwininfo): Update to 1.1.3.
2014-12-19 23:28:14 -05:00
Mark H Weaver b3ba0379eb gnu: xwd: Update to 1.0.6.
* gnu/packages/xorg.scm (xwd): Update to 1.0.6.  Add libxkbfile to inputs.
2014-12-19 23:28:01 -05:00
Mark H Weaver 9489b6ea39 gnu: xvinfo: Update to 1.1.2.
* gnu/packages/xorg.scm (xvinfo): Update to 1.1.2.
2014-12-19 22:47:30 -05:00
Mark H Weaver 61ba0bbfca gnu: xsetroot: Update to 1.1.1.
* gnu/packages/xorg.scm (xsetroot): Update to 1.1.1.
2014-12-19 22:47:30 -05:00
Mark H Weaver 0ef700db89 gnu: xset: Update to 1.2.3.
* gnu/packages/xorg.scm (xset): Update to 1.2.3.
2014-12-19 22:47:30 -05:00
Mark H Weaver eae74117fc gnu: xrefresh: Update to 1.0.5.
* gnu/packages/xorg.scm (xrefresh): Update to 1.0.5.
2014-12-19 22:47:30 -05:00
Mark H Weaver 4585250372 gnu: xrdb: Update to 1.1.0.
* gnu/packages/xorg.scm (xrdb): Update to 1.1.0.
2014-12-19 22:47:30 -05:00
Mark H Weaver eafd33e896 gnu: xrandr: Update to 1.4.3.
* gnu/packages/xorg.scm (xrandr): Update to 1.4.3.
2014-12-19 22:47:30 -05:00
Mark H Weaver a1d537b053 gnu: xprop: Update to 1.2.2.
* gnu/packages/xorg.scm (xprop): Update to 1.2.2.
2014-12-19 22:47:30 -05:00
Mark H Weaver 467ac76d24 gnu: xmodmap: Update to 1.0.8.
* gnu/packages/xorg.scm (xmodmap): Update to 1.0.8.
2014-12-19 22:47:30 -05:00
Mark H Weaver cdacad71a5 gnu: xlsclients: Update to 1.1.3.
* gnu/packages/xorg.scm (xlsclients): Update to 1.1.3.
2014-12-19 22:47:30 -05:00
Mark H Weaver f61bfb3427 gnu: xkill: Update to 1.0.4.
* gnu/packages/xorg.scm (xkill): Update to 1.0.4.
2014-12-19 22:47:29 -05:00
Mark H Weaver d6f7ee720b gnu: xkeyboard-config: Update to 2.13.
* gnu/packages/xorg.scm (xkeyboard-config): Update to 2.13.
2014-12-19 22:47:29 -05:00
Mark H Weaver c9ad1f97df gnu: xkbutils: Update to 1.0.4.
* gnu/packages/xorg.scm (xkbutils): Update to 1.0.4.
2014-12-19 22:47:29 -05:00
Mark H Weaver 6bd87b7670 gnu: xkbcomp: Update to 1.3.0.
* gnu/packages/xorg.scm (xkbcomp-intermediate): Update to 1.3.0.
2014-12-19 22:47:29 -05:00
Mark H Weaver e2a712cae7 gnu: xinput: Update to 1.6.1.
* gnu/packages/xorg.scm (xinput): Update to 1.6.1.  Add libxext to inputs.
2014-12-19 22:47:29 -05:00
Mark H Weaver 9248fd7f04 gnu: xhost: Update to 1.0.6.
* gnu/packages/xorg.scm (xhost): Update to 1.0.6.
2014-12-19 22:47:29 -05:00
Mark H Weaver 73e122be1d gnu: xcursor-themes: Update to 1.0.4.
* gnu/packages/xorg.scm (xcursor-themes): Update to 1.0.4.
2014-12-19 22:47:29 -05:00
Mark H Weaver edc2ad8e3e gnu: xev: Update to 1.2.1.
* gnu/packages/xorg.scm (xev): Update to 1.2.1.
2014-12-19 22:47:29 -05:00
Mark H Weaver 39deb4b144 gnu: xdpyinfo: Update to 1.3.1.
* gnu/packages/xorg.scm (xdpyinfo): Update to 1.3.1.
2014-12-19 22:47:29 -05:00
Mark H Weaver 125d405f75 gnu: xcursorgen: Update to 1.0.6.
* gnu/packages/xorg.scm (xcursorgen): Update to 1.0.6.
2014-12-19 22:47:29 -05:00
Mark H Weaver b48b7ca795 gnu: xauth: Update to 1.0.9.
* gnu/packages/xorg.scm (xauth): Update to 1.0.9.  Disable tests.
2014-12-19 22:47:29 -05:00
Mark H Weaver da1a6bb32c gnu: xbacklight: Update to 1.2.1.
* gnu/packages/xorg.scm (xbacklight): Update to 1.2.1.  Change inputs
  to use xcb libraries.
2014-12-19 22:47:29 -05:00
Mark H Weaver f540eddef4 gnu: sessreg: Update to 1.0.8.
* gnu/packages/xorg.scm (sessreg): Update to 1.0.8.
2014-12-19 22:47:28 -05:00
Mark H Weaver d220d152ad gnu: iceauth: Update to 1.0.6.
* gnu/packages/xorg.scm (iceauth): Update to 1.0.6.
2014-12-19 22:47:28 -05:00
Mark H Weaver b3cbd61a5c gnu: xcb-util-wm: Update to 0.4.1.
* gnu/packages/xorg.scm (xcb-util-wm): Update to 0.4.1.
2014-12-19 22:47:28 -05:00
Mark H Weaver acba78a123 gnu: mkfontscale: Update to 1.1.1.
* gnu/packages/xorg.scm (mkfontscale): Update to 1.1.1.
2014-12-19 22:47:28 -05:00
Mark H Weaver 95b7bafea0 gnu: bdftopcf: Update to 1.0.4.
* gnu/packages/xorg.scm (bdftopcf): Update to 1.0.4.
2014-12-19 22:47:28 -05:00
Mark H Weaver 3ae74dfd45 gnu: makedepend: Update to 1.0.5.
* gnu/packages/xorg.scm (makedepend): Update to 1.0.5.
2014-12-19 22:47:28 -05:00
Mark H Weaver ab9d06be83 gnu: Add libevdev.
* gnu/packages/xorg.scm (libevdev): New variable.
2014-12-19 22:47:28 -05:00
Mark H Weaver 66e0147e86 gnu: libxaw: Update to 1.0.12.
* gnu/packages/xorg.scm (libxaw): Update to 1.0.12.
2014-12-19 22:47:28 -05:00
Mark H Weaver cec79ce664 gnu: libxcursor: Update to 1.1.14.
* gnu/packages/xorg.scm (libxcursor): Update to 1.1.14.
2014-12-19 22:47:28 -05:00
Mark H Weaver 24e97d3487 gnu: libxxf86dga: Update to 1.1.4.
* gnu/packages/xorg.scm (libxxf86dga): Update to 1.1.4.
2014-12-19 22:47:28 -05:00
Mark H Weaver 07c6af48d2 gnu: libxres: Update to 1.0.7.
* gnu/packages/xorg.scm (libxres): Update to 1.0.7.
2014-12-19 22:47:28 -05:00
Mark H Weaver 15bcd5b77e gnu: libxpm: Update to 3.5.11.
* gnu/packages/xorg.scm (libxpm): Update to 3.5.11.
2014-12-19 22:47:28 -05:00
Mark H Weaver 788093dd9d gnu: libxmu: Update to 1.1.2.
* gnu/packages/xorg.scm (libxmu): Update to 1.1.2.
2014-12-19 22:47:27 -05:00
Mark H Weaver 4fde7d34c4 gnu: libxt: Update to 1.1.4.
* gnu/packages/xorg.scm (libxt): Update to 1.1.4.
2014-12-19 22:47:27 -05:00
Mark H Weaver 140a079347 gnu: libxft: Update to 2.3.2.
* gnu/packages/xorg.scm (libxft): Update to 2.3.2.
2014-12-19 22:47:27 -05:00
Mark H Weaver 4c573e6967 gnu: libxcomposite: Update to 0.4.4.
* gnu/packages/xorg.scm (libxcomposite): Update to 0.4.4.
2014-12-19 22:47:27 -05:00
Mark H Weaver d8dde29631 gnu: libsm: Update to 1.2.2.
* gnu/packages/xorg.scm (libsm): Update to 1.2.2.
2014-12-19 22:47:27 -05:00
Mark H Weaver b54eab023f gnu: libpciaccess: Update to 1.13.2.
* gnu/packages/xorg.scm (libpciaccess): Update to 1.13.2.
2014-12-19 22:47:27 -05:00
Mark H Weaver cbc4f50cec gnu: libfs: Update to 1.0.6.
* gnu/packages/xorg.scm (libfs): Update to 1.0.6.
2014-12-19 22:47:27 -05:00
Mark H Weaver eb2a0e1136 gnu: libdmx: Update to 1.1.3.
* gnu/packages/xorg.scm (libdmx): Update to 1.1.3.
2014-12-19 22:47:27 -05:00
Mark H Weaver 81f7096b97 gnu: libxxf86vm: Update to 1.1.3.
* gnu/packages/xorg.scm (libxxf86vm): Update to 1.1.3.
2014-12-19 22:47:27 -05:00
Mark H Weaver 8dc29fd1fc gnu: libxvmc: Update to 1.0.8.
* gnu/packages/xorg.scm (libxvmc): Update to 1.0.8.
2014-12-19 22:47:27 -05:00
Mark H Weaver 728a4f20ab gnu: libxrandr: Update to 1.4.2.
* gnu/packages/xorg.scm (libxrandr): Update to 1.4.2.
2014-12-19 22:47:27 -05:00
Mark H Weaver e5392784fa gnu: libxfont: Update to 1.5.0.
* gnu/packages/xorg.scm (libxfont): Update to 1.5.0.
2014-12-19 22:47:27 -05:00
Mark H Weaver 7d7a47c663 gnu: libfontenc: Update to 1.1.2.
* gnu/packages/xorg.scm (libfontenc): Update to 1.1.2.
2014-12-19 22:47:26 -05:00
Mark H Weaver 5c2168c81d gnu: libice: Update to 1.0.9.
* gnu/packages/xorg.scm (libice): Update to 1.0.9.
2014-12-19 22:47:26 -05:00
Mark H Weaver 88e86ee9c5 gnu: libxv: Update to 1.0.10.
* gnu/packages/xorg.scm (libxv): Update to 1.0.10.
2014-12-19 22:47:26 -05:00
Mark H Weaver 223681e73a gnu: libxtst: Update to 1.2.2.
* gnu/packages/xorg.scm (libxtst): Update to 1.2.2.
2014-12-19 22:47:26 -05:00
Mark H Weaver 59f9bd7088 gnu: libxrender: Update to 0.9.8.
* gnu/packages/xorg.scm (libxrender): Update to 0.9.8.
2014-12-19 22:47:26 -05:00
Mark H Weaver 9a8b8f2632 gnu: libxp: Update to 1.0.2.
* gnu/packages/xorg.scm (libxp): Update to 1.0.2.
2014-12-19 22:47:26 -05:00
Mark H Weaver 90466b59ff gnu: libxinerama: Update to 1.1.3.
* gnu/packages/xorg.scm (libxinerama): Update to 1.1.3.
2014-12-19 22:47:26 -05:00
Mark H Weaver e18bb48020 gnu: libxdamage: Update to 1.1.4.
* gnu/packages/xorg.scm (libxdamage): Update to 1.1.4.
2014-12-19 22:47:26 -05:00
Mark H Weaver 2b8172c4a4 gnu: libxi: Update to 1.7.4.
* gnu/packages/xorg.scm (libxi): Update to 1.7.4.  Add libxfixes
  to propagated-inputs.
2014-12-19 22:47:26 -05:00
Mark H Weaver b05752dbe6 gnu: libxfixes: Update to 5.0.1.
* gnu/packages/xorg.scm (libxfixes): Update to 5.0.1.
2014-12-19 22:47:26 -05:00
Mark H Weaver ccffa91c1d gnu: libxext: Update to 1.3.3.
* gnu/packages/xorg.scm (libxext): Update to 1.3.3.
2014-12-19 22:47:26 -05:00
Mark H Weaver fda2ebe75f gnu: libxau: Update to 1.0.8.
* gnu/packages/xorg.scm (libxau): Update to 1.0.8.
2014-12-19 22:47:25 -05:00
Mark H Weaver 075e9a11d3 gnu: libx11: Update to 1.6.2.
* gnu/packages/xorg.scm (libx11): Update to 1.6.2.
2014-12-19 22:47:25 -05:00
Mark H Weaver 75dc8b2266 gnu: xtrans: Update to 1.3.5.
* gnu/packages/xorg.scm (xtrans): Update to 1.3.5.
2014-12-19 22:47:25 -05:00
Mark H Weaver 9643cff15c gnu: randrproto: Update to 1.4.0.
* gnu/packages/xorg.scm (randrproto): Update to 1.4.0.
2014-12-19 22:47:25 -05:00
Mark H Weaver 0b271d2bbe gnu: videoproto: Update to 2.3.2.
* gnu/packages/xorg.scm (videoproto): Update to 2.3.2.
2014-12-19 22:47:25 -05:00
Mark H Weaver cc28048d1a gnu: glproto: Update to 1.4.17.
* gnu/packages/xorg.scm (glproto): Update to 1.4.17.
2014-12-19 22:47:25 -05:00
Mark H Weaver 8fc8c1ee0b gnu: fontsproto: Update to 2.1.3.
* gnu/packages/xorg.scm (fontsproto): Update to 2.1.3.
2014-12-19 22:47:25 -05:00
Mark H Weaver 7f65303d73 gnu: inputproto: Update to 2.3.1.
* gnu/packages/xorg.scm (inputproto): Update to 2.3.1.
2014-12-19 22:47:25 -05:00
Mark H Weaver 3097d65e29 gnu: dri2proto: Update to 2.8.
* gnu/packages/xorg.scm (dri2proto): Update to 2.8.
2014-12-19 22:47:25 -05:00
Mark H Weaver e8453d7b91 gnu: xextproto: Update to 7.3.0.
* gnu/packages/xorg.scm (xextproto): Update to 7.3.0.
2014-12-19 22:47:25 -05:00
Mark H Weaver e876456a67 gnu: xproto: Update to 7.0.26.
* gnu/packages/xorg.scm (xproto): Update to 7.0.26.
2014-12-19 22:47:25 -05:00
Mark H Weaver 0a761f1ebd gnu: util-macros: Update to 1.19.0.
* gnu/packages/xorg.scm (util-macros): Update to 1.19.0.
2014-12-19 22:47:24 -05:00
Mark H Weaver d36caa10a5 gnu: cairomm: Update to 1.11.2.
* gnu/packages/gtk.scm (cairomm): Update to 1.11.2.
2014-12-19 22:47:24 -05:00
Mark H Weaver 9e5c0927e4 gnu: cairo: Update to 1.12.18.
* gnu/packages/gtk.scm (cairo): Update to 1.12.18.  Add libxdamage
  to propagated-inputs.
2014-12-19 22:47:24 -05:00
Mark H Weaver daf47d4388 gnu: pixman: Update to 0.32.6.
* gnu/packages/xdisorg.scm (pixman): Update to 0.32.6.
2014-12-19 22:47:24 -05:00
Mark H Weaver 3d6befa4af gnu: glibmm: Update to 2.42.0.
* gnu/packages/glib.scm (glibmm): Update to 2.42.0.  Use 'version-major+minor'
  to compute source URI.
2014-12-19 22:47:24 -05:00
Mark H Weaver 4b1b387776 gnu: dbus-glib: Update to 0.102.
* gnu/packages/glib.scm (dbus-glib): Update to 0.102.
2014-12-19 22:47:24 -05:00
Mark H Weaver ee28fc6432 gnu: glib: Update to 2.42.1.
* gnu/packages/glib.scm (glib): Update to 2.42.1.  Disable a test
  that requires dbus.
2014-12-19 22:47:24 -05:00
Mark H Weaver 11163131cd gnu: dbus: Update to 1.8.12.
* gnu/packages/glib.scm (dbus): Update to 1.8.12.
2014-12-19 22:47:24 -05:00
Mark H Weaver 8befb33d23 gnu: poppler: Update to 0.28.1.
* gnu/packages/pdf.scm (poppler): Update to 0.28.1.  Use the .xz source
  tarball.
2014-12-19 22:47:24 -05:00
Mark H Weaver 618ea7c94e gnu: inkscape: Update to 0.48.5.
* gnu/packages/patches/inkscape-stray-comma.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/inkscape.scm (inkscape): Update to 0.48.5.  Remove patch. Use
  the .bz2 source tarball.  Use current libgc.  Add 'fix-test-includes' phase.
2014-12-19 22:47:24 -05:00
Mark H Weaver ce4d7abf02 gnu: mesa: Update to 10.4.0.
* gnu/packages/gl.scm (mesa): Update to 10.4.0.  Use current libdrm.  Add
  eudev, dri3proto, presentproto, and libxshmfence to inputs.  Add gnu-gettext
  to native-inputs.  Add --enable-xa configure flag.  Add new phases
  'add-missing-m4-files' and 'patch-create_test_cases'.
2014-12-19 22:47:24 -05:00
Mark H Weaver 31157f8e52 gnu: libdrm: Update to 2.4.58.
* gnu/packages/xdisorg.scm (libdrm): Update to 2.4.58.
2014-12-19 22:47:24 -05:00
Mark H Weaver f0b6c5d8fe gnu: Add libxshmfence.
* gnu/packages/xorg.scm (libxshmfence): New variable.
2014-12-19 22:47:24 -05:00
宋文武 24d56899a1 services: xorg: Make SLiM sessions configurable.
* gnu/services/xorg.scm (%default-xsessions): New variable.
  (xsessions-directory): New procedure.
  (slim-service): Add #:sessions and #:auto-login-session parameters.
  [slim.cfg]: Honor #:sessions.
  (xinitrc): Adjust accordingly.
2014-12-20 11:12:00 +08:00
Ludovic Courtès 9ac97e83e9 Remove 'nix-upstream' submodule.
* nix/sync-with-upstream: Remove.
* bootstrap: Remove uses of 'git submodule' and 'sync-with-usptream'.
* .gitmodules: Remove.
2014-12-19 23:18:49 +01:00
Ludovic Courtès 36457566f9 Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
Ricardo Wurmus 2c7ee16720 gnu: Add bowtie
* gnu/packages/bioinformatics.scm (bowtie): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-19 18:50:28 +01:00
Ludovic Courtès 7f5c2a9cc1 services: static-networking-service: Switch to (guix build syscalls).
* gnu/services/networking.scm (static-networking-service): Remove
  #:inetutils parameter.  Rewrite using 'configure-network-interface'
  and 'set-network-interface-flags'.
2014-12-19 17:15:53 +01:00
Ludovic Courtès c9bf64d6d7 syscalls: Add more procedures for network interfaces.
* guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types,
  read-type, read-types, define-c-struct): New macros.
  (SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables.
  (sockaddr-in, sockaddr-in6): New C structs.
  (write-socket-address!, read-socket-address,
  set-network-interface-flags, set-network-interface-address,
  network-interface-address, configure-network-interface): New
  procedures.
2014-12-19 17:15:53 +01:00
Ricardo Wurmus cdae969ae5 gnu: Add Clone.
* gnu/packages/perl.scm (perl-clone): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-19 17:15:53 +01:00
Federico Beffa 9e0997230c gnu: cairocffi: Move to python module.
* gnu/packages/gtk.scm, gnu/packages/python.scm (python-cairocffi,
  python2-cairocffi): Move variables from gtk to python module to avoid
  circular dependency.

Reported by Mark H Weaver <mhw@netris.org>
2014-12-18 22:00:19 +01:00
Federico Beffa 25f9a068f2 gnu: matplotlib: Add gtk3 backends and optional dependency. Adjust inputs.
* gnu/packages/python.scm (python-matplotlib, python2-matplotlib): Add gtk3
  backends with the necessary inputs and a 'configure-environment' phase.  Add
  the optional 'python-pillow' dependency.  Move 'python-pyparsing' from
  'inputs' to 'propagated-inputs' as it is required at run time.
2014-12-18 17:58:10 +01:00
Federico Beffa 63cd6e5a95 gnu: Add cairocffi.
* gnu/packages/gtk.scm (python-cairocffi, python2-cairocffi): New variables.
2014-12-18 17:58:10 +01:00
Federico Beffa 6fa144692c gnu: Add xcffib
* gnu/packages/python.scm (python-xcffib, python2-xcffib): New variables.
2014-12-18 17:58:10 +01:00
Federico Beffa 6f8fe4b29e build/python-build-system: Fix easy-install.pth collisions.
* guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file
  phase and corresponding function.
2014-12-18 17:58:10 +01:00
Ludovic Courtès 46a3e00b5b gnu: icecat: Build with PulseAudio support.
* gnu/packages/gnuzilla.scm (icecat)[arguments]: Add
  --enable-pulseaudio.
2014-12-17 14:06:59 +01:00
Jason Self 80db9915a0 gnu: linux-libre: Update to 3.18.1
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.1.
2014-12-17 04:30:52 -08:00
Ricardo Wurmus 7576cbd6da gnu: Add Test::Simple.
* gnu/packages/perl.scm (perl-test-simple): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-17 00:11:28 +01:00
Ricardo Wurmus 0ad3969fcd gnu: Add Test::Deep.
* gnu/packages/perl.scm (perl-test-deep): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-17 00:11:28 +01:00
Ricardo Wurmus 9dc8a1577f gnu: Add Test::NoWarnings.
* gnu/packages/perl.scm (perl-test-nowarnings): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-17 00:11:28 +01:00
Ricardo Wurmus ea0a52d7d6 gnu: Add Test::Tester.
* gnu/packages/perl.scm (perl-test-tester): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-17 00:11:27 +01:00
Federico Beffa 6a84316848 Revert "gnu: python-numpy-bootstrap: Reduce matrix size in failing test."
This reverts commit 31557440c2 as it did not
provide the desired effect.  The test is still failing.
2014-12-16 18:37:13 +01:00
Ricardo Wurmus 81de56479a gnu: Add bedtools
* gnu/packages/bioinformatics.scm (bedtools): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-16 18:17:15 +01:00
Tomáš Čech b336da21e9 gnu: tmux: Update to 1.9a.
* gnu/packages/tmux.scm (tmux): Update to 1.9a

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-16 18:17:15 +01:00
Ricardo Wurmus f3cd952b45 gnu: samtools: disable tests for non-64-bit systems
* gnu/packages/bioinformatics.scm (samtools): disable tests for all non-64-bit
  systems because of an upstream bug in the test data.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-16 18:17:15 +01:00
Mark H Weaver a142e38e9d gnu: groff: Disable parallel builds.
* gnu/packages/groff.scm (groff): Disable parallel builds.
2014-12-16 11:16:54 -05:00
Mark H Weaver dec7ab5953 gnu: groff: Update to 1.22.3.
* gnu/packages/groff.scm (groff): Update to 1.22.3.
2014-12-16 03:28:06 -05:00
Mark H Weaver a6e818586b gnu: ghostscript: Update to 9.14.0.
* gnu/packages/ghostscript.scm (ghostscript): Update to 9.14.0.
  Change license to agpl3+.
2014-12-16 03:08:00 -05:00
Mark H Weaver 6b282cc9fb gnu: lcms: Update to 2.6.
* gnu/packages/ghostscript.scm (lcms): Update to 2.6.
2014-12-16 03:07:57 -05:00
Mark H Weaver 9f8552fab5 gnu: icecat: Apply security updates for CVE-2014-{1587,1590,1592,1593,1594}.
* gnu/packages/patches/icecat-CVE-2014-1587-bug-1042567.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1072847.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1079729.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1080312.patch,
  gnu/packages/patches/icecat-CVE-2014-1587-bug-1089207.patch,
  gnu/packages/patches/icecat-CVE-2014-1590.patch,
  gnu/packages/patches/icecat-CVE-2014-1592.patch,
  gnu/packages/patches/icecat-CVE-2014-1593.patch,
  gnu/packages/patches/icecat-CVE-2014-1594.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat): Add them.
2014-12-15 20:42:53 -05:00
Ludovic Courtès bea26837e8 profiles: Fix removal of the next-to-last item in a profile.
Fixes a bug whereby removing the next-to-last item in a profile would
lead to an obscure error, as shown at
<http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir
  "out") instead of just INFO-DIR.
2014-12-15 23:01:56 +01:00
Ludovic Courtès ebf5ad46db tests: Use 'test-assertm' for profiles.
* tests/profiles.scm (test-assertm): New macro.
  ("profile-derivation"): Use it instead of 'test-assert' +
  'run-with-store'.
2014-12-15 23:01:56 +01:00
Tomáš Čech 6cb89466ba gnu: Add bullet.
* gnu/packages/game-development.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-15 08:09:04 -05:00
宋文武 5a659a489e gnu: Add vala.
* gnu/packages/gnome.scm (vala): New variable.
2014-12-15 18:51:30 +08:00
Mark H Weaver 5afbfb9924 gnu: youtube-dl: Update to 2014.12.15.
* gnu/packages/video.scm (youtube-dl): Update to 2014.12.15.
2014-12-15 03:36:54 -05:00
Mark H Weaver bfb8486929 gnu: Add xfce4-battery-plugin.
* gnu/packages/xfce.scm (xfce4-battery-plugin): New variable.
2014-12-14 19:46:12 -05:00
Mark H Weaver d814f921f1 gnu: xfce4-panel: Support panel plugins from other packages.
* gnu/packages/patches/xfce4-panel-plugins.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xfce.scm (xfce4-panel): Add the patch, and a
  native search path specification for X_XFCE4_LIB_DIRS.
2014-12-14 19:45:59 -05:00
Federico Beffa 31557440c2 gnu: python-numpy-bootstrap: Reduce matrix size in failing test.
* gnu/packages/python.scm (python-numpy-bootstrap): Add phase
  'fix-failing-tests.
2014-12-14 20:01:22 +01:00
John Darrington de51bf58b9 gnu: Add xdotool.
* gnu/packages/xdisorg.scm (xdotool): New variable.
2014-12-14 18:43:22 +01:00
Ludovic Courtès 61ff0a3a18 install: Use a low-memory nscd caching policy.
* gnu/system/install.scm (%nscd-minimal-caches): New variable.
  (installation-services): Use as 'nscd-service' argument.
2014-12-14 17:26:03 +01:00
Ludovic Courtès 6454b33345 services: Make 'nscd-service' configurable; cache hosts/services by default.
Before that, as it was given an empty configuration file, nscd would
actually have all its caches disabled.

* gnu/services/base.scm (<nscd-configuration>, <nscd-cache>): New record
  types.
  (%nscd-default-caches, %nscd-default-configuration): New variables.
  (nscd.conf-file): New procedure.
  (nscd-service): Add 'config' parameter.  Use 'nscd.conf-file', and
  pass its result as the '-f' parameter of nscd.
* doc/guix.texi (Base Services): Update 'nscd-service' documentation
  accordingly.  Document 'nscd-configuration', 'nscd-cache',
  '%nscd-default-configuration', and '%nscd-default-caches'.
2014-12-14 16:29:24 +01:00
Ludovic Courtès c4a1b6c2ba Merge branch 'master' into 'core-updates'. 2014-12-14 11:55:07 +01:00
Ludovic Courtès 2ed11b3a3e utils: Change 'wrap-program' to preserve the original argv[0].
Suggested by Mark H Weaver <mhw@netris.org>
in <http://bugs.gnu.org/19138>.

* guix/build/utils.scm (wrap-program): Change wrapper to use "exec -a
  PROG" instead of just "exec".
2014-12-14 11:54:12 +01:00
Ludovic Courtès f912da3a84 nls: Add French translation. 2014-12-13 23:17:31 +01:00
Ludovic Courtès 45c5b47b96 activation: Copy the account skeletons when creating the 'root' account.
* gnu/build/activation.scm (%skeleton-directory): New variable.
  (dot-or-dot-dot?, copy-account-skeletons): New procedure.
  (add-user): Use 'copy-account-skeletons'.
  (activate-etc): Use 'dot-or-dot-dot?'.
2014-12-13 22:31:08 +01:00
Ludovic Courtès ccc2678b0d system: grub: Make sure the font and background image are always found.
* gnu/system/grub.scm (eye-candy): Add 'search --file --set'.
2014-12-13 22:15:01 +01:00
Ludovic Courtès 6c777cf88c system: Adjust 'grub.cfg' to work on systems with a separate /boot.
Fixes <http://bugs.gnu.org/19220>.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* gnu/system/grub.scm (grub-configuration-file)[entry->gexp]: Add
  'search --file --set'.
  (grub-configuration-file)[builder]: Remove 'search.file'.
2014-12-13 22:13:57 +01:00
Ludovic Courtès 5c5e7bdafd vm: Use QEMU's standard VGA emulation by default.
* gnu/system/vm.scm (common-qemu-options): Add "-vga std".
2014-12-13 17:18:05 +01:00
Ludovic Courtès b2bd7c253a services: xorg: Run the window manager from a login shell.
This is a followup to 1d18d87, which fixes <http://bugs.gnu.org/19119>.

* gnu/services/xorg.scm (xinitrc)[builder]: Add 'exec-from-login-shell'
  procedure.  Use it instead of 'execl' when launching XSESSION, WMAKER,
  or RATPOISON.
2014-12-13 16:22:34 +01:00
Ludovic Courtès a8a086e392 system: Add sudo to '%base-packages'.
* gnu/system.scm (%base-packages): Add SUDO.
2014-12-13 16:22:34 +01:00
Federico Beffa c1125a04bb gnu: python-numpy-bootstrap: Make tests verbose.
* gnu/packages/python.scm (python-numpy-bootstrap): Make tests verbose to
  allow test failure debugging on hydra.
2014-12-13 09:44:26 +01:00
宋文武 aba42c98b3 gnu: xfconf: Disable parallel tests.
* gnu/packages/xfce.scm (xfconf): Add 'arguments' field.
2014-12-13 11:15:03 +08:00
Ludovic Courtès c809ec94d1 utils: Change 'patch-makefile-SHELL' to support ":=" assignments.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* guix/build/utils.scm (patch-makefile-SHELL): Update regexp to match
  ":=" assignments.
2014-12-13 00:06:32 +01:00
Ludovic Courtès 5e5deea952 utils: Use 'which' to find the shell in 'patch-makefile-SHELL'.
* guix/build/utils.scm (patch-makefile-SHELL)[find-shell]: Use 'which'.
2014-12-13 00:04:25 +01:00
Ricardo Wurmus 4e10a22168 gnu: Add samtools
* gnu/packages/bioinformatics.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-13 00:01:06 +01:00
Ludovic Courtès 97ab2c0fb6 system: /etc/profile defines 'MANPATH', which includes the global profile.
* gnu/system.scm (etc-directory)[profile]: Set 'MANPATH'.
2014-12-13 00:01:06 +01:00
Mark H Weaver c9d512faac gnu: Add nginx.
* gnu/packages/web.scm (nginx): New variable.
2014-12-12 08:57:21 -05:00
Mark H Weaver 90dcf9c8c5 gnu: pcre: Update to 8.36 and enable JIT support.
* gnu/packages/pcre.scm (pcre): Update to 8.36.  Enable JIT support.
2014-12-12 08:56:56 -05:00
宋文武 8a3c54e0a1 gnu: Add xfdesktop.
* gnu/packages/xfce.scm (xfdesktop): New variable.
2014-12-12 20:50:12 +08:00
宋文武 3a4bfddee7 gnu: Add xfwm4.
* gnu/packages/xfce.scm (xfwm4): New variable.
2014-12-12 20:49:07 +08:00
宋文武 aac0380040 gnu: Add thunar-volman.
* gnu/packages/xfce.scm (thunar-volman): New variable.
2014-12-12 20:45:50 +08:00
宋文武 5c776d2706 gnu: Add thunar.
* gnu/packages/xfce.scm (thunar): New variable.
2014-12-12 20:44:04 +08:00
宋文武 55613927ea gnu: Add xfce4-settings.
* gnu/packages/xfce.scm (xfce4-settings): New variable.
2014-12-12 20:41:51 +08:00
宋文武 9a8a040dfe gnu: Add xfce4-session.
* gnu/packages/xfce.scm (xfce4-session): New variable.
2014-12-12 20:39:12 +08:00
宋文武 c5c2f9bbb0 gnu: Add xfce4-appfinder.
* gnu/packages/xfce.scm (xfce4-appfinder): New variable.
2014-12-12 20:36:44 +08:00
宋文武 3b3a7fe78c gnu: Add xfce4-panel.
* gnu/packages/xfce.scm (xfce4-panel): New variable.
2014-12-12 20:35:25 +08:00
宋文武 305bc4cca8 gnu: Add tumbler.
* gnu/packages/xfce.scm (tumbler): New variable.
2014-12-12 20:27:04 +08:00
宋文武 7fc3d5f3ec gnu: Add garcon.
* gnu/packages/xfce.scm (garcon): New variable.
2014-12-12 20:18:43 +08:00
宋文武 2eb7d77d48 gnu: Add exo.
* gnu/packages/xfce.scm (exo): New variable.
2014-12-12 20:16:22 +08:00
宋文武 6cec9818db gnu: Add libxfce4ui.
* gnu/packages/xfce.scm (libxfce4ui): New variable.
2014-12-12 20:14:46 +08:00
宋文武 471dbb70f9 gnu: Add xfconf.
* gnu/packages/xfce.scm (xfconf): New variable.
2014-12-12 20:13:07 +08:00
宋文武 79c2528ffb gnu: Add libxfce4util.
* gnu/packages/xfce.scm (libxfce4util): New variable.
2014-12-12 20:11:11 +08:00
宋文武 62ac2ed9f4 gnu: Add gtk-xfce-engine.
* gnu/packages/xfce.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-12 20:01:40 +08:00
Ludovic Courtès 180e33e3f2 gnu: freeipmi: Update to 1.4.7.
* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.7.
2014-12-11 18:02:07 +01:00
Ludovic Courtès 32bcad9709 gnu: wget: Update to 1.16.1.
* gnu/packages/wget.scm (wget): Update to 1.16.1.
2014-12-11 18:02:07 +01:00
宋文武 1b5758a65e gnu: gdk-pixbuf: Propagate glib and libpng.
* gnu/packages/gtk.scm (gdk-pixbuf): Move glib and libpng to
  'propagated-inputs'.
2014-12-11 19:43:19 +08:00
宋文武 4281d1b6f3 gnu: libxcomposite: Propagate inputs.
* gnu/packages/xorg.scm (libxcomposite): Move all existing 'inputs'
  to 'propagated-inputs'.
2014-12-11 19:42:39 +08:00
Federico Beffa 57c3f71632 gnu: Add cffi.
* gnu/packages/python.scm (python-cffi, python2-cffi): New variables.
2014-12-10 14:27:44 +01:00
Federico Beffa 6c2cf86edb Revert "gnu: gobject-introspection: Update to 1.42.0 and add new patch."
This reverts commit 66717243d0.  Several
packages fail to build with the new version.
2014-12-10 14:25:34 +01:00
Ludovic Courtès c7e553a309 gnu: Add BBDB.
* gnu/packages/emacs.scm (bbdb): New variable.
2014-12-09 23:21:39 +01:00
Ludovic Courtès 71f571588f gnu: emacs: Use 'glib-or-gtk-build-system'.
Fixes <http://bugs.gnu.org/19138>.
Reported by Andreas Enge <andreas@enge.fr>.

* gnu/packages/emacs.scm (emacs)[build-system]: Switch to
  GLIB-OR-GTK-BUILD-SYSTEM.
  (emacs-no-x-toolkit): Add 'build-system' field.
2014-12-09 23:21:39 +01:00
Ludovic Courtès 5920d90e68 build-system/glib-or-gtk: Fix default value of #:glib-or-gtk-wrap-excluded-outputs.
Fixes <http://bugs.gnu.org/19321>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Change default
  value of #:glib-or-gtk-wrap-excluded-outputs to ''().
2014-12-09 23:21:39 +01:00
Alex Kost 4a01b30b33 gnu: Move unclutter to (gnu packages xdisorg).
* gnu/packages/unclutter.scm: Remove.
  (unclutter) Move to...
* gnu/packages/xdisorg.scm (unclutter): ... here.  New variable.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove unclutter file name.
2014-12-10 00:37:47 +03:00
Alex Kost 1410f342f7 gnu: Move scrot to (gnu packages xdisorg).
* gnu/packages/scrot.scm: Remove.
  (scrot) Move to...
* gnu/packages/xdisorg.scm (scrot): ... here.  New variable.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove scrot file name.
2014-12-10 00:37:47 +03:00
Alex Kost 2e88e089da gnu: Add wmctrl.
* gnu/packages/xdisorg.scm (wmctrl): New variable.
* gnu/packages/patches/wmctrl-64-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2014-12-10 00:37:46 +03:00
Eric Bavier 426fde9ae1 gnu: Add c-reduce.
* gnu/packages/debug.scm (c-reduce): New variable.
2014-12-09 12:02:09 -06:00
Eric Bavier 3e4249ce10 gnu: Add llvm and clang.
* gnu/packages/llvm.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-09 12:02:08 -06:00
Eric Bavier 499cdcc6cb gnu: licenses: Add NCSA license.
* guix/licenses.scm (ncsa): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier 043092e80b gnu: Add perl-sys-cpu.
* gnu/packages/perl.scm (perl-sys-cpu): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier b593600e21 gnu: Add perl-regexp-common.
* gnu/packages/perl.scm (perl-regexp-common): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier d193ba6d79 gnu: Add perl-getopt-tabular.
* gnu/packages/perl.scm (perl-getopt-tabular): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier 31f3976a21 gnu: Add perl-file-which.
* gnu/packages/perl.scm (perl-file-which): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier 2e66590aad gnu: Add perl-test-script.
* gnu/packages/perl.scm (perl-test-script): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier c7518b04f0 gnu: Add perl-ipc-run3.
* gnu/packages/perl.scm (perl-ipc-run3): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier 7850f47ac5 gnu: Add perl-probe-perl.
* gnu/packages/perl.scm (perl-probe-perl): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier 63edfca495 gnu: Add perl-exporter-lite.
* gnu/packages/perl.scm (perl-exporter-lite): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier 2aa466247f gnu: Add perl-benchmark-timer.
* gnu/packages/perl.scm (perl-benchmark-timer): New variable.
2014-12-09 12:02:08 -06:00
Eric Bavier 8d809faf8c gnu: Add delta.
* gnu/packages/debug.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-09 12:02:08 -06:00
Eric Bavier 47833c90d5 gnu: Add astyle.
* gnu/packages/pretty-print.scm (astyle): New variable.
2014-12-09 12:02:08 -06:00
Federico Beffa 5a4753a699 gnu: gobject-introspection: Define search path for typelib files.
* gnu/packages/glib.scm (gobject-introspection): Add 'native-search-paths' and
  'search-paths' fields.
2014-12-09 13:43:03 +01:00
Federico Beffa 66717243d0 gnu: gobject-introspection: Update to 1.42.0 and add new patch.
* gnu/packages/glib.scm (gobject-introspection): Update to version 1.42.0.
  Add patch 'gobject-introspection-absolute-shlib-path.patch' provided by Luca
  Bruno <lucabru@src.gnome.org> for Nix.
2014-12-09 13:41:45 +01:00
Federico Beffa a415f036e8 gnu: Add pycparser.
* gnu/packages/python.scm (python-pycparser, python2-pycparser): New variables.
2014-12-09 13:23:59 +01:00
Tomáš Čech 15f5f68656 gnu: Add slock.
* gnu/packages/dwm.scm (slock): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-09 13:19:47 +01:00
Ludovic Courtès 03356e9775 Add Tomáš to 'AUTHORS'. 2014-12-09 13:19:47 +01:00
Tomáš Čech d6e941bc95 gnu: add msmtp
* gnu/packages/mail.scm (msmtp): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-12-09 13:19:47 +01:00
宋文武 427476d57d gnu: libwnck: Propagate inputs.
* gnu/packages/gnome.scm (libwnck, libwnck-1): Propagate inputs libxres and
  startup-notification.
2014-12-09 19:15:07 +08:00
宋文武 02f707c590 system: Add skeleton '.zlogin'.
* gnu/system/shadow.scm (default-skeletons): Add .zlogin.
2014-12-09 18:52:11 +08:00
宋文武 4e2a21d3d2 system: Cleanup bash startup files.
* gnu/system.scm (etc-directory) (bashrc): Rename to 'profile'.
* gnu/system/shadow.scm (default-skeletons): Rename '.bashrc' to
  '.bash_profile'. Don't source /etc/profile.
2014-12-09 18:51:01 +08:00
宋文武 fecbf86eaa gnu: Add libwnck.
* gnu/packages/gnome.scm (libwnck, libwnck-1): New variables.
2014-12-09 18:50:01 +08:00
宋文武 a693bba135 gnu: Add startup-notification.
* gnu/packages/xdisorg.scm (startup-notification): New variable.
2014-12-09 18:50:01 +08:00
Ludovic Courtès 6005bd0700 build: Make sure the installed 'config.go' is newer than 'config.scm'.
Fixes <http://bugs.gnu.org/19317>.
Reported by rekado <rekado@elephly.net>.

* gnu-system.am (install-data-hook): Rename to...
  (set-bootstrap-executable-permissions): ... this.
* Makefile.am (install-data-hook): New target.
2014-12-09 11:44:21 +01:00
Ludovic Courtès 9f6f1aacf6 Thank rekado. 2014-12-09 11:34:24 +01:00
Ludovic Courtès 659a92fc7b doc: Explain how to set the ownership and permissions of /gnu/store.
Fixes <http://bugs.gnu.org/19316>.
Reported by rekado <rekado@elephly.net>.

* doc/guix.texi (Build Environment Setup): Show commands to set the
  ownership and permissions of /gnu/store.
2014-12-09 11:30:26 +01:00
Ludovic Courtès 5f742c84d4 substitute-binary: Add missing newline in download progress report.
Fixes <http://bugs.gnu.org/19313>.
Reported by rekado <rekado@elephly.net>.

* guix/scripts/substitute-binary.scm (guix-substitute-binary)
  <--substitute>: Add 'newline' call.
2014-12-09 11:24:56 +01:00
Ludovic Courtès 6412e58a68 system: Don't make /boot/grub/grub.cfg a symlink to the store.
This would not work when /boot is a separate partition, as reported by
Nikita Karetnikov <nikita@karetnikov.org> in <http://bugs.gnu.org/19220>.
This fixes a regression introduced in 39d1f82.

* gnu/build/install.scm (install-grub): Copy GRUB.CFG instead of
  symlinking it, as was the case before 39d1f82.
* gnu/build/vm.scm (register-grub.cfg-root): Add 'grub.cfg' parameter.
  Make it a permanent GC root instead of an indirect GC root.
  (initialize-hard-disk): Adjust accordingly.
* guix/scripts/system.scm (install-grub*): Replace use of
  'add-indirect-root' by the addition of a permanent GC root in
  %GC-ROOTS-DIRECTORY.
2014-12-09 11:06:50 +01:00
Ludovic Courtès f6d9b3ded7 gnu: Add socat.
* gnu/packages/socat.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-08 23:29:23 +01:00
Ludovic Courtès a182e94e25 linux-initrd: Add the 'virtio_console' module for QEMU guests.
* gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Add
  "virtio_console".
2014-12-08 23:29:23 +01:00
Federico Beffa c3ea85d110 build-system/python: Add handling of 'propagated-inputs' in
'package-with-explicit-python'.

* guix/build-system/python.scm (package-with-explicit-python): Add mapping for
  'propagated-inputs'.
2014-12-08 09:54:34 +01:00
Federico Beffa 01480b9e1c gnu: atlas: Remove MIPS from 'supported-systems'.
* gnu/packages/maths.scm (atlas): Drop support for "mips64el-linux".
2014-12-08 09:54:34 +01:00
Jason Self e1bdb56e3b gnu: linux-libre: Update to 3.18
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.
2014-12-07 20:52:55 -08:00
Ludovic Courtès 18316d8656 system: Add 'man-db' to '%base-packages'.
Suggested by Tsutsukakushi on #guix.

* gnu/system.scm (%base-packages): Add MAN-DB.
2014-12-07 22:59:46 +01:00
Ludovic Courtès d8b94dbd76 doc: Give example uses of 'deco'.
Suggested by Sleep_Walker on #guix.

* doc/guix.texi (Services): Add 'deco' examples.
2014-12-07 22:55:06 +01:00
Ludovic Courtès 9668b3bb38 nls: Update 'eo' translation. 2014-12-07 21:50:58 +01:00
Ludovic Courtès 0d6a83390d gnu: python2-py2cairo: Fix 'license' field.
* gnu/packages/gtk.scm (python2-py2cairo)[license]: Change to a list of
  <license> (was a list of symbols.)
2014-12-07 12:14:19 +01:00
Alex Kost 4c8425b783 gnu: tzdata: Update to 2014j.
* gnu/packages/base.scm (tzdata): Update to 2014j.
2014-12-07 10:03:15 +03:00
宋文武 fa9d665385 gnu: fish: Use /etc as sysconfdir.
* gnu/packages/fish.scm (fish) [arguments]: Add #:configure-flags.
  [origin]: Add snippet.
2014-12-07 11:52:22 +08:00
Ludovic Courtès 6036453fff gnu: Add libyubikey and ykclient.
* gnu/packages/yubico.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-07 00:02:43 +01:00
Ludovic Courtès c9e46f1c39 guix system: Fix typo affecting 'guix system init'.
Fixes <http://bugs.gnu.org/19279>.
Fixes a regression introduced in cc7fa59.
Reported by Tomas Cech <tcech@suse.cz>.

* guix/scripts/system.scm (install): Fix order of arguments to 'lift'
  and 'lift2'.
2014-12-07 00:00:42 +01:00
nebuli 847391fe62 guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.
Appending to "raw" args broke optional parameters in 'guix package -I'
and 'guix package -A', and possibly other places.  Therefore, switch to
parsing each set of options on its own and append resulting alists
together afterwards.

* guix/scripts/archive.scm (parse-options-from): Rename from
  (parse-options) and add explicit argument.  New form of (parse-options)
  using its old algorithm via -from function.
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* tests/guix-package.sh: Add test.
* doc/guix.texi (Invoking guix build): Make it clear that the options
  are parsed independently.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-12-06 16:03:49 +01:00
Ludovic Courtès 6496de9bc2 activation: Don't create unneeded "/var/guix/gcroots/etc-directory".
* gnu/build/activation.scm (activate-etc): Don't create
  "/var/guix/gcroots/etc-directory".
2014-12-06 16:03:49 +01:00
宋文武 4c8d523f93 gnu: fish: Update to 2.1.1.
* gnu/packages/fish.scm (fish): Update to 2.1.1.
2014-12-06 19:09:07 +08:00
Ludovic Courtès 39d1f82b52 system: Make /boot/grub/grub.cfg an indirect GC root.
Fixes <http://bugs.gnu.org/19160>.

* guix/scripts/system.scm (install-grub*): Make /boot/grub/grub.cfg an
  indirect GC root.
* gnu/build/install.scm (install-grub): Make TARGET a symlink.
* gnu/build/vm.scm (register-grub.cfg-root): New procedure.
  (initialize-hard-disk): Use it.
2014-12-04 23:53:16 +01:00
Ludovic Courtès 764ee9e808 nls: Update Hungarian translation. 2014-12-04 23:53:16 +01:00
Ludovic Courtès c3e79cde06 guix system: Factorize 'grub-install' error handling, and use more 'mbegin'.
* guix/scripts/system.scm (install-grub*): New procedure.
  (install): Use it, and use 'mwhen?'.
  (perform-action) <reconfigure>: Likewise.
2014-12-04 23:53:16 +01:00
Federico Beffa bb986599e6 gnu: Add scipy.
* gnu/packages/python.scm (python-scipy, python2-scipy): New variables.
2014-12-04 16:06:40 +01:00
宋文武 65a056900f gnu: Add dmenu.
* gnu/packages/dwm.scm (dmenu): New variable.
2014-12-04 18:51:14 +08:00
Ludovic Courtès f47f676120 gnu: glib: Update to 2.40.2.
* gnu/packages/glib.scm (glib): Update to 2.40.2.
2014-12-03 22:52:19 +01:00
Ludovic Courtès 36d2a3afeb gnu: glib: Work around unreliable GIO test.
Fixes <http://bugs.gnu.org/18445>.

* gnu/packages/patches/glib-tests-gapplication.patch: New file
* gnu/packages/glib.scm (glib)[source]: Add it.
* gnu-system.am (dist_patch_DATA): Add it.
2014-12-03 22:52:19 +01:00
Ludovic Courtès f2122ed1dc gnu: dbus: Update to 1.8.10.
* gnu/packages/glib.scm (dbus): Update to 1.8.10.
  (dbus-1.8.10): Remove.
2014-12-03 22:52:19 +01:00
Ludovic Courtès 845d48e7a1 nls: Add Hungarian translation.
* po/packages/hu.po: New file.
* po/packages/LINGUAS: Add it.
2014-12-03 22:52:19 +01:00
Alex Kost 5ec98c3de5 doc: emacs: Fix typo.
Reported by Ludovic Courtès <ludo@gnu.org>.

* doc/emacs.texi (Emacs Initial Setup): Replace "inbuilt" with "built-in".
2014-12-03 20:25:27 +03:00
John Darrington 1567bb1976 gnu: Add tre (including the agrep utility)
* gnu/packages/tre.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-03 11:14:57 +01:00
Alex Kost a7f862e4da doc: emacs: Document autoloading Emacs packages.
* doc/emacs.texi (Emacs Initial Setup): Describe how Emacs packages installed
  in a user profile are autoloaded by "guix.el"
2014-12-02 22:09:24 +03:00
Alex Kost d51cafb041 gnu: emacs: Add autoloads for Emacs packages.
* gnu/packages/emacs.scm (geiser): Make "geiser-autoloads.el" by
  symlinking "geiser-install.el".
  (emacs-w3m): Make "w3m-autoloads.el" by symlinking "w3m-load.el".
  (emms): Make "emms-autoloads.el" by symlinking "emms-auto.el".
  (paredit): Generate "paredit-autoloads.el".
  (magit): Generate "magit-autoloads.el".
  (emacs-wget): Generate "wget-autoloads.el".
2014-12-02 22:09:24 +03:00
Alex Kost 0b08600ca5 build: emacs-utils: Add 'emacs-generate-autoloads'.
* guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.
2014-12-02 22:09:23 +03:00
Alex Kost 12f2490aa3 emacs: Handle autoloading Emacs packages installed with Guix.
* emacs/guix-emacs.el: New file.
* emacs.am (ELFILES): Add it.
* emacs/guix-backend.el (guix-after-repl-operation-hook): Add
  'guix-emacs-load-autoloads-maybe'.
* emacs/guix-init.el.in: Autoload emacs packages.
  (guix-package-enable-at-startup): New variable.
2014-12-02 22:09:23 +03:00
Alex Kost 3db349cb09 emacs: Move profiles code to "guix-profiles.el.in".
* emacs/guix-base.el (guix-user-profile, guix-default-profile,
  guix-current-profile, guix-profile-prompt, guix-set-current-profile): Move
  to...
* emacs/guix-init.el.in (guix-default-profile): Move to...
* emacs/guix-profiles.el.in: ... here.  New file.
* configure.ac (AC_CONFIG_FILES): Add "emacs/guix-profiles.el".
* emacs.am (nodist_lisp_DATA): Likewise.
2014-12-02 22:09:22 +03:00
Ludovic Courtès ece9b4173b gnu: Add more missing (gnu packages xdisorg) import.
This is a followup to 3c156c8..

* gnu/packages/qemu.scm, gnu/packages/texlive.scm: Use (gnu packages
  xdisorg).
2014-12-02 18:29:55 +01:00
Ludovic Courtès b2b7def1cc gnu: Add missing (gnu packages xdisorg) import.
This is a followup to 3c156c8..

* gnu/packages/gl.scm: Use (gnu packages xdisorg).
2014-12-02 17:47:42 +01:00
Ludovic Courtès 6c0e878e68 gnu: Add missing uses of (gnu packages xdisorg).
This is a followup to 3c156c8.

* gnu/packages/gtk.scm: Use (gnu packages xdisorg).
* gnu/packages/xorg.scm: Likewise.
2014-12-02 17:16:58 +01:00
Ludovic Courtès ec38437f94 packages: Use the target's system Guile when downloading patches.
* guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in
  'package-source-derivation' call.
2014-12-02 16:51:43 +01:00
Ludovic Courtès 7ce7361b76 derivations: Export 'derivation-builder'.
* guix/derivations.scm: Export 'derivation-builder'.
2014-12-02 16:51:43 +01:00
Ludovic Courtès bc73aa439f doc: Adjust misleading 'user-account' example.
Reported by Sleep_Walker on #guix.

* doc/guix.texi (Using the Configuration System): Remove numeric UID and
  GID from example.
2014-12-02 16:51:43 +01:00
Ludovic Courtès b307c06456 monads: Add 'lift0'.
* guix/monads.scm (lift0): New variable.
2014-12-02 16:51:43 +01:00
Ludovic Courtès 21caa6deeb monads: Add 'mwhen' and 'munless'.
* guix/monads.scm (mbegin): Add special '%current-monad' syntactic
  keyword.
  (mwhen, munless): New macros.
2014-12-02 16:51:43 +01:00
Ludovic Courtès cc7fa5929c guix system: Use 'mbegin' for 'install'.
* guix/scripts/system.scm (install): Use 'mbegin'.  Lift FORMAT and
  POPULATE-ROOT-FILE-SYSTEM, and use the result.
2014-12-02 16:51:43 +01:00
Eric Bavier f4c4513d47 gnu: Add gourmet.
* gnu/packages/nutrition.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-02 08:35:06 -06:00
Eric Bavier 0b96fb2ac0 gnu: Add python2-pygtk.
* gnu/packages/gtk.scm (python2-pygtk): New variable.
2014-12-02 08:35:06 -06:00
Eric Bavier a1de06b6ab gnu: Add python-pygobject.
* gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch:
  New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/glib.scm (python-pygobject, python2-pygobject-2): New
  variables.
2014-12-02 08:35:06 -06:00
Eric Bavier fbcfa73074 gnu: Add python-pycairo.
* gnu/packages/gtk.scm (python-pycairo, python2-py2cairo): New variables.
2014-12-02 08:35:06 -06:00
Eric Bavier ea5456c88c gnu: Add python-elib.intl.
* gnu/packages/python.scm (python-elib.intl, python2-elib.intl): New
  variables.
2014-12-02 08:35:06 -06:00
Eric Bavier 1671c07cc7 gnu: Add python-distutils-extra.
* gnu/packages/python.scm (python-distutils-extra, python2-distutils-extra):
  New variables.
2014-12-02 08:35:06 -06:00
Eric Bavier c937562e2f gnu: Add python-pillow.
* gnu/packages/python.scm (python-pillow, python2-pillow): New variables.
2014-12-02 08:35:06 -06:00
Eric Bavier 94914805c2 gnu: Add python-sqlalchemy.
* gnu/packages/python.scm (python-sqlalchemy, python2-sqlalchemy): New
  variables.
2014-12-02 08:35:06 -06:00
Eric Bavier b88e1b0a62 gnu: python: Add sqlite input.
* gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch,
  gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch: New patches.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/python.scm (python-2)[source]: Add patch.
  [inputs]: Add sqlite.
  (python)[source]: Add patch.
2014-12-02 08:33:31 -06:00
Eric Bavier 7639105b12 gnu: subversion: Fix libtool wrapper execution in hooks.
* gnu/packages/version-control.scm (subversion)[arguments]: New
  'patch-libtool-wrapper-ls phase.
2014-12-02 08:33:30 -06:00
John Darrington de878f1b29 gnu: Add xclip.
* gnu/packages/xdisorg.scm (xclip): New variable.
2014-12-02 15:13:10 +01:00
John Darrington 3c156c8a94 gnu: move xorg to xdisorg
* gnu/packages/xorg.scm (xeyes, pixman, libdrm, libdrm-2.4.33, mtdev):
  Move to ...
* gnu/packages/xdisorg.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-12-02 15:13:10 +01:00
Federico Beffa 2ee8869a69 gnu: Add numpy.
* gnu/packages/python.scm (python-numpy, python2-numpy): New variables.
2014-12-02 11:12:44 +01:00
Ludovic Courtès 4cdec09a39 gnu: bittorrent: Build with 'glib-or-gtk-build-system'.
Fixes <http://bugs.gnu.org/19128>.

* gnu/packages/bittorrent.scm (transmission)[build-system]: Change to
  GLIB-OR-GTK-BUILD-SYSTEM.
  [arguments]: Add #:glib-or-gtk-wrap-excluded-outputs argument.
2014-12-01 22:41:04 +01:00
Ludovic Courtès 73aa8ddb75 build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add
  #:glib-or-gtk-wrap-excluded-outputs parameter and honor it.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add
  #:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER.
* doc/guix.texi (Build Systems): Mention it.
2014-12-01 22:41:04 +01:00
Ludovic Courtès c8b7569558 build-system/glib-or-gtk: Correctly handle multiple-output packages.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Move body
  to 'handle-output' inner procedure, and parametrize it by output name
  and directory.  Call it for each element of OUTPUTS.
  (compile-glib-schemas): Likewise.
2014-12-01 22:41:04 +01:00
Ludovic Courtès 4efdabb810 build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Use
  'for-each' instead of 'map' in for-effect contexts.  Use 'cut' instead
  of 'lambda' when appropriate.
2014-12-01 22:41:04 +01:00
Ludovic Courtès 85dbd3dcd0 build-system/glib-or-gtk: Clean up whitespace.
* guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup.
2014-12-01 22:41:04 +01:00
Andreas Enge e823c14918 gnu: libgpg-error: Update to 1.17.
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.17.
2014-12-01 22:39:47 +01:00
Andreas Enge 29cafd17f8 gnu: libtasn1: Update to 4.2.
* gnu/packages/gnutls.scm (libtasn1): Update to 4.2.
2014-12-01 22:35:39 +01:00
Andreas Enge 0bee13a4d9 gnu: parallel: Update to 20141122.
* gnu/packages/parallel.scm (parallel): Update to 20141122.
2014-12-01 22:33:44 +01:00
Andreas Enge fc205802ed gnu: ocrad: Update to 0.24.
* gnu/packages/ocrad.scm (ocrad): Update to 0.24.
2014-12-01 22:32:03 +01:00
Andreas Enge 98a11f81d1 gnu: libmicrohttpd: Update to 0.9.38.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.38.
2014-12-01 22:30:39 +01:00
Andreas Enge 8cb3f90074 gnu: freeipmi: Update to 1.4.6.
* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.6.
2014-12-01 22:24:32 +01:00
Andreas Enge 3de92182a4 gnu: help2man: Update to 1.46.4.
* gnu/packages/man.scm (help2man): Update to 1.46.4.
2014-12-01 22:21:18 +01:00
Andreas Enge bdeb576793 gnu: global: Update to 6.3.3.
* gnu/packages/global.scm (global): Update to 6.3.3.
2014-12-01 22:19:46 +01:00
Andreas Enge 4f7181b5df gnu: ucommon: Update to 6.2.3.
* gnu/packages/telephony.scm (ucommon): Update to 6.2.3.
2014-12-01 21:46:32 +01:00
Andreas Enge d514bedb05 gnu: cd-discid: Fix download location.
* gnu/packages/cdrom.scm (cd-discid): Fix download location.
2014-12-01 21:42:21 +01:00
Ludovic Courtès 7cc7dec139 build-system/gnu: Add 'compress-documentation' phase.
* guix/build/gnu-build-system.scm (compress-documentation): New
  procedure.
  (%standard-phases): Add it.
2014-12-01 16:50:28 +01:00
Ludovic Courtès 9741aca9a5 utils: Add 'symbolic-link?'.
* guix/build/utils.scm (symbolic-link?): New procedure.
2014-12-01 15:46:38 +01:00
Ludovic Courtès d68fe74162 build-system/gnu: Add 'validate-documentation-location' phase.
* guix/build/gnu-build-system.scm (validate-documentation-location): New
  procedure.
  (%standard-phases): Add it.
2014-12-01 14:09:36 +01:00
Eric Bavier a63094a752 gnu: Add git-test-sequence.
* gnu/packages/version-control.scm (git-test-sequence): New variable.
2014-12-01 00:23:24 -06:00
Eric Bavier c7810bd1a8 gnu: Add git-flow.
* gnu/packages/version-control.scm (git-flow, shflags): New variables.
2014-12-01 00:23:23 -06:00
Ludovic Courtès 40b4c6d606 gnu: wpa-supplicant: Remove dependency on DBus.
* gnu/packages/admin.scm (wpa-supplicant): Remove dependency on DBUS.
2014-11-30 23:23:24 +01:00
nebuli 16eb115ef4 guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.
* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'.
* guix/scripts/archive.scm: (append args (environment-build-options)).
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* guix/ui.scm (environment-build-options): New function.
* guix/utils.scm (arguments-from-environment-variable): New function.
* tests/guix-build.sh: Add tests.
* test-env.in: Unset GUIX_BUILD_OPTIONS.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-11-30 18:54:07 +01:00
Ludovic Courtès 6efc160efe daemon: Default to '--cores=0'.
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.

* nix/nix-daemon/guix-daemon.cc (main): Set 'settings.buildCores' to 0.
* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.
2014-11-30 18:54:07 +01:00
Ludovic Courtès 5f86a66efd doc: Explain that 'file-system' must refer to mapped devices by file name.
* doc/guix.texi (File Systems): Clarify what to do when mapped devices
  are used.
2014-11-30 18:54:07 +01:00
Ludovic Courtès 9cb426b8bf Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'."
This reverts commit 3b09332adf, which
turned out to be a bad idea because we need to have dependency
information between the device-mapping service and the file-system
service that uses it.
2014-11-30 18:54:07 +01:00
Federico Beffa 1c65314c60 gnu: Add matplotlib.
* gnu/packages/python.scm (python-matplotlib, python2-matplotlib): New
  variables.
2014-11-30 16:59:08 +01:00
Alex Kost 2c37a34cb8 services: xorg: Add 'xf86-video-sis'.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  ModulePath for 'xf86-video-sis'.
2014-11-30 09:53:20 +03:00
Ludovic Courtès f5d9604f27 gnu-maintenance: Support .zip files.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/gnu-maintenance.scm (sans-extension): Add case for ".zip".
  (%tarball-rx): Extend to handle .zip extension.
2014-11-29 22:34:59 +01:00
Taylan Ulrich B 2184ed9179 gnu: Add mg.
* gnu/packages/mg.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add mg.scm.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-29 22:34:59 +01:00
宋文武 ec01f22d15 gnu: wireless-tools: Install the manual pages under $out/share/man.
* gnu/packages/linux.scm (wireless-tools)[origin]: Add snippet.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-29 22:34:58 +01:00
Ludovic Courtès 7dfc937e2f gnu: Add abcde.
* gnu/packages/cdrom.scm (abcde): New variable.
2014-11-29 22:34:58 +01:00
Ludovic Courtès e2bb5fd627 gnu: Add cd-discid.
* gnu/packages/cdrom.scm (cd-discid): New variable.
2014-11-29 22:34:58 +01:00
Ludovic Courtès fbe52bcda2 gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update.
2014-11-29 22:34:58 +01:00
Ludovic Courtès 1c0c417d2d doc: Improve porting instructions.
* doc/guix.texi (Porting): Move 'glibc-dynamic-linker' paragraph above.
  Clarify what is meant by updating (gnu packages bootstrap).  Mention
  'gnu-system.am'.
2014-11-29 22:34:58 +01:00
Alex Kost 1cc8f3a63c system: locale: Fix typo in docstring.
* gnu/system/locale.scm (localedef-command): Fix typo.
2014-11-30 00:33:00 +03:00
Andreas Enge 5e6bdf06a7 gnu: Rename fonts according to our new naming scheme.
* gnu/packages/fonts.scm (ttf-dejavu): Rename to ...
* gnu/packages/fonts.scm (font-dejavu): ... this.
* gnu/packages/fonts.scm (ttf-bitstream-vera): Rename to ...
* gnu/packages/fonts.scm (font-bitstream-vera): ... this.
* gnu/packages/fonts.scm (freefont-ttf): Rename to ...
* gnu/packages/fonts.scm (font-gnu-freefont-ttf): ... this.
* gnu/packages/fonts.scm (terminus-font): Rename to ...
* gnu/packages/fonts.scm (font-terminus): ... this.
2014-11-29 21:48:38 +01:00
Ludovic Courtès 3b09332adf system: Add a 'needed-for-boot?' field to 'mapped-device'.
* gnu/system/file-systems.scm (<mapped-device>)[needed-for-boot?]: New
  field.
* gnu/system.scm (operating-system-user-mapped-devices,
  operating-system-boot-mapped-devices): Use it instead of trying to
  guess.  Guessing doesn't work when one refers to a partition using its
  label, for instance.
* doc/guix.texi (Mapped Devices): Document 'needed-for-boot?'.
2014-11-29 14:40:26 +01:00
Ludovic Courtès 9cd0dfaa46 system: Change "en_US.UTF-8" to "en_US.utf8".
* build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8".
* gnu/system/install.scm (installation-os)[locale]: Ditto.
2014-11-29 11:37:53 +01:00
Ludovic Courtès 7c4885f0d7 linux-modules: Correctly propagate error code from 'init_module'.
* gnu/packages/patches/guile-linux-syscalls.patch (scm_load_linux_module):
  Leave 'errno' unchanged when ERR != 0.
* gnu/build/linux-modules.scm (load-linux-module*): Check for the errno
  value of ARGS to determine whether the module was already loaded.
2014-11-28 15:08:56 +01:00
Ludovic Courtès 08b1990a93 linux-initrd: Remove the ".ko" suffix from module names in 'base-initrd'.
* gnu/system/linux-initrd.scm (base-initrd): Remove the .ko suffix from
  module names.
2014-11-28 00:10:28 +01:00
Ludovic Courtès d7e66f6295 linux-initrd: Remove now redundant module names.
* gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Remove
  "virtio.ko" and "virtio_ring.ko".
  [virtio-9p-modules]: Remove "fscache.ko" and "9pnet.ko".
  [linux-modules]: Remove "libahci.ko".
2014-11-28 00:10:28 +01:00
Ludovic Courtès 0e704a2d4e linux-boot: Load modules and their dependencies, à la 'modprobe'.
* gnu/build/linux-boot.scm: Use (gnu build linux-modules).
  (load-linux-module*): Remove.
  (boot-system): Add #:linux-module-directory parameter.
  [lookup-module]: New procedure.
  Call 'current-module-debugging-port'.  Pass #:lookup-module to
  'load-linux-module*'.  Map LOOKUP-MODULE on LINUX-MODULES.
* gnu/system/linux-initrd.scm (base-initrd): Adjust 'boot-system' call
  accordingly.  Adjust #:modules argument as well.
* gnu/system.scm (operating-system-activation-script)[%modules]: Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
2014-11-28 00:10:28 +01:00
Ludovic Courtès 600c285b63 linux-initrd: Copy modules and their dependencies to the initrd.
* gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]:
  Add 'lookup' procedure.  Use 'recursive-module-dependencies' to
  compute the list of modules to copy.
  Adjust #:modules parameter.
2014-11-28 00:10:28 +01:00
Ludovic Courtès fcaa5f44a1 system: Add (gnu build linux-modules).
* gnu/build/linux-modules.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-11-28 00:10:28 +01:00
Ludovic Courtès d5d1668630 Add (guix elf).
* guix/elf.scm: New file.  Taken from Guile 'master', commit 3f826e3.
* Makefile.am (MODULES): Add it.
* THANKS: Thank Andy, who wrote this module.
2014-11-28 00:10:28 +01:00
Ludovic Courtès 1f6f57df7c doc: Update stale references in "Bootstrapping".
* doc/guix.texi (Bootstrapping): Final definitions are in (gnu packages
  commencement).
  Change gnu-build-system xref to "Build Systems".
2014-11-28 00:10:27 +01:00
Ludovic Courtès d616c05529 substitute-binary: Change "unresponsive" to "slow".
* guix/scripts/substitute-binary.scm (fetch): Change "unresponsive" to
  "somewhat slow".  I'm being told that the former is often
  misunderstood as "broken".
2014-11-28 00:10:27 +01:00
Andreas Enge 4625141126 gnu: gcl: Drop 'strip phase.
* gnu/packages/lisp.scm (gcl): Drop 'strip phase to make maxima build.
2014-11-27 23:34:46 +01:00
Federico Beffa ec00de358e gnu: Add numpydoc.
* gnu/packages/python.scm (python-numpydoc, python2-numpydoc): New variables.
2014-11-27 09:50:47 +01:00
Ludovic Courtès 598e19dca1 system: Build system-wide locale definitions.
* gnu/system/locale.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system.scm (<operating-system>)[locale]: Change the default to
  "en_US.utf8".
  (operating-system-locale-directory): New procecure.
  (operating-system-derivation): Use it.
* doc/guix.texi (Using the Configuration System): Change example locale
  to "fr_FR.utf8".
  (operating-system Reference): Add xref to "Locales".  Document
  'locale-definitions'.
  (Locales): New section.
* po/guix/POTFILES.in: Add gnu/system.scm.
2014-11-27 08:55:46 +01:00
Ludovic Courtès e9bab1df6d gnu: gawk: Build a UTF-8 locale for the tests.
* gnu/packages/gawk.scm (gawk)[arguments]: Add 'install-locales' phase.
2014-11-26 23:34:34 +01:00
Andreas Enge 9b4d1e7321 gnu: ccrtp: Update to 2.1.1.
* gnu/packages/telephony.scm (ccrtp): Update to 2.1.1.
2014-11-26 21:29:42 +01:00
Alex Kost cbbc877134 emacs: Add missing directory to the guile load path.
Reported by Adam Pribyl and David Thompson.

* emacs/guix-helper.scm.in (set-paths!): Add guile module dir to '%load-path'.
2014-11-26 23:07:16 +03:00
Andreas Enge d57b88bed5 Update gnupg mirrors.
* guix/download.scm (%mirrors): Update mirror list for gnupg.
2014-11-26 19:52:11 +01:00
Andreas Enge e26e134b4a gnu: ucommon: Update to 6.2.2.
* gnu/packages/telephony.scm (ucommon): Update to 6.2.2.
2014-11-26 14:56:51 +01:00
Andreas Enge 07ba213a39 gnu: sipwitch: Update to 1.9.3.
* gnu/packages/telephony.scm (sipwitch): Update to 1.9.3.
2014-11-26 14:56:51 +01:00
Ludovic Courtès 67979e42c3 linux-boot: Call 'pre-mount' before 'mount-root-file-system'.
Partly fixes <http://bugs.gnu.org/19190>.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* gnu/build/linux-boot.scm (boot-system): Move PRE-MOUNT call before
  'mount-root-file-system' is called.
2014-11-26 11:58:06 +01:00
Ludovic Courtès 76bacc8264 linux-boot: Error out when 'pre-mount' returns #f.
* gnu/build/linux-boot.scm (boot-system): Call 'error' when PRE-MOUNT
  returns #f.
2014-11-26 11:54:21 +01:00
Taylan Ulrich Bayırlı/Kammer 094b2efc3c utils: Improve docstring of 'substitute*' & co.
* guix/build/utils.scm (substitute): Clarify first sentence of
  docstring and add warning to the docstring about using '$' to match
  an end of line.
  (substitute*): Add warning to the docstring about using '$' to match
  an end of line.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-26 11:17:48 +01:00
Ludovic Courtès 97e1120903 gnu: glibc: Do not install all the locales.
* gnu/packages/base.scm (glibc)[outputs]: Remove "locales".
  [arguments]: Remove --localedir argument.  Change libc_cv_localedir
  value to "/run/current-system/locale".  Remove 'install-locales'
  phase.
2014-11-26 11:16:05 +01:00
Ludovic Courtès 2d2a2bacc0 gnu: emms: Enable the 'mp3info' back-end for MP3 meta-data.
* gnu/packages/emacs.scm (emms)[arguments]: Properly initialize
  'emms-info-mp3info-program-name'.  This allows the 'emms-info-mp3info'
  back-end to be enabled by default, even when 'mp3info' is not in
  $PATH.
2014-11-26 09:24:06 +01:00
Ludovic Courtès 588a781396 gnu: pkg-config: Add pkg.m4 to the cross pkg-config.
Suggested by John Darrington.

* gnu/packages/pkg-config.scm (cross-pkg-config): Make
  $out/share/aclocal a symlink to %PKG-CONFIG/share/aclocal.
2014-11-25 23:12:42 +01:00
Ludovic Courtès 90fad2880d emacs: Disable build traces produced by the daemon.
* emacs/guix-main.scm (process-package-actions,
  package-source-build-derivation): Pass #:print-build-trace #f to
  'set-build-options', to reduce verbosity.
2014-11-25 23:01:48 +01:00
Andreas Enge e43c2a0b89 gnu: gss: Update to 1.0.3.
* gnu/packages/gsasl.scm (gss): Update to 1.0.3.
2014-11-25 22:47:51 +01:00
Ludovic Courtès f6526eb330 guix build: Add '--max-jobs' option.
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.

* guix/scripts/build.scm (show-build-options-help): Document
  --max-jobs.
  (set-build-options-from-command-line): Pass #:max-build-jobs.
  (%standard-build-options): Add --max-jobs.
* doc/guix.texi (Invoking guix-daemon): Document the meaning of
  '--max-jobs 0'.
  (Invoking guix build): Document --max-jobs, with a reference to
  "Invoking guix-daemon'.
2014-11-25 22:37:44 +01:00
Taylan Ulrich Bayırlı/Kammer 1b366ee4f6 doc: Fix syntax errors.
* doc/guix.texi (Package Naming):
  (Fonts): Remove space between '@foo' and '{'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-25 22:37:44 +01:00
Federico Beffa 15bfe6d635 gnu: Add pyparsing.
* gnu/packages/python.scm (python-pyparsing, python2-pyparsing): New
  variables.
2014-11-25 22:04:38 +01:00
Ludovic Courtès a82bec4e89 gnu: Remove #:select on circular dependency.
* gnu/packages/mp3.scm: Remove #:select on (gnu packages linux) so that
  the circular dependency is correctly handled.
2014-11-25 21:49:20 +01:00
Ludovic Courtès 77c9286d4a gnu: Add EMMS.
* gnu/packages/emacs.scm (emms): New variable.
2014-11-25 18:01:59 +01:00
Ludovic Courtès 4d6b879cb5 file-systems: 'file-system-needed-for-boot?' always returns #t for "/".
Reported by Nikita Karetnikov.

* gnu/system/file-systems.scm (<file-system>): Rename 'needed-for-boot?'
  accessor to '%file-system-needed-for-boot?'.
  (file-system-needed-for-boot?): New inlinable procedure.
* gnu/system.scm (other-file-system-services)[file-systems]: Rely on
  'file-system-needed-for-boot?' to handle the "/" case.
  (operating-system-initrd-file)[boot-file-systems]: Likewise.
2014-11-25 18:01:59 +01:00
Ludovic Courtès 6eef465eea gnu: libksba: Update to 1.3.2 [security fix].
* gnu/packages/gnupg.scm (libksba): Update to 1.3.2.
2014-11-25 18:01:59 +01:00
Ludovic Courtès c63bc533c1 build: Bump version number.
* configure.ac: Bump to 0.9.
2014-11-25 18:01:59 +01:00
Ludovic Courtès db84467a90 install: Add wpa-supplicant to the image.
Reported by Amirouche Boubekki <amirouche.boubekki@gmail.com>.

* gnu/system/install.scm (installation-os)[packages]: Add
  WPA-SUPPLICANT.
2014-11-25 18:01:59 +01:00
Ludovic Courtès 086518ddf3 gnu: Add TagLib.
* gnu/packages/mp3.scm (taglib): New variable.
2014-11-25 18:01:59 +01:00
Ludovic Courtès 0ae332d3ef licenses: Add MPL 1.1.
* guix/licenses.scm (mpl1.1): New variable.
2014-11-25 18:01:59 +01:00
Ludovic Courtès 68ff528c75 gnu: Add mp3info.
* gnu/packages/mp3.scm (mp3info): New variable.
2014-11-25 18:01:59 +01:00
Ludovic Courtès 2cdda52b1a import: gnu: Write the hash in nix-base32 format.
* guix/import/gnu.scm (gnu-package->sexp): Use
  'bytevector->nix-base32-string', not 'bytevector->base32-string'.
2014-11-25 18:01:59 +01:00
Andreas Enge e6c1e91d8b gnu: gcl: Update to 2.6.12.
* gnu/packages/lisp.scm (gcl): Update to 2.6.12.
2014-11-25 08:55:26 +01:00
Ludovic Courtès c4a298c52c gnu: grep: Update to 2.21.
* gnu/packages/base.scm (grep): Update to 2.21.
2014-11-24 22:47:41 +01:00
Ludovic Courtès f8bcf1935a build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.
* guix/build/gnu-build-system.scm (strip): Check whether 'file-exists?'
  before calling 'elf-file?' and 'ar-file?'.  This should fix build
  failures in the presence of dangling symlinks, as in
  <http://hydra.gnu.org/build/167521/nixlog/1/raw>.
2014-11-24 22:45:41 +01:00
Federico Beffa 0da9853360 gnu: Add numpy-bootstrap.
* gnu/packages/python.scm (python-numpy-bootstrap, python2-numpy-bootstrap):
  New file-local variables.
2014-11-24 22:22:20 +01:00
Taylan Ulrich B 2d8dc79c1e gnu: Add rTorrent.
* gnu/packages/bittorrent.scm (rtorrent): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-24 22:01:47 +01:00
Ludovic Courtès df66fee79a gnu: Add libTorrent.
* gnu/packages/bittorrent.scm (libtorrent): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-24 22:01:08 +01:00
Julien Lepiller e8435c4d28 gnu: Add claws-mail.
* gnu/packages/mail.scm (claws-mail): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-24 21:52:39 +01:00
Julien Lepiller f58f767b6d gnu: Add libetpan.
* gnu/packages/mail.scm (libetpan): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-24 21:52:39 +01:00
Ludovic Courtès aaa3eaa97e doc: Add detailed node listing.
* doc/guix.texi (Top): Add @detailmenu.
2014-11-24 21:52:39 +01:00
宋文武 98e9e22feb gnu: Add getmail.
* gnu/packages/mail.scm (getmail): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-24 21:52:39 +01:00
Ludovic Courtès 20dd519cdb doc: Add xrefs to the lsh manual.
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.

* gnu/services/ssh.scm (lsh-service): Update docstring with xrefs to
  the lsh manual.  Fix typos.
* doc/guix.texi (Networking Services): Synchronize.
2014-11-24 21:52:39 +01:00
Alex Kost 1619111731 gnu: Add 'font-liberation'.
* gnu/packages/fonts.scm (font-liberation): New variable.
2014-11-24 23:18:50 +03:00
Federico Beffa faef3b153a gnu: xfig: Add 'wrap-xfig phase.
* gnu/packages/xfig.scm (xfig): Set XAPPLRESDIR environment variable to help
  xfig find the app-defaults resource files.
2014-11-24 18:28:52 +01:00
Alex Kost fa1e31b8a5 doc: Fix typos.
* doc/guix.texi (Base Services): Fix 'lsh-service' name.
  (Networking Services): Fix (gnu services networking) module name.
2014-11-24 01:55:00 +03:00
Andreas Enge 47757541b9 gnu: vera: Update to 1.22.
* gnu/packages/dictionaries.scm (vera): Update to 1.22.
2014-11-23 22:13:13 +01:00
Andreas Enge 723fa420b4 gnu: ddrescue: Update to 1.19.
* gnu/packages/disk.scm (ddrescue): Update to 1.19.
2014-11-23 22:13:13 +01:00
Ludovic Courtès b419c7f5fb install: Add Cryptsetup to the image.
Reported by Nikita Karetnikov.

* gnu/system/install.scm (installation-os)[packages]: Add CRYPTSETUP.
* doc/guix.texi (System Installation): Mention it.
2014-11-23 21:56:31 +01:00
Andreas Enge b6e2215af7 gnu: libcdio: Update to 0.93.
* gnu/packages/cdrom.scm (libcdio): Update to 0.93.
2014-11-23 21:52:18 +01:00
Ludovic Courtès 5d1f117784 doc: Fix erroneous cross-manual references.
* doc/guix.texi (User Accounts): Fix cross-references to libc and guile.
2014-11-23 21:48:47 +01:00
nebuli 8b47758f02 store: default to serial "scheduler"
* guix/store.scm (set-build-options): exchange default argument values

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-23 21:48:47 +01:00
Andreas Enge 7fec52b78b doc: Add a section on naming conventions for font packages.
* doc/guix.texi (Fonts): New section.
  (Package naming): Reference the new section.
2014-11-23 21:37:51 +01:00
Ludovic Courtès c23d17095d utils: 'elf-file?' and 'ar-file?' return #f for directories.
This avoids uncaught exceptions when the 'strip' phase would call these
procedures on symlinks to directories, such as 'lib/terminfo' in
ncurses (see <http://hydra.gnu.org/build/167310/nixlog/1/tail-reload>.)

* guix/build/utils.scm (file-header-match): Catch 'system-error', and
  return #f upon EISDIR.
2014-11-23 19:19:35 +01:00
David Thompson 0c645f0bd1 gnu: abbaye: Fix install phase.
* gnu/packages/games (abbaye): Create '/share/pixmaps' directory
  before installing.
2014-11-23 11:30:44 -05:00
Andreas Enge bc0b89bb3e gnu: xf86-video-openchrome: Patch to correct build failure.
* gnu/packages/xorg.scm (xf86-video-openchrome): Add patch for build failure
    with glibc-2.20. Fixes bug #18740.
* gnu/packages/patches/xf86-video-openchrome-includes.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
2014-11-23 15:46:06 +01:00
Federico Beffa af89a66735 gnu: atlas: Try to fix build on MIPS.
* gnu/packages/maths.scm (atlas): Add MIPS specific configure flags.
2014-11-23 15:37:29 +01:00
Andreas Enge bc9812f150 gnu: gegl: Disable tests.
* gnu/packages/gimp.scm (gegl): Disable tests since failures are apparently
    not taken care of in upstream releases.
2014-11-23 13:49:48 +01:00
Ludovic Courtès 1d1fa9327c utils: Turn 'parallel-job-count' into a parameter.
* guix/build/utils.scm (parallel-job-count): Turn into a SRFI-39 parameter.
2014-11-22 21:57:05 +01:00
Ludovic Courtès e8c7fdda5d build-system/gnu: Strip 'ar' archives as well.
* guix/build/gnu-build-system.scm (strip): Also strip when (ar-file?
  PATH) is true.
2014-11-22 21:54:27 +01:00
Ludovic Courtès 2bbc6db5e2 utils: Factorize magic bytes detection.
* guix/build/utils.scm (file-header-match): New procedure.
  (%elf-magic-bytes): New variable.
  (elf-file?, ar-file?): Define using 'file-header-match'.
2014-11-22 21:52:57 +01:00
Ludovic Courtès 91ee959b03 utils: Add 'ar-file?'.
* guix/build/utils.scm (%ar-magic-bytes): New variable.
  (ar-file?): New procedure.
2014-11-22 21:52:12 +01:00
Ludovic Courtès 2acb8b272a gnu: youtube-dl: Update to 2014.11.21.1.
* gnu/packages/video.scm (youtube-dl): Update to 2014.11.21.1.
2014-11-22 19:16:02 +01:00
Jason Self 49ff939f52 gnu: linux-libre: Update to 3.17.4
* gnu/packages/linux.scm (linux-libre): Update to version 3.17.4.
2014-11-22 07:14:51 -08:00
Andreas Enge 5dee80dde2 gnu: libxkbcommon: Add inputs libx11 and xkeyboard-config and use
corresponding configure flags.

* gnu/packages/qt.scm (libxkbcommon): Add inputs libx11 and xkeyboard-config.
    Use configure flags to set XKB config root and X11 locale root
    directories.
2014-11-22 13:06:58 +01:00
Andreas Enge 8b6a5e0f82 gnu: qt: Add input ruby.
* gnu/packages/qt.scm (qt): Add input ruby.
2014-11-22 13:06:58 +01:00
Ludovic Courtès 50b87bd54b build-system/gnu: Strip only ELF files.
Suggested by Mark H Weaver <mhw@netris.org>
at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00395.html>.

* guix/build/gnu-build-system.scm (strip)[strip-dir]: Strip only
  when (elf-file? PATH) is true.
2014-11-22 12:49:14 +01:00
Ludovic Courtès 99533da50d utils: Add 'elf-file?'.
* guix/build/utils.scm (elf-file?): New procedure.
2014-11-22 12:44:56 +01:00
Ludovic Courtès e6039b9c70 utils: Export 'parallel-job-count'.
* guix/build/utils.scm (parallel-job-count): New procedure.
* guix/build/gnu-build-system.scm (%parallel-job-count): Remove.
  (build, check): Use 'parallel-job-count' instead.
2014-11-22 12:32:32 +01:00
Ludovic Courtès e56512125d gnu: pkg-config: Update to 0.28.
* gnu/packages/pkg-config.scm (%pkg-config): Update to 0.28.
2014-11-22 12:26:37 +01:00
Ludovic Courtès 0253ab3979 gnu: file: Update to 5.20.
* gnu/packages/file.scm (file): Update to 5.20.
  (file-5.20): Remove.
* gnu/packages/patches/file-CVE-2014-3587.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/patchutils.scm (quilt): Use FILE instead of FILE-5.20.
* gnu/packages/version-control.scm (aegis): Ditto.
2014-11-22 12:24:41 +01:00
Manolis Ragkousis a5b60e3c6b gnu: Add AVR-Libc.
* gnu/packages/avr.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add avr.scm.
* gnu/packages/cross-base.scm (xgcc-avr): New variable.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
  "avr".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-21 23:30:27 +01:00
Ludovic Courtès f4391bec00 doc: Fix typos regarding 'lsh-service'.
Reported by Adam Pribyl <pribyl@lowlevel.cz>.

* doc/guix.texi (Using the Configuration System): Use #:root-login?, not
  #:allow-root-login?, in example.
  (Networking Services): Fix module name for ssh.
2014-11-21 22:52:17 +01:00
Julien Lepiller b977cd2b8e gnu: Add hexchat.
* gnu/packages/messaging.scm (hexchat): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-21 22:52:17 +01:00
Andreas Enge ff53457d05 gnu: libxkbcommon: Update to 0.5.0.
* gnu/packages/qt.scm (libxkbcommon): Update to 0.5.0.
    Add input libxcb and native input pkg-config.
2014-11-21 18:01:22 +01:00
Andreas Enge c736bc94e9 gnu: xcb-util-renderutil: Update to 0.3.9.
* gnu/packages/xorg.scm (xcb-util-renderutil): Update to 0.3.9.
2014-11-21 18:01:22 +01:00
Andreas Enge 60ac75cdd1 gnu: xcb-util-keysyms: Update to 0.4.0.
* gnu/packages/xorg.scm (xcb-util-keysyms): Update to 0.4.0.
2014-11-21 18:01:22 +01:00
Andreas Enge 6639292daa gnu: xcb-util-image: Update to 0.4.0.
* gnu/packages/xorg.scm (xcb-util-image): Update to 0.4.0.
2014-11-21 18:01:22 +01:00
Andreas Enge 01400dd602 gnu: xcb-util: Update to 0.4.0.
* gnu/packages/xorg.scm (xcb-util): Update to 0.4.0.
2014-11-21 18:01:21 +01:00
Andreas Enge f8f68c0749 gnu: libxcb: Update to 1.11.
* gnu/packages/xorg.scm (libxcb): Update to 1.11.
2014-11-21 18:01:21 +01:00
Andreas Enge d1de5ff3b1 gnu: xcb-proto: Update to 1.11.
* gnu/packages/xorg.scm (xcb-proto): Update to 1.11.
2014-11-21 18:01:21 +01:00
Ludovic Courtès 9723ce5886 gnu: dbus: Add 1.8.10 as a replacement.
* gnu/packages/glib.scm (dbus)[replacement]: New field.
  (dbus-1.8.10): New variable.
2014-11-21 16:33:53 +01:00
Ludovic Courtès 9c960731d6 hydra: Build only non-grafted variants of the packages.
* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f.
  (package-cross-job): Adjust last argument of 'package->alist' to
  accept #:graft?.  This fixes the problem reported in commit a480307.
2014-11-21 16:33:53 +01:00
David Thompson c09e60e4d5 gnu: Add pflask.
* gnu/packages/linux.scm (pflask): New variable.
2014-11-20 22:31:56 -05:00
Ludovic Courtès 0276f697b3 guix system: Add '--share' and '--expose' options for 'vm'.
* guix/scripts/system.scm (system-derivation-for-action): Add #:mappings
  parameter.  Pass it to 'system-qemu-image/shared-store-script'.
  (perform-action): Likewise.
  (show-help): Document --share and --expose.
  (specification->file-system-mapping): New procedure.
  (%options): Add --share and --expose.
  (guix-system): Pass #:mapping to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document it.
2014-11-21 00:02:26 +01:00
Ludovic Courtès fcf63cf880 vm: Introduce 'file-system-mapping'.
* gnu/system/vm.scm (<file-system-mapping>): New record type.
  (%store-mapping): New variable.
  (host-9p-file-system): Rename to...
  (mapping->file-system): ... this.  Replace 'source' and 'target'
  parameters with 'mapping'.  Set 'flags' field.
  (virtualized-operating-system): Add 'mappings' parameter and  honor
  it.
  (system-qemu-image/shared-store-script): Add 'mappings' parameter.
  Pass it to 'virtualized-operating-system'.  Use it in argument to
  'common-qemu-options'.
2014-11-20 23:32:54 +01:00
Ludovic Courtès 96ffa27ba4 vm: Formalize use of '-virtfs' options.
* gnu/system/vm.scm (file-system->mount-tag, host-9p-file-system): New
  procedures.
  (virtualized-operating-system): Use 'host-9p-file-system' for the
  store.
  (common-qemu-options): Add 'shared-fs' parameter.
  [virtfs-option]: New procedure.
  Use it.
  (system-qemu-image/shared-store-script): Adjust accordingly.
2014-11-20 23:30:44 +01:00
Ludovic Courtès 4dfbdcbcb4 linux-boot: Don't catch exceptions thrown by 'mount-root-file-system'.
* gnu/build/linux-boot.scm (mount-root-file-system): Remove 'catch #t'
  around body.  This was unneeded and even inconvenient because this
  procedure is called from within 'call-with-error-handling' already.
2014-11-20 22:43:47 +01:00
Ludovic Courtès a1ca1b7a50 emacs: Don't override the user's 'geiser-guile-load-path'.
* emacs/guix-backend.el (guix-start-repl): Add GUIX-LOAD-PATH to the
  front of GEISER-GUILE-LOAD-PATH instead of overriding it.
2014-11-20 21:14:39 +01:00
Ludovic Courtès 1d18d87f34 services: xorg: Include ~/.guix-profile/bin to the session's $PATH.
Fixes <http://bugs.gnu.org/19119>.
Reported by David Thompson <dthompson2@worcester.edu>.

* gnu/services/xorg.scm (xinitrc): Augment $PATH to include
  ~/.guix-profile/bin.
2014-11-20 21:14:39 +01:00
Ludovic Courtès 1c27641f46 file-systems: Always write the options field in /etc/mtab.
* gnu/build/file-systems.scm (mount-file-system): When OPTIONS is false,
  write "rw" to /etc/mtab.  This fixes a bug whereby 'remove-from-mtab'
  in (guix syscalls) would otherwise raise a 'match-error' because of
  the missing field.  This affected file systems mounted from the
  initrd, such as devtmpfs, which has options == #f.
2014-11-20 21:14:39 +01:00
Andreas Enge 8c3fc83411 gnu: icu4c: Update to 54.1.
* gnu/packages/icu4c.scm (icu4c): Update to 54.1.
* gnu/packages/patches/icu4c-test-date-format.patch: Remove unneeded patch.
* gnu-system.am (dist_patch_DATA): Unregister dropped patch.
2014-11-20 14:01:20 +01:00
John Darrington a4d8913613 gnu: gst-plugins-good: Enable more plugins
* gnu/packages/gstreamer.scm (gst-plugins-good): New inputs:
  cairo, gdk-pixbuf, flac, speex, libogg, libx11, zlib, libpng, libjpeg,
  libXext, libxv, pulseaudio.
2014-11-19 23:42:28 +01:00
Ludovic Courtès 8b9019a6a9 lint: Fix typos in checker descriptions.
* guix/scripts/lint.scm (%checkers): "file names" (two words), and
  "synopses" (plural).
2014-11-19 22:52:30 +01:00
Ludovic Courtès db6dcf816f lint: Use localized checker descriptions.
* guix/scripts/lint.scm (list-checkers-and-exit): Wrap
  'lint-checker-description' call in (_ ...).
2014-11-19 22:52:30 +01:00
Ludovic Courtès 836f02bf52 lint: Correctly internationalize warning messages.
* guix/scripts/lint.scm (emit-warning): Remove '_' call for format
  string.
  (check-description-style, check-inputs-should-be-native,
  check-synopsis-style, check-patches, check-gnu-synopsis+description):
  Wrap message in (_ ...).
2014-11-19 22:52:30 +01:00
Ludovic Courtès f4d5bca39e lint: Change checker names to be symbols.
* guix/scripts/lint.scm (%checkers): Change 'name' fields to be
  symbols.
  (%options): Adjust "-c" option handler accordingly.
2014-11-19 22:52:30 +01:00
Ludovic Courtès 37627ffa89 lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.
* build-aux/sync-descriptions.scm: Remove.  Move payload to...
* guix/scripts/lint.scm: ... here.
  (escape-quotes, official-gnu-packages*,
  check-gnu-synopsis+description): New procedures.
  (%checkers): Add 'gnu-descriptions'.
* Makefile.am (EXTRA_DIST): Remove build-aux/sync-descriptions.scm.
  (sync-descriptions): Use 'guix lint'.
2014-11-19 22:52:28 +01:00
Ludovic Courtès dd3b6d66b9 gnu: Add NcFTP Client.
* gnu/packages/ftp.scm (ncftp): New variable.
2014-11-19 22:07:02 +01:00
Ludovic Courtès af8c2a158e licenses: Add the Clarified Artistic License.
* guix/licenses.scm (clarified-artistic): New variable.
2014-11-19 22:07:02 +01:00
宋文武 77264d1512 gnu: Add Glulxe.
* gnu/packages/games.scm (glkterm, glulxe): New variables.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2014-11-19 09:44:30 -06:00
John Darrington 1fcf67f461 gnu: Add some more gstreamer plugins
* gnu/packages/gstreamer.scm (gst-plugins-good): New variable.
                             (gst-plugins-base): New inputs:
                               pango, libogg, libtheora,
                               libvorbis, libx11, libXext,
                               libxv, alsa-lib, zlib
2014-11-19 07:08:34 +01:00
John Darrington 24753e6947 gnu: busybox - whitespace changes only.
* gnu/packages/busybox.scm: Adjust formatting of description field.
2014-11-19 07:08:34 +01:00
Eric Bavier 93882f0eda gnu: intltool: Make file a regular input.
* gnu/packages/glib.scm (intltool)[propagated-inputs]: Move file from here...
  [inputs]: to here.
  [arguments]: New 'patch-file-references phase.
2014-11-18 23:10:26 +01:00
Andreas Enge 3f2a772789 gnu: acl: Towards tests; enable infrastructure, but keep tests disabled
since they fail.

* gnu/packages/acl.scm (acl): Correct test target, add inputs perl and sed,
    replace "/bin/sh" in perl test script.
2014-11-18 23:10:17 +01:00
Andreas Enge aa3d901126 gnu: acl: Also install header files.
* gnu/packages/acl.scm (acl): Install header files. Drop unneeded phase
    PATCH-MAKEFILE-SHELL.
2014-11-18 23:10:08 +01:00
宋文武 8f9580ca8b gnu: Add Wine.
* gnu/packages/wine.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-18 22:30:09 +01:00
Ludovic Courtès 418367f7f0 Add Julien to 'AUTHORS'. 2014-11-18 22:03:03 +01:00
Julien Lepiller 7131ef4b4a gnu: Add Openbox.
* gnu/packages/openbox.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-18 21:59:10 +01:00
Julien Lepiller 9a5acb54c1 gnu: pango: Add dependency on libxft.
* gnu/packages/gtk.scm (pango)[inputs]: Add LIBXFT.
2014-11-18 21:59:09 +01:00
Ludovic Courtès 186de634a7 gnu: curl: Enable more verbose test output.
* gnu/packages/curl.scm (curl)[arguments]: Fold 'patch-runtests' phase
  into 'check' phase, and replace the standard 'check' phase.  Run "make
  -C tests test".
2014-11-18 13:56:07 +01:00
John Darrington db5584dd11 gnu: Fix cross-compilation issue in guile-json
* gnu/packages/guile.scm (guile-json): Move guile from inputs to native inputs.
2014-11-18 10:45:45 +01:00
John Darrington e093274238 gnu: Fix cross compilation issue with libgcrypt.
* gnu/packages/gnupg.scm (libgcrypt): Distinguish between the native and
  non-native libgpg-error input
2014-11-18 10:38:13 +01:00
John Darrington a6abac9f2e gnu: Fix cross-compilation issues with autotools
* gnu/packages/autotools.scm (autoconf, automake): Move inputs to native-inputs.
2014-11-18 10:36:41 +01:00
Ludovic Courtès 05093579e9 gnu: Add perl-digest-sha1.
* gnu/packages/perl.scm (perl-digest-sha1): New variable.
2014-11-17 23:58:58 +01:00
Ludovic Courtès 90422555f1 gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to post-0.8
  commit.
  (guix): Switch from GUIX-0.8 to GUIX-DEVEL.
2014-11-17 23:57:46 +01:00
Ludovic Courtès 47739f5165 gnu: guix: Update to 0.8.
* gnu/packages/package-management.scm (guix-0.7): Rename to...
  (guix-0.8): ... this.  Update to 0.8.  Adjust users accordingly.
  (guix): Switch from GUIX-DEVEL to GUIX-0.8.
2014-11-17 22:57:43 +01:00
Ludovic Courtès 44941798d2 Update NEWS. 2014-11-17 22:09:38 +01:00
Ludovic Courtès 5131064204 Thank Bruno. 2014-11-17 20:54:50 +01:00
Ludovic Courtès 081145cf6e doc: Fix misuses of @ref.
* doc/guix.texi (Invoking guix-daemon, Features, Invoking guix download,
  Invoking guix refresh, GNU Distribution, Package Modules, Packaging
  Guidelines, Package Naming): Replace misuses of @ref with @xref or
  @pxref.
2014-11-17 18:58:39 +01:00
Ludovic Courtès bf2479c710 doc: Suggest using 'guix pull' before 'guix system reconfigure'.
* doc/guix.texi (Invoking guix system): Suggest running 'guix pull'
  before the first use of 'guix system reconfigure'.
2014-11-17 18:58:38 +01:00
Ludovic Courtès c6fabc5e57 build: Add doc/emacs.texi to the distribution.
* doc.am (EXTRA_DIST): Add doc/emacs.texi.
2014-11-17 18:58:38 +01:00
Ludovic Courtès 02754a5e52 build: Add guix/tests.scm to the distribution.
* Makefile.am (noinst_DATA): Rename to...
  (dist_noinst_DATA): ... this.
2014-11-17 18:58:38 +01:00
David Thompson 6e206ac788 gnu: Add minetest.
* gnu/packages/patches/minetest-subgame-env-var.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/games.scm (minetest): New variable.
2014-11-16 19:02:24 -05:00
David Thompson 7e51e5bcf4 gnu: Add minetest-data.
* gnu/packages/games.scm (minetest-data): New variable.
2014-11-16 19:02:24 -05:00
David Thompson 024e2c1771 gnu: Add irrlicht.
* gnu/packages/games.scm (irrlicht): New variable.
2014-11-16 19:02:24 -05:00
David Thompson 19b396bf31 gnu: Add openal.
* gnu/packages/games.scm (openal): New variable.
2014-11-16 19:02:24 -05:00
David Thompson 7b3f6a277c Fix typo in NEWS. 2014-11-16 18:42:44 -05:00
Ludovic Courtès 2bc53ba922 doc: Document --key-download option of 'guix refresh'.
* doc/guix.texi (Invoking guix refresh): Document --key-download.
2014-11-16 23:28:55 +01:00
Ludovic Courtès 29934e0244 Adjust NEWS for 'guix import'. 2014-11-16 23:22:36 +01:00
Ludovic Courtès 2f7d2d9185 doc: Document "guix import".
* doc/guix.texi (Requirements): Add xref to "Invoking guix import".
  (Defining Packages): Likewise.  Remove footnote about Nixpkgs
  imports.
  (Invoking guix import): New section.
2014-11-16 23:21:23 +01:00
Ludovic Courtès 7bcf372e84 gnu: hello: Update to 2.10.
* gnu/packages/base.scm (hello): Update to 2.10.
2014-11-16 22:10:55 +01:00
David Thompson ecde61914e gnu: ruby: Update to 2.1.5.
* gnu/packages/ruby.scm (ruby): Update to version 2.1.5.
2014-11-15 13:53:05 -05:00
Ludovic Courtès 38b19699b2 gnu: guix: Fix hash of snapshot source.
* gnu/packages/package-management.scm (guix-devel): Fix hash, which was
  wrongfully input in commit a0e59dd.
2014-11-15 19:27:48 +01:00
John Darrington a886404f68 gnu: Add opus-tools
* gnu/packages/xiph.scm (opus-tools): New variable.
2014-11-15 19:13:46 +01:00
Ludovic Courtès 2b1cee21ae doc: Fix Hydra URL.
Reported by John Darrington <john@darrington.wattle.id.au>.

* doc/guix.texi (Packaging Guidelines): Fix hydra.gnu.org URL.
2014-11-15 19:05:52 +01:00
Jason Self 3a3278e956 gnu: linux-libre: Update to 3.17.3
* gnu/packages/linux.scm (linux-libre): Update to version 3.17.3.
2014-11-14 20:31:09 -08:00
Ludovic Courtès f21ca31d15 Add the name of Sou Bunnbu in its original script to 'AUTHORS'. 2014-11-14 22:58:18 +01:00
宋文武 13d1862632 gnu: Add Tiled.
* gnu/packages/games.scm (tiled): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-14 22:56:47 +01:00
Ludovic Courtès eb59595ccd doc: Clarify use of the 'password' field for user accounts.
Suggested by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

* doc/guix.texi (Using the Configuration System): Remove 'password'
  field in the example.
  (User Accounts): Clarify use of the 'password' field, with links to
  the libc and Guile manuals.
2014-11-14 14:17:56 +01:00
Ludovic Courtès a0e59dd806 gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update snapshot.
2014-11-14 09:51:53 +01:00
Ludovic Courtès 48bd76e009 services: user-unmount: Change directory to "/" before unmounting.
* gnu/services/base.scm (user-unmount-service): Add 'chdir' call.
2014-11-14 00:48:43 +01:00
Ludovic Courtès cd4a3cb359 syscalls: Update /etc/mtab, not /etc/fstab.
* guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with
  "mtab".
2014-11-14 00:41:01 +01:00
Ludovic Courtès 4c7ac9aa7f doc: Improve acknowledgments.
* doc/guix.texi (Acknowledgments): Expound a bit.
* THANKS: Mention artwork; thank Felipe & Nikita.
2014-11-13 23:30:03 +01:00
Ludovic Courtès c29b69be2d artwork: Update snapshot.
* gnu/artwork.scm (%artwork-repository): Update.
2014-11-13 23:12:46 +01:00
Ludovic Courtès d09e8c7b15 substitute-binary: Be slightly less verbose when downloading.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)<"--substitute">:
  Be slightly less verbose.
2014-11-13 22:17:44 +01:00
Ludovic Courtès cd2512bfa3 gnu: file: Add itself as a native input for cross-compilation.
Fixes a regression introduced in c198872b.
Reported by John Darrington.

* gnu/packages/file.scm (file)[self-native-input?]: New field.
2014-11-13 22:11:56 +01:00
Ludovic Courtès 351d690f37 gnu: aegis, quilt: Use file-5.20.
Suggested by Mark H Weaver.

* gnu/packages/version-control.scm (aegis): Use FILE-5.20 instead of FILE.
* gnu/packages/patchutils.scm (quilt): Likewise.
2014-11-13 21:41:38 +01:00
Ludovic Courtès 310081e27e gnu: file: Remove replacement; add separate file-5.20 package.
* gnu/packages/file.scm (file)[replacement]: Remove.
  (file/fixed): Remove.
  (file-5.20): New variable.
2014-11-13 17:51:27 +01:00
Ludovic Courtès a480307449 Revert "hydra: Build only non-grafted variants of the packages."
This reverts commit 9de1defe79.

Passing #:graft? was not possible because of the use of 'cut' on call
sites.
2014-11-13 17:46:57 +01:00
Ludovic Courtès 9de1defe79 hydra: Build only non-grafted variants of the packages.
* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f to
  PACKAGE-DERIVATION.
2014-11-13 14:21:09 +01:00
Ludovic Courtès db719df769 gnu: net-base: Update to 5.3.
Reported by nebuli on #guix.

* gnu/packages/admin.scm (net-base): Update to 5.3.
2014-11-13 14:02:14 +01:00
Ludovic Courtès 9a0569aafe gnu: lsof: Update to 4.88.
Reported by nebuli on #guix.

* gnu/packages/lsof.scm (%ftp-base): New variable.
  (lsof): Update to 4.88.  Add /OLD as alternate URL.
2014-11-13 13:58:20 +01:00
Ludovic Courtès bff39668b9 vm: Set the boot flag on the root partition.
Reported by nebuli on #guix.

* gnu/build/vm.scm (initialize-partition-table): Add #:bootable?
  parameter and honor it.
  (initialize-hard-disk): Likewise.
2014-11-13 13:42:44 +01:00
Ludovic Courtès ced0106a44 linux-boot: Make more disk partition block devices.
Reported by nebuli on #guix.

* gnu/build/linux-boot.scm (make-disk-device-nodes): Make 16 block
  devices for disk partitions.
2014-11-13 13:34:31 +01:00
Ludovic Courtès 5c88ac539b Update NEWS. 2014-11-13 11:35:14 +01:00
Ludovic Courtès 3940c5cab3 gnu: file: Add 5.20 as a replacement--fixes CVE-2014-3710.
* gnu/packages/file.scm (file)[replacement]: New field.
  (file/fixed): New variable.
2014-11-13 11:35:14 +01:00
Ludovic Courtès 7f614a747c derivations: Clarify message produced by 'graft-derivation'.
* guix/derivations.scm (graft-derivation): Use the term "grafting" in
  the build message.
2014-11-13 11:35:13 +01:00
Ludovic Courtès 3fd242e097 gnu: file: Fix typo in description.
* gnu/packages/file.scm (file)[description]: Fix typo.
2014-11-13 11:09:54 +01:00
Ludovic Courtès ceb6b4c2aa linux-initrd: Add modules for ATA controllers by default.
Reported by th3kent on #guix.

* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add
  pata_acpi.ko and pata_atiixp.ko.
2014-11-13 10:42:32 +01:00
Ludovic Courtès c43065a8ee gnu: chicken: Update to 4.9.0.1.
* gnu/packages/scheme.scm (chicken): Update to 4.9.0.1.
2014-11-12 23:56:28 +01:00
Ludovic Courtès 5dee9acf53 gnu: gnutls: Update to 3.2.20--this fixes CVE-2014-8564.
* gnu/packages/patches/gnutls-server-name-fix.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.20.
  Remove 'patches' field.
2014-11-12 23:56:28 +01:00
Ludovic Courtès b173d0e443 gnu: guix: Add Emacs as an input.
* gnu/packages/package-management.scm (guix-0.7)[native-inputs]: Add
  Emacs.
2014-11-12 23:56:28 +01:00
Ludovic Courtès be05e643ae gnu: windowmaker: Leave 'wmaker' unwrapped.
Fixes <http://bugs.gnu.org/18698>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/gnustep.scm (windowmaker)[arguments]: Add 'pre-configure'
  phase.  Change 'wrap' phase to wrap 'wmaker.inst', not 'wmaker'.
2014-11-12 23:56:28 +01:00
Ludovic Courtès 08dbc3b550 services: xorg: Set argv[0] for the window manager.
* gnu/services/xorg.scm (xinitrc): Set argv[0] when invoking ratpoison
  or wmaker.
2014-11-12 23:56:28 +01:00
Alex Kost 0b0fbf0c16 emacs: Add "Source" field to 'guix-info' buffers.
Suggested by Ludovic Courtès.

* emacs/guix-info.el (guix-info-insert-methods, guix-info-displayed-params):
  Add 'source' parameter.
  (guix-package-info-source): New face.
  (guix-package-source): New button type.
  (guix-package-info-auto-find-source, guix-package-info-auto-download-source,
  guix-package-info-download-buffer): New variables.
  (guix-package-info-show-source, guix-package-info-insert-source-url,
  guix-package-info-insert-source, guix-package-info-download-source,
  guix-package-info-redisplay-after-download): New procedures.
* emacs/guix-base.el (guix-param-titles): Add 'source' parameter.
  (guix-operation-prompt): Add 'prompt' argument.
  (guix-after-source-download-hook): New variable.
  (guix-package-source-path, guix-package-source-build-derivation): New
  procedures.
* emacs/guix-main.scm (%package-param-alist): Add 'source' parameter.
  (package-source-names, package-source-derivation->store-path,
  package-source-path, package-source-build-derivation): New procedures.
2014-11-12 22:10:32 +03:00
Ludovic Courtès dc05f01cba Add Sun Bunnbu to 'AUTHORS'. 2014-11-12 14:39:30 +01:00
宋文武 a21b42e225 gnu: Add GNU Typist.
* gnu/packages/games.scm (gtypist): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-11-12 14:38:55 +01:00
Ludovic Courtès 84dfb45821 gnu: Introduce (gnu artwork) module.
* gnu/artwork.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/services/xorg.scm: Use it.
  (%artwork-repository): Remove.
* gnu/system/grub.scm: Use it.
  (%artwork-repository): Remove.
2014-11-12 14:28:36 +01:00
Ludovic Courtès 0ecc3bf309 gnu: xorg: Add SLiM theme based on work by Felipe López.
* gnu/services/xorg.scm (%artwork-repository, %default-slim-theme,
  %default-slim-theme-name): New variables.
  (slim-service): Add #:theme and #:theme-name parameters.
  [slim.cfg]: Honor #:theme-name.
  Honor #:theme by setting the "SLIM_THEMESDIR" environment variable.
* doc/guix.texi (X Window): Adjust 'slim-service' documentation
  accordingly.  Document '%default-slim-theme' and
  '%default-slim-theme-name'.
2014-11-12 14:22:54 +01:00
Ludovic Courtès 91781e0268 hydra: Make USB installation image bigger.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Require 800 MiB for the
  USB disk image.
2014-11-12 13:52:09 +01:00
Ludovic Courtès 85c4848fcc gnu: guix: Update Git snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to commit
  8ee0e71.
2014-11-12 13:50:46 +01:00
Ludovic Courtès 8ee0e719bb Update NEWS. 2014-11-11 22:42:42 +01:00
Ludovic Courtès 42de960878 system: Shorten the default label for GRUB entries.
* gnu/system.scm (kernel->grub-label): Shorten entry labels.
2014-11-11 22:42:42 +01:00
Ludovic Courtès 906b1b0986 guix system: Decorate GRUB entries of old generations with date and number.
* guix/scripts/system.scm (seconds->string): New procedure.
  (previous-grub-entries)[system->grub-entry]: Add 'number' and 'time'
  parameters.  Adjust call accordingly.
2014-11-11 22:42:42 +01:00
Ludovic Courtès f34c56be3a activation: Set the firmware search path.
* gnu/build/activation.scm (activate-firmware): New procedure.
* gnu/system.scm (<operating-system>)[firmware]: New field.
  (directory-union): New procedure.
  (%base-firmware): New variable.
  (operating-system-activation-script): Use 'directory-union', and call
  'activate-firmware'.
* doc/guix.texi (operating-system Reference): Document 'firmware'.
2014-11-11 22:42:39 +01:00
Ludovic Courtès 1306b0b003 gnu: cross-base: Apply Qualcomm's patches for Binutils and GCC.
This fixes compilation of the ath9k-htc firmware.  Before that, loading
it would result in "Target is unresponsive".  The patches come from
the ath9k-htc firmware source.

* gnu/packages/patches/ath9k-htc-firmware-binutils.patch,
  gnu/packages/patches/ath9k-htc-firmware-gcc.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/cross-base.scm (package-with-patch): New procedure.
  (cross-binutils): Check whether TARGET starts with "xtensa-", and call
  'package-with-patch' when it does.
  (cross-gcc-patches): New procedure.
  (cross-gcc): Use it to add patches.
2014-11-11 22:36:49 +01:00
Ludovic Courtès 594340bc79 services: xorg: Don't pass "-ac" to X.
This had pretty much no effects given "-nolisten tcp".

* gnu/services/xorg.scm (xorg-start-command): Remove "-ac" option.
2014-11-11 22:36:49 +01:00
Alex Kost 380f2ab6a4 gnu: fonts: Fix license of 'terminus-font'.
* gnu/packages/fonts.scm (terminus-font): Use 'silofl1.1' license.
2014-11-11 22:20:50 +03:00
Mark H Weaver efe0be6de7 gnu: libuninameslist: Include package name in file-name of source tarball.
* gnu/packages/fontutils.scm (libuninameslist)[source]: Add file-name field.
2014-11-11 12:15:12 -05:00
Ludovic Courtès 7047133f07 import: Add GNU importer.
Suggested by Karl Berry <karl@gnu.org>
and Andreas Enge <andreas@enge.fr>.

* guix/import/gnu.scm, guix/scripts/import/gnu.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/scripts/import.scm (importers): Add "gnu".
* guix/gnu-maintenance.scm (gnu-release-archive-types): New procedure.
  (download-tarball): Export.
2014-11-11 15:31:35 +01:00
Ludovic Courtès 501d764751 gnu-maintenance: Introduce <gnu-release> data type.
* guix/gnu-maintenance.scm (<gnu-release>): New record type.
  (release-file): Rename to...
  (release-file?): ... this.  Return a Boolean.
  (tarball->version, coalesce-releases): New procedures.
  (releases): Call 'coalesce-releases' on RESULT.  Return <gnu-release>
  objects instead of pairs.
  (latest-release): Likewise.
  (package-update-path): Adjust accordingly.
* gnu/packages.scm (check-package-freshness): Adjust accordingly.
2014-11-11 15:31:35 +01:00
Ludovic Courtès 342b5204aa nls: Update 'vi' translation. 2014-11-11 15:31:35 +01:00
Andreas Enge b118401f71 gnu: polkit: Propagate input glib.
* gnu/packages/polkit.scm (polkit): Propagate input glib.
* gnu/packages/polkit.scm (polkit-qt): Drop input glib, now available
    through propagation.
2014-11-11 10:51:52 +01:00
Mark H Weaver 5220e6200b gnu: libpsl: Include package-name in file-name of source tarball.
* gnu/packages/web.scm (libpsl)[source]: Add file-name field.
2014-11-10 23:50:24 -05:00
Ludovic Courtès 842f7883f9 Thank Sylvain. 2014-11-11 00:07:22 +01:00
Ludovic Courtès a6b55314b1 gnu: Add wrapper for Freedink.
* gnu/packages/games.scm (freedink-engine, freedink-data): Make
  private.
  (freedink): New variable.
2014-11-11 00:06:01 +01:00
Sylvain Beucler bb3b71ce87 gnu: Add GNU Freedink.
* gnu/packages/games.scm (freedink-engine, freedink-data): New
  variables.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>.
2014-11-11 00:03:24 +01:00
Ludovic Courtès 9a4d9333e2 nls: Update 'de' translation. 2014-11-10 23:29:38 +01:00
Ludovic Courtès fdaacbad85 services: Add 'auto-start?' field to <service>.
* gnu/services.scm (<service>)[auto-start?]: New field.
* gnu/services/dmd.scm (dmd-configuration-file): Honor it.
* gnu/system/install.scm (cow-store-service): Add 'auto-start?' field.
2014-11-10 23:23:32 +01:00
Ludovic Courtès 03920078d5 gnu: libmikmod: Avoid dlopening libasound & co.
* gnu/packages/sdl.scm (libmikmod)[arguments]: New field.
2014-11-10 23:12:01 +01:00
Ludovic Courtès b756d3da4c doc: Mention "audio" and "video" groups in configuration template.
* gnu/system/os-config.tmpl (users): Add "audio" and "video" groups and
  explain.
2014-11-10 22:42:14 +01:00
Ludovic Courtès d6e2a622c4 services: Add 'user-unmount-service' as an essential service.
* gnu/services/base.scm (user-unmount-service): New procedure.
* gnu/system.scm (essential-services): Use it.
* gnu/system/install.scm (cow-store-service): Mention it in comment.
2014-11-10 22:42:14 +01:00
Ludovic Courtès ccea821bef syscalls: Add 'mount-points'.
* guix/build/syscalls.scm (mount-points): New procedure.
* tests/syscalls.scm ("mount-points"): New test.
2014-11-10 22:42:14 +01:00
Ludovic Courtès 7eda0c567b install: Add GRUB to the set of global packages.
* gnu/system/install.scm (installation-os)[packages]: Add GRUB.
2014-11-10 22:42:14 +01:00
Ludovic Courtès e1a94b978e nls: Add a few more package modules for translation.
* po/packages/POTFILES.in: List a few more files.
2014-11-10 22:42:14 +01:00
Alex Kost d9e56454e2 licenses: Add 'silofl1.1'.
* guix/licenses.scm (silofl1.1): New variable.
2014-11-10 18:21:25 +03:00
Ludovic Courtès f5fd4fd237 doc: Mention 'guix environment' in "Features"; add index entries.
* doc/guix.texi (Features): Add paragraph about 'guix environment'.
  (Build Systems): Add @cindex.
  (Invoking guix environment): Ditto.
2014-11-10 15:11:35 +01:00
Ludovic Courtès 0c4b00d851 Update NEWS. 2014-11-10 15:06:11 +01:00
Ludovic Courtès e43d5fa0d7 Thank Philip Woods. 2014-11-10 15:00:35 +01:00
Ludovic Courtès 88faf93315 doc: Add "GRUB Configuration".
* doc/guix.texi (operating-system Reference): Add xref to "GRUB
  Configuration".
  (GRUB Configuration): New node.
2014-11-10 15:00:35 +01:00
Ludovic Courtès 843858b8a7 doc: Avoid @indentedblock, which is not supported by Texinfo 4.
Reported by Mark H Weaver.

* doc/guix.texi (Security Updates): Use @quotation instead of
  @indentedblock; the latter is not supported by Texinfo 4.
2014-11-10 15:00:35 +01:00
Alex Kost 37c4ffc2c4 emacs: Improve 'guix-redisplay-buffer'.
* emacs/guix-base.el (guix-redisplay-buffer): Allow to display new entries.
  Restore point position.
2014-11-10 16:13:41 +03:00
Alex Kost e718f6cc8f emacs: Add 'guix-find-file'.
* emacs/guix-utils.el (guix-find-file): New procedure.
* emacs/guix-info.el (guix-file): Use it.
2014-11-10 16:13:41 +03:00
Alex Kost 7be25d4af0 emacs: Restore mode-line after operation prompt.
* emacs/guix-base.el (guix-operation-prompt): Restore 'mode-line-format' after
  prompting.
2014-11-10 16:13:40 +03:00
Alex Kost 5614921754 emacs: Add "c" key binding to copy a button link.
* emacs/guix-info.el (guix-info-button-map): New variable.
  (guix-info-button-copy-label): New procedure.
* doc/emacs.texi (Emacs Info buffer): Mention a "c" key binding.
  (Emacs Keymaps): Add 'guix-info-button-map'.
2014-11-10 16:13:40 +03:00
Andreas Enge 054a3921f0 gnu: Add polkit-qt.
* gnu/packages/polkit.scm (polkit-qt): New variable.
2014-11-10 13:15:25 +01:00
David Thompson bcc046fc87 gnu: Add guile-sdl.
* gnu/packages/sdl.scm (guile-sdl): New variable.
2014-11-09 19:15:25 -05:00
David Thompson d6f74baf5d gnu: Add sdl-union.
* gnu/packages/sdl.scm (sdl-union): New variable.
2014-11-09 19:15:25 -05:00
Ludovic Courtès f81ac34dd9 pull: Use the build procedure provided by the newly-downloaded Guix.
Fixes <http://bugs.gnu.org/18534>.

* guix/scripts/pull.scm (with-environment-variable, with-PATH): New
  macros.
  (temporary-directory, first-directory, interned-then-deleted): New
  procedures.
  (unpack): Rewrite to do the unpacking in the current process rather
  than as a separate derivation.
  (%self-build-file): New variable.
  (build-from-source): New procedure.
  (build-and-install): Use it.
* guix/build/pull.scm (build-guix): Rename 'tarball' argument to
  'source'.  Remove #:tar and #:gzip parameters, as well as 'tar'
  invocation.  Remove 'scandir' invocation.  Wrap body in
  'with-directory-excursion'.
* build-aux/build-self.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2014-11-09 22:33:45 +01:00
Ludovic Courtès 4684f301d5 gexp: Add #:module-path parameter to 'gexp->derivation'.
* guix/gexp.scm (gexp->derivation): Add #:module-path parameter, and
  pass it to 'imported-modules' and 'compiled-modules'.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2014-11-09 22:33:45 +01:00
Ludovic Courtès a2b63d58d4 gnu: Re-synchronize a couple of synopses with the Womb.
* gnu/packages/lisp.scm (gcl): Synchronize synopsis.
* gnu/packages/scheme.scm (mit-scheme): Ditto.
2014-11-09 22:33:45 +01:00
Andreas Enge c4bd2aca00 gnu: Add polkit.
* gnu/packages/polkit.scm (polkit): New variable.
* gnu/packages/patches/polkit-drop-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch file.
2014-11-09 18:55:31 +01:00
Andreas Enge 922ea80683 gnu: Add nspr.
* gnu/packages/polkit.scm (nspr): New variable.
2014-11-09 11:09:12 +01:00
Ludovic Courtès b138ec947a gnu: Add Image::ExitTool.
* gnu/packages/photo.scm (perl-image-exiftool): New variable.
2014-11-08 22:34:24 +01:00
Ludovic Courtès 28567712f3 system: grub: Adjust default theme color.
* gnu/system/grub.scm (%default-theme)[color-highlight]: Change
  foreground to cyan, as suggested by Felipe López.
2014-11-08 22:34:24 +01:00
Jason Self bfdbaf779f gnu: ffmpeg-2.2: Update to 2.2.10.
* gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.10.
2014-11-08 07:50:55 -08:00
Jason Self 75058ecaea gnu: ffmpeg: Update to 2.4.3.
* gnu/packages/video.scm (ffmpeg): Update to version 2.4.3.
2014-11-08 07:46:44 -08:00
Ludovic Courtès 421c3bcc1b services: udev: Make /dev/kvm 666 as a workaround.
* gnu/services/base.scm (kvm-udev-rule): Change /dev/kvm mode to 666 to
  work around <http://bugs.gnu.org/18994>.
2014-11-08 15:10:42 +01:00
Ludovic Courtès 99ae9ceb18 system: grub: Add preliminary support for themes.
* gnu/system/grub.scm (<grub-image>, <grub-theme>): New record types.
  (%artwork-repository, %background-image): New variables.
  (<grub-configuration>)[theme]: New field.
  (svg->png, resize-image, grub-background-image, eye-candy): New
  procedures.
  (grub-configuration-file): Use 'eye-candy' and add it in BUILDER.
2014-11-08 15:10:42 +01:00
Ludovic Courtès 810568b35f vm: The 'run-vm' scripts now passes its arguments to QEMU.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "$@" at
  the end of the script.
  (common-qemu-options): Remove trailing newline.
* doc/guix.texi (Invoking guix system): Document it.
2014-11-08 15:10:42 +01:00
Ludovic Courtès ccdca0a09e Thank Felipe. 2014-11-08 15:10:42 +01:00
Ludovic Courtès d8c1944196 gnu: slim: Update URL.
Reported by Felipe López <felipe.lopez@openmailbox.org>.

* gnu/packages/slim.scm (slim)[origin, home-page]: Update URL.
2014-11-08 15:10:42 +01:00
Ludovic Courtès 6aa260af12 vm: Fix 'vm --full-boot' to produce a sufficient disk image.
* gnu/system/vm.scm (system-qemu-image/shared-store): Add
  #:disk-image-size and #:full-boot? parameters and honor them.  Pass
  '#:copy-inputs? full-boot?', and change #:inputs argument.
* guix/scripts/system.scm (system-derivation-for-action): Pass
  #:disk-image-size to 'system-qemu-image/shared-store'.
* doc/guix.texi (Invoking guix system): Mention use of '--image-size' in
  conjunction with '--full-boot'.
2014-11-08 15:10:42 +01:00
Andreas Enge a9967103de gnu: acct: Update to 6.6.2.
* gnu/packages/acct.scm (acct): Update to 6.6.2.
2014-11-08 13:25:53 +01:00
Andreas Enge cff1c5c1c6 gnu: Add mozjs (Mozilla Spidermonkey).
* gnu/packages/polkit.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Register new file.
2014-11-08 13:24:21 +01:00
Andreas Enge a50fbf0d65 gnu: libassuan: Update to 2.1.3.
* gnu/packages/gnupg.scm (libassuan): Update to 2.1.3.
2014-11-08 12:12:05 +01:00
Ludovic Courtès 9b24c76802 gnu: grub: Add dependency on GNU Unifont.
* gnu/packages/grub.scm (unifont): New variable.
  (grub)[arguments]: Copy and unzip Unifont in 'patch-stuff' phase.
  [native-inputs]: Add UNIFONT.
2014-11-08 01:05:35 +01:00
Ludovic Courtès ab11f0bed4 vm: Support 'guix system vm --full-boot'.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
  #:full-boot? parameter and honor it.
* guix/scripts/system.scm (system-derivation-for-action): Likewise.
  (perform-action): Likewise.
  (show-help): Document '--full-boot'.
  (%options): Add '--full-boot'.
  (guix-system): Add #:full-boot? argument in call to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document it.
2014-11-08 01:05:35 +01:00
Ludovic Courtès c1941588dd doc: Emphasize the availability of two user interfaces.
* doc/guix.texi (Package Management): Add a word about the two user
  interfaces.
2014-11-08 01:05:35 +01:00
Ludovic Courtès 91cc5aff5a services: xorg: Add argv[0] in X invocation.
* gnu/services/xorg.scm (xorg-start-command): Add missing argv[0] in
  'execl' call.
2014-11-08 01:05:35 +01:00
Andreas Enge 0fa22d5a7c gnu: xf86-video-intel: Swap input libdrm with mesa.
* gnu/packages/xorg.scm (xf86-video-intel): Drop input libdrm, add input
    mesa.
2014-11-07 22:41:13 +01:00
Ludovic Courtès 15a6d433ff lint: Allow synopses that start with an abbreviation.
* guix/scripts/lint.scm (starts-with-abbreviation?): New procedure.
  (check-synopsis-style)[check-start-with-package-name]: Use it.
* tests/lint.scm ("synopsis: start with abbreviation"): New test.
2014-11-07 17:52:11 +01:00
Ludovic Courtès 105c260f00 lint: Skip starting-article test for the synopses of GNU packages.
* guix/scripts/lint.scm (check-synopsis-style)[check-start-article]:
  Change to (const #t) when PACKAGE matches 'gnu-package?'.
2014-11-07 17:52:11 +01:00
Ludovic Courtès 431e5f5a3e lint: Tolerate sentences that start with a parenthesis or a quote.
* guix/scripts/lint.scm (properly-starts-sentence?): Add (, ", and ' as
  valid beginnings.
2014-11-07 17:52:11 +01:00
Ludovic Courtès 17854ef91d lint: Improve check for synopses starting with package name.
* guix/scripts/lint.scm (package-name-regexp): New procedure.
  (check-synopsis-style)[check-start-with-package-name]: Use it instead
  of 'string-prefix-ci?'.
* tests/lint.scm ("synopsis: start with package name prefix"): New test.
2014-11-07 17:52:11 +01:00
Ludovic Courtès 72b030c049 gnu: cppunit: Add missing space in description.
* gnu/packages/check.scm (cppunit)[description]: Add missing space.
2014-11-07 17:52:11 +01:00
Ludovic Courtès b1e666835e lint: Simplify no-warnings tests.
* tests/lint.scm ("description: may start with a digit"): Replace
  (not (string-contains exp str)) with (string-null? exp).
  ("description: may start with lower-case package name"): Likewise.
  ("description: end-of-sentence detection with abbreviations"):
  Likewise.
  ("synopsis: may start with a digit"): Likewise.
  ("synopsis: ends with 'etc.'"): Likewise.
2014-11-07 17:52:11 +01:00
Ludovic Courtès 41eb11988e gnu: Move pkg-config to 'native-inputs' in various places.
* gnu/packages/glib.scm (libsigc++): Move pkg-config to
  'native-inputs'.
  (glibmm): Likewise.
* gnu/packages/mpd.scm (mpd): Likewise.
* gnu/packages/package-management.scm (guix-0.7): Likewise.
* gnu/packages/sdl.scm (sdl-net): Likewise.
  (sdl-ttf): Likewise.
* gnu/packages/xiph.scm (vorbis-tools): Likewise.
2014-11-07 17:52:11 +01:00
Alex Kost 9a130e19fc emacs: Add 'guix-prettify'.
* emacs/guix-prettify.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Prettify): New node.
* doc/guix.texi (Features): Mention it.
2014-11-07 14:58:15 +03:00
Ludovic Courtès d2e59637e3 services: xorg: Allow users to specify a list of resolutions.
* gnu/services/xorg.scm (xorg-start-command): Add #:resolutions
  parameter and 'screen-section' procedure.  Use it.
* doc/guix.texi (X Window): Adjust accordingly.
2014-11-07 00:00:08 +01:00
Ludovic Courtès f703413e41 services: xorg: Allow users to specify the drivers to use.
* gnu/services/xorg.scm (xorg-start-command): Add #:drivers parameter.
  Add 'device-section' procedure, and use it in 'xserver.conf'.
* doc/guix.texi (X Window): Document it.
2014-11-07 00:00:08 +01:00
Ludovic Courtès e30442b53b services: xorg: Fix typo in xserver.conf.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add missing
  double-quote in AllowMouseOpenFail.
2014-11-07 00:00:02 +01:00
Ludovic Courtès 41d07f5e98 gnu: Add xf86-video-modesetting.
* gnu/packages/xorg.scm (xf86-video-modesetting): New variable.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  ModulePath line for XF86-VIDEO-MODESETTING, commented out.
2014-11-06 23:58:54 +01:00
Ludovic Courtès 3c1f0e3b99 vm: Factorize common QEMU options.
* gnu/system/vm.scm (common-qemu-options): New procedure.
  (system-qemu-image/shared-store-script): Use it.
2014-11-06 22:58:31 +01:00
Ludovic Courtès 263d05be8d vm: Remove unused procedure.
* gnu/system/vm.scm (input->name+output): Remove.  Its last user
  disappeared in commit b53833b.
2014-11-06 19:26:27 +01:00
Ludovic Courtès c8af8572bf tests: Avoid Bash extension in 'tests/guix-lint.sh'.
* tests/guix-lint.sh: Remove redundant and non-portable 'export'.
2014-11-06 18:00:51 +01:00
Ludovic Courtès 50fe945c01 gnu: ots: Make sure the shared library has the '.so' extension.
Fixes <http://bugs.gnu.org/18521>.

* gnu/packages/ots.scm (ots)[arguments]: Add #:phases.
2014-11-06 14:54:40 +01:00
Ludovic Courtès 12bcf94a9a gnu: Synchronize descriptions with the Womb.
Note: some of these changes undo bits of 35b9e4232.

* gnu/packages/base.scm, gnu/packages/gperf.scm, gnu/packages/guile.scm,
  gnu/packages/libidn.scm, gnu/packages/miscfiles.scm,
  gnu/packages/telephony.scm: Adjust synopses and descriptions as
  suggested by 'make sync-descriptions'.
2014-11-05 23:23:38 +01:00
Ludovic Courtès 95f92d4e2c system: Define 'INFOPATH' in /etc/profile.
* gnu/system.scm (etc-directory)[bashrc]: Set 'INFOPATH'.
2014-11-05 22:59:50 +01:00
Ludovic Courtès b1821e8272 gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to commit
  84934f4.
2014-11-05 22:59:50 +01:00
Ludovic Courtès e4bed284ae monads: Remove unused 'nargs' parameter from 'lift'.
* guix/monads.scm (lift): Remove 'nargs' parameter.
2014-11-05 22:59:50 +01:00
Alex Kost fae3d34720 build: Add missing "emacs/guix-messages.el".
* emacs.am (ELFILES): Add "emacs/guix-messages.el".
2014-11-06 00:30:57 +03:00
Ludovic Courtès 84934f40d1 import: pypi: Gracefully handle wrong argument counts.
* guix/scripts/import/pypi.scm (guix-import-pypi): Use 'leave' to handle
  cases where ARGS has zero or two or more elements.
2014-11-05 18:04:16 +01:00
Ludovic Courtès 467a3c93db import: pypi: Gracefully handle non-existent packages.
Fixes <http://bugs.gnu.org/18831>.
Reported by Ian Denhardt <ian@zenhack.net>.

* guix/import/pypi.scm (url-fetch, json-fetch, pypi-fetch): Augment
  docstring to mention #f on failure.
  (pypi->guix-package): Likewise, and actually return #f on failure.
* guix/scripts/import/pypi.scm (guix-import-pypi): Call 'leave' when
  'pypi->guix-package' returns #f.
2014-11-05 17:56:39 +01:00
Ludovic Courtès 63854bcbb1 services: Add NTP service.
* gnu/services/networking.scm (ntp-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2014-11-05 11:25:39 +01:00
Ludovic Courtès 98c16943d5 services: Increase delay before SIGKILL is sent when halting.
* gnu/services/base.scm (user-processes-service): Increase the default
  value of 'grace-delay'.  This leaves more time for processes to clean
  up their PID files, /tmp/.X0-lock, etc.
2014-11-05 11:25:39 +01:00
Ludovic Courtès 52b321e908 gnu: ntp: Build with POSIX capabilities support on GNU/Linux.
* gnu/packages/ntp.scm (ntp)[inputs]: New field.
2014-11-05 11:25:39 +01:00
Ludovic Courtès 65fb4515f0 vm: Disable swap devices in virtualized OSes.
* gnu/system/vm.scm (virtualized-operating-system): Add 'swap-devices'
  field.
2014-11-05 11:25:39 +01:00
Ludovic Courtès 6b464e6e5a gnu: sdl: Fix home page URLs.
* gnu/packages/sdl.scm (sdl-image, sdl-mixer, sdl-net, sdl-ttf): Prepend
  "http://" to 'home-page'.
2014-11-05 11:25:39 +01:00
Eric Bavier e0622a9c4a gnu: calcurse: Update to 3.2.1.
* gnu/packages/calcurse.scm (calcurse): Update to 3.2.1.
2014-11-04 21:37:47 -06:00
David Thompson f9664de768 gnu: freeimage: Remove MIPS from supported-systems.
* gnu/packages/image.scm (freeimage): Drop support for "mips64el-linux".
2014-11-04 22:10:50 -05:00
Andreas Enge dad287bdba gnu: phonon: Update to 4.8.2.
* gnu/packages/kde.scm (phonon): Update to 4.8.2.
2014-11-04 23:47:32 +01:00
Andreas Enge 0d011aad10 gnu: xf86-video-ati: Update to 6.14.6.
* gnu/packages/xorg.scm (xf86-video-ati): Update to 6.14.6 to circumvent
    build failures.
2014-11-04 22:55:46 +01:00
Ludovic Courtès 834ea02ad8 tests: When a store item is to be deleted, make it statistically unique.
Fixes <http://bugs.gnu.org/18935>.
Reported by Mark H Weaver <mhw@netris.org>.

Previously, if tests/nar.scm ran concurrently with tests/gexp.scm, the
store item "foo" containing the string "Hello, world!" could be
deleted (via 'delete-paths') from the tests/nar.scm daemon while the
tests/gexp.scm daemon would still consider it live.

* tests/nar.scm ("restore-file-set (missing signature)"):
  Use (random-text) rather than "Hello, world!", to avoid concurrent
  deletion of store item "foo" used in tests/gexp.scm.
2014-11-04 21:13:28 +01:00
Ludovic Courtès 000c59b671 store: Invalidate caches once GC has run.
* guix/store.scm (run-gc): Add calls to 'hash-clear!'.
* tests/store.scm ("add-text-to-store vs. delete-paths",
  "add-to-store vs. delete-paths"): New tests.
2014-11-04 21:13:28 +01:00
Andreas Enge 8de1691475 gnu: qt: Update to 5.3.2.
* gnu/packages/qt.scm (qt): Update to 5.3.2. Drop configure flag
    -no-neon, which is not supported any more.
2014-11-04 19:14:29 +01:00
Ludovic Courtès 3b1bba4cab gnu: gcc-4.9: Update to 4.9.2.
* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.2.
2014-11-04 18:59:25 +01:00
Ludovic Courtès 342005e7e3 gnu: Add GNU adns.
* gnu/packages/adns.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-11-04 18:59:25 +01:00
Ludovic Courtès 121de2e107 gnu: evince: Use 'glib-or-gtk-build-system'.
* gnu/packages/gnome.scm (evince)[build-system]: Switch to
  GLIB-OR-GTK-BUILD-SYSTEM.
2014-11-04 18:59:25 +01:00
Ludovic Courtès d611d0833f gnu: gdb: Do not install libopcodes and libbfd.
* gnu/packages/gdb.scm (gdb)[arguments]: Add 'post-install' phase.
2014-11-04 18:59:25 +01:00
Ludovic Courtès b77b84717d gnu: gdb: Update to 7.8.1.
* gnu/packages/gdb.scm (gdb): Update to 7.8.1.
2014-11-04 18:59:25 +01:00
Federico Beffa aec149e32a gnu: Add docbook-xml-4.2
* gnu/packages/docbook.scm (docbook-xml-4.2): New variable.
2014-11-04 18:43:08 +01:00
Federico Beffa 6f885c059c gnu: Add gnome-themes-standard.
* gnu/packages/gnome.scm (gnome-themes-standard): New variable.
2014-11-04 18:33:32 +01:00
Federico Beffa cd14b5e3f3 gnu: librsvg: Generate complete loaders.cache including support for SVG.
* gnu/packages/gnome.scm (librsvg): Add 'generate-full-cache phase.
2014-11-04 18:16:12 +01:00
Andreas Enge ff0a8c590d gnu: qt: Explicitly link with the dbus library.
* gnu/packages/qt.scm (qt, qt-4): Add a configure flag to link explicitly
    with dbus.
2014-11-04 15:41:20 +01:00
Alex Kost 773bab64e8 doc: emacs: Fix titles of the printed manuals.
* doc/emacs.texi: Use the proper names of the printed manuals in the
  cross references.
2014-11-04 15:51:22 +03:00
Alex Kost d38bd08c74 emacs: Add interface for comparing generations.
Suggested by Ludovic Courtès.

* doc/emacs.texi (Emacs List buffer): Document new key bindings.
* emacs/guix-base.el (guix-generation-packages-buffer-name-function,
  guix-generation-packages-update-buffer, guix-output-name-width): New
  variables.
  (guix-generation-file, guix-manifest-file, guix-generation-packages,
  guix-generation-packages-buffer-name-default,
  guix-generation-packages-buffer-name-long,
  guix-generation-packages-buffer-name, guix-generation-packages-buffer,
  guix-generation-insert-package, guix-generation-insert-packages,
  guix-profile-generation-manifest-file,
  guix-profile-generation-packages-buffer): New procedures.
* emacs/guix-list.el: Add key bindings for comparing generations.
  (guix-generation-list-generations-to-compare,
  guix-generation-list-show-added-packages,
  guix-generation-list-show-removed-packages, guix-generation-list-compare,
  guix-generation-list-ediff-manifests, guix-generation-list-diff-manifests,
  guix-generation-list-ediff-packages, guix-generation-list-diff-packages,
  guix-generation-list-ediff, guix-generation-list-diff): New procedures.
* emacs/guix-messages.el (guix-messages): Add 'generation-diff' search type.
  (guix-message-outputs-by-diff): New procedure.
* emacs/guix-utils.el (guix-diff-switches): New variable.
  (guix-diff): New procedure.
* emacs/guix-main.scm (package/output-sexps): Handle 'generation-diff' search
  type.
  (manifest-entry->package-specification,
  manifest-entries->package-specifications, generation-package-specifications,
  generation-package-specifications+paths, generation-difference): New
  procedures.
2014-11-04 15:51:22 +03:00
Alex Kost 62f261d88c emacs: Improve minibuffer messages.
* emacs/guix-base.el (guix-messages, guix-result-message): Move to
  'guix-messages.el'.
  (guix-set-buffer, guix-history-call, guix-redisplay-buffer): Adjust for
  the modified 'guix-result-message'.
* emacs/guix-messages.el: New file.
  (guix-redisplay-buffer): Add 'profile' argument.
  (guix-message-string-name, guix-message-string-entry-type,
  guix-message-string-entries, guix-message-packages-by-name,
  guix-message-generations-by-time): New procedures.
2014-11-04 15:51:21 +03:00
Andreas Enge 6f7f24092f gnu: swig: Disable input python.
* gnu/packages/swig.scm (swig): Disable input python. Before, it was not
    taken into account during configure; now that it is found, it fails
    its tests. None of the dependent packages need it.
2014-11-04 13:43:20 +01:00
Andreas Enge 4f38d922fe gnu: swig: Update to 3.0.2.
* gnu/packages/swig.scm (swig): Update to 3.0.2.
2014-11-04 13:42:01 +01:00
Andreas Enge 17e1ddf697 gnu: swig: Update to 2.0.12.
* gnu/packages/swig.scm (swig): Update to 2.0.12.
2014-11-04 13:41:02 +01:00
Andreas Enge 3c0f23290d gnu: python-wrapper: Propagate input python.
* gnu/packages/python.scm (python-wrapper): Propagate input python, so that
    the python libraries are made available as well as the python3 binaries
    without the symbolic links.
2014-11-04 13:40:32 +01:00
Eric Bavier b38e45d813 gnu: Use version-major+minor in gnome and gtk.
* gnu/packages/gnome.scm (gnome-desktop, gnome-doc-utils,
  libgnome-keyring, evince, gsettings-desktop-schemas,
  gnome-icon-theme, libnotify, lipeas, glade, libcroco, libgsf,
  librsvg, libidl, orbit2, gconf, gnome-mime-data, gnome-vfs,
  libgnome, libart-lgpl, libgnomecanvas, libgnomeui, libglade,
  libgnomeprint, libgnomeprintui, libbonoboui, goffice, gnumeric): Use
  version-major+minor.
  (shared-mime-info, hicolor-icon-theme): Wrap long uri lines.
* gnu/packages/gtk.scm (atk, pangox-compat, gtksourceview, gdk-pixbuf,
  at-spi2-core, at-spi2-atk, gtk+-2, gtk+, pangomm, atkmm, gtkmm,
  gtkmm-2): Use version-major+minor.
2014-11-04 05:03:26 -06:00
Ludovic Courtès c37a74bd3e packages: 'package-transitive-supported-systems' accounts for indirect deps.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/packages.scm (first-value): New macro.
  (package-transitive-supported-systems): Rewrite to traverse all the
  DAG rooted at PACKAGE.
* tests/packages.scm ("package-transitive-supported-systems"): Add 'd'
  and 'e', and test them.
2014-11-03 21:26:48 +01:00
Federico Beffa 6888830b35 gnu: Add Cython.
* gnu/packages/python.scm (cython, cython2): New variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-03 10:36:50 +01:00
Ludovic Courtès 3b509259bf gnu: man-pages: Build sequentially.
Fixes <http://bugs.gnu.org/18701>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/man.scm (man-pages)[arguments]: Add #:parallel-build? #f.
2014-11-02 23:23:43 +01:00
Ludovic Courtès d460204f2e system: Allow Linux-libre to find our 'modprobe' command.
Fixes <http://bugs.gnu.org/18525>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/build/activation.scm (activate-modprobe): New procedure.
* gnu/system.scm (modprobe-wrapper): New procedure.
  (operating-system-activation-script): Use both.
2014-11-02 23:06:17 +01:00
Ludovic Courtès ac67e20582 gnu: kmod: 'kmod static-nodes' command honors $LINUX_MODULE_DIRECTORY.
* gnu/packages/patches/kmod-module-directory.patch: Add hunk for
  tools/static-nodes.c.  Taken from Nixpkgs, where it was added by
  Eelco Dolstra <eelco.dolstra@logicblox.com>.
2014-11-02 22:06:27 +01:00
Ludovic Courtès 47e643db10 guix-register: Do not attempt to create NIX_STORE_DIR.
Fixes <http://bugs.gnu.org/18689>.
Reported by Philip Woods <elzairthesorcerer@gmail.com>.

* nix/guix-register/guix-register.cc (main): Move 'store' instantiation
  above 'settings.nixStore' assignment.
2014-11-02 21:38:23 +01:00
Ludovic Courtès 05962f2958 packages: Implement grafts.
Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions
and suggestions.

* guix/packages.scm (<package>)[graft]: New field.
  (patch-and-repack): Invoke 'package-derivation' with #:graft? #f.
  (package-source-derivation): Likewise.  Do not use (%guile-for-build)
  in call to 'patch-and-repack', and we could end up using a grafted
  Guile.
  (expand-input): Likewise, also for 'package-cross-derivation' call.
  (package->bag): Add #:graft? parameter.  Honor it.  Use 'strip-append'
  instead of 'package-full-name'.
  (input-graft, input-cross-graft, bag-grafts, package-grafts): New
  procedures.
  (package-derivation, package-cross-derivation): Add #:graft? parameter
  and honor it.
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add
  recursive call on 'graft'.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
  package-with-extra-configure-variable, static-package): Likewise.
  (gnu-build): Use the ungrafted Guile to avoid full rebuilds.
  (gnu-cross-build): Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* tests/packages.scm ("package-derivation, direct graft",
  "package-cross-derivation, direct graft", "package-grafts,
  indirect grafts", "package-grafts, indirect grafts, cross",
  "package-grafts, indirect grafts, propagated inputs",
  "package-derivation, indirect grafts"): New tests.
  ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in
  'parameterize'.
* doc/guix.texi (Security Updates): New node.
  (Invoking guix build): Document --no-graft.
2014-11-02 21:22:12 +01:00
Ludovic Courtès 50373bab7a packages: Add 'package->bag' test for propagated inputs.
* tests/packages.scm ("package->bag, propagated inputs"): New test.
2014-11-02 21:22:12 +01:00
Ludovic Courtès e786293e76 derivations: Add 'derivation-name'.
* guix/derivations.scm (derivation-name): New procedure.
* tests/derivations.scm ("derivation-name"): New test.
2014-11-02 21:22:12 +01:00
Andreas Enge 5c2033f864 gnu: Add oxygen-icons.
* gnu/packages/kde.scm (oxygen-icons): New variable.
2014-11-02 19:13:44 +01:00
Alex Kost 833fdac028 emacs: Add package info heading.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>

* emacs/guix-info.el: (guix-package-info-heading): New face.
  (guix-package-info-synopsis): Modify face.
  (guix-info-insert-entry-default, guix-package-info-insert-heading,
  guix-package-info-insert-with-heading): New procedures.
  (guix-package-info-heading-params, guix-info-insert-package-function,
  guix-info-insert-installed-function, guix-info-insert-output-function,
  guix-info-insert-generation-function): New variables.
2014-11-02 20:43:10 +03:00
David Thompson 43402c5cd2 gnu: Add freeimage.
* gnu/packages/image.scm (freeimage): New variable.
2014-11-02 12:33:25 -05:00
Andreas Enge 76c9b6aaef gnu: libart-lgpl: Update to 2.3.21.
* gnu/packages/gnome.scm (libart-lgpl): Update to 2.3.21.
2014-11-02 13:15:39 +01:00
Eric Bavier edda6db236 gnu: wget: Add input libpsl.
* gnu/packages/wget.scm (wget)[inputs]: Add libpsl.
2014-10-31 20:25:02 -05:00
Eric Bavier 488e886384 gnu: Add libpsl.
* gnu/packages/web.scm (libpsl): New variable.
2014-10-31 20:25:02 -05:00
Eric Bavier fb7bdb43ef gnu: wget: Upgrade to 1.16.
* gnu/packages/wget.scm (wget)[source]: Upgrade to 1.16.
  [inputs]: Add libidn.
  [native-inputs]: Add python, perl-http-daemon, and
  perl-io-socket-ssl.
2014-10-31 20:25:02 -05:00
Eric Bavier 3484d052fa gnu: Add perl-io-socket-ssl.
* gnu/packages/web.scm (perl-io-socket-ssl): New variable.
2014-10-31 20:25:02 -05:00
Eric Bavier a16e9204ad gnu: Add perl-net-ssleay.
* gnu/packages/openssl.scm (perl-net-ssleay): New variable.
2014-10-31 20:25:02 -05:00
David Thompson 12d39eb514 gnu: ruby: Update to 2.1.4.
* gnu/packages/ruby.scm: Update.  Remove the now redundant readline patch.
2014-10-31 18:57:30 -04:00
Ludovic Courtès d8805b95f5 build: Unset 'CDPATH' in 'test-env'.
Reported by Mathieu Lirzin.

* test-env.in: Unset 'CDPATH'.
2014-10-31 16:54:45 +01:00
Jason Self c268a0d4a6 gnu: linux-libre: Update to 3.17.2.
* gnu/packages/linux.scm (linux-libre): Update to version 3.17.2.
2014-10-30 21:13:20 -07:00
Ludovic Courtès 49aeaedfa7 gnu: gpsbabel: Correctly unquote the value for #:tests?.
* gnu/packages/gps.scm (gpsbabel)[arguments]: Add missing unquote.
  Fixes typo introduced in 8235039.
2014-10-31 00:10:44 +01:00
Ludovic Courtès e0ea3f8a0d download: Append (effective-version) to '%load-path' for GnuTLS.
* guix/download.scm (url-fetch)[builder]: Append (effective-version) to
  %load-path, as discussed at
  <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00398.html>.
  This fixes a regression introduced in b94ae0b.
2014-10-30 15:46:36 +01:00
Ludovic Courtès b9113adf45 environment: Improve '--help' output.
* guix/scripts/environment.scm (show-help): Align --pure and
  --search-paths with other long options; add 'newline' call before
  'show-bug-report-information' call.
2014-10-30 14:08:03 +01:00
Ludovic Courtès 82350397ed gnu: gpsbabel: Disable tests on i686.
* gnu/packages/gps.scm (gpsbabel)[arguments]: Add #:tests?.
2014-10-30 14:08:03 +01:00
Andreas Enge e9a6d2252c gnu: texlive: Move script packages from native-inputs to inputs.
* gnu/packages/texlive.scm (texlive): Move perl, python and tcsh from
    native inputs to inputs.
2014-10-30 00:01:02 +01:00
Andreas Enge b32c8549e4 gnu: texlive: Add inputs fontforge and ruby.
* gnu/packages/texlive.scm (texlive): Add interpreters fontforge and ruby
    to the inputs.
2014-10-29 21:21:50 +01:00
Andreas Enge 7591698210 gnu: texlive: Use system potrace instead of bundled copy.
* gnu/packages/texlive.scm (texlive): Add potrace as an input and modify
    the configure flags accordingly.
2014-10-29 21:21:49 +01:00
Andreas Enge 4797d84ddb gnu: potrace: Install libraries and header files.
* gnu/packages/fontutils.scm (potrace): Add configure flag to install
    libraries and header files.
2014-10-29 21:21:49 +01:00
Andreas Enge 283fd55b41 gnu: texlive: Drop obsolete input t1lib.
* gnu/packages/texlive.scm (texlive): Drop input t1lib and the corresponding
    configure flag.
    Since texlive-2013, xdvi uses freetype instead of t1lib for rendering.
2014-10-29 21:21:49 +01:00
Andreas Enge 609578a7d0 gnu: texlive: Use system libpaper instead of bundled copy.
* gnu/packages/texlive.scm (texlive): Add libpaper as an input and modify
    the configure flags accordingly.
2014-10-29 21:21:49 +01:00
Andreas Enge c70cf7eb07 gnu: texlive: Use system harfbuzz instead of bundled copy.
* gnu/packages/texlive.scm (texlive): Add harfbuzz as an input and modify
    the configure flags accordingly.
2014-10-29 21:21:48 +01:00
Andreas Enge 27383915ce gnu: harfbuzz: Add and enable input graphite2.
* gnu/packages/gtk.scm (harfbuzz): Add input graphite2 and enable it with
    the corresponding configure flag.
2014-10-29 21:21:48 +01:00
Andreas Enge be2c88caa0 gnu: texlive: Use system graphite2 instead of bundled copy.
* gnu/packages/texlive.scm (texlive): Add graphite2 as an input and modify
    the configure flags accordingly.
2014-10-29 21:21:48 +01:00
Ludovic Courtès 3b23972059 gnu: Add GPS Correlate.
* gnu/packages/gps.scm (gpscorrelate): New variable.
2014-10-29 17:58:42 +01:00
Ludovic Courtès 83aabfbcc6 gnu: Add GPSBabel.
* gnu/packages/gps.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-10-29 14:58:31 +01:00
Ludovic Courtès 7dbe096c63 import: snix: Handle license attributes.
* guix/import/snix.scm (snix-derivation->guix-package)[license-variable]:
  Move to...
  (license-variable): ... here.  Handle license attributes.
2014-10-29 14:03:46 +01:00
Ludovic Courtès 940a8c57be offload: Remove mutual exclusion on transfers.
Suggested by Mark H. Weaver <mhw@netris.org>
at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00352.html>.

* guix/scripts/offload.scm (transfer-and-offload): Remove uses of
  'with-machine-lock'.
2014-10-29 00:31:23 +01:00
Ludovic Courtès d2d0514b58 derivations: Fix 'derivation-prerequisites-to-build' when #:local-build?.
* guix/derivations.scm (derivation-prerequisites-to-build)[derivation-substitutable?]:
  Call 'substitutable-derivation?'.
  <body>: When 'substitutable-derivation?' returns #f, add DRV to BUILD.
2014-10-29 00:31:23 +01:00
Ludovic Courtès e6740741d1 tests: Move some of the narinfo test tools to (guix tests).
* guix/tests.scm (derivation-narinfo, call-with-derivation-narinfo): New
  procedures.
  (with-derivation-narinfo): New macro.
* tests/derivations.scm ("derivation-prerequisites-to-build and
  substitutes"): Use them.
2014-10-29 00:31:23 +01:00
Ludovic Courtès a96a82d79e system: Add pciutils and pciutils to '%base-packages'.
* gnu/system.scm (%base-packages): Add PCIUTILS and USBUTILS.
2014-10-29 00:31:23 +01:00
Ludovic Courtès 4902c3ecc6 gnu: Add ath9k-htc-firmware.
* gnu/packages/firmware.scm: New file.
* gnu/packages/patches/ath9k-htc-firmware-objcopy.patch: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add 'firmware.scm'.
  (dist_patch_DATA): Add the patch.
2014-10-29 00:31:23 +01:00
Ludovic Courtès 9d3074609a gnu: Add Xtensa bare-bones cross-compiler.
* gnu/packages/cross-base.scm (xgcc-xtensa): New variable.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
  "xtensa-elf".
2014-10-29 00:31:23 +01:00
Ludovic Courtès fc93e30919 derivations: Add 'offloadable-derivation?' and 'substitutable-derivation?'.
* guix/derivations.scm (offloadable-derivation?,
  substitutable-derivation?): New procedures.
* tests/derivations.scm ("offloadable-derivation?"): New test.
2014-10-29 00:31:23 +01:00
Ludovic Courtès 31a123fe00 gnu: guile-ncurses: Update to 1.6.
* gnu/packages/guile.scm (guile-ncurses): Update to 1.6.
2014-10-29 00:31:23 +01:00
Eric Bavier 791e0126ae build: Adjust lint tests for latest rules.
* tests/guix-lint.sh (dummy)[description]: Add failing case.
  [doc]: Adjust.
2014-10-28 09:28:40 -05:00
Ludovic Courtès bc36105651 list-packages: Add Hydra links only for the supported systems.
* build-aux/list-packages.scm (package->sxml)[status]: Use
  'package-transitive-supported-systems' instead of a hard-coded list of
  systems.
2014-10-28 10:30:38 +01:00
Ludovic Courtès 7491edafdb gnu: mit-scheme: Fix typo in 'supported-systems'.
* gnu/packages/scheme.scm (mit-scheme)[supported-systems]: Correct
  spelling of "mips64el-linux".
2014-10-28 10:29:36 +01:00
Ludovic Courtès f15615b119 gnu: atlas: Make it non-substitutable.
Suggested by Federico Beffa <beffa@ieee.org>.

* gnu/packages/maths.scm (atlas)[arguments]: Pass #:substitutable? #f.
  [description]: Adjust accordingly.
2014-10-28 10:17:55 +01:00
Ludovic Courtès 77b0ac905d build-system/gnu: Add #:substitutable? parameter.
* guix/build-system/gnu.scm (gnu-build): Add #:substitutable?
  parameter.  Pass #:local-build? to 'build-expression->derivation'.
  (gnu-cross-build): Likewise.
2014-10-28 10:17:13 +01:00
Ludovic Courtès f47638a353 gnu: Mark a few packages as unsupported on MIPS.
* gnu/packages/gprolog.scm (gprolog): Add 'supported-systems' field.
* gnu/packages/qemu.scm (qemu-headless): Likewise.
* gnu/packages/qt.scm (qt): Likewise.
* gnu/packages/scheme.scm (racket): Likewise.
2014-10-28 01:18:50 +01:00
Alex Kost 2d7bf94927 emacs: Add 'guix-pull' command.
* emacs/guix-base.el (guix-pull): New command.
  (guix-update-after-pull, guix-after-pull-hook): New variables.
  (guix-restart-repl-after-pull, guix-update-buffers-maybe-after-pull): New
  procedures.
* emacs/guix-main.scm: Use (guix scripts pull) module.
* doc/emacs.texi (Emacs Commands): Document 'guix-pull' command.
2014-10-27 21:52:56 +03:00
Alex Kost 17b50485a6 emacs: Improve REPL procedures.
* emacs/guix-backend.el (guix-start-process-maybe): Add 'start-msg' and
  'end-msg' optional arguments.
  (guix-start-repl-maybe): Likewise.  Do not kill buffer with a dead process.
  (guix-repl-exit): New procedure.
  (guix-eval-in-repl): Use 'geiser-repl--send'.
2014-10-27 21:52:56 +03:00
Alex Kost f209da9f94 emacs: Improve buffer procedures.
* emacs/guix-base.el (guix-list-or-info-buffer-p): Delete.  Replace with...
  (guix-buffer-p): ... this.  New procedure.
  (guix-buffers): Use it.  Add 'modes' argument.
  (guix-update-buffer): New procedure.
  (guix-update-buffers-maybe): Rename to ...
  (guix-update-buffers-maybe-after-operation): this.  Use
  'guix-update-buffer'.
2014-10-27 21:52:56 +03:00
Alex Kost ce2e4e3938 emacs: Introduce REPL operation type.
* emacs/guix-backend.el (guix-repl-operation-type): New variable.
  (guix-repl-output-filter): Run type hooks after performing an operation.
  (guix-eval-read): Add 'operation-type' argument.
2014-10-27 21:52:55 +03:00
Alex Kost d2b299a91f emacs: Handle updating by ID after REPL restart.
* emacs/guix-base.el (guix-entry-to-specification,
  guix-entries-to-specifications): New procedures.
  (guix-revert-buffer): Search by name if searching by ID gives no results.
2014-10-27 21:52:55 +03:00
Ian Denhardt 8a96bd4bb0 doc: Add a note about optional GnuTLS dependency.
* README (Requirements): add a note about 'guix download''s GnuTLS dependency.
* doc/guix.texi (Requirements): Likewise.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-10-27 13:53:46 +01:00
Ludovic Courtès 537c8bb3fc doc: Add cross-reference to the gnutls-guile manual.
* doc/guix.texi (Invoking guix download): Add cross-reference to the
  gnutls-guile manual.
2014-10-27 13:53:46 +01:00
John Darrington eeb3703db5 gnu: Add miscfiles
* gnu/packages/miscfiles.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-10-27 11:17:21 +01:00
Mark H Weaver 4e2f98c539 gnu: Add prefix to license imports in (gnu packages feh).
* gnu/packages/feh.scm: Import (guix licenses) with #:prefix license: to avoid
  importing 'imlib2' from both (gnu packages image) and (guix licenses).
2014-10-27 03:35:02 -04:00
Mark H Weaver 6becfdff76 gnu: ruby: Miscellaneous improvements to package definition.
* gnu/packages/ruby.scm (ruby): Compute major+minor version string for the
  source URI.  Switch to the .bz2 tarball and update the hash accordingly.
  Remove 'autoconf' from the inputs.  Change 'native-search-paths' to the
  directory that is actually created by the build.  Remove the package name
  from the synopsis.
  (ruby-1.8): Compute major+minor version string for the source URI, and avoid
  the use of 'name' in the URI computation.  Remove 'name' field, since it is
  inherited and no longer needed.
2014-10-27 03:20:36 -04:00
Pjotr Prins 218ee89b0c gnu: Add ruby 1.8.7.
* gnu/packages/ruby.scm (ruby-1.8): New variable.
2014-10-27 03:20:32 -04:00
Alex Kost b94ae0b89e gnu: gnutls: Fix path to a guile site directory.
Suggested by Ludovic Courtès.

* gnu/packages/gnutls.scm (gnutls): Add '--with-guile-site-dir' configure
  flag.
2014-10-27 09:56:58 +03:00
Mark H Weaver fa35dafe9a gnu: parallel: Update to 20141022.
* gnu/packages/parallel.scm (parallel): Update to 20141022.
2014-10-26 23:05:29 -04:00
Mark H Weaver bed9307062 gnu: tor: Update to 0.2.5.10.
* gnu/packages/tor.scm (tor): Update to 0.2.5.10.
2014-10-26 16:49:55 -04:00
Alex Kost 8835aed4ad licenses: Add 'imlib2'.
* guix/licenses.scm (imlib2): New variable.
* gnu/packages/image.scm (imlib2): Use it.
2014-10-26 22:22:43 +03:00
Eric Bavier 35b9e4232c gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
  gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
  gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
  gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
  gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
  gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
  gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
  gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
  gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
  gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
  gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
  gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
  gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
  gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
  gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
  gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
  gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
  gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
  gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
  gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
  gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
  gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
  gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
  gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
  gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
  gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
  gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
  gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
  gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
  gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
  gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
  gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
  gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
  gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
  according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-26 13:03:53 -05:00
Eric Bavier 3c42965b1e guix: lint: Make exception for package name starting description.
* guix/scripts/lint.scm (check-description-style): Exception for
  upper-case rule if the description starts with the package name.
* tests/lint.scm: Test it.
2014-10-26 13:03:53 -05:00
Eric Bavier 903581f971 guix: lint: Allow digits at start of synopsis or description.
* guix/scripts/lint.scm (start-with-capital-letter?): Rename too...
  (properly-starts-sentence?): Rewrite with regex and add digits.
  (check-description-style, check-synopsis-style): Use it.
* tests/lint.scm: Add tests.
2014-10-26 13:03:53 -05:00
Eric Bavier 334c43e354 guix: lint: Check for empty synopses and descriptions.
* guix/scripts/lint.scm (check-description-style,
  check-synopsis-style): New emptiness checks.
* tests/lint.scm: Test them.
2014-10-26 13:03:53 -05:00
Eric Bavier 574e847b8e guix: lint: Check for proper end-of-sentence space.
* guix/scripts/lint.scm (start-with-capital-letter?): Handle empty
  strings.
  (check-description-style): New check for end-of-sentence space.
* tests/lint.scm: Test it.
2014-10-26 13:03:53 -05:00
Eric Bavier c04b82ffce guix: lint: Use if/when consistently.
* guix/scripts/lint.scm (check-synopsis-style): Replace single-branch
  uses of if with when.
  (check-patches): Same
2014-10-26 13:03:53 -05:00
Eric Bavier 86a4126348 guix: lint: Use string-suffix? and string-prefix? where appropriate.
* guix/scripts/lint.scm (check-synopsis): Use string-suffix? and
  string-prefix? in place of string-take and string=?.
2014-10-26 13:03:53 -05:00
Federico Beffa ec322be248 gnu: Add ATLAS.
* gnu/packages/maths.scm (atlas): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-26 15:16:06 +01:00
Joshua Grant 822efdff8a Update name and email address for Joshua Grant. 2014-10-26 14:48:57 +01:00
John Darrington 3435266298 gnu: Add cppunit
* gnu/packages/check.scm (cppunit): New variable.
2014-10-26 08:50:58 +01:00
Mark H Weaver 1d1efa6c6a gnu: pulseaudio: Fix CVE-2014-3970 and intermittent test failures.
* gnu/packages/patches/pulseaudio-CVE-2014-397.patch: New file.
* gnu/packages/patches/pulseaudio-fix-mult-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/pulseaudio.scm (pulseaudio): Add patches.
2014-10-26 02:55:38 -04:00
Mark H Weaver 16755848fc gnu: acl: Install library and disable failing test suite.
Previously, this package was completely broken.  It installed only
binaries that failed to run for lack of the shared library.

* gnu/packages/acl.scm (acl): Disable tests.  Remove customized
  'check' phase that ran tests and ignored errors.  Remove 'perl' as
  input, needed only for tests.  Replace 'install' phase with one that
  includes 'install-lib' target.
2014-10-26 02:55:38 -04:00
Mark H Weaver e102df2812 gnu: openssl: Update to 1.0.1j.
* gnu/packages/openssl.scm (openssl): Update to 1.0.1j.
2014-10-26 02:55:38 -04:00
Mark H Weaver c57a6e4cd5 gnu: gettext: Update to 0.19.3.
* gnu/packages/gettext.scm (gettext): Update to 0.19.3.
2014-10-26 02:55:37 -04:00
Mark H Weaver 459cad2311 gnu: bash: Update to 4.3.30.
* gnu/packages/bash.scm (%patch-series-4.3): Add patches 28-30.
  (bash)[source]: Remove parser-oob patch.  It is superceded by
  upstream patch bash43-028.
2014-10-26 02:55:37 -04:00
Mark H Weaver 6178ae9cb7 gnu: make: Update to 4.1.
* gnu/packages/base.scm (make): Update to 4.1.  Adapt 'default_shell'
  substitution to new code.
* gnu/packages/commencement.scm (gnu-make-boot0): Remove code that
  manually removed guile.c from list of things to build.
2014-10-26 02:55:37 -04:00
Mark H Weaver f9e687b51a gnu: ffmpeg: Add version 2.2.9 and use it for vlc.
* gnu/packages/video.scm (ffmpeg-2.2): New variable.
  (vlc): Use ffmpeg-2.2.
2014-10-25 20:06:43 -04:00
Andreas Enge 569ac04681 gnu: python2-pyicu: Update to 1.8.
* gnu/packages/python.scm (python2-pyicu): Update to 1.8.
2014-10-24 21:36:41 +02:00
Mark H Weaver 23466647a8 gnu: vlc: Update to 2.1.5.
* gnu/packages/video.scm (vlc): Update to 2.1.5.
2014-10-23 20:16:46 -04:00
Mark H Weaver 47bc885c2c gnu: icecat: Update to 31.2.0.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.2.0.  Download
  source from GNU mirrors.
2014-10-23 18:47:39 -04:00
Cyril Roelandt 68b18aae6a guix import pypi: Fix a typo in a docstring.
* guix/import/pypi.scm (snake-case): Fix documentation.
2014-10-22 02:47:29 +02:00
Cyril Roelandt a5ffa812b8 guix import pypi: do not add "python-" to a package name if it's already there.
* guix/import/pypi.scm (make-pypi-sexp): test whether the package name starts
  with "python-" before modifying it.
2014-10-22 02:47:29 +02:00
Cyril Roelandt cf690129b4 guix import pypi: add the Apache License 2.0
* guix/import/pypi.scm (string->license): add ASL2.0.
2014-10-22 02:47:29 +02:00
Mark H Weaver 388fd01b02 gnu: emacs: Update to 24.4.
* gnu/packages/patches/emacs-configure-sh.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/emacs.scm (emacs): Update to 24.4.  Add 'acl' as input.
  Remove --with-crt-dir configure option.
  (emacs-no-x-toolkit): Add 'inotify-tools' as input.  Adjust to cope
  with the lack of configure-flags in the main 'emacs' package.
2014-10-21 00:07:31 -04:00
Eric Bavier 05b4226ad9 refresh: Add end-of-line to error message.
* guix/scripts/refresh.scm (%options)[select]: Add end-of-line to
  error message.
2014-10-20 17:03:02 -05:00
Eric Bavier 1454a2ba88 gnu: ccache: Upgrade to 3.1.10.
* gnu/packages/ccache.scm (ccache): Upgrade to 3.1.10.
  [source]: Remove patches.
* gnu/packages/patches/ccache-stdc-predef-test.patch: Delete patch.
* gnu-system.am (dist_patch_DATA): Remove it.
2014-10-20 16:49:32 -05:00
Jason Self 7947a05439 gnu: ffmpeg: Update to 2.4.2.
* gnu/packages/video.scm (ffmpeg): Update to version 2.4.2.
2014-10-20 12:32:42 -07:00
John Darrington 45c151d9b4 gnu: Add sane-backends
* gnu/packages/scanner.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-10-20 18:13:36 +02:00
Andreas Enge 9a9f1003ae gnu: sqlite: Add readline as input.
* gnu/packages/databases.scm (sqlite): Add input readline.
2014-10-20 16:10:09 +02:00
Ian Denhardt 29a7c98a42 gnu: Add 'version-prefix' and 'version-major+minor'; use them.
The procedure version-prefix truncates a version string to a certain
number of components. version-major+minor is a special case of this,
which extracts the "major.minor" part of the string. Previously this
was handled by an expression common to several packages.

* guix/utils.scm (version-prefix, version-major+minor): New procedures
* gnu/packages/backup.scm (duplicity): Use version-major+minor.
* gnu/packages/cmake.scm (cmake): Likewise.
* gnu/packages/gnome.scm (libbonobo, libbonoboui): Likewise.
* gnu/packages/gnutls.scm (gnutls): Likewise.
* gnu/packages/mail.scm (gmime): Likewise.
* gnu/packages/mpd.scm (mpd): Likewise.
* gnu/packages/mpi.scm (openmpi): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-20 15:32:54 +02:00
Ludovic Courtès 38bf090e7c download: Add "Accept: */*" to the headers.
Fixes downloads from https://alioth.debian.org.
Reported by John Darrington <jmd@gnu.org>.

* guix/build/download.scm (http-fetch)[headers]: Add 'Accept'.
2014-10-19 12:07:53 +02:00
John Darrington d99e12d247 gnu: Add ntp
* gnu/packages/ntp.scm: New file.
* gnu-system.am (gnu/packages/ntp.scm): Add it.
2014-10-19 10:03:34 +02:00
Alex Kost 23459fa59b emacs: Improve interface for working with multiple profiles.
Suggested by David Thompson, Ludovic Courtès and Mathieu Lirzin.

* emacs/guix-base.el (guix-profile-prompt): New procedure.
  (guix-set-current-profile): Use it.
  (guix-buffer-name-simple, guix-buffer-name-default, guix-buffer-name): New
  procedures.
  (guix-buffer-name-function, guix-profile): New variables.
  (guix-set-vars, guix-get-entries, guix-get-show-entries, guix-set-buffer,
  guix-history-call, guix-process-package-actions,
  guix-continue-package-operation-p, guix-delete-generations,
  guix-switch-to-generation): Add 'profile' argument.
* emacs/guix.el (guix-get-show-packages, guix-get-show-generations,
  guix-search-by-name, guix-search-by-regexp, guix-installed-packages,
  guix-obsolete-packages, guix-all-available-packages,
  guix-newest-available-packages, guix-generations, guix-generations-by-time):
  Likewise.
  (guix-last-generations): New command.
* emacs/guix-info.el: Adjust for using 'profile' argument where needed.
* emacs/guix-list.el: Likewise.
* doc/emacs.texi (Emacs Commands): Document 'guix-last-generations' and using
  "C-u" for commands.
  (Emacs Buffer Names): Document 'guix-buffer-name-function'.
2014-10-18 10:24:13 +04:00
Ludovic Courtès 7c3c0374de packages: Add 'package-transitive-supported-systems'.
* guix/packages.scm (package-transitive-supported-systems): New procedure.
* tests/packages.scm ("package-transitive-supported-systems"): New test.
* build-aux/hydra/gnu-system.scm (package->job): Use it.
2014-10-17 23:23:21 +02:00
Ludovic Courtès 67a86d3b8d gnu: valgrind: Don't build on mipsel64-linux.
* gnu/packages/valgrind.scm (valgrind): Add 'supported-systems'.
2014-10-17 23:23:20 +02:00
Ludovic Courtès 1d830bc0c2 gnu: sdl-gfx: Build only on Intel machines.
* gnu/packages/sdl.scm (sdl-gfx): Add 'supported-systems' field.
2014-10-17 23:23:20 +02:00
Ludovic Courtès e5997888fa derivations: 'graft-derivation' correctly handles multiple-output sources.
* guix/derivations.scm (graft-derivation): Add DRV as input for each one
  of OUTPUT-NAMES.
2014-10-17 23:23:20 +02:00
Ludovic Courtès 8dcec91426 packages: Improve the package-to-derivation cache.
* guix/packages.scm (cache): Preserve the former values associated with
  PACKAGE.
  (cached): Bind SYSTEM in 'let', to prevent double evaluation.
2014-10-17 23:23:20 +02:00
Ludovic Courtès 3d7d17b318 derivations: Add #:system parameter to 'graft-derivation'.
* guix/derivations.scm (graft-derivation): Add #:system parameter.
2014-10-17 23:23:20 +02:00
Ludovic Courtès 969df97487 derivations: Introduce 'graft' record type.
* guix/derivations.scm (<graft>): New record type.
  (graft-derivation): Rename 'replacements' to 'grafts', and expect it
  to be a list of <graft> records.  Adjust accordingly.
* tests/derivations.scm ("graft-derivation"): Use 'graft' instead of
  pairs in argument to 'graft-derivation'.
2014-10-17 23:23:20 +02:00
Ludovic Courtès e25408849a records: Improve the docstring of 'define-record-type*'.
* guix/records.scm (define-record-type*): Agument the docstring, give
  examples.
2014-10-17 23:23:20 +02:00
Alex Kost bd53d327e1 doc: Replace "emacs" with "Emacs" in node names.
Suggested by Ludovic Courtès.

* doc/emacs.texi: Use "Emacs" in node names.
2014-10-17 21:29:09 +04:00
Alex Kost 189cea2782 emacs: Add 'guix-generations-by-time' command.
* emacs/guix-main.scm (find-generations): Add finding generations by time.
* emacs/guix-utils.el (guix-read-date): New procedure.
* emacs/guix-base.el (guix-messages): Add new messages.
* emacs/guix.el (guix-generations-by-time): New command.
* doc/emacs.texi (emacs Commands): Document it.
2014-10-17 10:56:27 +04:00
Ludovic Courtès 347e17b474 download: Allow use of substitutes.
See <https://bugs.gnu.org/18747> for the original report.

* guix/download.scm (url-fetch): Comment out #:local-build? argument.
* guix/git-download.scm (git-fetch): Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
2014-10-16 23:40:10 +02:00
Jason Self fd2b6df2a8 gnu: linux-libre: Update to 3.17.1.
* gnu/packages/linux.scm (linux-libre): Update to version 3.17.1.
2014-10-16 05:45:44 -07:00
Alex Kost 49d758d212 emacs: Support auto-updating after performing REPL operation.
* emacs/guix-backend.el (guix-operation-buffer): New variable.
  (guix-eval-in-repl): Use it.  Add optional 'operation-buffer' argument.
* emacs/guix-base.el (guix-update-after-operation): New variable.
  (guix-switch-to-buffer, guix-list-or-info-buffer-p, guix-buffers,
  guix-update-buffers-maybe): New procedures.
  (guix-set-buffer): Use 'guix-switch-to-buffer'.  Add optional 'no-display'
  argument.
  (guix-process-package-actions, guix-delete-generations,
  guix-switch-to-generation): Add optional 'operation-buffer' argument.
* emacs/guix-info.el (guix-package-info-insert-action-button,
  guix-generation-info-insert-number, guix-generation-info-insert-current):
  Adjust for using operation buffer.
* emacs/guix-list.el (guix-list-execute-package-actions,
  guix-generation-list-switch, guix-generation-list-execute): Likewise.
2014-10-16 10:09:53 +04:00
Alex Kost 063b60be7b emacs: Add hooks for REPL operations.
* emacs/guix-backend.el (guix-before-repl-operation-hook,
  guix-after-repl-operation-hook, guix-repl-operation-p): New variables.
  (guix-repl-operation-success-message, guix-repl-output-filter): New
  procedures.
  (guix-start-repl): Adjust for using 'guix-repl-output-filter'.
  (guix-eval-in-repl): Honor 'guix-before-repl-operation-hook'.
2014-10-16 10:09:53 +04:00
Cyril Roelandt dd7c013d4b guix lint: add the --checkers option.
* guix/scripts/lint.scm: add the "--checkers" option.
* doc/guix.texi (Invoking guix lint): Document it.
* tests/guix-lint.sh: New file
* Makefile.am (SCM_TESTS): Add it.
2014-10-16 00:50:27 +02:00
Ludovic Courtès 51861587c6 gnu: gnutls: Patch bug in 'set-session-server-name!'.
* gnu/packages/patches/gnutls-server-name-fix.patch: New file.
* gnu/packages/gnutls.scm (gnutls)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2014-10-14 23:09:07 +02:00
John Darrington 11c38cbe0d gnu: Add xboing
* gnu/packages/games.scm (xboing): New variable.
2014-10-13 23:39:23 +02:00
Ludovic Courtès 998fb8fa1d utils: Micro-optimize 'bytevector->base16-string'.
This reduces run time of (package-derivation s emacs) by ~1.5%.

* guix/utils.scm (bytevector->base16-string): Traverse BV from the end
  so as to use 'string-concatenate' instead of
  'string-concatenate-reverse'.
2014-10-13 23:34:09 +02:00
Ludovic Courtès 8601d0ddcf derivations: Micro-optimize 'imported-modules'.
This reduces run time of (package-derivation s emacs) by ~5%.

* guix/derivations.scm (search-path*): New procedure.
  (imported-modules): Use it instead of 'search-path'.
2014-10-13 23:34:09 +02:00
Ludovic Courtès 1391dcb054 derivations: Memoize 'derivation-path->base16-hash'.
This reduces run time of (package-derivation s emacs) by ~10%.

* guix/derivations.scm (derivation-path->base16-hash): New procedure.
  (derivation-hash): Use it.
2014-10-13 23:34:09 +02:00
Ludovic Courtès 3de9a5936c gnu: gnutls: Update to 3.2.19.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.19.
2014-10-13 23:34:09 +02:00
Eric Bavier 6aad2d625f gnu: xfig, transfig: Patch compiler flags for mips and i686.
* gnu/packages/xfig.scm (xfig, transfig)[arguments]: Have Makefile
  substitution match for more targets.
2014-10-13 10:11:43 -05:00
Alex Kost af874238d4 emacs: Add support for switching generations.
* emacs/guix-base.el (guix-switch-to-generation): New procedure.
* emacs/guix-info.el (guix-generation-info-insert-current): Insert button for
  switching to generation.
* emacs/guix-list.el (guix-generation-list-switch): New procedure.
* doc/emacs.texi (emacs List buffer, emacs Info buffer): Document switching
  generations.
2014-10-13 14:59:35 +04:00
Alex Kost c2379b3c1f emacs: Add 'current' generation parameter.
* emacs/guix-main.scm (generation-param-alist): Add 'current' parameter.
* emacs/guix-base.el (guix-param-titles): Add title for 'current' parameter.
* emacs/guix-info.el: Display 'current' parameter.
  (guix-generation-info-current, guix-generation-info-not-current): New faces.
  (guix-generation-info-insert-current): New procedure.
* emacs/guix-list.el: Display 'current' column.
  (guix-generation-list-get-current): New procedure.
2014-10-13 14:59:35 +04:00
Mark H Weaver 0546393164 gnu: nss-mdns: Add alternate source URLs.
Based on 8c43746 by Ludovic Courtès <ludo@gnu.org>.
Fixes <http://bugs.gnu.org/18704>.

* gnu/packages/avahi.scm (nss-mdns)[source]: Add Debian and Fedora mirrors.
2014-10-13 03:03:42 -04:00
Ludovic Courtès 7d09fb3464 gnu: icu4c: Reinstate RUNPATH on shared libraries.
Fixes <http://bugs.gnu.org/18695>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/icu4c.scm (icu4c)[arguments]: In 'add-lib-to-runpath',
  reinstate RUNPATH on files under lib/.  Fixes a regression introduced
  in commit 7239828.
2014-10-13 00:34:44 +02:00
Ludovic Courtès 817efe8bb1 gnu: guile-ssh: Update to 0.7.1.
* gnu/packages/ssh.scm (guile-ssh)[source]: Update to 0.7.1.
  [arguments]: Remove ssh/Makefile.am fiddling from 'autoreconf' phase.
  Remove #:parallel-build? argument.
  [inputs]: Add LIBGCRYPT-1.5.
2014-10-13 00:32:14 +02:00
Ludovic Courtès e3703818db gnu: libssh: Add libgcrypt bug-fix patch.
Suggested by Artyom Poptsov <poptsov.artyom@gmail.com>.

* gnu/packages/ssh.scm (libssh)[source]: Add 'patches'.
2014-10-13 00:30:49 +02:00
Ludovic Courtès 3ad9a0b1e7 gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-0.7): Make public.
  (guix-devel)[source]: Update to commit 14e84b2.
  [propagated-inputs]: New field.
  (guix): Alias for GUIX-DEVEL.
2014-10-13 00:29:09 +02:00
Ludovic Courtès 78a90c7f47 derivations: Add #:guile parameter to 'graft-derivation'.
* guix/derivations.scm (graft-derivation): Add #:guile parameter; pass
  it to 'build-expression->derivation'.
2014-10-12 22:32:38 +02:00
Ludovic Courtès 572bcdf0bc list-packages: Handle 'origin' patches.
* build-aux/list-packages.scm (package->sxml)[patches]: Handle the case
  where PATCH is an 'origin'.
2014-10-12 15:33:07 +02:00
John Darrington 14e84b2d97 gnu: Add unixodbc
* gnu/packages/databases.scm (unixodbc): New variable.
2014-10-12 14:19:26 +02:00
Mark H Weaver fac8b30bf8 gnu: magit: Update to 1.2.1.
* gnu/packages/emacs.scm (magit): Update to 1.2.1.
2014-10-12 03:32:36 -04:00
Alex Kost abc5b82971 emacs: Allow list functions to deal with nil values.
* emacs/guix-list.el (guix-list-get-tabulated-entry): Call functions returning
  column value even for nil values.
  (guix-list-get-one-line): Adjust for accepting nil argument.
2014-10-12 08:47:19 +04:00
Alex Kost b3bb82f154 guix package: Add '--switch-generation' option.
* guix/scripts/package.scm (switch-to-generation): New procedure.
  (switch-to-previous-generation): Use it.
  (guix-package): Adjust for '--switch-generation' option.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it.
2014-10-12 08:45:38 +04:00
Alex Kost 3ccde08752 profiles: Add 'relative-generation'.
* guix/profiles.scm: (relative-generation): New procedure.
  (previous-generation-number): Use it.
2014-10-12 08:45:38 +04:00
Alex Kost c0c018f180 profiles: Add condition types for profiles and generations.
Suggested by Ludovic Courtès.

* guix/profiles.scm (&profile-error, &profile-not-found-error,
  &missing-generation-error): New condition types.
* guix/ui.scm (call-with-error-handling): Handle new types.
* guix/scripts/package.scm (roll-back, guix-package): Raise
  '&profile-not-found-error' where needed.
2014-10-12 08:45:37 +04:00
Mark H Weaver 1b7d5242c3 gnu: libarchive: Apply fixes including for CVE-2013-0211.
* gnu/packages/patches/libarchive-CVE-2013-0211.patch,
  gnu/packages/patches/libarchive-fix-lzo-test-case.patch,
  gnu/packages/patches/libarchive-mtree-filename-length-fix.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/backup.scm (libarchive)[source]: Add patches.
2014-10-11 23:21:37 -04:00
Eric Bavier 36ae58488b gnu: Add transfig.
* gnu/packages/xfig.scm (transfig): New variable.
2014-10-11 21:11:23 -05:00
Eric Bavier b3f3fb825e gnu: Add xfig.
* gnu/packages/xfig.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-10-11 21:11:23 -05:00
Eric Bavier a0e9b72e44 gnu: libjpeg: Upgrade to version 9a.
* gnu/packages/image.scm (libjpeg): Upgrade to version 9a.
2014-10-11 21:11:23 -05:00
Eric Bavier 50d74f3964 gnu: Add imake.
* gnu/packages/xorg.scm (imake): New variable.
2014-10-11 21:11:23 -05:00
Ludovic Courtès 2793c0fb26 syscalls: Accept ENOENT in the 'swapoff' test.
Fixes <http://bugs.gnu.org/18690>.
Reported by Philip Woods <elzairthesorcerer@gmail.com>.

* tests/syscalls.scm ("swapoff, EINVAL/EPERM"): Rename to...
  ("swapoff, ENOENT/EINVAL/EPERM"): ... this.  Add ENOENT to the list of
  possible return values.
2014-10-12 00:14:09 +02:00
Ludovic Courtès d53e8ba6b5 Augment '.dir-locals.el' with bug-reference-mode settings. 2014-10-12 00:14:09 +02:00
John Darrington fddbf35bf5 gnu: Add perl-zip.
* gnu/packages/zip.scm (perl-zip): New variable.
2014-10-11 17:00:15 +02:00
Mark H Weaver d8b85b7d42 gnu: openssh: Update to 6.7p1.
* gnu/packages/ssh.scm (openssh): Update to 6.7p1.
2014-10-11 02:57:39 -04:00
Mark H Weaver 58d08c369b Add copyright line to gnuzilla.scm.
* gnu/packages/gnuzilla.scm: Add copyright line for Mark H Weaver, which
  should have been added in 74c7af9 (gnu: icecat: Update to 31.1.1).
2014-10-11 02:57:35 -04:00
David Thompson 372c4bbcbb scripts: Add 'environment' command.
* guix/scripts/environment.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi ("Invoking guix environment"): New node.
2014-10-10 18:14:40 -04:00
Ludovic Courtès e25234e34b build: Make sure tests/guix-package.sh doesn't leave anything behind it.
Fixes a regression introduced in commit 300868ba.

* tests/guix-package.sh: Move 'module_dir' definition to the top, and
  "rm -rf" it from the top-most 'trap'.  Remove second use of 'trap'.
2014-10-10 14:08:59 +02:00
Ludovic Courtès 7313a52e7a doc: Add 'operating-system' reference.
* doc/guix.texi (Using the Configuration System): Add xref to
  "operating-system Reference".
  (operating-system Reference): New section.
  (Networking Services): Add xref to it.
2014-10-10 14:08:59 +02:00
Ludovic Courtès c678a4eef6 doc: Use @deftp for 'build-machine'.
* doc/guix.texi (Daemon Offload Setup): Use @deftp for 'build-machine'.
2014-10-10 14:08:59 +02:00
John Darrington 7239828d29 gnu: icu4c: Correct error in the binaries' runpath
* gnu/packages/icu4c.scm (icu4c): Apply the RUNPATH to the binaries,
  instead of the libs
2014-10-10 05:35:07 +02:00
Alex Kost 5d7a8584f5 ui: Move 'show-manifest-transaction' from (guix profiles).
* guix/profiles.scm: Do not use (guix ui) module.
  (right-arrow, manifest-show-transaction): Move and rename to...
* guix/ui.scm (right-arrow, show-manifest-transaction): ... here.
* tests/profiles.scm ("manifest-show-transaction"): Move to...
* tests/ui.scm ("show-manifest-transaction"): ... here.
  (guile-1.8.8, guile-2.0.9): New variables.
* emacs/guix-main.scm (process-package-actions): Rename
  'manifest-show-transaction' to 'show-manifest-transaction'.
* guix/scripts/package.scm (guix-package): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-10 00:06:35 +02:00
Ludovic Courtès 12703d0854 ui: Make sure we use the right domain for &message translation.
* guix/ui.scm (call-with-error-handling): Add %GETTEXT-DOMAIN as a
  second argument to 'gettext'.
2014-10-09 23:51:19 +02:00
Ludovic Courtès 0363991a25 Break module cycle involving (guix store) and (guix ui).
Before, there was a cycle along the lines of:

  (guix store) -> (guix nar) -> (guix ui) -> (guix store)

This caused problems, as discussed at:

  http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00109.html

This patch removes cycles in the (guix ...) modules.

* guix/nar.scm (&nar-error, &nar-read-error, dump, write-contents,
  read-contents, %archive-version-1, write-file, restore-file): Move to...
* guix/serialization.scm: ... here.
* guix/store.scm: Remove dependency on (guix nar).
* guix/scripts/hash.scm, guix/scripts/offload.scm,
  guix/scripts/substitute-binary.scm, tests/nar.scm, tests/store.scm,
  tests/substitute-binary.scm: Adjust accordingly.
2014-10-09 23:51:19 +02:00
Ludovic Courtès 4938b0eead substitute-binary: Ignore $GUIX_BINARY_SUBSTITUTE_URL.
* guix/scripts/substitute-binary.scm (%cache-url): Ignore the
  'GUIX_BINARY_SUBSTITUTE_URL' environment variable.
* test-env.in: Invoke 'guix-daemon' with '--substitute-urls'.
* tests/substitute-binary.scm: Set '%cache-url' to the value of
  'GUIX_BINARY_SUBSTITUTE_URL'.
2014-10-09 23:51:19 +02:00
Ludovic Courtès 9176607ec4 daemon: Add '--substitute-urls' option.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_SUBSTITUTE_URLS): New macro.
  (GUIX_OPT_NO_BUILD_HOOK, GUIX_OPT_GC_KEEP_OUTPUTS,
  GUIX_OPT_GC_KEEP_DERIVATIONS): Renumber.
  (options): Add '--substitute-urls'.
  (parse_opt): Honor it.
  (main): Add 'settings.set' call for the default "substitute-urls"
  value.
* guix/scripts/substitute-binary.scm (daemon-options,
  find-daemon-option): New procedures.
  (%cache-url): Define based on the "substitute-urls" daemon option.
* doc/guix.texi (Invoking guix-daemon): Document '--substitute-urls'.
  (Substitutes): Mention it.
2014-10-09 23:51:19 +02:00
Mark H Weaver 74c7af9fb8 gnu: icecat: Update to 31.1.1.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.1.1.  Add 'pango',
  'freetype', 'libxft' and 'pulseaudio' as inputs.  Set
  'out-of-source?' to #t.  Remove 'sanitise' phase.  Adapt customized
  'configure' phase to handle 'out-of-source?' build.  Add
  '--with-l10n-base' argument to configure.
2014-10-09 00:04:43 -04:00
Ludovic Courtès 405a9d4ec9 monads: Add 'mbegin'.
* guix/monads.scm (mbegin): New macro.
* tests/monads.scm ("mbegin"): New test.
* doc/guix.texi (The Store Monad): Document it.
2014-10-08 23:35:20 +02:00
Ludovic Courtès 2e1bafb034 packages: Gracefully print packages whose 'location' is #f.
* guix/packages.scm (<package> printer): Check whether LOC is #f.
* tests/packages.scm ("printer with location", "printer without
  location"): New tests.
2014-10-08 23:06:19 +02:00
Ludovic Courtès 9c814b828a Add Federico to 'AUTHORS'. 2014-10-08 22:12:06 +02:00
Federico Beffa 3afcf52be8 doc: Document 'glib-or-gtk-build-system'.
* doc/guix.texi (Build System): Document 'glib-or-gtk-build-system'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-10-08 22:11:38 +02:00
Eric Bavier c824d34fae gnu: cmake: Use our curl, zlib, expat, bzip2, and libarchive.
* gnu/packages/cmake.scm (cmake)[arguments]: Move sh-patching to new
  'patch-bin-sh phase.  New 'set-paths phase.
  [inputs]: Add curl, zlib, expat, bzip2, and libarchive.
  [description]: Fix space after end-of-sentence.
2014-10-08 11:56:58 -05:00
Eric Bavier ae133b89cc gnu: slim: Fix typo in synopsis and wrap description.
* gnu/packages/slim.scm (slim)[synopsis]: Fix typo.
  [description]: Fix two-space-after-end-of-sentence.  Wrap to 80
  characters.
2014-10-08 09:39:17 -05:00
Eric Bavier 36160ebbfb gnu: conkeror: install conkeror-spawn-helper.
* gnu/packages/conkeror.scm (conkeror)[build-system]: Change to
  gnu-build-system.  Adjust arguments accordingly.
  [inputs]: Remove now-implicit bash.
  [native-inputs]: Remove now-implicit tar and gzip.
  [description]: Fix two-space-after-end-of-sentence.  Remove comment
  about separate conkeror-spawn-process-helper package.
2014-10-08 08:57:08 -05:00
Federico Beffa be3425e5a9 gnu: Add the 'glib-or-gtk' build system.
* guix/build-system/glib-or-gtk.scm, guix/build/glib-or-gtk-build-system.scm:
  New files.
* Makefile.am (MODULES): Add them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-08 12:01:50 +02:00
Ludovic Courtès fb59e275dd derivations: Add 'graft-derivation'.
* guix/derivations.scm (graft-derivation): New procedure.
* guix/build/graft.scm: New file.
* Makefile.am (MODULES): Add it.
* tests/derivations.scm ("graft-derivation"): New test.
2014-10-08 12:01:49 +02:00
Cyril Roelandt 3c762a13bf guix lint: make sure synopses do not start with the package name.
* guix/scripts/lint.scm (check-start-with-package-name): New method.
* tests/lint.scm ("synopsis: start with package name"): New test.
2014-10-08 03:08:20 +02:00
Cyril Roelandt a00ffdaa17 guix lint: Make sure a synopsis cannot start with a lower-case article.
* guix/scripts/lint.scm (check-start-article): use "string-ci=?" instead of
  "string=?".
* tests/lint.scm ("synopsis: starts with 'a'",
  "synopsis: starts with 'an'"): New tests.
2014-10-08 03:08:19 +02:00
Cyril Roelandt 8202a51313 guix lint: check whether descriptions and synopses start with an upper-case letter.
* guix/scripts/lint.scm (check-description-style,
  check-synopsis-start-upper-case): New methods.
* tests/lint.scm ("description: does not start with an upper-case letter",
  "synopsis: does not start with an upper-case letter"): New tests.
2014-10-08 03:08:19 +02:00
Cyril Roelandt 5622953de1 guix lint: Make sure synopses are not too long.
* guix/scripts/lint.scm (check-synopsis-length): New procedure.
* tests/lint.scm ("synopsis: too long"): New test.
2014-10-08 03:08:19 +02:00
Cyril Roelandt 90d104ba82 guix lint: make sure check-patches retrieves patch names.
* guix/lint (check-patches): Test the output of origin-patches.
2014-10-08 03:08:19 +02:00
Eric Bavier 0c115d8c64 gnu: Add fontforge.
* gnu/packages/fontutils.scm (fontforge): New variable.
2014-10-07 16:37:13 -05:00
Eric Bavier f945bf06af gnu: Add libuninameslist.
* gnu/packages/fontutils.scm (libuninameslist): New variable.
2014-10-07 16:37:13 -05:00
Eric Bavier 5277dbb062 gnu: Add libspiro.
* gnu/packages/fontutils.scm (libspiro): New variable.
2014-10-07 16:37:12 -05:00
Eric Bavier ee69f85c7d gnu: Add potrace.
* gnu/packages/fontutils.scm (potrace): New variable.
2014-10-07 16:37:12 -05:00
Ludovic Courtès fa0c1d6104 services: Add '%facebook-host-aliases'.
* gnu/services/networking.scm (%facebook-host-aliases): New variable.
* doc/guix.texi (Networking Services): Document it.
2014-10-07 23:18:41 +02:00
Ludovic Courtès 568841d491 system: Export 'local-host-aliases'.
* gnu/system.scm (local-host-aliases): New procedure.
  (default-/etc/hosts): Use it.
2014-10-07 23:18:41 +02:00
John Darrington c28ba7aa60 gnu: boost: Add zlib to the inputs.
* gnu/packages/boost.scm (boost): Add zlib to inputs.
2014-10-07 11:51:00 +02:00
Ludovic Courtès eb564fc389 gnu: eudev: Really update to 1.10.
* gnu/packages/linux.scm (eudev)[version]: Fix typo.
  [source]: Add 'snippet'.
2014-10-07 10:31:45 +02:00
Mark H Weaver cb90e7e0eb gnu: mupdf: Update to 1.6.
* gnu/packages/pdf.scm (mupdf): Update to 1.6.
2014-10-06 23:41:28 -04:00
Mark H Weaver 235c4ec30a gnu: mupdf: Use a source URL where older versions remain available.
* gnu/packages/pdf.scm (mupdf)[source]: Download from the archive
  subdirectory, where both old and new versions are kept.
2014-10-06 23:41:24 -04:00
Jason Self 2de52589dd gnu: eudev: Update to 1.10.
* gnu/packages/linux.scm (eudev): Update to version 1.10.
2014-10-06 16:10:58 -07:00
John Darrington 80059f54d9 gnu: clucene: Enable the contrib-libs.
* gnu/packages/rdf.scm (clucene): Enable the contribs-lib directory.
2014-10-06 23:26:15 +02:00
John Darrington 475992f20d gnu: libxdamage: Move inputs to propagated-inputs
* gnu/packages/xorg.scm (libxdamage): Move all existing inputs
  to propagated-inputs.
2014-10-06 23:26:11 +02:00
Ludovic Courtès 177088a3f3 gnu: net-tools: Allow compilation with current libc and GCC.
* gnu/packages/patches/net-tools-bitrot.patch: New file.
* gnu/packages/linux.scm (net-tools): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2014-10-06 23:11:41 +02:00
Alex Kost 1f06b28899 emacs: Use 'with-store' in 'process-package-actions'.
* emacs/guix-main.scm (process-package-actions): Use 'with-store'.
2014-10-06 22:14:38 +04:00
Ludovic Courtès 75af27f764 gnu: mit-scheme: Restrict to non-MIPS systems.
* gnu/packages/scheme.scm (mit-scheme)[supported-systems]: New field.
2014-10-06 19:34:27 +02:00
Ludovic Courtès 4e097f8606 hydra: Honor 'package-supported-systems'.
* guix/packages.scm (%supported-systems): New variable.
  (<package>)[platforms]: Rename to...
  [supported-systems]: ... this.  Change default to %SUPPORTED-SYSTEMS.
* build-aux/hydra/gnu-system.scm (job-name, package->job): New
  procedures, formerly in 'hydra-jobs'.  Honor 'package-supported-systems'.
  (hydra-jobs): Use them.
2014-10-06 19:34:27 +02:00
Ludovic Courtès 288dca55a8 doc: Mention optional dependency on Guile-JSON.
* README (Requirements): Add Guile-JSON.
* doc/guix.texi (Requirements): Likewise.
2014-10-06 19:34:27 +02:00
Jason Self 108e0c6101 gnu: linux-libre: Update to 3.17.
* gnu/packages/linux.scm (linux-libre): Update to version 3.17.
2014-10-06 05:04:24 -07:00
Ian Denhardt b0d1f10b5e gnu: Add feh.
* gnu/packages/feh.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-06 09:57:13 +02:00
Ludovic Courtès 8c43746f35 gnu: libdaemon: Add alternate source URLs.
Fixes <http://bugs.gnu.org/18639>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/libdaemon.scm (libdaemon)[source]: Add Debian and Fedora
  mirrors.
2014-10-06 09:57:12 +02:00
Jason Self 04a6e43755 gnu: linux-libre: Update to 3.16.4.
* gnu/packages/linux.scm (libogg): Update to version 3.16.4.
2014-10-05 19:56:16 -07:00
Mark H Weaver f410c11076 gnu: xpdf: Update to 3.04.
* gnu/packages/patches/xpdf-constchar.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/pdf.scm (xpdf): Update to 3.04.  Remove patch.
  Add libpng as an input.
2014-10-05 22:39:37 -04:00
Ludovic Courtès 553521d27c build-system/trivial: Preserve the cross-compilation target in bags.
* guix/build-system/trivial.scm (lower): Initialize the 'target' field.
2014-10-05 22:54:09 +02:00
Ludovic Courtès 708be46bfd gnu: dbus: Move 'pkg-config' to 'native-inputs'.
* gnu/packages/glib.scm (dbus): Move PKG-CONFIG to 'native-inputs'.
2014-10-05 22:24:33 +02:00
Ludovic Courtès 8fa9ff20a8 gnu: dbus: Create $out/etc/dbus-1/{system,session}.d to placate 'dbus-launch'.
* gnu/packages/glib.scm (dbus)[arguments]: Add 'post-install' phase.
2014-10-05 22:24:33 +02:00
Ludovic Courtès 22e47b640e gnu: dbus: Update to 1.8.8.
* gnu/packages/glib.scm (dbus): Update to 1.8.8.
2014-10-05 22:24:33 +02:00
Alex Kost cb6a5c71d8 emacs: Add support for deleting generations.
* doc/emacs.texi (emacs List buffer): Mention new key bindings.
* emacs/guix-base.el (guix-delete-generations): New procedure.
* emacs/guix-info.el (guix-generation-info-insert-number): Use it.
* emacs/guix-list.el (guix-generation-list-mark-delete,
  guix-generation-list-execute): New procedures.
* emacs/guix-main.scm (delete-generations*): New procedure.
2014-10-06 00:02:46 +04:00
Ludovic Courtès d3d337d2d8 build-system: Bags record their system and target.
* guix/build-system.scm (<bag>)[system, target]: New fields.
  (make-bag): Add #:system parameter and pass it to LOWER.
* gnu/packages/bootstrap.scm (make-raw-bag): Initialize 'system' field.
* guix/build-system/cmake.scm (lower): Likewise.
* guix/build-system/perl.scm (lower): Likewise.
* guix/build-system/python.scm (lower): Likewise.
* guix/build-system/ruby.scm (lower): Likewise.
* guix/build-system/trivial.scm (lower): Likewise.
* guix/build-system/gnu.scm (lower): Initialize 'system' and 'target'
  fields.
* guix/packages.scm (bag->derivation, bag->cross-derivation): New
  procedures.
  (package-derivation, package-cross-derivation): Use 'bag->derivation'.
* tests/packages.scm ("search paths"): Initialize 'system' and 'target'
  fields.
  ("package->bag", "package->bag, cross-compilation", "bag->derivation",
  "bag->derivation, cross-compilation"): New tests.
2014-10-05 21:58:42 +02:00
Ludovic Courtès b4469d8c12 gnu: cross-base: Use the right dynamic linker name.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Parametrize
  %CURRENT-TARGET-SYSTEM.
* tests/monads.scm ("package-file + package->cross-derivation"): Replace
  "foo64-gnu" with "mips64el-linux-gnu".
2014-10-05 21:58:42 +02:00
Ludovic Courtès cdb4b4b3ed gnu: cross-base: Externalize cross-gcc arguments.
* gnu/packages/cross-base.scm (cross-gcc-arguments): New procedure.
  (cross-gcc): Use it.  [No functional change.]
2014-10-05 21:58:42 +02:00
Ludovic Courtès 0d5a559f0f build-system: Introduce "bags" as an intermediate representation.
* guix/build-system.scm (<build-system>)[build, cross-build]: Remove.
  [lower]: New field.
  (<bag>): New record type.
  (make-bag): New procedure.
* guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs,
  bag-transitive-host-inputs, bag-transitive-target-inputs,
  package->bag): New procedures.
  (package-derivation): Use it; use the bag, apply its build procedure,
  etc.
  (package-cross-derivation): Likewise.
* gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure.
  (%bootstrap-guile): Use them.
* guix/build-system/trivial.scm (lower): New procedure.
  (trivial-build, trivial-cross-build): Remove 'source' parameter.  Pass
  INPUTS as is.
  (trivial-build-system): Adjust accordingly.
* guix/build-system/gnu.scm (%store, inputs-search-paths,
  standard-search-paths, expand-inputs, standard-inputs): Remove.
  (gnu-lower): New procedure.
  (gnu-build): Remove 'source' and #:implicit-inputs? parameters.
  Remove 'implicit-inputs' and 'implicit-search-paths' variables.  Get
  the source from INPUT-DRVS.
  (gnu-cross-build): Likewise.
  (standard-cross-packages): Remove call to 'standard-packages'.
  (standard-cross-inputs, standard-cross-search-paths): Remove.
  (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'.
* guix/build-system/cmake.scm (lower): New procedure.
  (cmake-build): Remove 'source' and #:cmake parameters.  Use INPUTS and
  SEARCH-PATHS as is.  Get the source from INPUTS.
* guix/build-system/perl.scm: Likewise.
* guix/build-system/python.scm: Likewise.
* guix/build-system/ruby.scm: Likewise.
* gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers"
  to "linux-headers".
  (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f.
  Likewise.  In 'propagated-inputs', change "cross-linux-headers" to
  "linux-headers".
* guix/git-download.scm (git-fetch): Use 'standard-packages' instead of
  'standard-inputs'.
* tests/builders.scm ("gnu-build-system"): Remove use of
  'build-system-builder'.
  ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to
  'gnu-build'.
* tests/packages.scm ("search paths"): Adjust to new build system API.
  ("package-cross-derivation, no cross builder"): Likewise.
* doc/guix.texi (Build Systems): Add paragraph on bags.
2014-10-05 21:58:42 +02:00
Ludovic Courtès 2348fd0f51 build-system: Remove irrelevant special case.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove comment
  about case where GUILE is a derivation path.
* guix/build-system/cmake.scm (cmake-build): Remove case where GUILE is
  a derivation path.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
2014-10-05 21:57:19 +02:00
Ludovic Courtès 5e1103821a utils: Add 'strip-keyword-arguments'.
* guix/utils.scm (strip-keyword-arguments): New procedure.
* tests/utils.scm ("strip-keyword-arguments"): New test.
2014-10-05 21:57:19 +02:00
Alex Kost b72a312c30 guix package: Export generation procedures.
* guix/scripts/package.scm: Export 'roll-back', 'delete-generation',
  'delete-generations'.
  (link-to-empty-profile, roll-back): Add 'store' argument.
  (delete-generations): New procedure.
  (guix-package): Adjust accordingly.
  [delete-generation]: Move to the top level.  Add 'store' and 'profile'
  arguments.
  [display-and-delete]: Move to 'delete-generation'.
2014-10-05 22:17:48 +04:00
Jason Self 881c3f0163 gnu: bazaar: Update to 2.6.0.
* gnu/packages/version-control.scm (bazaar): Update to version 2.6.0.
2014-10-04 16:21:51 -07:00
Andreas Enge 4d96439d08 gnu: git: Fix download location.
* gnu/packages/version-control.scm (git): Fix source uri by switching
    to kernel.org.
2014-10-05 00:12:02 +02:00
Ludovic Courtès ff212a5cdf gnu: git: Update to 2.1.2.
* gnu/packages/version-control.scm (git): Update to 2.1.2.
2014-10-04 23:28:41 +02:00
Ludovic Courtès 9849cfc12c build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".
* guix/build-system/cmake.scm (cmake-build): Add #:build-type.  Pass it
  in BUILDER.
* guix/build/cmake-build-system.scm (configure): Add #:build-type
  parameter and honor it.
* doc/guix.texi (Build Systems): Document #:configure-flags and
  #:build-type for CMake.
2014-10-04 22:59:38 +02:00
John Darrington 3dcd78109c gnu: pspp: Upgrade to 0.8.4.
* gnu/packages/maths.scm (pspp): Upgrade to 0.8.4.
2014-10-03 19:52:50 +02:00
Ludovic Courtès 7998200258 gnu: windowmaker: Update to 0.95.6.
* gnu/packages/gnustep.scm (windowmaker): Update to 0.95.6.
2014-10-03 18:03:09 +02:00
Ludovic Courtès 4a44d7bbc6 ui: Recognize the same size units as Coreutils.
* guix/ui.scm (size->number): Add a bunch of large units.  Recognize
  one-letter unit names.  Change "KB" to "kB".
* tests/ui.scm ("size->number, 1T"): New test.
* doc/guix.texi (Invoking guix gc): Add cross-reference to "Block size"
  in the Coreutils manual.
  (Invoking guix system): Likewise.
2014-10-03 18:03:09 +02:00
Ludovic Courtès 882383a9aa download: Allow raw file names or file:// URLs.
* guix/download.scm (url-fetch): When URL is a string, if it's not a URI
  or if it's a URI with 'file' or #f scheme, use 'add-to-store'.
* tests/builders.scm ("url-fetch, file", "url-fetch, file URI"): New
  tests.
2014-10-03 18:03:09 +02:00
Alex Kost b497a85be8 emacs: Add support for modifying options during operation confirmation.
* emacs/guix-base.el (guix-operation-option-key): New face.
  (guix-operation-option-true-string, guix-operation-option-false-string,
  guix-operation-option-separator, guix-operation-options): New variables.
  (guix-operation-option-by-key, guix-operation-option-key,
  guix-operation-option-name, guix-operation-option-variable,
  guix-operation-option-value, guix-operation-option-string-value,
  guix-operation-prompt, guix-operation-set-mode-line): New procedures.
  (guix-continue-package-operation-p): Use 'guix-operation-prompt'.
2014-10-02 22:31:18 +04:00
Manolis Ragkousis 2a9a4fb8b7 gnu: Add dfu-programmer
* gnu/packages/flashing-tools.scm (dfu-programmer): New variable.
* gnu/packages/patches/dfu-programmer-fix-libusb.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-02 10:46:29 +02:00
Mark H Weaver 4b91ce2974 gnu: tor: Update to 0.2.4.24.
* gnu/packages/tor.scm (tor): Update to 0.2.4.24.
2014-10-02 02:27:32 -04:00
Eric Bavier 98caed035f gnu: autogen: Upgrade to 5.18.4.
* gnu/packages/autogen.scm (autogen): Upgrade to 5.18.4.
  [native-inputs]: New field.
2014-09-30 17:29:24 -05:00
Ludovic Courtès b62fe07f3d gnu: Add perf.
* gnu/packages/linux.scm (perf): New variable.
2014-09-30 15:56:47 +02:00
Manolis Ragkousis eff5f452b0 gnu: Move flashrom and avrdude to (gnu packages flashing-tools).
* gnu/packages/admin.scm (flashrom): Move this and...
* gnu/packages/avrdude.scm (avrdude): ... this to...
* gnu/packages/flashing-tools.scm: ... this. New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-30 13:38:01 +02:00
Ludovic Courtès 6d7328b2f1 pull: Add dependency on Guile-JSON.
Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

* guix/scripts/pull.scm (unpack): Add Guile-JSON to %load-path and
  %load-compiled-path.
2014-09-30 10:11:45 +02:00
Alex Kost 8505493266 build: Build pypi modules only if 'guile-json' is available.
* Makefile.am (MODULES): Wrap 'guix/import/pypi.scm' and
  'guix/scripts/import/pypi.scm' in 'if HAVE_GUILE_JSON'.
2014-09-30 09:41:59 +04:00
Alex Kost e596ab0f24 gnu: Move giflib to (gnu packages image).
* gnu/packages/giflib.scm: Remove.  Move the contents to (gnu packages image).
* gnu-system.am (GNU_SYSTEM_MODULES): Remove giflib file name.
* gnu/packages/emacs.scm: Remove giflib module name.
* gnu/packages/image.scm (giflib): New variable.
2014-09-30 08:50:35 +04:00
David Thompson 1b3e968512 import: Add PyPI importer.
* guix/snix.scm: Delete.
* guix/import/snix.scm: New file.
* guix/import/pypi.scm: New file.
* guix/import/utils.scm: New file.
* guix/scripts/import/nix.scm: New file.
* guix/scripts/import/pypi.scm: New file.
* tests/pypi.scm: New file.
* tests/snix.scm: Import (guix import snix) module.
* guix/scripts/import.scm (%default-options, %options): Delete.
  (%standard-import-options, importers): New variables.
  (show-help): List importers.
  (guix-import): Factor out Nix-specific logic.  Delegate to correct importer
  based upon first argument.
* configure.ac (HAVE_GUILE_JSON): New conditional.
* Makefile.am (MODULES): Add new files and remove 'guix/snix.scm'.
  (SCM_TESTS): Add 'tests/pypi.scm' if guile-json is installed.
2014-09-29 19:30:28 -04:00
Eric Bavier 2efb3ddaa4 gnu: Add dblatex.
* gnu/packages/docbook.scm (dblatex): New variable.
2014-09-29 17:09:26 -05:00
Ludovic Courtès 6602576e84 gnu: guile-ncurses: Update to 1.5.
* gnu/packages/guile.scm (guile-ncurses): Update to 1.5.  Remove patch.
* gnu/packages/patches/guile-ncurses-tests.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
2014-09-29 23:17:53 +02:00
Ludovic Courtès 9ffc1c00e5 packages: Optimize 'find-packages-by-name' to avoid disk accesses.
On a profile with 182 entries, "guix package --search-paths" goes from
4.5 seconds down to 0.4 second.

* gnu/packages.scm (find-packages-by-name): Make a name -> package vhash
  in a promise; access it with 'vhash-fold*'.
2014-09-29 22:03:46 +02:00
Ludovic Courtès 34942e9597 nls: Recognize 'N_' as equivalent to 'ngettext'.
This fixes i18n of plural messages.

* po/guix/Makevars (XGETTEXT_OPTIONS): Change 'N_' to 'N_:1,2'.
2014-09-29 22:03:46 +02:00
Mark H Weaver 2d5d63d718 gnu: bash: Update to 4.3.27 and fix out-of-bounds memory accesses.
Based on a patch by Ludovic Courtès <ludo@gnu.org>.

* gnu/packages/bash.scm (%patch-series-4.3): Add two patches.
  (bash)[source]: Add parser-oob patch.  Add 'snippet'.
  [native-inputs]: New field.
* gnu/packages/commencement.scm (bison-boot1): New variable.
  (static-bash-for-glibc): Add 'native-inputs'.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2014-09-29 14:14:54 -04:00
Eric Bavier b5f4bb855d gnu: Add synergy.
* gnu/packages/synergy.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-09-29 09:40:31 -05:00
Eric Bavier 335bc6833f gnu: duplicity: Fix and disable some tests.
* gnu/packages/patches/duplicity-piped-password.patch: New patch.
* gnu/packages/patches/duplicity-test_selection-tmp.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/backup.scm (duplicity)[source]: Add patches field.
  [inputs]: Add util-linux and tzdata.
  [arguments]: rename patch-tests phase to check-setup.  Set HOME and TZDIR
  for tests.
2014-09-28 18:24:25 -05:00
Mathieu Lirzin 182d6311c2 gnu: Add dionysus.
* gnu/packages/maths.scm (dionysus): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-29 00:16:28 +02:00
David Thompson acf735f2be gnu: Add ruby-i18n.
* gnu/packages/ruby.scm (ruby-i18n): New variable.
2014-09-28 15:09:24 -04:00
David Thompson c08f9818f9 build: Add ruby build system.
* guix/build-system/ruby.scm: New file.
* guix/build/ruby-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document ruby-build-system.
2014-09-28 15:09:24 -04:00
Pjotr Prins 6ef8c59a7a gnu: Add ruby.
Co-authored-by: David Thompson <davet@gnu.org>

* gnu/packages/ruby.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* guix/licenses.scm (ruby): New variable.
2014-09-28 15:09:24 -04:00
Alex Kost 3472bb20c5 emacs: Use package/output type variables where needed.
* emacs/guix-list.el (guix-package-list-type, guix-output-list-describe-type):
  Move to...
* emacs/guix-base.el: ... here.  Rename 'guix-output-list-describe-type' to
  'guix-package-info-type'.
* emacs/guix-info.el (guix-generation-info-insert-number): Use
  'guix-package-list-type'.
* emacs/guix.el (guix-get-show-packages): Use 'guix-package-info-type'.
2014-09-28 22:46:15 +04:00
Alex Kost 2e269860c4 emacs: Support font-locking.
Avoid breaking highlighting after adding new font-lock keywords.

* emacs/guix-base.el (guix-insert-package-strings): Use 'propertize' instead
  of 'guix-get-string'.
* emacs/guix-info.el (guix, guix-action, guix-file, guix-url,
  guix-package-location, guix-package-name): New button types.
  (guix-info-insert-action-button, guix-info-insert-file-path,
  guix-info-insert-url, guix-package-info-insert-location,
  guix-package-info-insert-full-names,
  guix-package-info-insert-non-unique-text): Adjust for 'guix-insert-button'
  and button types.
  (guix-package-info-name-button): New face.
  (guix-package-info-define-insert-inputs): Use it.  Add new button types.
  (guix-package-info-insert-full-name): Remove.
* emacs/guix-utils.el (guix-get-string): Replace 'face' with 'font-lock-face'.
  (guix-insert-button): Adjust for using button types.
2014-09-28 22:46:15 +04:00
Alex Kost ce8b295352 emacs: Fix errors in receiving information.
* emacs/guix-main.scm (package-pattern-transformer,
  output-pattern-transformer): Add fallback 'match' clauses.
  (find-generations): Fix getting generations by IDs.
2014-09-28 22:46:14 +04:00
Ian Denhardt 79f5dd5915 doc: Use 'define-public' in example package recipe.
* doc/guix.texi (Defining Packages): Use 'define-public' instead of
  'define'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-28 12:01:45 +02:00
Manolis Ragkousis 29a61bd0a5 gnu: hurd-headers: Use --build instead of --host.
* gnu/packages/hurd.scm (hurd-headers): Replace '--host' with
  '--build'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-28 11:53:20 +02:00
Andreas Enge 47e225cde8 gnu: qt-4: Explicitly link with icu.
* gnu/packages/qt.scm (qt-4): Explicitly link with libicui18n, which is
    dlopened by QtCore.so.
2014-09-28 09:35:32 +02:00
Ludovic Courtès fcb0109d09 gnu: Add Nix.
This commit is dedicated to the Nix project, without which we wouldn't
be hacking all this today.  :-)

* gnu/packages/package-management.scm (nix): New variable.
2014-09-28 01:04:18 +02:00
Ludovic Courtès d22d72fc50 gnu: Add perl-www-curl.
* gnu/packages/web.scm (perl-www-curl): New variable.
2014-09-28 00:52:05 +02:00
Ludovic Courtès 274da61d51 gnu: Add perl-dbi and perl-dbd-sqlite.
* gnu/packages/databases.scm (perl-dbi, perl-dbd-sqlite): New variable.
2014-09-28 00:41:39 +02:00
Ludovic Courtès a0efb39ad4 gnu: mit-scheme: Rename top-level helper.
Suggested by Mark H. Weaver.

* gnu/packages/scheme.scm (source-directory): Rename to...
  (mit-scheme-source-directory): ... this.
2014-09-27 23:59:30 +02:00
Andreas Enge 319e2d1736 gnu: Add graphite2.
* gnu/packages/fontutils.scm (graphite2): New variable.
2014-09-27 23:48:30 +02:00
Andreas Enge 68dddcad62 gnu: mit-scheme: Delete more dangling symlinks for non-x86 systems.
* gnu/packages/scheme.scm (mit-scheme): Delete more dangling symlinks for
    non-x86 systems.
2014-09-27 20:04:43 +02:00
Andreas Enge ecb26c101e gnu: mit-scheme: Fix source file name for mips64el.
* gnu/packages/scheme.scm (mit-scheme): Fix source file name for
     architectures other than x86_64 and i686.
2014-09-27 19:36:57 +02:00
Andreas Enge dc47939172 gnu: phonon: Update to 4.8.0.
* gnu/packages/kde.scm (phonon): Update to 4.8.0.
2014-09-27 17:50:14 +02:00
Ludovic Courtès a9638ac413 build: Don't install elisp files when Emacs is unavailable.
* emacs.am (dist_lisp_DATA, nodist_lisp_DATA): Wrap in 'if HAVE_EMACS'.
2014-09-27 17:30:10 +02:00
Ludovic Courtès 596fcbf768 build: Don't generate Emacs autoloads when Emacs is unavailable.
Reported by Andreas Enge.

* configure.ac: Define 'HAVE_EMACS' Automake conditional.
* emacs.am ($(AUTOLOADS)): Wrap in 'if HAVE_EMACS'.
2014-09-27 17:27:21 +02:00
Andreas Enge 6c4a2884b6 gnu: mit-scheme: Update to 9.2.
* gnu/packages/scheme.scm (mit-scheme): Update to 9.2.
2014-09-27 16:51:44 +02:00
Andreas Enge 17b9d16fa2 gnu: libxscrnsaver: Propagate input scrnsaverproto.
* gnu/packages/xorg.scm (libxscrnsaver): Propagate input scrnsaverproto,
    since scrnsaver.h from libxscrnsaver includes saver.h from scrnsaverproto.
2014-09-27 15:49:06 +02:00
Andreas Enge 38877bf346 gnu: help2man: Update to 1.46.3.
* gnu/packages/man.scm (help2man): Update to 1.46.3.
2014-09-27 12:31:37 +02:00
Andreas Enge 237c048609 gnu: gcl: Update to 2.6.11.
* gnu/packages/lisp.scm (gcl): Update to 2.6.11.
2014-09-27 12:13:53 +02:00
Andreas Enge 483ca9d88d gnu: parallel: Update to 20140922.
* gnu/packages/parallel.scm (parallel): Update to 20140922.
2014-09-27 12:08:21 +02:00
Andreas Enge 5520c94c94 gnu: libidn: Update to 1.29.
* gnu/packages/libidn.scm (libidn): Update to 1.29.
2014-09-27 11:30:33 +02:00
Andreas Enge 53f896f23f gnu: rcs: Update to 5.9.3.
* gnu/packages/version-control.scm (rcs): Update to 5.9.3.
2014-09-27 11:27:47 +02:00
Federico Beffa f36afe4d05 gnu: maxima: Install .el files in the right place, and help find Gnuplot.
* gnu/packages/maths.scm (maxima): Remove Tcl from 'inputs'.  Add
  'post-install' phase.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-27 11:22:58 +02:00
Andreas Enge dd0b0e681b gnu: ucommon: Update to 6.1.11.
* gnu/packages/telephony.scm (ucommon): Update to 6.1.11.
2014-09-27 10:25:22 +02:00
Andreas Enge 05681d7388 gnu: libassuan: Update to 2.1.2.
* gnu/packages/gnupg.scm (libassuan): Update to 2.1.2.
2014-09-27 09:17:56 +02:00
Ludovic Courtès b5c5d763ca Merge branch 'bash-cve-2014-6271' 2014-09-26 09:49:09 +02:00
Alex Kost 223ecaba7f gnu: Add scrot.
* gnu/packages/scrot.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-09-26 09:23:11 +04:00
Alex Kost f7d28082bb gnu: Add giblib.
* gnu/packages/image.scm (giblib): New variable.
2014-09-26 09:23:10 +04:00
Alex Kost 76d88cfa57 gnu: Add imlib2.
* gnu/packages/image.scm (imlib2): New variable.
2014-09-26 09:23:10 +04:00
David Thompson fddb640971 gnu: libtoxcore: Update to 1.0.0.
* gnu/packages/crypto.scm (libsodium): Update version and change home-page.
2014-09-24 17:17:24 -04:00
Ludovic Courtès c1fe82d586 gnu: bash: Apply patch series up to 25 [CVE-2014-6271].
* gnu/packages/bash.scm (patch-url, bash-patch): New procedures.
  (patch-series): New macro.
  (%patch-series-4.3): New variable.
  (download-patches): New procedure.
  (bash): Change version to include the patch level; pass
  %PATCH-SERIES-4.3 in the origin.
2014-09-24 19:19:03 +02:00
Ludovic Courtès ce517b20d4 gnu: bootstrap: Correctly handle patches that are origins.
* gnu/packages/bootstrap.scm (bootstrap-origin): Rewrite the patches of
  SOURCES that are also origins.
2014-09-24 19:08:54 +02:00
Ludovic Courtès 27afb11a22 gnupg: Correctly parse current 'SIG_ID' lines.
* guix/gnupg.scm (gnupg-verify)[sigid-rx]: Adjust to handle current
  signature ID encoding.
2014-09-24 19:08:03 +02:00
Ludovic Courtès 3f6f7b36d3 packages: Allow use of origins as patches.
* guix/packages.scm (patch-and-repack)[patch-inputs]: Use 'add-to-store'
  only if the PATCH is a file name, and 'package-source-derivation' if
  PATCH is an origin.
2014-09-24 19:07:22 +02:00
Alex Kost a54a237b5f emacs: Add support for displaying outputs.
Suggested by Taylan Ulrich Bayirli/Kammer and Ludovic Courtès.

* emacs/guix-base.el (guix-param-titles): Add output titles.
  (guix-messages): Add output messages.
  (guix-get-package-id-and-output-by-output-id): New procedure.
  (guix-define-buffer-type): Add ':buffer-name' key.
* emacs/guix-info.el: Add "output-info" buffer type.
  (guix-info-insert-methods): Add output methods.
  (guix-info-displayed-params): Add output params.
  (guix-output-info-insert-version, guix-output-info-insert-output): New
  procedures.
* emacs/guix-list.el: Add "output-list" buffer type.
  (guix-list-column-format): Add output formats.
  (guix-list-column-value-methods): Add output methods.
  (guix-package-list-type): New variable.
  (guix-generation-list-show-packages): Use it.
  (guix-package-list-marking-check): Use 'guix-output-list-mode'.
  (guix-list-mark-package-upgrades): New procedure.
  (guix-package-list-mark-upgrades): Use it.
  (guix-list-execute-package-actions): New procedure.
  (guix-package-list-execute): Use it.
  (guix-list-describe-maybe): New procedure.
  (guix-list-describe): Use it.
  (guix-output-list-mark-install, guix-output-list-mark-delete,
  guix-output-list-mark-upgrade, guix-output-list-mark-upgrades,
  guix-output-list-execute, guix-output-list-make-action,
  guix-output-list-describe): New procedures.
  (guix-output-list-describe-type): New variable.
* emacs/guix.el (guix-get-show-packages): Use 'guix-package-list-type'.
* doc/emacs.texi (emacs Commands): Mention 'guix-package-list-type'.
  (emacs List buffer): Adjust accordingly.
  (emacs Info buffer): Likewise.
  (emacs Buffer Names): New node.
  (emacs Keymaps): Add keymaps for output buffers.
2014-09-24 16:09:20 +04:00
Alex Kost 81b339fe31 emacs: Rewrite scheme side in a functional manner.
* emacs/guix-main.scm: Rewrite in a functional way.  Add support for output
  entries.
  (%current-manifest, %current-manifest-entries-table,
  set-current-manifest-maybe!): Replace with...
  (manifest-entries->hash-table, manifest->hash-table): ... this.
  (manifest-entries-by-name+version): Replace with...
  (manifest-entries-by-name): ... this.
  (fold-manifest-entries): Rename to...
  (fold-manifest-by-name): ... this.
  (package-installed-param-alist): Rename to...
  (%manifest-entry-param-alist): ... this.
  (package-param-alist): Rename to...
  (%package-param-alist): this.
  (manifest-entry->installed-entry): Rename to...
  (manifest-entry->sexp): ... this.
  (manifest-entries->installed-entries): Rename to...
  (manifest-entries->sexps): ... this.
  (matching-generation-entries): Replace with...
  (matching-generations): ... this.
  (last-generation-entries): Replace with...
  (last-generations): ... this.
  (get-entries): Rename to...
  (entries): ... this.
  (installed-entries-by-name+version, installed-entries-by-package,
  matching-package-entries, fold-object, package-entries-by-name+version,
  package-entries-by-spec, package-entries-by-regexp, package-entries-by-ids,
  newest-available-package-entries, all-available-package-entries,
  manifest-package-entries, installed-package-entries,
  generation-package-entries, obsolete-package-entries,
  all-generation-entries, generation-entries-by-ids, profile-generations,
  %package-entries-functions, %generation-entries-functions): Remove.
  (manifest=?, manifest-entry->name+version+output, manifest-entry-by-output,
  list-maybe, matching-packages, filter-packages-by-output, packages-by-name,
  manifest-entry->packages, all-available-packages, newest-available-packages,
  specification->package-pattern, specification->output-pattern,
  id->package-pattern, id->output-pattern, specifications->package-patterns,
  specifications->output-patterns, ids->package-patterns,
  ids->output-patterns, manifest-patterns-result, obsolete-package-patterns,
  obsolete-output-patterns, manifest-package-patterns,
  manifest-output-patterns, obsolete-package-sexp,
  package-pattern-transformer, output-pattern-transformer, entry-type-error,
  search-type-error, pattern-transformer, patterns-maker,
  package/output-sexps, find-generations, generation-sexps): New procedures.
  (%pattern-transformers, %patterns-makers): New variables.
* emacs/guix-base.el (guix-continue-package-operation-p): Adjust accordingly.
* emacs/guix-info.el (guix-package-info-insert-action-button): Likewise.
2014-09-24 16:09:20 +04:00
Alex Kost dfeb023927 emacs: Use general functions instead of generated ones.
* emacs/guix-base.el: Add and use general functions instead of
  specialized functions generated by 'guix-define-buffer-type' macro.
  (guix-buffer-type, guix-entry-type): New variables.
  (guix-set-vars): Add new variables.
  (guix-get-show-entries, guix-show-entries, guix-set-buffer)
  (guix-history-call, guix-make-history-item)
  (guix-get-params-for-receiving, guix-revert-buffer)
  (guix-redisplay-buffer): New functions.
  (guix-define-buffer-type): Do not generate specialized functions.
* emacs/guix-info.el (guix-package-info-insert-full-names): Use
  'guix-get-show-entries'.
  (guix-generation-info-insert-number): Likewise.
* emacs/guix-list.el (guix-list-describe): New function.
  (guix-list-define-entry-type): Do not generate specialized one.
  (guix-generation-list-show-packages): Use 'guix-get-show-entries'.
* emacs/guix.el (guix-show-generations-function): Remove.
  (guix-get-show-packages): Use new functions.
  (guix-get-show-generations): Likewise.
2014-09-24 16:09:20 +04:00
Ludovic Courtès 8689901f95 Introduce the 'GUIX_PACKAGE_PATH' environment variable.
* gnu/packages.scm (%package-module-path): Honor $GUIX_PACKAGE_PATH.
* test-env.in: Unset 'GUIX_PACKAGE_PATH'.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Package Modules): Document it.
2014-09-24 14:06:09 +02:00
Ludovic Courtès 300868ba57 guix build: Add -L/--load-path as a common option.
* guix/scripts/build.scm (show-build-options-help): Document -L.
  (%standard-build-options): Add -L/--load-path.
* tests/guix-package.sh: Test it.
2014-09-24 14:06:09 +02:00
Ludovic Courtès c107b54108 packages: Add '%package-module-search-path'.
* gnu/packages.scm (%package-module-path): New variable.
  (all-package-modules): New procedure.
  (fold-packages): Use it instead of 'package-modules'.
2014-09-24 14:06:08 +02:00
Ludovic Courtès 84836a5733 packages: Generalize package module search.
* gnu/packages.scm (%distro-root-directory): New variable.
  (%distro-module-directory): Remove.
  (package-files): Rename to...
  (scheme-files): ... this.  Return absolute file names, not stripped.
  (file-name->module-name): New procedure.
  (package-modules): Add 'directory' and 'sub-directory' parameters.
  Rewrite accordingly.
  (fold-packages): Adjust 'package-modules' call accordingly.
2014-09-24 10:23:27 +02:00
Federico Beffa df354a771d gnu: maxima: Update to 5.34.1 and add dependencies.
* gnu/packages/maths.scm (maxima): Update to 5.34.1 which fixes a bug in
  the plotting capabilities present in the previous version.  Add Gnuplot
  and Tcl/Tk to 'inputs'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-24 09:35:44 +02:00
Mark H Weaver b5b73a8269 Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.
* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm,
  gnu/packages/backup.scm, gnu/packages/bittorrent.scm,
  gnu/packages/boost.scm, gnu/packages/compression.scm,
  gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
  gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm,
  gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm,
  gnu/packages/ghostscript.scm, gnu/packages/gimp.scm,
  gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
  gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
  gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm,
  gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm,
  gnu/packages/indent.scm, gnu/packages/inkscape.scm,
  gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm,
  gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm,
  gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm,
  gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm,
  gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm,
  gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm,
  gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm,
  gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm,
  gnu/packages/yasm.scm, gnu/packages/zip.scm,
  guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm,
  guix/build/python-build-system.scm, guix/download.scm: Replaces uses of
  #:renamer and 'symbol-prefix-proc' with #:prefix.
2014-09-23 18:52:29 -04:00
Mark H Weaver c3f16c554e gnu: gtk+: Disable tests on mips64el-linux.
* gnu/packages/gtk.scm (gtk+): Disable tests on mips64el-linux.
2014-09-23 18:52:27 -04:00
Ludovic Courtès 99462faca0 gnu: gtk+: Remove dependency on Xorg server on mips64el-linux.
Reported by Mark H. Weaver.

* gnu/packages/gtk.scm (gtk+)[native-inputs]: Remove XORG-SERVER on
  mips64el-linux.
2014-09-23 18:52:26 -04:00
Ludovic Courtès 4627a46470 services: Add 'bitlbee-service'.
* gnu/services/networking.scm (bitlbee-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2014-09-23 23:46:01 +02:00
Ludovic Courtès b5d9beaa1a gnu: xf86-input-synaptics: Allow building with libc 2.20.
* gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-input-synaptics): Use it.  Improve
  synopsis and description.
2014-09-23 22:49:42 +02:00
Ludovic Courtès c9d39df937 gnu: node: Add 'which' as an input.
* gnu/packages/node.scm (node)[native-inputs]: Add WHICH.
2014-09-23 15:30:13 +02:00
Ludovic Courtès 969b662128 gnu: xorg: Remove xf86-input-vmmouse.
* gnu/packages/xorg.scm (xf86-input-vmmouse): Remove.  This driver
  implement the mouse protocol of a proprietary emulator.
* gnu/services/xorg.scm (xorg-start-command): Remove reference.
2014-09-23 15:13:46 +02:00
Ludovic Courtès 3b0273885b gnu: linux-libre: Work around GCC 4.8.3 ICE.
* gnu/packages/linux.scm (linux-libre)[inputs]: New field.
2014-09-23 10:12:17 +02:00
Ludovic Courtès 4b164c4532 system: Add Patch to '%base-packages'.
* gnu/system.scm (%base-packages): Add PATCH.
2014-09-22 23:11:33 +02:00
Ludovic Courtès f07aa672fd Merge branch 'core-updates' 2014-09-22 23:06:33 +02:00
Ludovic Courtès 52ac153e2a linux-initrd: Adjust VM code and doc to new 'base-initrd' signature.
This fixes regressions introduced in de1c158 ("system: Add support for
boot-time mapped devices.").

* doc/guix.texi (Initial RAM Disk): Adjust example with custom use of
  'base-initrd'.  Document #:mapped-devices parameter of 'base-initrd'.
* gnu/system/vm.scm (system-disk-image, system-qemu-image,
  virtualized-operating-system): Adjust call to 'base-initrd' to new
  signature.
2014-09-22 21:29:41 +02:00
Ludovic Courtès 8591fae4cf syscalls: Adjust /proc/net/dev parser for old kernels.
* guix/build/syscalls.scm (%interface-line): Remove whitespace in rest
  pattern.  (There's no extra whitespace after the colon with Linux
  2.6.32.)
2014-09-22 21:12:26 +02:00
Ludovic Courtès 077bd18d22 download: Use the 'SERVER NAME' TLS extension when possible.
Fixes <http://bugs.gnu.org/18526>.
Reported by Mark H. Weaver.

* guix/build/download.scm (tls-wrap): Add 'server' parameter.  Call
  'set-session-server-name!' when (gnutls) defines it.
  (open-connection-for-uri): Adjust 'tls-wrap' call accordingly.
2014-09-22 21:06:39 +02:00
Ludovic Courtès cb150ca34f gnu: perl-tk: Build sequentially.
Fixes <http://bugs.gnu.org/18262>.

* gnu/packages/tcl.scm (perl-tk)[arguments]: Add #:parallel-build? #f.
2014-09-22 14:27:46 +02:00
Alex Kost 886cf584db guix package: Use 'profile-generations'.
* guix/scripts/package.scm (guix-package)[process-actions]: Use
  'profile-generations' instead of the equivalent code.
2014-09-22 13:24:52 +04:00
Alex Kost f452e8ff10 profiles: Add 'profile-generations'.
* guix/profiles.scm (profile-generations): New procedure.
2014-09-22 13:24:52 +04:00
Ludovic Courtès de1c158f32 system: Add support for boot-time mapped devices.
* gnu/build/linux-boot.scm (boot-system): Add #:pre-mount parameter and
  honor it.
* gnu/system/linux-initrd.scm (base-initrd): Add #:mapped-devices
  parameter.  Add 'device-mapping-commands' variable, and use it to
  build the #:pre-mount argument of 'boot-system'.
* gnu/system.scm (mapped-device-user,
  operating-system-user-mapped-devices,
  operating-system-boot-mapped-devices): New procedures.
  (device-mapping-services): Use 'operating-system-user-mapped-devices'
  instead of 'operating-system-mapped-devices'.
  (operating-system-initrd-file): Call the initrd with #:mapped-devices.
2014-09-22 11:20:41 +02:00
Ludovic Courtès e2b464b7f4 activation: Ensure existing user accounts have the right settings.
* gnu/build/activation.scm (modify-user, ensure-user): New procedures.
  (activate-users+groups): Systematically call 'ensure-user'.
2014-09-22 10:10:08 +02:00
Ludovic Courtès 5f36ea03ad gnu: valgrind: Update to 3.10.0.
* gnu/packages/valgrind.scm (valgrind): Update to 3.10.0.
* gnu/packages/patches/valgrind-glibc.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2014-09-22 10:07:52 +02:00
Ludovic Courtès cc7f4e0589 gnu: duplicity: Add dependency on util-linux.
* gnu/packages/backup.scm (duplicity)[native-inputs]: Add util-linux.
2014-09-20 23:38:16 +02:00
Ludovic Courtès a69bc0103d gnu: ots: Build sequentially.
* gnu/packages/ots.scm (ots)[arguments]: New field.
2014-09-20 23:14:48 +02:00
Ludovic Courtès 573a35541f gnu: Add sound-theme-freedesktop.
Suggested by Federico Beffa <beffa@ieee.org>.

* gnu/packages/libcanberra.scm (sound-theme-freedesktop): New variable.
2014-09-20 15:10:11 +02:00
Ludovic Courtès 571a0310ff gnu: libcanberra: Add dependency on PulseAudio and eudev.
* gnu/packages/libcanberra.scm (libcanberra): Add PulseAudio and eudev
  as inputs.
2014-09-20 15:02:45 +02:00
Ludovic Courtès 0a9e9a6311 gnu: emacs: Switch to GTK+ 3.
Suggested by Federico Beffa <beffa@ieee.org>.

* gnu/packages/emacs.scm (emacs): Switch to GTK+ 3.
2014-09-20 14:49:20 +02:00
Ludovic Courtès dd68dd137a gnu: cyrus-sasl: Build sequentially.
* gnu/packages/cyrus-sasl.scm (cyrus-sasl)[arguments]: Pass
  #:parallel-build?.
2014-09-20 14:15:17 +02:00
Ludovic Courtès 46025e94cd offload: Use a total order when sorting available machines.
* guix/scripts/offload.scm (machine-less-loaded?, machine-faster?):
  Remove.
  (machine-power-factor): New procedure.
  (machine-less-loaded-or-faster?): Use it.
2014-09-20 12:23:39 +02:00
Ludovic Courtès b1fea30339 offload: Try another machine when the "best" machine is overloaded.
* guix/scripts/offload.scm (choose-build-machine): When BEST is
  overloaded, try the other machines.
2014-09-20 12:10:28 +02:00
Ludovic Courtès 4359378a2c linux-boot: Ask fsck for a progress bar.
* gnu/build/file-systems.scm (check-file-system): Pass '-C 0' to FSCK.
  Suggested by Mark H. Weaver.
2014-09-19 21:51:36 +02:00
Ludovic Courtès f75426d5b4 gnu: guile-charting: Update to 0.2.0.
* gnu/packages/guile.scm (guile-charting): Update to 0.2.0.  Remove
  now-unnecessary cruft from 'snippet'.  Modify 'godir' in Makefile.in.
2014-09-19 17:23:17 +02:00
Ludovic Courtès a9eef4d2e5 system: Fix value of 'EUDEV_RULES_DIRECTORY'.
* gnu/services/base.scm (udev-service): Append "/lib/udev/rules.d" to
  EUDEV_RULES_DIRECTORY.
2014-09-19 17:23:17 +02:00
Alex Kost 516e93f8a6 gnu: Fix typos.
* gnu/packages/cdrom.scm (cdparanoia): Double space in description.
* gnu/packages/maths.scm (hdf5): Double space in synopsis.
2014-09-19 15:31:19 +04:00
Jason Self 49e4bca583 gnu: linux-libre: Update to 3.16.3.
* gnu/packages/linux.scm (linux-libre): Update to version 3.16.3.
2014-09-18 16:18:14 -07:00
Ludovic Courtès 7f28bf9a43 system: Add udev rule for /dev/kvm.
* gnu/services/base.scm (kvm-udev-rule): New procedure.
  (udev-service): Use it, and add it to RULES.
  (guix-build-accounts): Add "kvm" to the 'supplementary-groups' field.
* gnu/system/shadow.scm (%base-groups): Add "kvm".
2014-09-18 23:23:46 +02:00
Ludovic Courtès 6c1df0819c linux-initrd: Remove now obsolete #:guile-modules-in-chroot? parameter.
* gnu/build/linux-boot.scm (boot-system): Remove
  #:guile-modules-in-chroot? and related code.
* gnu/system/linux-initrd.scm (base-initrd): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Remove
  #:guile-modules-in-chroot? argument in 'base-initrd' call.
2014-09-18 23:05:22 +02:00
Ludovic Courtès dbcb0ab1a9 doc: Remove a couple of limitations.
* doc/guix.texi (System Installation): Remove encrypted disks and swap
  from the limitations.
2014-09-18 22:52:03 +02:00
Ludovic Courtès 2a13d05e45 system: Add support for swap devices.
* gnu/services/base.scm (swap-service): New procedure.
* gnu/system.scm (<operating-system>)[swap-devices]: New field.
  (swap-services): New procedure.
  (essential-services): Use it.
2014-09-18 22:52:01 +02:00
Ludovic Courtès 715fc9d44d syscalls: Add 'swapon' and 'swapoff'.
* guix/build/syscalls.scm (swapon, swapoff): New procedures.
* tests/syscalls.scm ("swapon, ENOENT/EPERM", "swapoff, EINVAL/EPERM"):
  New tests.
2014-09-18 20:19:56 +02:00
Ludovic Courtès 510f9d8624 doc: Document mapped devices.
* doc/guix.texi (Mapped Devices): New subsection.
2014-09-18 19:50:00 +02:00
Ludovic Courtès 722554a306 system: Define 'device-mapping-kind', and add a 'close' procedure.
* gnu/system/file-systems.scm (<mapped-device-type>): New record type.
  (<mapped-device>)[command]: Remove field.
  [type]: New field.
* gnu/services/base.scm (device-mapping-service): Rename 'command'
  parameter to 'open'.  Add 'close' parameter and honor it.
* gnu/system.scm (luks-device-mapping): Rename to...
  (open-luks-device): ... this.
  (close-luks-device): New procedure.
  (luks-device-mapping): New variable.
  (device-mapping-services): Get the type of MD, and pass its 'open' and
  'close' fields to 'device-mapping-service'.
2014-09-18 19:18:39 +02:00
Ludovic Courtès cb823dd279 pull: Rewrite using gexps.
* guix/scripts/pull.scm (unpack): Remove 'store' parameter.  Rewrite
  using 'gexp->derivation'.
  (what-to-build, indirect-root-added, build-and-install): New
  procedures.
  (guix-pull): Use it.
2014-09-18 18:45:00 +02:00
Ludovic Courtès 2f7a10db6d gnu: skribilo: Make sure Guile-Reader is in the search path.
Reported by Luis Souto Graña <luissoutobueu@gmail.com>.

* gnu/packages/skribilo.scm (skribilo)[arguments]: Add #:phases.
2014-09-18 11:22:01 +02:00
Ludovic Courtès 6904ecce5f gnu: gcc-4.8.3: Add patch for PR61801.
* gnu/packages/patches/gcc-fix-pr61801.patch: New file.
* gnu/packages/gcc.scm (gcc-4.8): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2014-09-17 17:17:43 +02:00
Ludovic Courtès c8bf8b2f88 gnu: libcanberra: Update URL.
Reported by Federico Beffa <beffa@ieee.org>.

* gnu/packages/libcanberra.scm (libcanberra)[source]: Update URI.
2014-09-17 11:09:22 +02:00
Ludovic Courtès f02f65efb4 services: dhcp-client: Start 'dhclient' in "no wait" mode.
* gnu/services/networking.scm (dhcp-client-service): Pass '-nw' to
  'dhclient'.
2014-09-17 09:27:07 +02:00
Ludovic Courtès 6a3f4c74fd services: file-system: Change directory to root before unmounting.
* gnu/services/base.scm (file-system-service)[stop]: Add 'chdir' call.
2014-09-17 09:20:38 +02:00
Ludovic Courtès d656c14ec9 services: user-processes: Wait for complete process termination.
* gnu/services/base.scm (user-processes-service): Add 'wait' loop.
2014-09-17 09:19:48 +02:00
Ludovic Courtès 66d5d8c072 services: udev: Make non-respawnable.
* gnu/services/base.scm (udev-service): Add 'respawn?' field.
2014-09-17 08:59:13 +02:00
Ludovic Courtès bebc8681c2 services: Change default 'stop' value to #~(const #f).
* gnu/services.scm (<service>)[stop]: Change default value.
2014-09-17 07:50:11 +02:00
Ludovic Courtès 736755e21e build: Ignore the user's language settings when running tests.
* test-env.in: Unset 'LANGUAGE', set 'LC_MESSAGE'.
2014-09-17 07:44:00 +02:00
Ludovic Courtès 57db49cc3e utils: Create temporary files in $TMPDIR or /tmp.
Reported by Federico Beffa <beffa@ieee.org>.

* guix/utils.scm (call-with-temporary-output-file): Prepend $TMPDIR or
  /tmp to TEMPLATE.
2014-09-17 07:18:46 +02:00
Ludovic Courtès e617a86137 system: Add "input" to '%base-groups'.
* gnu/system/shadow.scm (%base-groups): Add "input" group.
2014-09-16 22:43:55 +02:00
Ludovic Courtès d6af251868 Remove outdated items from 'TODO'. 2014-09-16 21:11:03 +02:00
Ludovic Courtès 64a4a21e86 gnu: guile-charting: Modules correctly installed, guile-cairo propagated.
* gnu/packages/guile.scm (guile-charting): Patch Makefile.in files to
  install to guile/site/2.0.  Move GUILE-CAIRO to 'propagated-inputs'.
2014-09-16 17:49:57 +02:00
Ludovic Courtès 3f9d63df13 gnu: pulseaudio: Disable Console-Kit support by default.
This prevented PulseAudio from starting on systems without Console-Kit.

* gnu/packages/pulseaudio.scm (pulseaudio)[source]: Add snippet.
2014-09-15 23:58:39 +02:00
Ludovic Courtès a34cedc45e gnu: Add OPAM.
* gnu/packages/ocaml.scm (opam): New variable.
2014-09-15 23:58:39 +02:00
Andreas Enge 6b8e828577 gnu: Add arb.
* gnu/packages/algebra.scm (arb): New variable.
2014-09-15 16:26:30 +02:00
Ludovic Courtès 2274b8163a gnu: mupdf: Adjust synopsis.
* gnu/packages/pdf.scm (mupdf): Remove article from synopsis.
2014-09-15 09:06:42 +02:00
Marek Benc c0b390ed72 gnu: Add mupdf.
* gnu/packages/pdf.scm (mupdf): New variable.
* gnu/packages/patches/mupdf-buildsystem-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Added the above patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-15 09:04:19 +02:00
Marek Benc 38c55e5c8e gnu: Add openjpeg.
* gnu/packages/image.scm (openjpeg): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-15 09:00:12 +02:00
Marek Benc 8d9872b539 gnu: Add jbig2dec
* gnu/packages/image.scm (jbig2dec): New variable.
* gnu/packages/patches/jbig2dec-ignore-testtest.patch: New file.
* gnu-system.am (dist_patch_DATA): Added the above patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-15 08:54:02 +02:00
Ludovic Courtès a023cca8d9 services: Add 'dhcp-client-service'.
* gnu/services/networking.scm (dhcp-client-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2014-09-14 23:49:02 +02:00
Ludovic Courtès 4d54785c69 syscalls: Add 'all-network-interfaces'.
* guix/build/syscalls.scm (network-interfaces): Update docstring.
  (%interface-line): New variable.
  (all-network-interfaces): New procedure.
* tests/syscalls.scm ("all-network-interfaces"): New test.
  ("network-interfaces"): Change to make sure the result is a subset
  of (all-network-interfaces).
2014-09-14 23:49:02 +02:00
Ludovic Courtès 973eea3478 syscalls: Add 'network-interface-flags'.
* guix/build/syscalls.scm (SIOCGIFFLAGS, IFF_UP, IFF_BROADCAST,
  IFF_LOOPBACK, IF_NAMESIZE): New variables.
  (network-interface-flags, loopback-network-interface?): New
  procedures.
* tests/syscalls.scm ("network-interface-flags",
  "loopback-network-interface?"): New tests.
2014-09-14 23:49:02 +02:00
Ludovic Courtès 7585016f53 syscalls: Add 'network-interfaces'.
* guix/build/syscalls.scm (SIOCGIFCONF, ifconf-struct,
  ifreq-struct-size): New variables.
  (%ioctl, bytevector->string-list, network-interfaces): New
  procedures.
* tests/syscalls.scm ("network-interfaces"): New test.
2014-09-14 23:49:02 +02:00
Ludovic Courtès 150d8e6414 services: static-networking-service: Wait for udev, except for loopback.
Reported by DusXMT on #guix.

* gnu/services/networking.scm (static-networking-service): Add
  'requirement' field.  Change 'documentation' to be a string literal.
2014-09-14 23:49:02 +02:00
Ludovic Courtès 5975881687 pull: Create ~/.config/guix if needed instead of bailing out gracelessly.
Previously 'guix pull' would just fail with "No such file or directory"
if ~/.config didn't already exist.

* guix/ui.scm (config-directory): Use 'mkdir-p' instead of 'mkdir'.
  Change the 'catch' handler to expect errors different from EEXIST.
2014-09-14 23:49:02 +02:00
Ludovic Courtès 24e752c097 doc: Mention audio, video, and cdrom groups more prominently.
* doc/guix.texi (User Accounts): Add the "audio", "video", and "cdrom"
  groups in the example.
2014-09-14 23:49:02 +02:00
Mark H Weaver c041886d92 utils: Import (ice-9 format).
* guix/build/utils.scm: Import (ice-9 format).
2014-09-14 11:54:25 -04:00
Eric Bavier de61113857 utils: Allow wrap-program to be called multiple times.
* guix/build/utils.scm (wrap-program): Multiple invocations of
  wrap-program for the same file create successive wrappers.  Adjust
  docstring.
* tests/build-utils.scm: Test new wrap-program behavior.
  (%store): New variable.
2014-09-13 21:53:21 -05:00
Mark H Weaver 9fac9e3be3 Merge branch 'master' into core-updates
Conflicts:
	gnu-system.am
2014-09-13 19:48:47 -04:00
Andreas Enge d7ab698a62 gnu: Add flint.
* gnu/packages/algebra.scm (flint): New variable.
2014-09-13 18:55:21 +02:00
Ludovic Courtès 9e771e3bb6 gnu: Adjust synopses as recommended by 'guix lint'.
Remove leading articles and trailing periods in package synopses.
2014-09-13 15:50:30 +02:00
Ludovic Courtès c5779c931b gnu: Synchronize GNU package descriptions with upstream.
These are mostly two-space-after-end-of-sentence-period changes
resulting from commit 3a09e1d2.
2014-09-13 15:36:07 +02:00
Ludovic Courtès bed035c560 sync-descriptions: Improve output of proposed descriptions.
* build-aux/sync-descriptions.scm (escape-quotes): New procedure.
  Use it.  Add quotes around the proposed description.
2014-09-13 15:26:37 +02:00
Ludovic Courtès 6bddfbc98d nls: Update 'sr' translation. 2014-09-13 14:22:37 +02:00
Ludovic Courtès 8a7330fd76 system: Use eudev instead of udev by default.
* gnu/system.scm (%base-packages): Change 'udev' to 'eudev'.
* gnu/services/base.scm (udev-service): Change #:udev to default to
  'eudev'.
2014-09-13 10:54:47 +02:00
Ludovic Courtès 66a99a0676 services: udev: Allow the use of eudev.
* gnu/services/base.scm (udev-service): Adjust 'start' method to support
  eudev in addition to udev.
2014-09-13 10:53:47 +02:00
Ludovic Courtès ba544e78dc system: Add Diffutils to '%base-packages'.
* gnu/system.scm (%base-packages): Add DIFFUTILS.
2014-09-13 10:52:21 +02:00
Ludovic Courtès 52bd573421 system: Add FUSE and ALSA udev rules by default.
* gnu/services/base.scm (%base-services): Pass FUSE and ALSA-UTILS to
  'udev-service'.
2014-09-13 10:50:26 +02:00
Ludovic Courtès c19ce3a711 gnu: eudev: Honor $EUDEV_RULES_DIRECTORY.
* gnu/packages/patches/eudev-rules-directory.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (eudev): Use it.
2014-09-13 10:47:58 +02:00
Ludovic Courtès dc2d59afa9 gnu: eudev: Build with libkmod support.
* gnu/packages/linux.scm (eudev)[arguments]: New field.
2014-09-13 10:46:10 +02:00
Ludovic Courtès 9a4efac9ef gnu: fuse: Install udev rules in lib/udev/rules.d.
* gnu/packages/linux.scm (fuse): Change UDEV_RULES_PATH suffix to
  /lib/udev/rules.d.
2014-09-13 10:34:50 +02:00
Ludovic Courtès b0e652d836 Revert "gnu: util-linux: Don't install 'logger'."
This reverts commit c9a8ad8477.
2014-09-12 22:19:33 +02:00
Ludovic Courtès 9d77da2a47 gnu: util-linux: Don't install 'logger'.
* gnu/packages/linux.scm (util-linux)[source]: Add 'snippet'.
2014-09-12 22:18:44 +02:00
Ludovic Courtès 7fa715e783 gnu: Add eudev.
* gnu/packages/linux.scm (eudev): New variable.
2014-09-12 22:13:52 +02:00
Ludovic Courtès c9a8ad8477 gnu: util-linux: Don't install 'logger'.
* gnu/packages/linux.scm (util-linux)[source]: Add 'snippet'.
2014-09-12 22:13:52 +02:00
Ludovic Courtès 6d49355d8b activation: Honor $GUIX_NEW_SYSTEM for use by 'guix system reconfigure'.
* gnu/build/activation.scm (activate-current-system): Honor
  $GUIX_NEW_SYSTEM by default.
* guix/scripts/system.scm (switch-to-system): Set $GUIX_NEW_SYSTEM
  before loading SCRIPT.
2014-09-12 22:13:52 +02:00
Ludovic Courtès ddfc2fd8e0 gnu: e2fsprogs: Build with --disable-blkid.
* gnu/packages/linux.scm (e2fsprogs)[arguments]: Pass --disable-blkid.
2014-09-12 22:13:52 +02:00
Ludovic Courtès a68c69675f system: Add more common tools to '%base-packages'.
* gnu/system.scm (%base-packages): Add gawk, tar, gzip, bzip2, xz, lzip,
  and wireless-tools.
2014-09-12 22:13:49 +02:00
Ludovic Courtès 07b08343d7 system: Produce a basic /etc/nsswitch.conf to honor /etc/hosts.
* gnu/system.scm (etc-directory): Produce nsswitch.conf.
2014-09-12 09:55:25 +02:00
Ludovic Courtès 7d6a52c0dc system: Fix the default /etc/hosts.
* gnu/system.scm (default-/etc/hosts): Fix the alias/address order.
  Add ::1.
2014-09-12 09:52:05 +02:00
Mark H Weaver 66ea98e321 Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/image.scm
2014-09-11 18:26:28 -04:00
Ludovic Courtès 5dae0186de system: Add support for Linux-style mapped devices.
* gnu/system/file-systems.scm (<mapped-device>): New record type.
* gnu/system.scm (<operating-system>)[mapped-devices]: New field.
  (luks-device-mapping): New procedure.
  (other-file-system-services)[device-mappings, requirements]: New
  procedures.  Pass #:requirements to 'file-system-service'.
  (device-mapping-services): New procedure.
  (essential-services): Use it.  Append its result to the return value.
  (operating-system-initrd-file): Add comment.
* gnu/services/base.scm (file-system-service): Add #:requirements
  parameter and honor it.
  (device-mapping-service): New procedure.
* gnu/system/linux-initrd.scm (base-initrd): Add comment.
2014-09-12 00:14:52 +02:00
Ludovic Courtès ee7bae3bbd activation: Set the permissions of /etc/sudoers to 440.
* gnu/build/activation.scm (activate-etc): Move 'rm-f' to a local
  'define'.  When TARGET is "sudoers", make it 440.
2014-09-12 00:14:52 +02:00
Ludovic Courtès c851400bee system: Add '\w' to the default PS1.
* gnu/system.scm (etc-directory)[bashrc]: Add '\w' to PS1.
2014-09-12 00:14:52 +02:00
Ludovic Courtès ee248b6a70 activation: Make the /bin/sh symlink at activation time.
* gnu/build/install.scm (directives): Remove "/bin/sh".
* gnu/build/activation.scm (activate-/bin/sh): New procedure.
* gnu/system.scm (operating-system-activation-script): Use it.
2014-09-12 00:14:52 +02:00
Ludovic Courtès ecd06ca9fa services: udev: Allow for additional udev rules.
* gnu/services/base.scm (udev-rules-union): New procedure.
  (udev-service): Add #:rules parameter.  Call 'udev-rules-union' and
  create udev.conf.  Set $UDEV_CONFIG_FILE before spawning udevd.
2014-09-12 00:14:52 +02:00
Ludovic Courtès c65e183403 system: Add 'hosts-file' field.
* gnu/system.scm (<operating-system>)[hosts-file]: New field.
  (default-/etc/hosts): New procedure.
  (etc-directory): Add #:hosts-file parameter and honor it.
  (operating-system-etc-directory): Build /etc/hosts, and pass
  it as #:hosts-file to 'etc-directory'.
2014-09-12 00:14:52 +02:00
Ludovic Courtès f9d53de105 system: Add default PAM entries for xlock and xscreensaver.
* gnu/system/linux.scm (base-pam-services): Add "xlock" and
  "xscreensaver".
2014-09-12 00:14:52 +02:00
Ludovic Courtès c6a0536d08 activation: Make sure /etc/sudoers & co. are regular files.
Before that, 'sudo' would exit with:

  sudo: /etc/sudoers is not a regular file
  sudo: no valid sudoers sources found, quitting

* gnu/build/activation.scm (activate-etc): Check if SOURCE matches
  'file-is-directory?'.  If not, use 'copy-file' instead of 'symlink'.
2014-09-12 00:14:52 +02:00
Ludovic Courtès 286cacaded activation: Remove outdated comment.
* gnu/build/activation.scm (activate-etc): Remove outdated comment.
2014-09-12 00:14:52 +02:00
Ludovic Courtès 095f4deb4b activation: Factorize the link-or-copy trick.
* gnu/build/activation.scm (link-or-copy): New procedure.
  (activate-setuid-programs): Use it.
2014-09-12 00:14:52 +02:00
Kevin Lemonnier f489668723 gnu: Add weechat
* gnu/packages/weechat.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2014-09-11 17:14:24 -05:00
Andreas Enge 66fdf54587 gnu: glpk: Update to 4.55.
* gnu/packages/maths.scm (glpk): Update to 4.55.
2014-09-11 16:43:08 +02:00
Andreas Enge 9493176ad7 gnu: global: Update to 6.3.2.
* gnu/packages/global.scm (global): Update to 6.3.2.
2014-09-11 15:32:09 +02:00
Andreas Enge d5b888fa2d gnu: freeipmi: Update to 1.4.5.
* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.5.
2014-09-11 15:25:46 +02:00
Kevin Lemonnier c361d075d3 gnu: Have lua-5.1 compile a .so
* gnu/packages/patches/lua51-liblua-so.patch: New file
* gnu/packages/lua.scm: Use of lua51-liblua-so.patch in lua-5.1

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-11 11:59:15 +02:00
Ludovic Courtès 00d908db1e nls: Adjust reference to stale file.
* po/packages/POTFILES.in: Replace recutils.scm with databases.scm.
2014-09-11 09:52:14 +02:00
Ludovic Courtès 275a77113c gnu: lzip: Update to 1.16.
* gnu/packages/compression.scm (lzip): Update to 1.16.
2014-09-11 09:51:39 +02:00
Ludovic Courtès c4634dfa26 profiles: Adjust for compatibility with Guile 2.0.5.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/profiles.scm (right-arrow): Use 'set-port-conversion-strategy!'
  instead of '%default-port-conversion-strategy'.  The latter is only
  available in Guile 2.0.5.
2014-09-10 23:33:30 +02:00
Ludovic Courtès f2817d4303 gnu: lvm2: Programs such as 'dmsetup' now have a correct RUNPATH.
* gnu/packages/linux.scm (alsa-utils): Add comment.
  (lvm2): Add LDFLAGS as a configure flag.
2014-09-10 22:59:27 +02:00
Ludovic Courtès a4888e2e0f install: Gracefully handle corner cases with 'guix system init foo /'.
* gnu/build/install.scm (evaluate-populate-directive): Wrap body in
  "catch 'system-error", and report clear errors.  In the symlink case,
  retry up EEXIST.
  (populate-root-file-system): Remove /var/guix/profiles/system-1-link
  before attempting to create it.
2014-09-10 21:39:47 +02:00
Ludovic Courtès 6e4532e8fe Add Marek to 'AUTHORS'. 2014-09-10 15:44:51 +02:00
Ludovic Courtès 6bb08d056e gnu: wv: Fix URL.
Reported by Marek Benc.

* gnu/packages/wv.scm (wv): Change URL to mirror://.  Also replace one
  NAME occurrence in the URL with 'wvware'.
2014-09-09 17:18:04 +02:00
Ludovic Courtès bde7eb8f0a Have (gnu) re-export (guix gexp).
* gnu.scm (%public-modules): Add '(guix gexp)'.
2014-09-09 17:13:52 +02:00
Ludovic Courtès df5ce088f2 system: Export '%setuid-programs'.
* gnu/system.scm: Export '%setuid-programs', as documented in the
  manual.
2014-09-09 17:12:33 +02:00
Ludovic Courtès 757d5ff306 gnu: libwmf: Use a mirror:// URL.
* gnu/packages/image.scm (libwmf): Use a mirror://sourceforge URL.
2014-09-09 15:35:00 +02:00
Ludovic Courtès a3c4aa1b70 gnu: abiword: Use 'wv', not 'wvware'.
* gnu/packages/abiword.scm: Change 'wvware' to 'wv'.
2014-09-09 15:33:57 +02:00
Marek Benc 698d228001 gnu: Add AbiWord.
* gnu/packages/patches/abiword-explictly-cast-bools.patch New file.
* gnu/packages/patches/abiword-link-plugins-against-backend.patch: New file.
* gnu/packages/patches/abiword-no-include-glib-internal-headers.patch: New file.
* gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch
* gnu/packages/patches/abiword-use-proper-png-api.patch: New file.
* gnu/packages/patches/abiword-wmf-version-lookup-fix.patch: New file.
* gnu/packages/abiword.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add abiword.scm.
  (dist_patch_DATA): Add the 6 patches for abiword.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-09 13:55:20 +02:00
Marek Benc 52910ded6c gnu: Add ots.
* gnu/packages/patches/ots-no-include-missing-file.patch: New file.
* gnu/packages/ots.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add ots.scm.
  (dist_patch_DATA): Add ots-no-include-missing-file.patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-09 13:40:04 +02:00
Marek Benc 1deac3440c gnu: Add Enchant.
* gnu/packages/enchant.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-09 13:34:22 +02:00
Marek Benc 9ffbe2b7d5 gnu: Add wv.
* gnu/packages/wv.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-09 11:58:35 +02:00
Marek Benc efa77baf26 gnu: Add libwmf.
* gnu/packages/image.scm (libwmf): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-09 11:48:44 +02:00
Marek Benc b005157c9b gnu: Add GNU FriBidi.
* gnu/packages/fribidi.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-09 11:41:55 +02:00
Kevin Lemonnier cf31157fb2 gnu: Add zsh.
* gnu/packages/zsh.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-09 09:50:19 +02:00
Ludovic Courtès 42d10464be linux-initrd: Store Linux modules in a normal store directory.
* gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and
  #:linux-modules parameters.  Remove call to
  'float-linux-module-directory'.
  (base-initrd): Add call to 'float-linux-module-directory'.  Use it in
  #:linux-modules argument in the gexp.  Remove #:linux and
  #:linux-modules arguments to 'expression->initrd'.
* gnu/build/linux-initrd.scm (build-initrd): Remove
  #:linux-module-directory parameter.  Don't create 'modules'
  sub-directory.
* gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a
  list of absolute file names.  Don't prepend "/modules/" to
  LINUX-MODULES.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.
2014-09-08 23:47:29 +02:00
Ludovic Courtès df650fa84e linux-initrd: Remove #:to-copy argument of 'expression->initrd'.
* gnu/system/linux-initrd.scm (expression->initrd): Remove #:to-copy
  parameter.  Remove 'graph-files', and adjust #:references-graphs
  arguments to just list INIT.
  (base-initrd): Remove #:to-copy argument.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.
2014-09-08 23:47:28 +02:00
Ludovic Courtès 1621cf97aa linux-initrd: Move initrd creation code to (guix build linux-initrd).
* gnu/build/linux-initrd.scm (cache-compiled-file-name,
  compile-to-cache, build-initrd): New procedures.
* gnu/system/linux-initrd.scm (expression->initrd)[builder]: Remove code
  now moved above.  Use 'build-initrd'.
2014-09-08 23:47:28 +02:00
Ludovic Courtès 70608adb4a linux-initrd: Copy all the script's closure to the initrd.
* gnu/system/linux-initrd.scm (expression->initrd): Remove calls to
  'imported-modules' and 'compiled-modules'.  Use 'gexp->script' with
  EXP.  Add the result to TO-COPY.  Make /init a symlink to that script,
  and copy its closure into the "contents" directory.  Add fake
  /proc/self/exe symlink.
* gnu/build/linux-boot.scm (load-linux-module*): Add comment about mmap.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "-m
  256".  This turns out to be needed for initrds containing things like
  e2fsck and several modules; with the default of 128 MiB, loading
  libahci.ko may fail with -1.
2014-09-08 23:47:28 +02:00
Ludovic Courtès c2619e10ea gnu: Add GNU direvent.
* gnu/packages/admin.scm (direvent): New variable.
2014-09-08 23:47:28 +02:00
Ludovic Courtès c4492a16ea gnu: Add testdisk.
* gnu/packages/admin.scm (testdisk): New variable.
2014-09-08 23:47:28 +02:00
Ludovic Courtès 813caa0a66 gnu: youtube-dl: Update to 2014.09.06.
* gnu/packages/video.scm (youtube-dl): Update to 2014.09.06.
2014-09-08 23:47:28 +02:00
Alex Kost 91cc37a1e3 emacs: Improve key bindings for marking the packages.
Use "U" to upgrade the current package, "^" to upgrade all.

* emacs/guix-list.el: (guix-list-unmark): With prefix, mark all.
  (guix-package-list-mark-outputs): New procedure.
  (guix-package-list-mark-install, guix-package-list-mark-delete)
  (guix-package-list-mark-upgrade): Use it.
  (guix-package-list-mark-upgrades): New command.
* doc/emacs.texi (emacs List buffer): Update the manual accordingly.
2014-09-08 22:01:58 +04:00
Mark H Weaver da5538ef44 gnu: libunistring: Update to 0.9.4.
* gnu/packages/libunistring.scm (libunistring): Update to 0.9.4.
2014-09-08 12:40:28 -04:00
Ludovic Courtès db60b1d9ff gnu: Add tdb.
* gnu/packages/databases.scm (tdb): New variable.
2014-09-08 18:00:03 +02:00
Ludovic Courtès 5f96f303eb gnu: Consolidate databases in (gnu packages databases).
* gnu/packages/databases.scm: New file, with the contents of the
  following deleted files.
* gnu/packages/mysql.scm, gnu/packages/postgresql.scm,
  gnu/packages/recutils.scm, gnu/packages/sqlite.scm,
  gnu/packages/bdb.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu/packages/apl.scm, gnu/packages/dc.scm, gnu/packages/games.scm,
  gnu/packages/gnunet.scm, gnu/packages/linux.scm, gnu/packages/mail.scm,
  gnu/packages/mpd.scm, gnu/packages/nvi.scm, gnu/packages/openldap.scm,
  gnu/packages/package-management.scm, gnu/packages/python.scm,
  gnu/packages/qt.scm, gnu/packages/rdf.scm,
  gnu/packages/version-control.scm: Adjust to new module name.
2014-09-08 17:48:57 +02:00
Ludovic Courtès 971863fb45 gnu: Remove extra import in (gnu packages admin).
* gnu/packages/admin.scm: Remove duplicate use of (gnu packages base).
2014-09-08 17:48:55 +02:00
Mark H Weaver 39ccbfad1c gnu: glibc: Update to 2.20.
* gnu/packages/patches/glibc-CVE-2014-5119.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/base.scm (glibc): Update to 2.20.  Remove patch.
  Raise minimum linux version to 2.6.32.
2014-09-08 11:27:05 -04:00
Mark H Weaver e759c0a38c Merge branch 'master' into core-updates 2014-09-08 11:00:06 -04:00
Ludovic Courtès 4a4cbd0bdd gexp: 'gexp->script' returns a script that can easily be compiled.
* guix/gexp.scm (gexp->script): Produce an 'eval-when' form around
  assignments of %load-path and %load-compiled-path.
2014-09-08 00:03:38 +02:00
Ludovic Courtès 84da4ad4b0 linux-initrd: Build cpio archives without '--no-absolute-filenames'.
* gnu/build/linux-initrd.scm (write-cpio-archive): Remove
  '--no-absolute-filenames'.
2014-09-08 00:03:38 +02:00
Jason Self e46db7728d gnu: linux-libre: Update to 3.16.2.
* gnu/packages/linux.scm (linux-libre): Update to version 3.16.2.
2014-09-06 19:52:38 -07:00
Ludovic Courtès 49fa9381b8 linux-initrd: Populate the initrd's store with complete closures.
* gnu/system/linux-initrd.scm (expression->initrd): Add 'graph-files'.
  Use (guix build store-copy) and 'populate-store' instead of local
  hack.  Pass #:references-graphs to 'gexp->derivation'.
2014-09-06 23:42:56 +02:00
Ludovic Courtès 1456cff18f gnu: unionfs-fuse/static: Remove store references from the executable.
* gnu/packages/linux.scm (unionfs-fuse/static)[arguments]: Add #:phases.
2014-09-06 23:42:56 +02:00
Ludovic Courtès b53833b2ef gexp: Allow use of high-level objects in #:references-graphs.
* guix/gexp.scm (lower-reference-graphs): New procedure.
  (gexp->derivation)[graphs-file-names]: New procedure.
  Use 'lower-reference-graphs', and augment #:inputs argument as a
  function of #:references-graphs.
* doc/guix.texi (G-Expressions): Adjust 'gexp->derivation' documentation
  accordingly.
* tests/gexp.scm ("gexp->derivation, store copy"): Remove reference to
  TWO in BUILD-DRV.  Use TWO directly in #:references-graphs argument.
  ("gexp->derivation #:references-graphs"): New test.
* gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as
  the #:references-graphs argument to
  'expression->derivation-in-linux-vm'.
2014-09-06 23:42:56 +02:00
Jason Self 108293c5ea gnu: linux-libre: Revert to 3.16.1.
* gnu/packages/linux.scm (linux-libre): Revert to version 3.16.1.
2014-09-06 09:33:41 -07:00
Alex Kost 8ed08c7602 emacs: Add a face for installed packages.
* emacs/guix-list.el (guix-package-list-installed): New face.
  (guix-package-list-get-name): Use it.
2014-09-06 20:21:21 +04:00
Jason Self 8dd09fad52 gnu: linux-libre: Update to 3.16.2.
* gnu/packages/linux.scm (linux-libre): Update to version 3.16.2.
2014-09-06 09:19:08 -07:00
David Thompson 9dd6078d3b gnu: Add python-sphinx.
* gnu/packages/python.scm (python-sphinx, python2-sphinx): New variables.
2014-09-05 23:31:20 -04:00
David Thompson fb35b7c088 gnu: Add python-pygments.
* gnu/packages/python.scm (python-pygments, python2-pygments): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 3580ab8be2 gnu: Add python-docutils.
* gnu/packages/python.scm (python-docutils, python2-docutils): New variables.
2014-09-05 23:31:20 -04:00
David Thompson fe34f0d152 gnu: Add python-jinja2.
* gnu/packages/python.scm (python-jinja2, python2-jinja2): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 8176d4d55b gnu: Add python-markupsafe.
* gnu/packages/python.scm (python-markupsafe, python2-markupsafe): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 5731cae394 gnu: Add python-virtualenv.
* gnu/packages/python.scm (python-virtualenv, python2-virtualenv): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson ec5dbb5c30 gnu: Add python-itsdangerous.
* gnu/packages/python.scm (python-itsdangerous, python2-itsdangerous): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 2cec1f6f56 gnu: Add python-oauthlib.
* gnu/packages/python.scm (python-oauthlib, python2-oauthlib): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 6d45fef43e gnu: Add python-pyjwt.
* gnu/packages/python.scm (python-pyjwt, python2-pyjwt): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 041358fb01 gnu: Add python-discover.
* gnu/packages/python.scm (python-discover, python2-discover): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 243a009ada gnu: Add python-coverage.
* gnu/packages/python.scm (python-coverage, python2-coverage): New variables.
2014-09-05 23:31:20 -04:00
David Thompson b24a0c00e4 gnu: Add python-testrepository.
* gnu/packages/python.scm (python-testrepository, python2-testrepository): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson cd49454b7b gnu: Add python-fixtures.
* gnu/packages/python.scm (python-fixtures, python2-fixtures): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 070ab0588c gnu: Add python-subunit.
* gnu/packages/python.scm (python-subunit, python2-subunit): New variables.
2014-09-05 23:31:20 -04:00
David Thompson dac79ecc51 gnu: Add python-testresources.
* gnu/packages/python.scm (python-testresources, python2-testresources): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 5bf3afea68 gnu: Add python-testscenarios.
* gnu/packages/python.scm (python-testscenarios, python2-testscenarios): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson d8fa80e13f gnu: Add python-testtools.
* gnu/packages/python.scm (python-testtools, python2-testtools): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 84d2401728 gnu: Add python-scripttest.
* gnu/packages/python.scm (python-scriptest, python2-scripttest): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 855d4761a5 gnu: Add python-pytest.
* gnu/packages/python.scm (python-pytest, python2-pytest): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 542ad60fbc gnu: Add python-py.
* gnu/packages/python.scm (python-py, python2-py): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 6cd9c35637 gnu: Add python-unittest2.
* gnu/packages/python.scm (python-unittest2, python2-unittest2): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 4435427e6d gnu: Add python-nose.
* gnu/packages/python.scm (python-nose, python2-nose): New variables.
2014-09-05 23:31:20 -04:00
David Thompson c15a5c0eac gnu: Add python-extras.
* gnu/packages/python.scm (python-extras, python2-extras): New variables.
2014-09-05 23:31:20 -04:00
David Thompson 56ea0efd72 gnu: Add python-mimeparse.
* gnu/packages/python.scm (python-mimeparse, python2-mimeparse): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 850189b839 gnu: Add python-unidecode.
* gnu/packages/python.scm (python-unidecode, python2-unidecode): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson 864b5211cd gnu: Add python-jsonschema.
* gnu/packages/python.scm (python-jsonschema, python2-jsonschema): New
  variables.
2014-09-05 23:31:20 -04:00
David Thompson e6cfbd364a gnu: Add python2-requests.
* gnu/packages/python.scm (python2-requests): New variable.
2014-09-05 23:31:20 -04:00
David Thompson 3a1f9a68e5 gnu: Add python-certifi.
* gnu/packages/python.scm (python-certifi, python2-certifi): New variables.
2014-09-05 23:31:20 -04:00
David Thompson d5f89b22d8 gnu: Add python-pyld.
* gnu/packages/python.scm (python-pyld, python2-pyld): New variables.
2014-09-05 23:31:20 -04:00
David Thompson c7303d3cef gnu: Add python-exif-read.
* gnu/packages/python.scm (python-exif-read, python2-exif-read): New
  variables.
2014-09-05 23:31:20 -04:00
Ludovic Courtès b50c5b7418 pull: Add a compilation progress report.
* guix/build/pull.scm (report-build-progress): New procedure.
  (p-for-each): Add #:progress parameter.
  [loop]: Keep track of the number of completed processes.  Tail-call
  PROGRESS at each loop iteration.
  (build-guix): Add #:debug-port parameter.  Use it for verbose
  messages.  Change 'tar' flags to 'xf'.  Around 'compile-file' call,
  bind CURRENT-WARNING-PORT to DEBUG-PORT.
* guix/scripts/pull.scm (unpack): Add #:verbose? parameter.
  [builder]: Pass #:debug-port to 'build-guix'.
  (guix-pull): Leave CURRENT-BUILD-OUTPUT-PORT unchanged.  Pass
  #:verbose? to 'unpack'.
2014-09-05 23:11:04 +02:00
Eric Bavier 1145938496 utils: Clean trailing whitespace at end of SHELL
* guix/build/utils.scm (patch-makefile-SHELL): Remove trailing whitespace.
2014-09-05 00:02:19 -05:00
Ludovic Courtès 6fd1a79674 vm: Move store copy handling to (guix build store-copy).
* gnu/build/vm.scm (read-reference-graph, populate-store): Move to...
* guix/build/store-copy.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust default
  #:modules values accordingly.
* tests/gexp.scm ("gexp->derivation, store copy"): New test.
2014-09-04 23:24:54 +02:00
Ludovic Courtès b21a1c5a18 linux-initrd: Move Linux module tree flattening to another derivation.
* gnu/system/linux-initrd.scm (expression->initrd)[string->regexp]:
  Remove.
  Use 'flat-linux-module-directory'.  Remove the equivalent logic from
  'builder'.
  (flat-linux-module-directory): New procedure.
2014-09-04 22:51:04 +02:00
Ludovic Courtès 39c4563aea profiles: Use a real arrow to denote upgrades in ASCII.
Suggested by Alex Kost.

* guix/profiles.scm (right-arrow): Fall back to "->".
* tests/profiles.scm ("manifest-show-transaction"): Adjust accordingly.
2014-09-04 21:35:57 +02:00
Alex Kost 457f60fa06 Add Emacs user interface.
* configure.ac (emacsuidir): New variable.
  (AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'.
* Makefile.am: Include 'emacs.am'.
* emacs.am: New file.
* doc/emacs.texi: New file.
* doc/guix.texi: Include 'emacs.texi'.
* emacs/guix-backend.el: New file.
* emacs/guix-base.el: New file.
* emacs/guix-helper.scm.in: New file.
* emacs/guix-history.el: New file.
* emacs/guix-info.el: New file.
* emacs/guix-init.el.in: New file.
* emacs/guix-list.el: New file.
* emacs/guix-main.scm: New file.
* emacs/guix-utils.el: New file.
* emacs/guix.el: New file.
2014-09-03 23:50:35 +04:00
Ludovic Courtès a423555d3c gnu: datamash: Fix license.
* gnu/packages/datamash.scm (datamash)[license]: Change to GPL3+.
2014-09-03 15:43:07 +02:00
Ludovic Courtès fbb3555809 linux-initrd: Factorize cpio archive creation.
* gnu/build/linux-initrd.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system/linux-initrd.scm (expression->initrd): Use (gnu build
  linux-initrd) and 'write-cpio-archive' instead of the inlined code.
2014-09-03 15:43:07 +02:00
Ludovic Courtès e2f4b305d0 Move part of (gnu build linux-boot) to (gnu build file-systems).
* gnu/build/linux-boot.scm (%ext2-endianness, %ext2-sblock-magic,
  %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name,
  read-ext2-superblock, ext2-superblock-uuid,
  ext2-superblock-volume-name, disk-partitions,
  partition-label-predicate, find-partition-by-label,
  canonicalize-device-spec, MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC,
  MS_BIND, MS_MOVE, bind-mount, check-file-system,
  mount-flags->bit-mask, mount-file-system): Move to...
* gnu/build/file-systems.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/services/base.scm: Use (gnu build file-systems).
* gnu/services/dmd.scm (dmd-configuration-file): Likewise.
* gnu/system.scm (operating-system-activation-script): Likewise.
* gnu/system/linux-initrd.scm (base-initrd): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
2014-09-03 15:43:07 +02:00
Ludovic Courtès 8a9e21d1f7 Rename (gnu build linux-initrd) to (gnu build linux-boot).
* gnu/build/linux-initrd.scm: Rename to...
* gnu/build/linux-boot.scm: ... this.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu/build/activation.scm, gnu/build/vm.scm, gnu/services/base.scm,
  gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm,
  gnu/system/vm.scm: Adjust accordingly.
2014-09-03 15:43:07 +02:00
Ludovic Courtès 548f7a8fa2 Move operating system helpers from (guix build …) to (gnu build …).
* guix/build/activation.scm, guix/build/install.scm,
  guix/build/linux-initrd.scm, guix/build/vm.scm: Move to...
* gnu/build: ... here.
* Makefile.am (MODULES): Remove the above guix/build/ files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files
  here.
* gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm,
  gnu/system/linux-initrd.scm, gnu/system/vm.scm,
  guix/scripts/system.scm: Adjust to the new module names.
2014-09-03 15:43:07 +02:00
Ludovic Courtès 141360b5b2 doc: Mention 'guix lint' and '--list-dependent' in 'HACKING'.
* HACKING (Submitting Patches): Mention 'guix lint' and 'guix refresh
  --list-dependent'.
2014-09-03 15:43:07 +02:00
Ludovic Courtès b002e9d08e guix lint: Remove "guix lint: " prefix from warnings.
This allows editors to parse warnings correctly.

* guix/scripts/lint.scm (emit-warning): Use 'format' instead of
  'warning', to avoid the "guix lint: " prefix in messages.
* tests/lint.scm (call-with-warnings): Indent.
2014-09-03 15:43:07 +02:00
David Thompson 52bd0810a8 gnu: Add postgresql.
* gnu/packages/postgresql.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-09-03 07:47:47 -04:00
Cyril Roelandt b4f5e0e87c scripts: add guix lint
* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages.
* tests/lint.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/Makevars: Update appropriately.
* po/guix/POTFILES.in: Update appropriately.
* doc/guix.texi: Document "guix lint".
2014-09-03 02:07:07 +02:00
Cyril Roelandt 5e3b388b51 Move specification->package to gnu/packages.scm.
* guix/scripts/build.scm (specification->package): Move from here...
* gnu/packages.scm: ... to here.
2014-09-03 02:07:07 +02:00
Ludovic Courtès 3af2d27eb3 daemon: Do not use 'vfork'.
This fixes random EBADF errors in the daemon on ancient Linux kernels
such as version 2.6.32.

* config-daemon.ac: Remove detection of 'vfork'.
2014-09-02 22:52:45 +02:00
Marek Benc bf2a56f8ec gnu: Add nvi.
* gnu/packages/nvi.scm: New file.
* gnu/packages/patches/nvi-assume-preserve-path.patch: New file.
* gnu-system.am: Add them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-02 21:32:30 +02:00
Ludovic Courtès 9a91476431 profiles: Report version numbers in a separate column.
* guix/profiles.scm (manifest-show-transaction)[package-strings,
  upgrade-strings]: Show version number in separate column.  Show OUTPUT
  in first column, and only when it's different from "out".
2014-09-02 21:25:57 +02:00
Ludovic Courtès ef8993e2dc profiles: Report the old and new version number in upgrades.
* guix/profiles.scm (manifest-lookup): New procedure.
  (manifest-installed?): Use it.
  (manifest-transaction-effects): Return a pair of entries for upgrades.
  (right-arrow): New procedure.
  (manifest-show-transaction)[upgrade-string, →]: New variables.
  Report upgrades using 'upgrade-string'.
* tests/profiles.scm ("manifest-show-transaction"): New test.
  ("manifest-transaction-effects"): Match UPGRADE against a pair.
2014-09-02 21:12:59 +02:00
Ludovic Courtès fa747b27fc doc: Update "Installing Guix from Guix".
* README: Make 'guix package' command line more readable.  Mention
  --localstatedir.
2014-09-02 17:44:56 +02:00
Ludovic Courtès 8b8ea80781 gnu: ucommon: Update to 6.1.10.
* gnu/packages/telephony.scm (ucommon): Update to 6.1.10.
2014-09-02 00:01:38 +02:00
Ludovic Courtès 86da684c3d gnu: libtasn1: Update to 4.1.
* gnu/packages/gnutls.scm (libtasn1): Update to 4.1.
2014-09-02 00:01:11 +02:00
Ludovic Courtès f0214ece31 gnu: datamash: Update to 1.0.6.
* gnu/packages/datamash.scm (datamash): Update to 1.0.6.
2014-09-01 23:57:05 +02:00
Ludovic Courtès 7239e41196 gnu: parallel: Update to 20140822.
* gnu/packages/parallel.scm (parallel): Update to 20140822.
2014-09-01 23:56:01 +02:00
Ludovic Courtès 5c97df3ae6 gnu: help2man: Update to 1.46.1.
* gnu/packages/man.scm (help2man): Update to 1.46.1.
2014-09-01 23:55:23 +02:00
Ludovic Courtès ad14d9e79d doc: Clarify system installation and configuration details.
Reported by leth on #guix.

* doc/guix.texi (System Installation): Suggest running 'reboot' instead
  of 'umount /mnt'.
  (Initial RAM Disk): Add xref to SRFI-26.
2014-09-01 23:25:44 +02:00
Ludovic Courtès e23f14fe0c sync-with-upstream: Generate 'nix/AUTHORS'.
* nix/sync-with-upstream: Use 'git shortlog' to generate nix/AUTHORS.
2014-09-01 23:00:42 +02:00
Ludovic Courtès deae6e9e6f Thank Frederico. 2014-08-31 22:20:20 +02:00
Ludovic Courtès d474d5d0c6 gnu: gcc-toolchain: Inherit GCC's search path specifications.
Reported by Federico Beffa <beffa@ieee.org>.

* gnu/packages/commencement.scm (gcc-toolchain): Add
  'native-search-paths' and 'search-paths' fields.
2014-08-31 22:18:47 +02:00
Ludovic Courtès 4720f524fc guix package: Fix search path lookup when an obsolete version is installed.
Before that, 'guix package --search-paths' would not work if, say,
'foo-0.2' is installed but the distro provides 'foo-0.3'.

* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
  Handle the case where 'find-best-packages-by-name' returns '().
2014-08-31 22:17:56 +02:00
Ludovic Courtès ab3893d713 daemon: Rename '--disable-store-optimization' to '--disable-deduplication'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DISABLE_STORE_OPTIMIZATION):
  Rename to...
  (GUIX_OPT_DISABLE_DEDUPLICATION): ... this.  Adjust user accordingly.
  (options): Add "disable-deduplication".  Make
  "disable-store-optimization" a hidden alias.
* doc/guix.texi (Invoking guix-daemon): Adjust to new option name.  Add
  index entry.  Improve description.
2014-08-31 14:44:40 +02:00
Ludovic Courtès 44d43c7a85 daemon: Really enable automatic deduplication by default.
* nix/nix-daemon/guix-daemon.cc (main): Set 'autoStoreOptimise' to
  true.  Add 'printMsg' call.
* tests/derivations.scm ("identical files are deduplicated"): New test.
2014-08-31 14:44:34 +02:00
Ludovic Courtès 79601521fc profiles: Compute transaction effects in a functional way.
* guix/profiles.scm (manifest-transaction-effects): New procedure.
  (manifest-show-transaction): Use it instead of locally computing it.
* tests/profiles.scm (glibc): New variable.
  ("manifest-transaction-effects"): New test.
2014-08-30 21:52:32 +02:00
Mark H Weaver 6646747c02 gnu: gawk: Patch /usr/bin/file in extension/configure on MIPS.
* gnu/packages/gawk.scm (gawk): When building for MIPS, patch /usr/bin/file in
  extension/configure.
2014-08-29 18:31:57 -04:00
Ludovic Courtès b9a31d90e9 offload: Ignore EEXIST when registering a .drv as a GC root.
Fixes <http://bugs.gnu.org/18115>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/scripts/offload.scm (register-gc-root)[script]: Wrap 'symlink'
  call in "catch 'system-error", and ignore EEXIST errors.
2014-08-29 14:53:15 +02:00
Ludovic Courtès b1e48f222b offload: Ignore unreachable machines.
Fixes <http://bugs.gnu.org/18070>.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/scripts/offload.scm (remote-pipe): Augment docstring.
  (machine-load): Return +inf.0 instead of 1 if MACHINE does not respond
  or responds badly.
2014-08-29 14:37:58 +02:00
Ludovic Courtès 00b7776c0d gnu: Add nss-mdns.
* gnu/packages/avahi.scm (nss-mdns): New variable.
2014-08-29 14:13:26 +02:00
Mark H Weaver b5ef82e064 gnu: Add missing import to (gnu packages base).
* gnu/packages/base.scm: Import (gnu packages base).
2014-08-28 15:34:17 -04:00
Mark H Weaver c00a9fbfef Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/base.scm
2014-08-28 14:22:15 -04:00
Mark H Weaver dd16424466 doc: %final-inputs is now in (gnu packages commencement).
* doc/guix.texi (Bootstrapping): Adjust the text to reflect that
  '%final-inputs' is now in (gnu packages commencement).
2014-08-28 13:59:49 -04:00
Mark H Weaver 9e9cb0c7ba hydra: Adjust to (gnu packages commencement) split from (gnu packages base).
* build-aux/hydra/gnu-system.scm: Import (gnu packages commencement).
2014-08-28 13:57:08 -04:00
John Darrington ba5324c30e gnu: Add perl-archive-zip.
* gnu/packages/perl.scm (perl-archive-zip): New variable.
2014-08-28 18:56:16 +02:00
John Darrington b1da9f82a8 gnu: Add bison-2.7
* gnu/packages/bison.scm (bison-2.7): New variable.
  Bison 3.x and 2.x are incompatible.  Some programs require 2.x
2014-08-28 18:56:13 +02:00
Eric Bavier 83291101c3 utils: Preserve makefile shell arguments during patch.
* guix/build/utils.scm (patch-makefile-SHELL): Preserve shell arguments.
2014-08-28 11:16:19 -05:00
Ludovic Courtès c23372131d gnu: libwebsockets: Update to 1.3.
* gnu/packages/web.scm (libwebsockets): Update to 1.3.  Switch to
  CMAKE-BUILD-SYSTEM.  Remove #:phases parameter and add #:tests?.
  Remove AUTOCONF, AUTOMAKE, and LIBTOOL from 'native-inputs'.
2014-08-28 11:38:12 +02:00
Ludovic Courtès 12507a3ee6 gnu: Add Guile-Charting.
* gnu/packages/guile.scm (guile-charting): New variable.
2014-08-28 10:09:28 +02:00
Ludovic Courtès 49710cea4c gnu: guile-cairo: Propagate Cairo.
* gnu/packages/gtk.scm (guile-cairo): Move CAIRO to 'propagated-inputs'.
2014-08-28 10:06:48 +02:00
Ludovic Courtès bdb36958fb gnu: Split (gnu packages base), adding (gnu packages commencement).
* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0,
  findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet,
  binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0,
  texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash,
  cross-gcc-wrapper, static-bash-for-glibc, glibc-final,
  gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++,
  gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs,
  guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final,
  %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain,
  gcc-toolchain-4.8, gcc-toolchain-4.9): Move to...
* gnu/packages/commencement.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/check-final-inputs-self-contained.scm: Adjust accordingly.
* gnu/packages/cross-base.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/gnu.scm (standard-packages, gnu-build,
  gnu-cross-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* guix/download.scm (url-fetch): Likewise.
* guix/gexp.scm (default-guile): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/monads.scm (run-with-store): Likewise.
* guix/packages.scm (default-guile): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths):
  Likewise.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/guix-package.sh: Likewise.
* gnu/services/base.scm: Use 'canonical-package' instead of xxx-final.
* gnu/services/xorg.scm: Likewise.
* gnu/system/vm.scm: Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
2014-08-28 09:21:54 +02:00
Ludovic Courtès 5c3eb14e07 linux-initrd: Wait a bit longer for partitions to appear.
Reported by Sveltana on #guix.

* guix/build/linux-initrd.scm (canonicalize-device-spec): Increase
  MAX-TRIALS.  Add "waiting for partition" 'format' call.
2014-08-28 09:21:21 +02:00
Ludovic Courtès 2f0556ae5e profiles: Add gzip to $PATH before invoking 'install-info'.
* guix/profiles.scm (info-dir-file)[gzip]: New variable.
  [build]: Add 'setenv' call.
2014-08-28 09:21:06 +02:00
Andreas Enge 384de55233 build-system/perl: Add handling of flags for parallel build and testing.
* guix/build-system/perl.scm (perl-build): Add support for variables
    parallel-build? and parallel-tests?.
* guix/build-system/gnu.scm (gnu-build): Add a line break for clarity.
2014-08-27 14:29:18 +02:00
Alex Kost 18311966d1 gnu: Add unclutter.
* gnu/packages/unclutter.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-08-27 15:52:25 +04:00
Ludovic Courtès af9142dce0 tests: Fix typo in guix-build.sh.
* tests/guix-build.sh: Refer to the '%bootstrap' variables from (gnu
  packages bootstrap), not (gnu packages base).
2014-08-27 00:27:12 +02:00
Mark H Weaver f5beb0caf3 gnu: glibc: Fix CVE-2014-5119.
* gnu/packages/patches/glibc-CVE-2014-5119.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc): Add the patch.
2014-08-26 16:04:16 -04:00
John Darrington d17ef35620 doc: Replace /nix/store with /gnu/store in README.
* README update anachronistic reference to /nix/store
2014-08-26 20:00:40 +02:00
Mark H Weaver 48abd13021 gnu: file: Update to 5.19; add fix for CVE-2014-3587.
* gnu/packages/patches/file-CVE-2014-3587.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/file.scm (file): Update to 5.19.  Add patch.
2014-08-26 12:05:37 -04:00
Mark H Weaver 5cc4517590 Merge branch 'master' into core-updates 2014-08-26 12:03:13 -04:00
Ludovic Courtès c2815c0f46 profiles: Handle packages without a 'share/info' directory.
Reported by Mark H. Weaver.

* guix/profiles.scm (info-dir-file): Handle the case where 'scandir'
  returns #f.
2014-08-25 10:27:37 +02:00
Alex Kost 6b3342af59 build: Fix typo.
* pre-inst-env.in: Fix typo in commentary.
2014-08-25 10:46:54 +04:00
Ludovic Courtès c6df09941b guix-register: By default, attempt to deduplicate registered items.
* nix/guix-register/guix-register.cc (GUIX_OPT_DEDUPLICATE): New macro.
  (options): Add --no-deduplication.
  (deduplication): New variable.
  (parse_opt): Handle GUIX_OPT_DEDUPLICATE.
  (register_validity): Add 'optimize' parameter and honor it.
  (main): Move 'store' instanatiation after 'settings.nixStore'
  assignment.
* tests/guix-register.sh: Add test for deduplication.
* guix/nar.scm (finalize-store-file): Update comment above
  'register-path' call.
2014-08-25 00:16:49 +02:00
Ludovic Courtès bcac69f674 gnu: libgcrypt: Update to 1.6.2.
* gnu/packages/gnupg.scm (libgcrypt): Update to 1.6.2.
2014-08-24 14:38:07 +02:00
Mark H Weaver bc0506f5b7 gnu: libgcrypt: Update to 1.6.2.
* gnu/packages/gnupg.scm (libgcrypt): Update to 1.6.2.
2014-08-23 20:48:28 -04:00
Mark H Weaver c198872b99 gnu: Rely on 'file' implicit input and 'patch-usr-bin-file'.
* gnu/packages/admin.scm (sudo):
* gnu/packages/gawk.scm (gawk): Remove workaround on MIPS.

* gnu/packages/mcrypt.scm (mcrypt, libmhash):
* gnu/packages/file.scm (file): Remove 'file' from native-inputs.

* gnu/packages/mc.scm (mc):
* gnu/packages/pretty-print.scm (a2ps, trueprint, source-highlight):
* gnu/packages/image.scm (libtiff): Remove 'file' from native-inputs.
  Remove 'patch-configure' phase.
2014-08-23 20:48:21 -04:00
Mark H Weaver 8a0576f175 gnu-build-system: Add 'patch-usr-bin-file' to %standard-phases.
* guix/build/gnu-build-system.scm (patch-usr-bin-file): New procedure.
  (%standard-phases): Add it.
2014-08-23 20:48:18 -04:00
Mark H Weaver 8f5708c1d8 gnu: bootstrap: Add 'file' to %boot0-inputs and %final-inputs.
* gnu/packages/base.scm (file-boot0): New variable.
  (%boot0-inputs): Add 'file-boot0'.
  (%final-inputs): Add 'file' to list of packages to 'finalize'.
2014-08-23 20:48:12 -04:00
Mark H Weaver ce3e35ed6a Merge branch 'master' into core-updates 2014-08-23 20:43:51 -04:00
Mark H Weaver f0dafadcfc gnu: libgc-7.2: Update to 7.2f.
* gnu/packages/bdw-gc.scm (libgc-7.2): Update to 7.2f.
2014-08-23 20:34:23 -04:00
Mark H Weaver 460f97f8fd gnu: libgcrypt-1.5: Update to 1.5.4.
* gnu/packages/gnupg.scm (libgcrypt-1.5): Update to 1.5.4.
2014-08-23 20:34:17 -04:00
Ludovic Courtès bc67269487 svn-download: Rewrite using gexps.
* guix/svn-download.scm (subversion-package): New procedure.
  (svn-fetch): Use it.  Remove 'svn-for-build'.  Use a gexp and
  'gexp->derivation'.
2014-08-23 22:58:15 +02:00
Ludovic Courtès 6119ebf194 git-download: Rewrite using gexps.
* guix/git-download.scm (git-package): New procedure.
  (git-fetch): Use it.  Remove 'git-for-build'.
  Use a gexp and 'gexp->derivation'.
* guix/download.scm (gnutls-package): Fix docstring.
2014-08-23 22:58:09 +02:00
Ludovic Courtès c1bc358f29 Factorize test suite support in (guix tests).
* guix/tests.scm: New file.
* Makefile.am (noinst_DATA): New variable.
  (GOBJECTS): Add guix/tests.go.
* tests/builders.scm (%store): Use 'open-connection-for-tests'
  from (guix tests).
* tests/derivations.scm: Likewise.
* tests/monads.scm: Likewise.
* tests/packages.scm: Likewise.
* tests/profiles.scm: Likewise.
* tests/union.scm: Likewise.
* tests/gexp.scm: Likewise.
  (guile-for-build): Remove.  Use (%guile-for-build) instead.
* tests/nar.scm (make-random-bytevector, %seed, random-text): Remove.
  (populate-file): Change 'make-random-bytevector' to 'random-bytevector'.
  Use (guix tests).
* tests/store.scm (%seed, random-text): Remove.
  Use (guix tests).
2014-08-23 22:33:04 +02:00
Ludovic Courtès 90a063f4ca Thank Brandon. 2014-08-23 22:33:03 +02:00
Ludovic Courtès 79ee406d51 profiles: Produce a top-level Info 'dir' file.
Fixes <http://bugs.gnu.org/18305>.
Reported by Brandon Invergo <brandon@gnu.org>.

* guix/profiles.scm (manifest-inputs, info-dir-file): New procedures.
  (profile-derivation): Use them.  Add #:info-dir? parameter and honor
  it.
* guix/scripts/package.scm (guix-package): Call 'profile-derivation'
  with #:info-dir? #f when the 'bootstrap? option is set.
* tests/profiles.scm ("profile-derivation"): Pass #:info-dir? #f.
2014-08-23 22:33:03 +02:00
Alex Kost 6b74bb0ae3 profiles: Report about upgrades.
* guix/profiles.scm (manifest-show-transaction): Report about upgrades.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-23 22:33:03 +02:00
Mark H Weaver fa5731baab Revert "gnu: Add 'file' as a native-input on MIPS for some packages."
This reverts commit c3114b7567.
2014-08-21 21:49:36 -04:00
Mark H Weaver c3114b7567 gnu: Add 'file' as a native-input on MIPS for some packages.
* gnu/packages/admin.scm (sudo):
  gnu/packages/gawk.scm (gawk): Add 'file' as a native input on MIPS.
  Remove earlier workaround on MIPS.

* gnu/packages/libffi.scm (libffi):
  gnu/packages/bdw-gc.scm (libatomic-ops, libgc): Add 'file' as a
  native input on MIPS.
2014-08-20 12:16:13 -04:00
Jason Self cc69516cdd gnu: ffmpeg: Update to 2.3.3.
* gnu/packages/video.scm (ffmpeg): Update to version 2.3.3.
2014-08-20 09:06:25 -07:00
Alex Kost 4ea444198d Move 'check-package-freshness' from 'guix package' to 'packages'.
* guix/scripts/package.scm (%sigint-prompt, call-with-sigint-handler)
  (waiting, ftp-open*, check-package-freshness): Move to...
* gnu/packages.scm: ... here.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-20 10:55:29 +02:00
Mark H Weaver 06a70dbec1 gnu: gnutls: Update to 3.2.16.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.16.  Remove
  -DENABLE_RSA_EXPORT workaround.
2014-08-20 04:06:23 -04:00
Mark H Weaver 647cfda83b Merge branch 'master' into core-updates 2014-08-20 03:17:56 -04:00
Mark H Weaver cba95006a6 gnu: guile-2.0: Make 'bash' an input unconditionally.
* gnu/packages/guile.scm (guile-2.0): Make 'bash' an input
  unconditionally.
2014-08-20 01:44:50 -04:00
Mark H Weaver 785c33e3af gnu: libffi: Update to 3.1.
* gnu/packages/patches/libffi-mips-n32-fix.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/libffi.scm (libffi): Update to 3.1.  Remove patch.
2014-08-20 01:43:05 -04:00
Mark H Weaver a23276cd8b gnu: libgc: Update to 7.4.2.
* gnu/packages/bdw-gc.scm (libgc): Update to 7.4.2.
2014-08-20 01:30:51 -04:00
Mark H Weaver 8174e9b7ae gnu: libatomic-ops: Update to 7.4.2.
* gnu/packages/bdw-gc.scm (libatomic-ops): Update to 7.4.2.
2014-08-20 01:29:42 -04:00
Alex Kost b211a66163 packages: Remove dead code.
* gnu/packages.scm (_): Remove.
  Remove an extra space.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-19 23:07:48 +02:00
Alex Kost 89caec6920 guix package: Use 'manifest-transaction'.
* guix/scripts/package.scm (guix-package)[process-actions]: Use
  'manifest-transaction' instead of the equivalent code.
  (show-what-to-remove/install): Remove.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-19 22:58:22 +02:00
Alex Kost 343745c80a profiles: Add 'manifest-transaction'.
* guix/profiles.scm (<manifest-transaction>): New record-type.
  (manifest-perform-transaction): New procedure.
  (manifest-show-transaction): New procedure.
* tests/profiles.scm ("manifest-perform-transaction"): New test.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-08-19 22:55:22 +02:00
Ludovic Courtès 667b250846 gexp: Add 'ungexp-native' and 'ungexp-native-splicing'.
* guix/gexp.scm (<gexp>)[natives]: New field.
  (write-gexp): Use both 'gexp-references' and
  'gexp-native-references'.
  (gexp->derivation): Use both 'gexp-inputs' and 'gexp-native-inputs',
  and append them.
  (gexp-inputs): Add 'references' parameter and honor it.
  (gexp-native-inputs): New procedure.
  (gexp->sexp)[reference->sexp]: Add 'native?' parameter and honor it.
  Use it, and use 'gexp-native-references'.
  (gexp)[collect-native-escapes]: New procedure.
  [escape->ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'.
  [substitute-ungexp, substitute-ungexp-splicing]: New procedures.
  [substitute-references]: Use them, and handle 'ungexp-native' and
  'ungexp-native-splicing'.
  Adjust generated 'make-gexp' call to provide both normal references
  and native references.
  [read-ungexp]: Support 'ungexp-native' and
  'ungexp-native-splicing'.
  Add reader extension for #+.
* tests/gexp.scm (gexp-native-inputs): New procedure.
  (gexp->sexp*): Add 'target' parameter.
  ("ungexp + ungexp-native",
  "input list + ungexp-native",
  "input list splicing + ungexp-native-splicing",
  "gexp->derivation, ungexp-native",
  "gexp->derivation, ungexp + ungexp-native"): New tests.
  ("sugar"): Add tests for #+ and #+@.
* doc/guix.texi (G-Expressions): Document 'ungexp-native' et al.
2014-08-18 15:01:58 +02:00
Ludovic Courtès 68a61e9ffb gexp: Add #:target parameter to 'gexp->derivation'.
* guix/gexp.scm (lower-inputs): Add #:system and #:target.  Use
  'package->cross-derivation' when TARGET is true.  Honor SYSTEM.
  (gexp->derivation): Add #:target argument.  Pass SYSTEM and TARGET to
  'lower-inputs' and 'gexp->sexp'.
  (gexp->sexp): Add #:system and #:target.  Pass them in recursive call
  and to 'package-file'.
* tests/gexp.scm (gexp->sexp*): Add 'system' and 'target' parameters.
  ("gexp->derivation, cross-compilation"): New test.
2014-08-17 21:20:11 +02:00
Ludovic Courtès c90ddc8f81 monads: 'package-file' uses '%current-system' at '>>=' time.
* guix/monads.scm (package-file): Leave #:system to #f by default.
* tests/monads.scm ("package-file, default system"): New test.
2014-08-17 21:08:06 +02:00
Ludovic Courtès 4231f05bbc monads: Add 'package->cross-derivation' and #:target for 'package-file'.
* guix/monads.scm (package-file): Add #:target keyword parameter and
  honor it.
  (package->cross-derivation): New procedure.
* tests/monads.scm ("package-file + package->cross-derivation"): New test.
* doc/guix.texi (The Store Monad): Update 'package-file' documentation.
  Add 'package->cross-derivation'.
2014-08-17 20:58:58 +02:00
Ludovic Courtès 65f88b2085 gnu: lightning: Update to 2.0.5.
* gnu/packages/lightning.scm (lightning): Update to 2.0.5.
2014-08-17 11:59:47 +02:00
David Thompson cdf2b28654 gnu: guile-json: Update to 0.4.0.
* gnu/packages/guile.scm (guile-json): Update to 0.4.0.
2014-08-16 19:30:26 -04:00
Mark H Weaver f798837f9e gnu: apr: Disable parallel tests.
* gnu/packages/apr.scm (apr): Disable parallel tests.
2014-08-16 12:54:32 -04:00
Mark H Weaver 975071449c gnu: apr-util: Update to 1.5.3.
* gnu/packages/apr.scm (apr-util): Update to 1.5.3.
2014-08-16 12:36:13 -04:00
Mark H Weaver d7b4677f79 gnu: apr: Update to 1.5.1.
* gnu/packages/apr.scm (apr): Update to 1.5.1.
2014-08-16 12:36:09 -04:00
Eric Bavier ffbf749e6a gnu: texi2html: Fix tests in the absense of gettext.
* gnu/packages/patches/texi2html-i18n.patch: New patch.
* gnu/packages/texinfo.scm (texi2html)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2014-08-16 11:07:03 -05:00
Mark H Weaver cb8b285adf gnu: subversion: Update to 1.7.18.
* gnu/packages/version-control.scm (subversion): Update to 1.7.18.
2014-08-16 02:25:01 -04:00
Ludovic Courtès b9b8607824 Add (guix monad-repl).
* guix/monad-repl.scm: New file.
* guix.scm: Add it.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (The Store Monad): Document it.
2014-08-15 16:26:28 +02:00
Ludovic Courtès c0b9213dbb linux-initrd: Do not create /etc/resolv.conf.
* guix/build/linux-initrd.scm (configure-qemu-networking): Don't create
  /etc/resolv.conf.
2014-08-15 16:26:28 +02:00
Ludovic Courtès 25290d2766 Update AUTHORS and THANKS. 2014-08-15 16:26:28 +02:00
Ludovic Courtès 6f22f3c954 linux-initrd: Load fscache.ko before the 9p modules.
* gnu/system/linux-initrd.scm (base-initrd)[virtio-9p-modules]: Add
  "fscache.ko", required by Linux-libre 3.16.
2014-08-15 16:26:28 +02:00
Mark H Weaver ae2189a9f2 gnu: Fix synopses for emacs-wget and fetchmail.
* gnu/packages/emacs.scm (emacs-wget): Improve synopsis.
* gnu/packages/mail.scm (fetchmail): Fix typo in synopsis.
2014-08-15 02:12:21 -04:00
Mark H Weaver ce33631f54 doc: Fix mention of default log location.
* doc/guix.texi (Invoking guix-daemon): Fix mention of default log location.
2014-08-15 01:18:50 -04:00
Mark H Weaver 89925972fb gnu: Add emacs-wget.
* gnu/packages/emacs.scm (emacs-wget): New variable.
2014-08-14 23:53:18 -04:00
Mark H Weaver 18d2621008 gnu: Add emacs-w3m.
* gnu/packages/emacs.scm (emacs-w3m): New variable.
2014-08-14 23:53:15 -04:00
Mark H Weaver fe4163f351 gnu: Add paredit.
* gnu/packages/emacs.scm (paredit): New variable.
2014-08-14 23:53:13 -04:00
Mark H Weaver 9a4c971521 gnu: Add magit.
* gnu/packages/emacs.scm (magit): New variable.
2014-08-14 23:53:10 -04:00
Mark H Weaver 75f3b1a12d Add (guix build emacs-utils).
* guix/build/emacs-utils.scm: New file.
* Makefile.am (MODULES): Add it.
* .dir-locals.el: Add indentation rules.
2014-08-14 23:53:04 -04:00
Jason Self 74dde9e919 gnu: linux-libre: Update to 3.16.1.
* gnu/packages/linux.scm (linux-libre): Update to version 3.16.1.
2014-08-14 10:57:29 -07:00
Mark H Weaver 87eabd5ca7 gnu: apl: Update to 1.4, add sqlite support.
* gnu/packages/apl.scm (apl): Update to 1.4.  Add 'sqlite' as an input.
  Pass --with-sqlite3 to configure.
2014-08-14 13:47:53 -04:00
Mark H Weaver 93c5b1fe1f gnu: mysql: Update to 5.1.73.
* gnu/packages/mysql.scm (mysql): Update to 5.1.73.  Update source URI.
2014-08-14 13:29:59 -04:00
Mark H Weaver e6a83df11b gnu: gpgme: Update to 1.5.1.
* gnu/packages/gnupg.scm (gpgme): Update to 1.5.1.  Pass "GPG=gpg2"
  to 'make'.
2014-08-14 10:03:57 -04:00
Ludovic Courtès 66269d4786 gnu: lvm2: Upgrade, use udev, improve synopsis and description.
* gnu/packages/linux.scm (lvm2): New variable.
* gnu/packages/lvm.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove it.
* gnu/packages/cryptsetup.scm: Adjust accordingly.
2014-08-14 00:34:47 +02:00
Mark H Weaver 2f7f32003f system: grub: Change the default default-entry to 0.
* gnu/system/grub.scm (<grub-configuration>)[default-entry]: Change the
  default to 0.
2014-08-13 12:56:25 -04:00
Mark H Weaver e69a4dd047 gnu: gnupg: Update to 2.0.26.
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.26.
2014-08-13 02:48:31 -04:00
Guy Grant d41bb065c8 gnu: Add terminus-font.
* gnu/packages/fonts.scm (terminus-font): New variable.
2014-08-12 23:19:10 -04:00
David Thompson 734939a5f3 Remove ftp.sunet.se mirror.
* guix/download.scm (%mirrors): Remove ftp.sunet.se URIs.
2014-08-12 22:17:44 -04:00
Ludovic Courtès d34736c5c3 profiles: Adjust to unintended manifest format change.
Reported by Andreas Enge.

* guix/profiles.scm (sexp->manifest): Adjust to handle unintended format
  change introduced in 4ca0b41.
2014-08-12 22:09:42 +02:00
Ludovic Courtès dfd1d5edf6 guix package: Remove leftover internal procedure.
Reported by Alex Kost <alezost@gmail.com>.

* guix/scripts/package.scm (guix-package)[process-actions]: Remove
  'same-package?'.
2014-08-12 21:51:45 +02:00
Eric Bavier b36fcf9550 gnu: Add detox.
* gnu/packages/admin.scm (detox): New variable.
2014-08-12 13:36:35 -05:00
Ludovic Courtès f48624fc68 guix package: Use 'manifest-add'.
* guix/scripts/package.scm (guix-package)[process-actions]: Use
  'manifest-add' instead of the equivalent code.
2014-08-12 16:10:32 +02:00
Alex Kost f755403014 profiles: Add 'manifest-add'.
* guix/profiles.scm (manifest-add): New procedure.
* tests/profiles.scm (guile-1.8.8): New variable.
  ("manifest-add"): New test.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-12 16:03:33 +02:00
Ludovic Courtès 599f146400 Revert "nls: Use xgettext and msgmerge with --no-wrap."
This reverts commit 648453e8d6.

See <http://lists.gnu.org/archive/html/bug-gettext/2014-08/msg00005.html>
for the rationale.
2014-08-12 15:46:21 +02:00
Ludovic Courtès d759cf6774 gnu: texi2html: Remove dependency on Gettext.
Partly fixes <http://bugs.gnu.org/18247>.

* gnu/packages/texinfo.scm (texi2html)[source]: Add 'snippet' field.
2014-08-12 15:46:21 +02:00
Eric Bavier 51152cd125 gnu: Add orpheus.
* gnu/packages/orpheus.scm: New file.
* gnu/packages/patches/orpheus-cast-errors-and-includes.patch: New patch.
* gnu-system.am (GNU_SYSTEM_MODULES): Add file.
  (dist_patch_DATA): Add patch.
2014-08-12 00:28:39 -05:00
Taylan Ulrich Bayirli/Kammer 4a3e602c72 gnu: Add emacs-no-x-toolkit.
* gnu/packages/emacs.scm (emacs-no-x-toolkit): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-11 23:01:46 +02:00
Ludovic Courtès 29fce8b6eb system: Use (guix profiles) to build the system profile.
* gnu/system.scm (union): Remove.
  (operating-system-profile): Use 'profile-derivation' and related
  procedures instead of 'union'.
2014-08-11 23:01:46 +02:00
Eric Bavier c5d8376843 gnu: Add texi2html.
* gnu/packages/texinfo.scm (texi2html): New variable.
* gnu/packages/patches/texi2html-document-encoding.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2014-08-11 12:22:53 -05:00
Ludovic Courtès 3d6e65d529 guix package: Remove dead code and unused variables.
Suggested by Alex Kost <alezost@gmail.com>.

* guix/scripts/package.scm (options->installable)[deduplicate]: Remove.
  [packages-to-upgrade]: Remove unused variable 'newest'.
  (roll-back): Remove unused variable 'manifest'.
  (guix-package): Remove unused variables 'guile-missing?', 'verbose?',
  and 'packages'.
2014-08-11 19:03:29 +02:00
Ludovic Courtès 26c398b182 nls: Add Czech translation. 2014-08-11 18:45:54 +02:00
Manolis Ragkousis 4acd5c0f9a gnu: Add AVRDUDE
* gnu/packages/avrdude.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add avrdude.scm
* gnu/packages/patches/avrdude-fix-libusb.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-11 18:38:34 +02:00
Cyrill Schenkel 3a09e1d2e8 ui: Fix handling of periods by fill-paragraph.
Fixes <http://bugs.gnu.org/17468>.

* guix/ui.scm (fill-paragraph): Two spaces after period and no spaces before newline.
* tests/ui.scm: New test case.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-08-11 18:27:03 +02:00
Ludovic Courtès ebc32b3110 build: 'make clean' doesn't delete os-config.tmpl.
Fixes <http://bugs.gnu.org/18243>.
Reported by Andreas Enge and Mark H. Weaver.

* Makefile.am (EXAMPLES): New variable.
  (nobase_dist_guilemodule_DATA): Add it.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove gnu/system/os-config.tmpl.
2014-08-11 17:49:45 +02:00
Mark H Weaver 8991a470ea gnu: geiser: Update to 0.6.
* gnu/packages/emacs.scm (geiser): Update to 0.6.
2014-08-09 21:11:11 -04:00
Jason Self c8c85ed7d2 gnu: linux-libre: Update to 3.16.
* gnu/packages/linux.scm (linux-libre): Update to version 3.16.
2014-08-09 09:33:28 -07:00
Mark H Weaver 2cabd7d862 gnu: openssl: Update to 1.0.1i.
* gnu/packages/openssl.scm (openssl): Update to 1.0.1i.
2014-08-09 11:27:36 -04:00
Mark H Weaver 0b28f1584f gnu: linux-libre: Update to 3.15.9.
* gnu/packages/linux.scm (linux-libre): Update to 3.15.9.
2014-08-09 04:44:25 -04:00
Andreas Enge 35536412a4 gnu: xorg: Add presentproto.
* gnu/packages/xorg.scm (presentproto): New variable.
2014-08-08 22:37:32 +02:00
Andreas Enge 43dd1cf360 gnu: xorg: Add dri3proto.
* gnu/packages/xorg.scm (dri3proto): New variable.
2014-08-08 22:30:07 +02:00
Andreas Enge 4e3a820bfd gnu: xf86-input-evdev: Add required input udev.
* gnu/packages/xorg.scm (xf86-input-evdev): Add input udev.
2014-08-08 21:37:54 +02:00
Mark H Weaver ac995eaf74 gnu: setxkbmap: Use xkeyboard-config as default config root.
* gnu/packages/xorg.scm (setxkbmap): Add 'xkeyboard-config' as an input.
  Pass --with-xkb-config-root to configure.
2014-08-08 02:34:53 -04:00
Mark H Weaver 1f347f5533 services: lsh: Fix activation script.
* gnu/services/ssh.scm (lsh-service)[activate]: Import (guix build utils)
  for 'mkdir-p'.
2014-08-07 21:09:51 -04:00
Mark H Weaver b087d41316 gnu: Add xsensors.
* gnu/packages/linux.scm (xsensors): New variable.
2014-08-07 20:41:53 -04:00
Mark H Weaver 30016044e0 gnu: Add lm-sensors.
* gnu/packages/patches/lm-sensors-hwmon-attrs.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (lm-sensors): New variable.
2014-08-07 20:41:39 -04:00
Mark H Weaver 13e7ce857c gnu: Add rrdtool.
* gnu/packages/rrdtool.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-08-07 20:41:34 -04:00
Mark H Weaver 4cf7bd2b7e gnu: Add stress.
* gnu/packages/admin.scm (stress): New variable.
2014-08-07 20:41:26 -04:00
Andreas Enge 87806dde17 gnu: curl: Update to 7.37.1.
* gnu/packages/curl.scm (curl): Update to 7.37.1. Remove patch.
* gnu/packages/patches/curl-fix-test172.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove patch.
2014-08-07 22:53:21 +02:00
Andreas Enge 75f6f74f15 gnu: gnurl: Update to 7.37.0.
* gnu/packages/gnunet.scm (gnurl): Update to 7.37.0.
2014-08-07 22:29:33 +02:00
Mark H Weaver 7f767bccf8 gnu: notmuch: Update to 0.18.1.
* gnu/packages/mail.scm (notmuch): Update to 0.18.1.
2014-08-06 12:43:34 -04:00
Mark H Weaver 352b3bb6e3 gnu: xapian: Update to 1.2.18.
* gnu/packages/search.scm (xapian): Update to 1.2.18.
2014-08-06 12:43:28 -04:00
Mark H Weaver 1f2b8c886b gnu: transmission: Update to 2.84.
* gnu/packages/bittorrent.scm (transmission): Update to 2.84.
2014-08-06 00:28:29 -04:00
Mark H Weaver 13c8c2bf13 gnu: Add acpica.
* gnu/packages/admin.scm (acpica): New variable.
2014-08-05 20:00:37 -04:00
Mark H Weaver 42dc3af5bf gnu: Add flashrom.
* gnu/packages/patches/flashrom-use-libftdi1.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (flashrom): New variable.
2014-08-05 20:00:29 -04:00
Mark H Weaver f0176a9f18 gnu: libftdi: Fix mistakes in package description.
* gnu/packages/libftdi.scm (libftdi): Change 'libusb' from a
  'native-input' to a normal 'input'.  Fix the 'home-page' and
  'license' fields.
2014-08-05 20:00:21 -04:00
Mark H Weaver d43d1a7bbf gnu: ffmpeg: Update to 2.3.1.
* gnu/packages/video.scm (ffmpeg): Update to 2.3.1.
2014-08-05 20:00:12 -04:00
Mark H Weaver 66b93ee14b gnu: tor: Update to 0.2.4.23.
* gnu/packages/tor.scm (tor): Update to 0.2.4.23.
2014-08-04 22:43:42 -04:00
Mark H Weaver 82fce926f4 gnu: ffmpeg and vlc: Rely on runtime cpu detection.
* gnu/packages/video.scm (ffmpeg): Pass "--enable-runtime-cpudetect"
  to configure.  Do not disable use of processor features that can be
  detected at runtime.
  (vlc): Rely on runtime cpu detection.  Do not disable use of
  processor features that can be detected at runtime.
2014-08-04 16:12:44 -04:00
Mark H Weaver fe138965af gnu: mplayer: Enable runtime cpu detection.
* gnu/packages/video.scm (mplayer): Pass --enable-runtime-cpudetection
  to configure on supported platforms, as well as a suitable --target.
2014-08-03 23:50:19 -04:00
Mark H Weaver d6535cf1db gnu: tar: Update to 1.28.
* gnu/packages/base.scm (tar): Update to 1.28.
2014-08-03 21:01:32 -04:00
Mark H Weaver a092cd820b gnu: coreutils: Update to 8.23.
* gnu/packages/patches/coreutils-skip-nohup.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove coreutils-skip-nohup.patch.
* gnu/packages/patches/coreutils-dummy-man.patch: Adapt for 8.23.
* gnu/packages/base.scm (coreutils): Update to 8.23.
2014-08-03 21:01:27 -04:00
Mark H Weaver 8ceaf72c6d Merge branch 'master' into core-updates 2014-08-03 21:01:18 -04:00
Mark H Weaver 684a2f5974 gnu: gdb: Update to 7.8.
* gnu/packages/gdb.scm (gdb): Update to 7.8.  Add 'guile' and 'python'
  as inputs.  Add 'pkg-config' as a native-input.
2014-08-03 13:05:14 -04:00
Jason Self 087f67b641 gnu: linux-libre: Update to 3.15.8.
* gnu/packages/linux.scm (linux-libre): Update to version 3.15.8.
2014-08-01 15:35:16 -07:00
Mark H Weaver c4df90a594 gnu: gccgo: Suppress the separate "lib" output.
Fixes <http://debbugs.gnu.org/18101>.

* gnu/packages/gcc.scm (custom-gcc): Add 'separate-lib-output?'
  keyword argument.
  (gccgo-4.8): Pass #:separate-lib-output? #f to 'custom-gcc'.
2014-07-31 18:26:07 -04:00
Jason Self 1b13df509e gnu: linux-libre: Update to 3.15.7.
* gnu/packages/linux.scm (linux-libre): Update to version 3.15.7.
2014-07-30 07:55:53 -07:00
Mark H Weaver 33690ffde5 Merge branch 'master' into core-updates 2014-07-27 20:15:50 -04:00
Mark H Weaver b9663471a8 gnu: gnumeric: Adapt to glib "bin" split.
* gnu/packages/gnome.scm (gnumeric): Add glib:bin to 'native-inputs'.
2014-07-26 17:10:22 -04:00
Ludovic Courtès 462f5ccade profiles: Add 'package->manifest-entry'.
Suggested by Alex Kost <alezost@gmail.com>.

* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
  Move to (guix profiles).
  [package->manifest-entry*]: New procedure.
  Use it.
* guix/profiles.scm (package->manifest-entry): New procedure.
* tests/profiles.scm (guile-for-build): New variable.
  Call '%guile-for-build'.
  ("profile-derivation"): New test.
2014-07-26 22:57:00 +02:00
Ludovic Courtès 4ca0b4101d profiles: Get rid of the 'inputs' field of 'manifest-entry'.
* guix/profiles.scm (<manifest-entry>)[inputs]: Remove.
  (profile-derivation): Rely on 'item' and 'deps' instead of 'inputs'.
  Adjust 'builder' accordingly.
* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
  Remove 'inputs' field.  Change 'dependencies' field to contain
  packages.
2014-07-26 22:56:59 +02:00
Ludovic Courtès a54c94a40d profiles: Switch to gexps.
* guix/profiles.scm (<manifest-entry>)[path]: Rename to...
  [item]: ... this.  Update users.
  (manifest->sexp): Rename to...
  (manifest->gexp): ... this.  Return a gexp.
  (lower-input): Remove.
  (profile-derivation): Remove 'store' parameter, and turn into a
  monadic procedure.
  [inputs]: New variable.
  [builder]: Turn into a gexp.
  Replace call to 'build-expression->derivation' with call to
  'gexp->derivation'.
* guix/scripts/package.scm (link-to-empty-profile): Adjust call to
  'profile-derivation', and wrap it in 'run-with-store'.
  (show-what-to-remove/install): Rename 'path' to 'item'.  Check whether
  ITEM is a package, and return its output path if it is.
  (input->name+path): Remove.
  (options->installable): Set 'item' to P.
  (guix-package): Adjust call to 'profile-derivation'.
* tests/profiles.scm (guile-2.0.9): Change 'path' to 'item'.
2014-07-26 22:56:59 +02:00
Ludovic Courtès 48704e5b5c profiles: Do away with 'manifest=?'.
* guix/profiles.scm (manifest=?): Remove.
* guix/scripts/package.scm (readlink*): New procedure.
  (guix-package)[process-actions]: Use 'readlink*' and compare the
  profile to be built, PROF, with PROFILE to determine whether there's
  nothing to be done.
2014-07-26 22:56:59 +02:00
Mark H Weaver f280cdb1ba gnu: goffice: Adapt to glib "bin" split.
* gnu/packages/gnome.scm (goffice): Add glib:bin to 'native-inputs'.
2014-07-26 16:44:26 -04:00
Mark H Weaver f8984634fd gnu: sudo: Apply workaround to build system for MIPS.
* gnu/packages/admin.scm (sudo): Work around the fact that configure fails on
  MIPS without 'file'.
2014-07-26 16:08:35 -04:00
Ludovic Courtès ff838e2ce6 profiles: Remove dead code.
* guix/profiles.scm (write-manifest): Remove.
  (read-manifest): Keep private.
2014-07-25 23:42:42 +02:00
Ludovic Courtès 6621cdb65c doc: Replace incorrect uses of @ref by @pxref.
* doc/guix.texi: Use @pxref at the end of sentences, not @ref.
2014-07-25 23:42:42 +02:00
Mark H Weaver 936229930f gnu: libpeas: Adjust to glib "bin" split.
* gnu/packages/gnome.scm (libpeas): Add glib:bin to 'native-inputs'.
2014-07-25 15:48:25 -04:00
Ludovic Courtès 1b0a86dd1d tests: Make sure --search="" works.
* tests/guix-package.sh: Move '-s' tests outside of the network-only
  section.  Make sure --search="" works.
2014-07-25 17:56:14 +02:00
Ludovic Courtès d43f4296cc gnu: Add dmidecode.
* gnu/packages/admin.scm (dmidecode): New variable.
2014-07-25 17:48:06 +02:00
Eric Bavier 5e6feee617 guix: package: Fix recutils output for non-package inputs.
* guix/ui.scm (package->recutils)[dependencies]: Ignore non-package inputs.
* tests/guix-package.sh: New test.
2014-07-25 07:41:57 -05:00
Ludovic Courtès 7eade0ee03 gnu: guix: Update to 0.7.
* gnu/packages/package-management.scm (guix-0.6): Rename to...
  (guix-0.7): ... this.  Upgrade to 0.7.
  (guix): Alias for GUIX-0.7.
  (guix-devel): Change 'guix-0.6' to 'guix-0.7'.
2014-07-25 13:47:09 +02:00
Ludovic Courtès 5f28f6aab4 build: Bump to version 0.8.
* configure.ac: Switch to 0.8.
2014-07-25 13:47:09 +02:00
Ludovic Courtès 445d652916 doc: Fix typo in USB image file name.
* doc/guix.texi (System Installation): Change image file name.
2014-07-25 13:47:08 +02:00
Mark H Weaver 2f4640e320 gnu: texlive: Disable tests on mips64el.
* gnu/packages/texlive.scm (texlive): Disable tests on mips64el.
2014-07-24 23:32:13 -04:00
Mark H Weaver aaf77acc1a gnu: boost: Omit context and coroutines libraries on mips64el.
* gnu/packages/boost.scm (boost): Omit context and coroutines libraries on
  mips64el.
2014-07-24 23:06:49 -04:00
Jason Self 5c47b06b43 gnu: acl: Update to 2.2.52.
* gnu/packages/acl.scm (acl): Update to version 2.2.52.
2014-07-20 06:55:33 -07:00
John Darrington 00e79195a5 gnu: Enable tests for patch.
* gnu/packages/base.scm (patch): Enable test and add "ed" as input.
2014-07-20 11:30:54 +02:00
764 changed files with 145015 additions and 14671 deletions
+29 -6
View File
@@ -1,22 +1,33 @@
;; Per-directory local variables for GNU Emacs 23 and later.
((nil . ((fill-column . 78)
(tab-width . 8)))
((nil
. ((fill-column . 78)
(tab-width . 8)
;; For use with 'bug-reference-prog-mode'.
(bug-reference-url-format . "http://bugs.gnu.org/%s")
(bug-reference-bug-regexp
. "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))
(c-mode . ((c-file-style . "gnu")))
(scheme-mode
.
((indent-tabs-mode . nil)
(eval . (put 'eval-when 'scheme-indent-function 1))
(eval . (put 'test-assert 'scheme-indent-function 1))
(eval . (put 'test-assertm 'scheme-indent-function 1))
(eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'test-eq 'scheme-indent-function 1))
(eval . (put 'call-with-input-string 'scheme-indent-function 1))
(eval . (put 'guard 'scheme-indent-function 1))
(eval . (put 'lambda* 'scheme-indent-function 1))
(eval . (put 'substitute* 'scheme-indent-function 1))
(eval . (put 'modify-phases '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))
(eval . (put 'build-system 'scheme-indent-function 0))
(eval . (put 'bag 'scheme-indent-function 0))
(eval . (put 'graft 'scheme-indent-function 0))
(eval . (put 'operating-system 'scheme-indent-function 0))
(eval . (put 'file-system 'scheme-indent-function 0))
(eval . (put 'manifest-entry 'scheme-indent-function 0))
@@ -29,18 +40,30 @@
(eval . (put 'call-with-compressed-output-port 'scheme-indent-function 2))
(eval . (put 'call-with-decompressed-port 'scheme-indent-function 2))
(eval . (put 'signature-case 'scheme-indent-function 1))
(eval . (put 'emacs-batch-eval 'scheme-indent-function 0))
(eval . (put 'emacs-batch-edit-file 'scheme-indent-function 1))
(eval . (put 'emacs-substitute-sexps 'scheme-indent-function 1))
(eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
(eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
(eval . (put 'with-derivation-substitute 'scheme-indent-function 1))
(eval . (put 'syntax-parameterize 'scheme-indent-function 1))
(eval . (put 'with-monad 'scheme-indent-function 1))
(eval . (put 'mbegin 'scheme-indent-function 1))
(eval . (put 'mwhen 'scheme-indent-function 1))
(eval . (put 'munless 'scheme-indent-function 1))
(eval . (put 'mlet* 'scheme-indent-function 2))
(eval . (put 'mlet 'scheme-indent-function 2))
(eval . (put 'run-with-store 'scheme-indent-function 1))
(eval . (put 'run-with-state 'scheme-indent-function 1))
(eval . (put 'wrap-program 'scheme-indent-function 1))
;; Recognize '~' and '$', as used for gexps, as quotation symbols. This
;; notably allows '(' in Paredit to not insert a space when the preceding
;; symbol is one of these.
;; Recognize '~', '+', and '$', as used for gexps, as quotation symbols.
;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))
(eval . (modify-syntax-entry ?$ "'"))))
(eval . (modify-syntax-entry ?$ "'"))
(eval . (modify-syntax-entry ?+ "'"))))
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
(texinfo-mode . ((indent-tabs-mode . nil)
(fill-column . 72))))
+10 -1
View File
@@ -67,6 +67,7 @@ config.cache
/doc/version.texi
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
/gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
/gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
/guix/config.scm
/nix/nix-daemon/nix-daemon.cc
@@ -95,7 +96,7 @@ stamp-h[0-9]
/doc/guix.tp
/doc/guix.vr
/doc/guix.vrs
/nix/scripts/substitute-binary
/nix/scripts/substitute
/doc/images/bootstrap-graph.png
/doc/images/bootstrap-graph.eps
/guix-register
@@ -105,3 +106,11 @@ GTAGS
/nix-setuid-helper
/nix/scripts/guix-authenticate
/nix/scripts/offload
/emacs/Makefile.in
/emacs/Makefile
/emacs/guix-autoloads.el
/emacs/guix-helper.scm
/emacs/guix-init.el
/emacs/guix-profiles.el
/doc/os-config-bare-bones.texi
/doc/os-config-desktop.texi
-3
View File
@@ -1,3 +0,0 @@
[submodule "nix-upstream"]
path = nix-upstream
url = https://github.com/NixOS/nix.git
+14 -1
View File
@@ -9,14 +9,23 @@ The fine people listed below have contributed code to GNU Guix (in
alphabetical order):
Eric Bavier <bavier@member.fsf.org>
Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
Federico Beffa <beffa@fbengineering.ch>
Marek Benc <merkur32@gmail.com>
Sou Bunnbu (宋文武) <iyzsong@gmail.com>
Tomáš Čech <sleep_walker@suse.cz>
Ludovic Courtès <ludo@gnu.org>
John Darrington <jmd@gnu.org>
Andreas Enge <andreas@enge.fr>
Alírio Eyng <alirioeyng@gmail.com>
Guy Grant <gzg@riseup.net>
Alexander I. Grafov <grafov@gmail.com>
Joshua Grant <tadni@riseup.net>
Raimon Grau <raimonster@gmail.com>
David Hashe <david.hashe@dhashe.com>
Nikita Karetnikov <nikita@karetnikov.org>
Julien Lepiller <julien@lepiller.eu>
Aljosha Papsch <misc@rpapsch.de>
Deck Pickard <deck.r.pickard@gmail.com>
Manolis Ragkousis <manolis837@gmail.com>
Cyril Roelandt <tipecaml@gmail.com>
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
@@ -24,4 +33,8 @@ alphabetical order):
Jason Self <j@jxself.org>
Sree Harsha Totakura <sreeharsha@totakura.in>
David Thompson <dthompson2@worcester.edu>
Paul van der Walt <paul@denknerd.org>
Mark H. Weaver <mhw@netris.org>
Christopher A. Webber <cwebber@dustycloud.org>
Andy Wingo <wingo@pobox.com>
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+7 -6
View File
@@ -25,12 +25,6 @@ Run ./bootstrap to download the Nix daemon source code and to generate the
build system infrastructure using autoconf. It reports an error if an
inappropriate version of the above packages is being used.
The bootstrap script, among other things, invokes git submodule update; if
you didnt run it, you may get the following error:
make: *** No rule to make target `nix/libstore/schema.sql', needed by
`nix/libstore/schema.sql.hh'
If you get an error like this one:
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
@@ -89,6 +83,13 @@ in the form of patches as produced by git format-patch sent to
guix-devel@gnu.org. Please write commit logs in the [[http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs][GNU ChangeLog
format]]; you can check the commit history for examples.
Before submitting a patch that adds or modifies a package definition, please
run guix lint PACKAGE, where PACKAGE is the name of the new or modified
package, and fix any errors it reports. In addition, please make sure the
package builds on your platform, using guix build. You may also want to
check that dependent package (if applicable) are not affected by the change;
guix refresh --list-dependent PACKAGE will help you do that.
When posting a patch to the mailing list, use "[PATCH] ..." as a subject. You
may use your email client or the git send-mail command.
+99 -15
View File
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
#
# This file is part of GNU Guix.
@@ -30,13 +30,16 @@ MODULES = \
guix/base32.scm \
guix/base64.scm \
guix/records.scm \
guix/gcrypt.scm \
guix/hash.scm \
guix/pk-crypto.scm \
guix/pki.scm \
guix/utils.scm \
guix/sets.scm \
guix/download.scm \
guix/git-download.scm \
guix/monads.scm \
guix/monad-repl.scm \
guix/gexp.scm \
guix/profiles.scm \
guix/serialization.scm \
@@ -46,35 +49,50 @@ MODULES = \
guix/licenses.scm \
guix/build-system.scm \
guix/build-system/cmake.scm \
guix/build-system/glib-or-gtk.scm \
guix/build-system/gnu.scm \
guix/build-system/haskell.scm \
guix/build-system/perl.scm \
guix/build-system/python.scm \
guix/build-system/waf.scm \
guix/build-system/ruby.scm \
guix/build-system/trivial.scm \
guix/ftp-client.scm \
guix/http-client.scm \
guix/gnupg.scm \
guix/elf.scm \
guix/store.scm \
guix/cvs-download.scm \
guix/svn-download.scm \
guix/ui.scm \
guix/build/download.scm \
guix/build/cmake-build-system.scm \
guix/build/git.scm \
guix/build/glib-or-gtk-build-system.scm \
guix/build/gnu-build-system.scm \
guix/build/gnu-dist.scm \
guix/build/linux-initrd.scm \
guix/build/perl-build-system.scm \
guix/build/python-build-system.scm \
guix/build/ruby-build-system.scm \
guix/build/waf-build-system.scm \
guix/build/haskell-build-system.scm \
guix/build/store-copy.scm \
guix/build/utils.scm \
guix/build/union.scm \
guix/build/profiles.scm \
guix/build/pull.scm \
guix/build/rpath.scm \
guix/build/cvs.scm \
guix/build/svn.scm \
guix/build/vm.scm \
guix/build/install.scm \
guix/build/activation.scm \
guix/build/syscalls.scm \
guix/build/gremlin.scm \
guix/build/emacs-utils.scm \
guix/build/graft.scm \
guix/search-paths.scm \
guix/packages.scm \
guix/snix.scm \
guix/import/utils.scm \
guix/import/gnu.scm \
guix/import/snix.scm \
guix/scripts/download.scm \
guix/scripts/build.scm \
guix/scripts/archive.scm \
@@ -83,10 +101,15 @@ MODULES = \
guix/scripts/gc.scm \
guix/scripts/hash.scm \
guix/scripts/pull.scm \
guix/scripts/substitute-binary.scm \
guix/scripts/substitute.scm \
guix/scripts/authenticate.scm \
guix/scripts/refresh.scm \
guix/scripts/system.scm \
guix/scripts/lint.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/environment.scm \
guix/scripts/publish.scm \
guix.scm \
$(GNU_SYSTEM_MODULES)
@@ -97,6 +120,9 @@ MODULES += \
endif BUILD_DAEMON_OFFLOAD
# Internal module with test suite support.
dist_noinst_DATA = guix/tests.scm
# Because of the autoload hack in (guix build download), we must build it
# first to avoid errors on systems where (gnutls) is unavailable.
guix/scripts/download.go: guix/build/download.go
@@ -107,9 +133,16 @@ KCONFIGS = \
gnu/packages/linux-libre-i686.conf \
gnu/packages/linux-libre-x86_64.conf
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go
# Templates, examples.
EXAMPLES = \
gnu/system/examples/bare-bones.tmpl \
gnu/system/examples/desktop.tmpl
nobase_dist_guilemodule_DATA = $(MODULES) $(KCONFIGS)
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go guix/tests.go
nobase_dist_guilemodule_DATA = \
$(MODULES) $(KCONFIGS) $(EXAMPLES) \
$(MISC_DISTRO_FILES)
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
# Do we need to provide our own non-broken (srfi srfi-37) module?
@@ -135,7 +168,8 @@ SCM_TESTS = \
tests/hash.scm \
tests/pk-crypto.scm \
tests/pki.scm \
tests/substitute-binary.scm \
tests/sets.scm \
tests/substitute.scm \
tests/builders.scm \
tests/derivations.scm \
tests/ui.scm \
@@ -150,7 +184,25 @@ SCM_TESTS = \
tests/nar.scm \
tests/union.scm \
tests/profiles.scm \
tests/syscalls.scm
tests/syscalls.scm \
tests/gremlin.scm \
tests/lint.scm \
tests/publish.scm
if HAVE_GUILE_JSON
MODULES += \
guix/import/json.scm \
guix/import/pypi.scm \
guix/scripts/import/pypi.scm \
guix/import/cpan.scm \
guix/scripts/import/cpan.scm
SCM_TESTS += \
tests/pypi.scm \
tests/cpan.scm
endif
SH_TESTS = \
tests/guix-build.sh \
@@ -158,9 +210,11 @@ SH_TESTS = \
tests/guix-gc.sh \
tests/guix-hash.sh \
tests/guix-package.sh \
tests/guix-package-net.sh \
tests/guix-system.sh \
tests/guix-archive.sh \
tests/guix-authenticate.sh
tests/guix-authenticate.sh \
tests/guix-lint.sh
if BUILD_DAEMON
@@ -191,11 +245,15 @@ tests/guix-gc.log: \
# Public key used to sign substitutes from hydra.gnu.org.
dist_pkgdata_DATA = hydra.gnu.org.pub
# Bash completion file.
dist_bashcompletion_DATA = etc/completion/bash/guix
EXTRA_DIST = \
HACKING \
ROADMAP \
TODO \
.dir-locals.el \
build-aux/build-self.scm \
build-aux/hydra/gnu-system.scm \
build-aux/hydra/demo-os.scm \
build-aux/hydra/guix.scm \
@@ -203,7 +261,7 @@ EXTRA_DIST = \
build-aux/check-final-inputs-self-contained.scm \
build-aux/download.scm \
build-aux/list-packages.scm \
build-aux/sync-descriptions.scm \
build-aux/make-binary-tarball.scm \
srfi/srfi-37.scm.in \
srfi/srfi-64.scm \
srfi/srfi-64.upstream.scm \
@@ -231,10 +289,18 @@ AM_V_GUILEC = $(AM_V_GUILEC_$(V))
AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
AM_V_GUILEC_0 = @echo " GUILEC" $@;
# 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
# user ran 'make install' recently). When that happens, we end up loading
# those previously-installed .go files, which may be stale, thereby breaking
# the whole thing.
#
# XXX: Use the C locale for when Guile lacks
# <http://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=e2c6bf3866d1186c60bacfbd4fe5037087ee5e3f>.
.scm.go:
$(AM_V_GUILEC)$(MKDIR_P) `dirname "$@"` ; \
unset GUILE_LOAD_COMPILED_PATH ; \
LC_ALL=C \
$(top_builddir)/pre-inst-env \
$(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)" \
@@ -252,6 +318,13 @@ SUFFIXES = .go
guix_install_go_files = install-nobase_nodist_guilemoduleDATA
$(guix_install_go_files): install-nobase_dist_guilemoduleDATA
# The above trick doesn't work for 'config.go' because both 'config.scm' and
# 'config.go' are listed in $(nobase_nodist_guilemodule_DATA). Thus, give it
# special treatment.
install-data-hook: set-bootstrap-executable-permissions
touch "$(DESTDIR)$(guilemoduledir)/guix/config.go"
SUBDIRS = po/guix po/packages
BUILT_SOURCES =
@@ -270,12 +343,23 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--with-nix-prefix="$(NIX_PREFIX)" \
--enable-daemon
dist_emacsui_DATA = emacs/guix-main.scm
nodist_emacsui_DATA = emacs/guix-helper.scm
include emacs.am
# The self-contained tarball.
guix-binary.%.tar.xz:
-GUIX_PACKAGE_PATH= \
$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/make-binary-tarball.scm" "$*" "$@"
dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names
distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
sync-descriptions:
-$(top_builddir)/pre-inst-env $(GUILE) \
$(top_srcdir)/build-aux/sync-descriptions.scm
-GUIX_PACKAGE_PATH= \
$(top_builddir)/pre-inst-env guix lint --checkers=gnu-description
gen-ChangeLog:
if test -d .git; then \
+879 -1
View File
@@ -2,7 +2,7 @@
#+TITLE: Guix NEWS history of user-visible changes
#+STARTUP: content hidestars
Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -10,6 +10,884 @@ Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.8.2 (since 0.8.1)
** Package management
*** New “binary tarball” installation method is available
See “Binary Installation” in the manual.
*** New guix publish command, to publish ones store
See “Invoking guix publish” in the manual.
*** guix package runs “profile creation hooks” as needed
It creates X.509 certificate bundles in the profiles etc/ssl directory, if
needed, generates a package database cache for GHC if the profile includes GHC
(the Haskell compiler), and generates an Info dir file (this part was
already done before.)
*** guix package creates an etc/profile file in the profile
See “Invoking guix package” in the manual.
*** Commands understand version prefixes, such as gcc-5 for gcc-5.1.0
*** guix package --search now sorts packages by name and version
*** Substitute information is now fetched using HTTP pipelining
Before that the “substituter” used threads. Using HTTP pipelining means that
resource consumption is reduced on both the client and server sides. As a
side effect, a progress report is displayed as substitute info is downloaded.
*** guix package warns when a $GUIX_PACKAGE_PATH module cannot be loaded
*** New --sources option to guix build
*** New Bash completion file, installed in $sysconfdir/bash_completion.d
*** New guix import hackage command
See “Invoking guix import” in the manual.
*** guix lint supports FTP for the source and home-page checkers
*** guix lint has a new derivation checker
*** guix import cpan better handles dependencies and licenses
*** Packages are now build in an environment with a UTF-8 locale
** Distribution
*** C library's name service switch (NSS) is now fully configurable
See “Name Service Switch” in the manual.
*** New services: wicd, lirc, colord, upower, console-keymap, postgresql
*** Xorg service supports new drivers, such as Nouveau
*** lsh service has new options, initializes its seed by default
*** /etc/ssl symlink is created, for X.509 certificates
See “X.509 Certificates” in the manual.
*** guix system reports duplicate service identifiers
*** New /etc/bashrc file that loads Bash completion when available
*** SLiM service uses sessions from /run/current-system/profile/share/xsessions
See “X Window” in the manual.
*** The Linux “YAMA” restricting policy on PTRACE_ATTACH is now disabled
*** /etc/shells now lists all the user accounts shells
*** /gnu/store is now remounted read-only, to avoid accidental modification
*** /etc/profile is sources each profiles etc/profile file
*** 718 new packages
aalib, aarddict, acpid, agg, aisleriot, alsa-modular-synth, ant, ardour,
ardour, argtable, arpack-ng, aspell-dict-ru, aubio, audacity, avidemux,
avidemux, azr3, bamtools, bash-completion, bedops, bind-utils, bluez, bool,
brdf-explorer, bwa, calf, calibre, catch, ccl, chibi-scheme, chmlib,
clalsadrv, clipper, clisp, clustal-omega, colord, colordiff, cpufrequtils,
crossmap, csound, ctl, cunit, cutadapt, desktop-file-utils, djvulibre,
dnsmasq, dosfstools, double-conversion, dovecot, ecl, efl, elementary,
elogind, emacs-no-x, emotion-generic-players, enca, enlightenment,
evas-generic-loaders, exim, express, extremetuxracer, faad2, fastx-toolkit,
fcitx, fdupes, flexbar, fluidsynth, font-adobe-source-han-sans,
font-wqy-zenhei, freepats, gambit-c, ganv, geda-gaf, geoclue, geocode-glib,
ghc, ghc-case-insensitive, ghc-containers, ghc-fgl, ghc-hashable, ghc-http,
ghc-hunit, ghc-mtl, ghc-network, ghc-network-uri, ghc-parallel, ghc-parsec,
ghc-paths, ghc-primitive, ghc-quickcheck, ghc-random, ghc-split, ghc-stm,
ghc-syb, ghc-text, ghc-tf-random, ghc-unordered-containers, ghc-vector,
ghc-zlib, girara, gitolite, glib-networking, glibc-locales,
glibc-utf8-locales, glibc-utf8-locales, glm, gnome-mines,
gnome-settings-daemon, gnome-terminal, gnucash, gnugo, grit, gst-libav,
guile-minikanren, guile-reader, hdparm, hisat, htseq, htsjdk, hunspell,
hyphen, i2c-tools, ibus, icecast, icedtea6, icedtea7, ilmbase, ir, isync,
ixion, jack2, jalv, jansson, jemalloc, julia, key-mon, ladspa, lash,
leptonica, liba52, libabw, libaio, libass, libavc1394, libbluray, libbs2b,
libcaca, libcap-ng, libcdio-paranoia, libcdr, libdca, libdv, libdvdcss,
libe-book, libedit, libepoxy, libetonyek, libexttextcat, libffcall,
libfreehand, libgnomecanvasmm, libgtextutils, libgweather, libical,
libiec61883, libinput, liblo, libmodplug, libmspack, libmspub, libmtp,
libmwaw, libodfgen, libpagemaker, libqtxdg, libquvi, libquvi-scripts,
libraw1394, librecad, librep, librevenge, libsbsms, libsecret, libshout,
libsoup, libsrtp, libtocc, libungif, libva, libvisio, libwacom, libwebp,
libwpd, libwpg, libwps, libxklavier, libxmp, libyaml, lilv, lilypond, lirc,
livestreamer, ltrace, lv2, lv2-mda-epiano, lv2-mda-piano, lvtk, macs, mariadb,
markdown, mdadm, mdds, mesa-headers, mesa-utils, miredo, miso, moreutils,
mpd-mpc, mpdscribble, mplayer2, mpv, muparser, mythes, ncbi-vdb, ngircd,
ngs-java, ngs-sdk, npth, nss-certs, openblas, openexr, openlibm, openntpd,
openspecfun, openvpn, orc, orcus, p11-kit, patchage, pbtranscript-tofu, pcb,
perl-algorithm-c3, perl-algorithm-diff, perl-aliased,
perl-apache-logformat-compiler, perl-appconfig, perl-b-hooks-endofscope,
perl-base, perl-bit-vector, perl-boolean, perl-cache-cache,
perl-cache-fastmmap, perl-capture-tiny, perl-carp-assert,
perl-carp-assert-more, perl-carp-clan, perl-catalyst-action-renderview,
perl-catalyst-action-rest, perl-catalyst-component-instancepercontext,
perl-catalyst-devel, perl-catalyst-dispatchtype-regex,
perl-catalyst-model-dbic-schema, perl-catalyst-plugin-accesslog,
perl-catalyst-plugin-authentication, perl-catalyst-plugin-captcha,
perl-catalyst-plugin-configloader, perl-catalyst-plugin-session,
perl-catalyst-plugin-session-state-cookie,
perl-catalyst-plugin-session-store-fastmmap, perl-catalyst-plugin-stacktrace,
perl-catalyst-plugin-static-simple, perl-catalyst-runtime,
perl-catalyst-traitfor-request-proxybase, perl-catalyst-view-download,
perl-catalyst-view-json, perl-catalyst-view-tt,
perl-catalystx-component-traits, perl-catalystx-roleapplicator,
perl-catalystx-script-server-starman, perl-cgi-simple, perl-cgi-struct,
perl-class-accessor, perl-class-accessor-chained, perl-class-accessor-grouped,
perl-class-c3, perl-class-c3-adopt-next, perl-class-c3-componentised,
perl-class-data-inheritable, perl-class-date, perl-class-factory-util,
perl-class-inspector, perl-class-load, perl-class-load-xs,
perl-class-method-modifiers, perl-class-methodmaker, perl-class-singleton,
perl-class-tiny, perl-class-unload, perl-class-xsaccessor, perl-common-sense,
perl-compress-raw-bzip2, perl-compress-raw-zlib, perl-config-any,
perl-config-autoconf, perl-config-general, perl-context-preserve,
perl-cpan-meta, perl-cpan-meta-check, perl-cpan-meta-requirements,
perl-cpan-meta-yaml, perl-cpanel-json-xs, perl-crypt-randpasswd,
perl-data-dump, perl-data-dumper-concise, perl-data-optlist, perl-data-page,
perl-data-stream-bulk, perl-data-tumbler, perl-data-visitor, perl-date-calc,
perl-date-calc-xs, perl-datetime, perl-datetime-event-ical,
perl-datetime-event-recurrence, perl-datetime-format-builder,
perl-datetime-format-flexible, perl-datetime-format-http,
perl-datetime-format-ical, perl-datetime-format-natural,
perl-datetime-format-strptime, perl-datetime-locale, perl-datetime-set,
perl-datetime-timezone, perl-datetimex-easy, perl-dbd-pg, perl-dbix-class,
perl-dbix-class-cursor-cached, perl-dbix-class-introspectablem2m,
perl-dbix-class-schema-loader, perl-devel-caller, perl-devel-checkbin,
perl-devel-globaldestruction, perl-devel-lexalias, perl-devel-overloadinfo,
perl-devel-partialdump, perl-devel-stacktrace, perl-devel-stacktrace-ashtml,
perl-devel-symdump, perl-digest-hmac, perl-digest-md5-file,
perl-dist-checkconflicts, perl-email-abstract, perl-email-address,
perl-email-date-format, perl-email-messageid, perl-email-mime,
perl-email-mime-contenttype, perl-email-mime-encodings, perl-email-sender,
perl-email-simple, perl-error, perl-eval-closure, perl-exception-class,
perl-exporter-tiny, perl-extutils-config, perl-extutils-helpers,
perl-extutils-installpaths, perl-file-changenotify, perl-file-copy-recursive,
perl-file-find-rule, perl-file-find-rule-perl, perl-file-homedir,
perl-file-remove, perl-file-sharedir, perl-file-sharedir-install,
perl-file-slurp, perl-file-temp, perl-gd, perl-gd-securityimage,
perl-getopt-long-descriptive, perl-hash-merge, perl-hash-multivalue,
perl-html-form, perl-html-lint, perl-html-tree, perl-http-body,
perl-http-cookiejar, perl-http-parser, perl-http-parser-xs,
perl-http-request-ascgi, perl-http-server-simple, perl-http-tiny,
perl-image-magick, perl-import-into, perl-inc-latest, perl-io-compress,
perl-io-interactive, perl-io-socket-ip, perl-io-stringy, perl-ipc-run,
perl-ipc-sharelite, perl-json, perl-json-any, perl-json-maybexs, perl-json-xs,
perl-lingua-en-findnumber, perl-lingua-en-inflect,
perl-lingua-en-inflect-number, perl-lingua-en-inflect-phrase,
perl-lingua-en-number-isordinal, perl-lingua-en-tagger,
perl-lingua-en-words2nums, perl-lingua-pt-stemmer, perl-lingua-stem,
perl-lingua-stem-fr, perl-lingua-stem-it, perl-lingua-stem-ru,
perl-lingua-stem-snowball-da, perl-list-allutils, perl-list-moreutils,
perl-lwp-protocol-https, perl-lwp-useragent-determined,
perl-memoize-expirelru, perl-mime-types, perl-module-build,
perl-module-build-tiny, perl-module-find, perl-module-implementation,
perl-module-install, perl-module-runtime, perl-module-runtime-conflicts,
perl-module-scandeps, perl-module-util, perl-moo, perl-moose,
perl-moosex-emulate-class-accessor-fast, perl-moosex-getopt,
perl-moosex-markasmethods, perl-moosex-methodattributes, perl-moosex-nonmoose,
perl-moosex-params-validate, perl-moosex-relatedclassroles,
perl-moosex-role-parameterized, perl-moosex-role-withoverloading,
perl-moosex-semiaffordanceaccessor, perl-moosex-strictconstructor,
perl-moosex-traits-pluggable, perl-moosex-types, perl-moosex-types-datetime,
perl-moosex-types-datetime-morecoercions, perl-moosex-types-loadableclass,
perl-moox-types-mooselike, perl-mro-compat, perl-namespace-autoclean,
perl-namespace-clean, perl-net-amazon-s3, perl-net-server,
perl-number-compare, perl-object-signature, perl-package-anon,
perl-package-deprecationmanager, perl-package-stash, perl-package-stash-xs,
perl-padwalker, perl-par-dist, perl-params-util, perl-params-validate,
perl-parent, perl-parse-cpan-meta, perl-path-class, perl-plack,
perl-plack-middleware-fixmissingbodyinredirect,
perl-plack-middleware-methodoverride,
perl-plack-middleware-removeredundantbody, perl-plack-middleware-reverseproxy,
perl-plack-test-externalserver, perl-pod-coverage,
perl-posix-strftime-compiler, perl-readonly, perl-role-tiny, perl-safe-isa,
perl-scalar-list-utils, perl-scope-guard, perl-set-infinite, perl-set-scalar,
perl-snowball-norwegian, perl-snowball-swedish, perl-spiffy,
perl-sql-abstract, perl-sql-splitstatement, perl-sql-tokenizer,
perl-stream-buffered, perl-strictures, perl-string-camelcase,
perl-string-rewriteprefix, perl-string-toidentifier-en, perl-sub-exporter,
perl-sub-exporter-progressive, perl-sub-identify, perl-sub-install,
perl-sub-name, perl-sub-uplevel, perl-svg, perl-sys-hostname-long,
perl-task-weaken, perl-template-timer, perl-template-toolkit,
perl-term-encoding, perl-term-progressbar, perl-term-progressbar-quiet,
perl-term-progressbar-simple, perl-term-readkey, perl-test-base,
perl-test-cleannamespaces, perl-test-differences, perl-test-directory,
perl-test-exception, perl-test-fatal, perl-test-harness, perl-test-leaktrace,
perl-test-longstring, perl-test-mockobject, perl-test-mocktime,
perl-test-most, perl-test-output, perl-test-pod, perl-test-pod-coverage,
perl-test-requires, perl-test-sharedfork, perl-test-tcp, perl-test-trap,
perl-test-utf8, perl-test-warn, perl-test-warnings, perl-test-without-module,
perl-test-writevariants, perl-test-www-mechanize,
perl-test-www-mechanize-catalyst, perl-test-www-mechanize-psgi,
perl-test-yaml, perl-text-aligner, perl-text-balanced, perl-text-csv,
perl-text-diff, perl-text-german, perl-text-glob, perl-text-simpletable,
perl-text-table, perl-text-unidecode, perl-throwable, perl-tie-ixhash,
perl-tie-toobject, perl-time-duration, perl-time-duration-parse,
perl-time-local, perl-time-mock, perl-timedate, perl-tree-simple,
perl-tree-simple-visitorfactory, perl-try-tiny, perl-types-serialiser,
perl-universal-can, perl-universal-isa, perl-uri-find, perl-uri-ws,
perl-variable-magic, perl-www-mechanize, perl-xml-libxml,
perl-xml-namespacesupport, perl-xml-sax, perl-xml-sax-base, perl-yaml,
perl-yaml-tiny, ploticus, polipo, portaudio, pumpa, python-apsw,
python-biopython, python-cssselect, python-dbus, python-decorator,
python-drmaa, python-h5py, python-lxml, python-netifaces, python-networkx,
python-pyxdg, python-pyyaml, python-requests, python-scikit-learn,
python-singledispatch, python-sphinx-rtd-theme, python-sympy, python-testlib,
python-tornado, python-urwid, python-waf, python2-apsw,
python2-backport-ssl-match-hostname, python2-biopython, python2-bx-python,
python2-cssselect, python2-cssutils, python2-dbus, python2-decorator,
python2-drmaa, python2-h5py, python2-lxml, python2-netifaces,
python2-networkx, python2-pbcore, python2-pil, python2-pybedtools,
python2-pycairo, python2-pyxdg, python2-pyyaml, python2-rdflib, python2-rsvg,
python2-scikit-learn, python2-singledispatch, python2-six,
python2-sphinx-rtd-theme, python2-sympy, python2-testlib, python2-tornado,
python2-urwid, python2-waf, python2-xlib, quvi, r, rdesktop, recode, rep-gtk,
rseqc, rsound, rubberband, ruby-hoe, rxvt-unicode, s2tc, sawfish, sbcl, seqan,
serd, serf, sfml, shogun, sloccount, smartmontools, snakemake, soil, solfege,
sord, soundtouch, soxr, sra-tools, sratom, srt2vtt, star, starman, stow,
subread, suil, suitesparse, swt, sysfsutils, sysfsutils, taskwarrior, tbb,
terminology, tesseract-ocr, texlive-bin, texlive-texmf, the-silver-searcher,
tidy, tig, timidity++, tocc, totem-pl-parser, tree, tuxguitar, tvtime,
twolame, txt2man, unqlite, upower, utf8proc, vamp, vapoursynth, vcftools,
vigra, wavpack, webkitgtk, webkitgtk, weex, wicd, wpa-supplicant-light,
wxwidgets, wxwidgets, xbindkeys, xcape, xdg-utils, xf86-input-libinput,
xf86-input-wacom, xf86-video-nouveau, xfce, xmp, xosd, xournal, xvid, zathura,
zathura-cb, zathura-djvu, zathura-pdf-poppler, zathura-ps, zeromq,
zita-alsa-pcmi, zita-convolver
*** 189 package updates
acpica-20150410, apl-1.5, apr-1.5.2, arb-2.3.0, at-spi2-atk-2.16.0,
at-spi2-core-2.16.0, atk-2.16.0, autogen-5.18.5, bison-3.0.4, boost-1.57.0,
cairo-1.14.2, ccrtp-2.1.2, check-0.9.14, clang-3.6.0, cmake-3.2.2,
complexity-1.2, cups-filters-1.0.68, curl-7.42.1, dbus-1.8.16,
dbus-glib-0.104, dejagnu-1.5.3, docbook-xml-4.4, docbook-xml-4.5,
e2fsck-static-1.42.12, e2fsprogs-1.42.12, ed-1.11, eigen-3.2.4,
elfutils-0.161, emacs-24.5, emacs-no-x-toolkit-24.5, exo-0.10.3, ffmpeg-2.6.2,
fish-2.1.2, flac-1.3.1, flint-2.4.5, fltk-1.3.3, freetype-2.5.5, garcon-0.4.0,
gcc-5.1.0, gcc-toolchain-5.1.0, gdb-7.9, geiser-0.7, glib-2.44.0, glibc-2.21,
glibc-2.21, glibc-stripped-tarball-2.21, glibmm-2.44.0, global-6.4,
gnome-desktop-3.16.0, gnome-icon-theme-3.12.0, gnome-themes-standard-3.16.0,
gnu-pw-mgr-1.3, gnubik-2.4.2, gnumach-headers-1.5, gnunet-0.10.1,
gnupg-1.4.19, gnupg-2.0.27, gnupg-2.1.4, gnutls-3.4.0,
gobject-introspection-1.44.0, gpgme-1.5.4, gsettings-desktop-schemas-3.16.0,
gst-plugins-base-1.4.5, gst-plugins-good-1.4.5, gstreamer-1.4.5, gtk+-3.16.2,
gtkmm-2.24.4, gtkmm-3.16.0, guile-ssh-0.7.2, guix-0.8.1, guix-0.8.1.fc34dee,
help2man-1.46.6, httpd-2.4.12, hurd-headers-0.6, icecat-31.6.0-gnu1,
icu4c-55.1, imagemagick-6.9.0-4, imlib2-1.4.7, inetutils-1.9.3, inkscape-0.91,
isc-dhcp-4.3.1, itstool-2.0.2, kbd-2.0.2, libgcrypt-1.6.3, libgpg-error-1.18,
libidn-1.30, libltdl-2.4.6, libmicrohttpd-0.9.40, libmikmod-3.3.7,
libotr-4.1.0, libsigc++-2.4.1, libtasn1-4.5, libtool-2.4.6,
libunistring-0.9.5, libuv-1.4.2, libvorbis-1.3.5, libxfce4ui-4.12.0,
libxfce4util-4.12.1, libxfont-1.5.1, lightning-2.1.0, linux-libre-4.0.2,
linux-libre-headers-3.14.37, llvm-3.6.0, lua-5.2.3, man-pages-3.82,
mesa-10.5.4, mig-1.5, minetest-0.4.12, moe-1.7, mpc-1.0.3, mpd-0.19.9,
mu-0.9.12, nano-2.4.1, ncmpcpp-0.6.2, nettle-3.1, nginx-1.8.0, node-0.12.2,
notmuch-0.19, nspr-4.10.8, nss-3.18, ntp-4.2.8p2, ocrad-0.25, octave-3.8.2,
openconnect-7.05, openjpeg-2.0.1, openjpeg-2.1.0, openldap-2.4.40,
openssh-6.8p1, openssl-1.0.2a, pangomm-2.36.0, parallel-20150422,
pari-gp-2.7.3, patch-2.7.5, perf-4.0.2, perl-libwww-6.13, perl-net-http-6.07,
perl-net-ssleay-1.68, perl-test-simple-1.001014, perl-uri-1.67,
pinentry-0.9.0, pius-2.0.11, podofo-0.9.3, poppler-0.32.0, postgresql-9.3.6,
pulseaudio-6.0, python-3.4.3, python-pillow-2.7.0, python-pygobject-3.16.1,
python-setuptools-12.1, python-wrapper-3.4.3, python2-dateutil-2.2,
python2-pillow-2.7.0, python2-pygobject-3.16.1, python2-setuptools-12.1,
qt-5.4.1, ruby-2.2.2, samba-3.6.25, scons-2.3.4, sdl2-2.0.3, sharutils-4.15.1,
sipwitch-1.9.7, slock-1.2, source-highlight-3.1.8, sqlite-3.8.9,
subversion-1.8.13, texinfo-5.2, thunar-1.6.6, thunar-volman-0.8.1,
tor-0.2.5.12, tumbler-0.1.31, tzdata-2015c, ucommon-6.3.1, vala-0.28.0,
valgrind-3.10.1, vlc-2.2.0, vte-0.40.0, wget-1.16.3, wine-1.7.40,
wpa-supplicant-2.4, xboard-4.8.0, xfce4-appfinder-4.12.0, xfce4-panel-4.12.0,
xfce4-session-4.12.0, xfce4-settings-4.12.0, xfconf-4.12.0, xfdesktop-4.12.0,
xfwm4-4.12.0, xorg-server-1.16.4, xterm-317
** Programming interfaces
*** New (guix build gremlin) to parse and validate ELF dynamic link info
*** (guix build-system gnu) has a new validate-runpath phase
This phase reads the dynamic entries of ELF files and reports libraries listed
as NEEDED that are not found in the RUNPATH.
*** New (gnu services desktop) module and %desktop-services variable
*** New (guix cvs-download) module, for CVS checkouts
*** New (guix build-system waf) module, for the Waf build system
*** New (guix build-system haskell) module, to build Haskell packages
*** (guix build-system gnu) now supports zip archives
*** New convenience syntax modify-phases added in (guix build utils)
*** The ld wrapper more finely determines whether to use -rpath
*** (guix gexp) exports gexp-input to describe input unambiguously
*** The define-gexp-compiler form allows (guix gexp) to be extended
*** New local-file constructor exported by (guix gexp)
** Noteworthy bug fixes
*** Profiles created with guix package -p as indirect GC roots
Before that they were made permanent GC rootsi.e., uncollectable.
*** guix package distinguishes downgrades from upgrades
*** Handle HTTP redirects to relative URI references
(<http://bugs.gnu.org/19840>)
*** Downloads now honor the http_proxy environment variable
(<http://bugs.gnu.org/20402>)
*** --no-* options are now always correctly handled
(<http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00702.html>)
*** SLiM no longer leaks open file descriptors
*** Don't compare <pam-service> objects with 'equal?'
(<http://bugs.gnu.org/20037>)
*** x86_64 and i686 bootstrap binaries updated (<http://bugs.gnu.org/19780>)
*** find-files no longer follows symlinks (<http://bugs.gnu.org/20081>)
*** libc message catalog (libc.mo) is now installed
*** libstdc++ has appropriate RUNPATH (<http://bugs.gnu.org/20358>)
*** dhcp-client-service now correctly tracks dhclients PID
** Native language support
*** New translations: da (Danish)
*** Updated translations: eo
* Changes in 0.8.1 (since 0.8)
** Package management
*** New --share and --expose options for guix system vm
See “Invoking guix system” in the manual.
*** Emacs mode now automatically loads newly installed Emacs packages
See “Emacs Initial Setup” in the manual.
*** guix-daemon now defaults to --cores=0 --jobs=1
In other words, at any given time, only one derivation is being built or
substituted, and it can use as many cores as available. Before, there could
be N derivations using N cores, which was obviously not desirable.
*** Command-line tools support the GUIX_BUILD_OPTIONS environment variable
See “Invoking guix build” in the manual.
*** guix environment is faster
*** New --recursive option for guix archive
See “Invoking guix archive” in the manual.
*** Missing patches required by a package definition are gracefully reported
*** guix lint supports additional checkers
The new checkers are gnu-description, home-page, and source.
See “Invoking guix lint” in the manual.
*** New CPAN importer for guix import
See “Invoking guix import” in the manual.
** Distribution
*** USB installation image has more tools
Tools added since 0.8: wpa_supplicant, cryptsetup, and iw.
*** Linux kernel module dependencies are automatically handled
Before that, all the modules needed in the initrd would need to be explicitly
listed, including their dependencies, and in topological order.
*** Font packages now all have a name starting with font-
See “Fonts” in the manual.
*** Shell startup files have been cleaned up
/etc/profile contains only environment variable definitions, which may also be
used when running a different shell. The skeletons for users .bash_profile
and .bashrc files behave as documented in the Bash manual. Zsh is supported.
*** The root account gets a copy of the account skeleton files
Before that, the skeleton files would only be copied to non-root accounts.
*** The name service cache daemon (nscd) is configurable
By default it aggressively caches host and service lookups. See “Base
Services” in the manual.
*** Available locale definitions are now declared in operating-system
Before, the glibc package would contain all the existing locales, as well as
the locale-archive file, amounting to 110 MiB. See “Locales” in the manual.
*** SLiM sessions are configurable
Pressing F1 in the SLiM graphical log-in screen allows users to choose among
the pre-configured session types. See “X Window” in the manual.
*** Man pages and Info files are systematically gzip-compressed
*** gnu-build-system ensures that documentation is in share/{man,info}
If a package installs to $prefix/{man,info}, this is automatically fixed to be
$prefix/share/{man,info}.
*** strip is invoked only on ELF files and ar archives
*** libtool and libltdl are now separate packages
*** Emacs mode is readily usable on the Guix System Distribution
*** Substitutes are now enabled by default on freshly installed systems
*** 164 new packages
abcde, astyle, avr-libc, bbdb, bedtools, bowtie, bullet, c-reduce, cd-discid,
cgal, clang, claws-mail, cups, cups-filters, cups-minimal, dconf, delta,
dmenu, eigen, emms, exo, fastjar, font-bitstream-vera, font-dejavu,
font-gnu-freefont-ttf, font-liberation, font-terminus, fvwm, garcon,
gcc-cross-arm-linux-gnueabihf, gcc-cross-sans-libc-avr, gcj, getmail,
git-flow, git-manpages, git-test-sequence, glew, glulxe, gourmet,
gst-plugins-good, gtk-xfce-engine, hexchat, ijs, iw, jack, json-glib,
libdvdnav, libdvdread, libetpan, libevdev, libltdl, libtorrent, libupnp,
libwnck, libwnck, libxfce4ui, libxfce4util, libxshmfence, libyubikey, llvm,
lrdf, mg, mp3info, msmtp, ncftp, nginx, ninja, nss, openbox,
perl-benchmark-timer, perl-clone, perl-digest-sha1, perl-exporter-lite,
perl-file-which, perl-getopt-tabular, perl-ipc-run3, perl-probe-perl,
perl-regexp-common, perl-sys-cpu, perl-test-deep, perl-test-nowarnings,
perl-test-script, perl-test-simple, perl-test-tester, pflask,
python-cairocffi, python-cffi, python-distutils-extra, python-html5lib,
python-ipython, python-isodate, python-matplotlib, python-numpy,
python-numpydoc, python-pillow, python-pycairo, python-pycparser,
python-pygobject, python-pyparsing, python-pyqt, python-pysam, python-rdflib,
python-scipy, python-sip, python-sqlalchemy, python-xcffib, python2-cairocffi,
python2-cffi, python2-distutils-extra, python2-elib.intl, python2-html5lib,
python2-ipython, python2-isodate, python2-matplotlib, python2-numpy,
python2-numpydoc, python2-pillow, python2-py2cairo, python2-pycparser,
python2-pygobject, python2-pygtk, python2-pyparsing, python2-pyqt,
python2-pysam, python2-scipy, python2-sip, python2-sqlalchemy, python2-xcffib,
qpdf, retroarch, rtorrent, samtools, shflags, slang, slock, socat,
startup-notification, sxiv, taglib, telepathy-glib, thunar, thunar-volman,
tre, tumbler, vala, vte, vte, wine, wmctrl, xclip, xdotool, xf86-video-geode,
xfce4-appfinder, xfce4-battery-plugin, xfce4-panel, xfce4-session,
xfce4-settings, xfce4-terminal, xfconf, xfdesktop, xfwm4, xinit, ykclient,
zerofree
*** 222 package updates
apr-util-1.5.4, atk-2.15.3, automake-1.15, bash-4.3.33, bash-light-4.3.33,
bdftopcf-1.0.4, binutils-2.25, binutils-static-stripped-tarball-2.25,
cairo-1.12.18, cairomm-1.11.2, ccrtp-2.1.1, curl-7.40.0, dbus-1.8.12,
dbus-glib-0.102, ddrescue-1.19, dri2proto-2.8, e2fsck-static-1.42.11,
e2fsprogs-1.42.11, eudev-2.1.1, ffmpeg-2.5.3, file-5.22, fish-2.1.1,
fontconfig-2.11.92, fontsproto-2.1.3, freeipmi-1.4.8,
gcc-cross-mips64el-linux-gnuabi64-4.8.4, gcc-cross-sans-libc-xtensa-elf-4.8.4,
gcc-objc++-4.8.4, gcc-objc-4.8.4, gcc-stripped-tarball-4.8.4, gccgo-4.8.4,
gcl-2.6.12, gd-2.1.1, gdb-7.8.2, gdk-pixbuf-2.31.1, gettext-0.19.4,
gfortran-4.8.4, ghostscript-9.14.0, ghostscript-with-x-9.14.0, gimp-2.8.14,
git-2.2.1, glib-2.42.1, glibmm-2.42.0, global-6.3.3, glproto-1.4.17,
gnutls-3.2.21, gobject-introspection-1.42.0, gp2c-0.0.9pl2, grep-2.21,
groff-1.22.3, gss-1.0.3, gst-plugins-base-1.0.10, gtk+-3.14.7, gtkmm-3.14.0,
guix-0.8, guix-0.8.4ad8789, help2man-1.46.4, iceauth-1.0.6, icu4c-54.1,
inkscape-0.48.5, inputproto-2.3.1, lcms-2.6, lftp-4.6.1, libassuan-2.2.0,
libcdio-0.93, libdmx-1.1.3, libdrm-2.4.58, libfontenc-1.1.2, libfs-1.0.6,
libgcrypt-1.6.2, libgpg-error-1.17, libice-1.0.9, libjpeg-9a, libksba-1.3.2,
libmicrohttpd-0.9.39, libnl-3.2.25, libpciaccess-0.13.2, libpeas-1.12.1,
libpng-1.5.21, librsvg-2.40.6, libsm-1.2.2, libtasn1-4.2, libtool-2.4.5,
libx11-1.6.2, libxau-1.0.8, libxaw-1.0.12, libxcb-1.11, libxcomposite-0.4.4,
libxcursor-1.1.14, libxdamage-1.1.4, libxext-1.3.3, libxfixes-5.0.1,
libxfont-1.5.0, libxft-2.3.2, libxi-1.7.4, libxinerama-1.1.3,
libxkbcommon-0.5.0, libxmu-1.1.2, libxp-1.0.2, libxpm-3.5.11, libxrandr-1.4.2,
libxrender-0.9.8, libxres-1.0.7, libxt-1.1.4, libxtst-1.2.2, libxv-1.0.10,
libxvmc-1.0.8, libxxf86dga-1.1.4, libxxf86vm-1.1.3, linux-libre-3.18.4,
lua-5.2.3, makedepend-1.0.5, mercurial-3.2.4, mesa-10.4.0, minetest-0.4.11,
mkfontscale-1.1.1, neon-0.30.0, nix-1.8, ntp-4.2.8, ocrad-0.24,
openjpeg-2.0.1, openssl-1.0.1k, pango-1.36.8, parallel-20150122,
pari-gp-2.7.2, patchelf-0.8, pcre-8.36, perf-3.18.4, phonon-4.8.3,
pixman-0.32.6, pkg-config-0.28, poppler-0.28.1, python-3.3.5,
python-dateutil-2.2, python2-dateutil-2.2, qemu-2.2.0, qemu-headless-2.2.0,
qt-5.4.0, racket-6.1.1, randrproto-1.4.0, raptor2-2.0.15, rasqal-0.9.33,
rcs-5.9.4, ruby-2.1.5, sessreg-1.0.8, sipwitch-1.9.3, sqlite-3.8.7.4,
tiled-0.11.0, tmux-1.9a, tzdata-2014j, ucommon-6.2.3, util-linux-2.25.2,
util-macros-1.19.0, vera-1.22, videoproto-2.3.2, wget-1.16.1, xauth-1.0.9,
xbacklight-1.2.1, xcb-proto-1.11, xcb-util-0.4.0, xcb-util-image-0.4.0,
xcb-util-keysyms-0.4.0, xcb-util-renderutil-0.3.9, xcb-util-wm-0.4.1,
xcursor-themes-1.0.4, xcursorgen-1.0.6, xdpyinfo-1.3.1, xev-1.2.1,
xextproto-7.3.0, xf86-input-evdev-2.8.4, xf86-input-joystick-1.6.2,
xf86-input-keyboard-1.8.0, xf86-input-mouse-1.9.1, xf86-input-synaptics-1.8.1,
xf86-video-ark-0.7.5, xf86-video-ati-7.5.0, xf86-video-cirrus-1.5.2,
xf86-video-fbdev-0.4.4, xf86-video-glint-1.2.8, xf86-video-i128-1.3.6,
xf86-video-intel-2.21.15, xf86-video-mach64-6.9.4, xf86-video-mga-1.6.3,
xf86-video-neomagic-1.2.8, xf86-video-nv-2.1.20, xf86-video-openchrome-0.3.3,
xf86-video-r128-6.9.2, xf86-video-savage-2.3.7,
xf86-video-siliconmotion-1.7.7, xf86-video-sis-0.10.7,
xf86-video-suncg6-1.1.2, xf86-video-sunffb-1.2.2, xf86-video-tdfx-1.4.5,
xf86-video-tga-1.2.2, xf86-video-trident-1.3.6, xf86-video-vesa-2.3.3,
xf86-video-vmware-13.0.2, xf86-video-voodoo-1.2.5, xhost-1.0.6, xinput-1.6.1,
xkbcomp-1.3.0, xkbutils-1.0.4, xkeyboard-config-2.13, xkill-1.0.4,
xlockmore-5.45, xlsclients-1.1.3, xmodmap-1.0.8, xnee-3.19,
xorg-server-1.16.3, xprop-1.2.2, xproto-7.0.26, xrandr-1.4.3, xrdb-1.1.0,
xrefresh-1.0.5, xset-1.2.3, xsetroot-1.1.1, xtrans-1.3.5, xvinfo-1.1.2,
xwd-1.0.6, xwininfo-1.1.3, youtube-dl-2015.01.23.4, zsh-5.0.7
** Programming interfaces
*** New (guix elf) and (gnu build linux-modules) modules
These provide resolution of Linux kernel module dependencies. See
<https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00670.html>.
*** glib-or-gtk-build-system has been extended
It now handles GIO and XDG themes, takes care of generating the icon cache,
and has a new #:glib-or-gtk-wrap-excluded-outputs parameter.
*** search-path-specification can now specify non-directory items
For example, the search-path-specification attached to libxml2 specifies a
file pattern, which allows all the catalog.xml files to be added to the
XML_CATALOG_FILES environment variable.
*** (guix build syscalls) has more network-related procedures
set-network-interface-flags, set-network-interface-address,
network-interface-address, and configure-network-interface are ioctl
bindings used by network-handling dmd services.
*** (guix monads) refactoring
%store-monad is now in (guix store) and is an alias for the new
%state-monad provided by (guix monads). Monadic procedures dealing with the
store, with derivations, and with packages have been moved from (guix monads)
to (guix store), (guix derivations), and (guix packages). See “The Store
Monad” in the manual.
*** (guix build utils) provides parallel-job-count
*** wrap-program preserves the original argv[0]
*** New (guix sets) module
*** define-record-type* now support “delayed” fields
** Noteworthy bug fixes
*** X session is executed from a login shell (<http://bugs.gnu.org/19119>)
*** grub.cfg is now a garbage-collector root (<http://bugs.gnu.org/19160>)
*** Substituter progress report properly formatted
(<http://bugs.gnu.org/19313>)
*** Document permissions for /gnu/store (<http://bugs.gnu.org/19316>)
*** Make sure config.go is newer than config.scm
(<http://bugs.gnu.org/19317>)
*** Emacs knows where to find its GLib schemas (<http://bugs.gnu.org/19138>)
*** Adjust 'grub.cfg' to work on systems with a separate /boot
(<http://bugs.gnu.org/19220>)
*** Fix removal of next-to-last item in a profile
(<http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>)
*** Apply patches with "patch --force" (<http://bugs.gnu.org/19402>)
*** Extend search-path-specification for libxml2-style use cases
(<http://bugs.gnu.org/18033>)
*** Search for patches under $GUIX_PACKAGE_PATH (<http://bugs.gnu.org/19364>)
*** Use executables from the target inputs in 'patch-shebangs'
(<http://bugs.gnu.org/18895>)
*** guix-daemon now automatically creates '…/profiles/per-user'
(<http://bugs.gnu.org/19315>)
*** Make /etc/mtab a symlink to /proc/self/mounts
(<http://bugs.gnu.org/19491>)
*** Don't build the mips64el-linux-gnuabi64 cross-compiler on i686
(<http://bugs.gnu.org/19598>)
*** Read archive signatures as Latin-1 strings (<http://bugs.gnu.org/19610>)
*** Raise an error for references to non-existent outputs
(<http://bugs.gnu.org/19630>)
*** Initialize libgcrypt before use (<http://bugs.gnu.org/19677>)
** Native language support
*** New translations: fr (French), hu (Hungarian)
*** Updated translation: eo, vi
* Changes in 0.8 (since 0.7)
** Package management
*** New visual user interface in Emacs
See “Emacs Interface” in the manual.
*** New guix environment command to produce development environment
See “Invoking guix environment” in the manual.
*** The guix import command has been extended and documented
It can now import packages from pypi.python.org and from GNU.
See “Invoking guix import” in the manual.
*** New guix lint command, for use by Guix developers
See “Invoking guix lint” in the manual.
*** Packages can now be “grafted” with replacements of their dependencies
See “Security Updates” in the manual.
*** The distribution can be extended with --load-path or $GUIX_PACKAGE_PATH
This allows users to maintain their own package definitions, and make them
visible to the various user interfaces. See “Package Modules” in the manual.
*** guix package better reports package upgrades
*** guix package has a new --switch-generation option
See “Invoking guix package” in the manual.
*** guix-daemon has a new --substitute-urls option
See “Invoking guix-daemon” in the manual.
** Distribution
*** The stand-alone operating system now supports Linux mapped devices
See “Mapped Devices” in the manual.
*** New fields in operating-system declarations, better documentation
New fields include hosts-file, mapped-devices, and swap-devices.
See “operating-system Reference” in the manual.
*** New services: dhcp-client-service, bitlbee-service, ntp-service
See “Services” in the manual.
*** Free firmware can be loaded
This notably enables support for some Atheros-based WiFi devices (ath9k-htc.)
See “operating-system Reference” in the manual.
*** grub-configuration declarations can now specify a theme
See “GRUB Configuration” in the manual.
*** The base-initrd now has a different signature
Existing uses in operating-system declarations need to be updated. See
“Initial RAM Disk” in the manual for details.
*** eudev is now used by default, instead of an old udev release
*** guix system vm has a new --full-boot option
See “Invoking guix system” in the manual.
*** The file command is now part of the package build environment
Autoconf-generated configure scripts for packages using Libtool use file
to determine the target ABI, notably on MIPS, hence this change.
*** 162 new packages
abiword, acpica, adns, arb, ath9k-htc-firmware, atlas, avrdude, cppunit,
dblatex, detox, dfu-programmer, dionysus, direvent, dmidecode, dri3proto,
emacs-no-x-toolkit, emacs-w3m, emacs-wget, enchant, eudev, feh, flashrom,
flint, fontforge, freedink, freeimage, fribidi,
gcc-cross-sans-libc-xtensa-elf, giblib, gnome-themes-standard, gpsbabel,
gpscorrelate, graphite2, gtypist, guile-charting, guile-sdl, imake, imlib2,
irrlicht, jbig2dec, libpsl, libspiro, libuninameslist, libwmf, lm-sensors,
magit, minetest, miscfiles, mozjs, mupdf, nix, nspr, nss-mdns, ntp, nvi, opam,
openal, openjpeg, opus-tools, orpheus, ots, oxygen-icons, paredit, perf,
perl-archive-zip, perl-dbd-sqlite, perl-dbi, perl-image-exiftool,
perl-io-socket-ssl, perl-net-ssleay, perl-www-curl, perl-zip, polkit,
polkit-qt, postgresql, potrace, presentproto, python-certifi, python-coverage,
python-cython, python-discover, python-docutils, python-exif-read,
python-extras, python-fixtures, python-itsdangerous, python-jinja2,
python-jsonschema, python-markupsafe, python-mimeparse, python-nose,
python-oauthlib, python-py, python-pygments, python-pyjwt, python-pyld,
python-pytest, python-scripttest, python-sphinx, python-subunit,
python-testrepository, python-testresources, python-testscenarios,
python-testtools, python-unidecode, python-unittest2, python-virtualenv,
python2-certifi, python2-coverage, python2-cython, python2-discover,
python2-docutils, python2-exif-read, python2-extras, python2-fixtures,
python2-itsdangerous, python2-jinja2, python2-jsonschema, python2-markupsafe,
python2-mimeparse, python2-nose, python2-oauthlib, python2-py,
python2-pygments, python2-pyjwt, python2-pyld, python2-pytest,
python2-requests, python2-scripttest, python2-sphinx, python2-subunit,
python2-testrepository, python2-testresources, python2-testscenarios,
python2-testtools, python2-unidecode, python2-unittest2, python2-virtualenv,
rrdtool, ruby, ruby, ruby-i18n, sane-backends, scrot, sound-theme-freedesktop,
stress, synergy, tdb, terminus-font, testdisk, texi2html, tiled, transfig,
unclutter, unixodbc, weechat, wv, xboing, xf86-video-modesetting, xfig,
xsensors, zsh
*** 117 package updates
acct-6.6.2, acl-2.2.52, apl-1.4, apr-1.5.1, apr-util-1.5.3, autoconf-2.68,
autoconf-2.69, autogen-5.18.4, bash-4.3.30, bash-light-4.3.30, bazaar-2.6.0,
bison-2.7, calcurse-3.2.1, ccache-3.1.10, chicken-4.9.0.1, coreutils-8.23,
curl-7.37.1, datamash-1.0.6, dbus-1.8.8, docbook-xml-4.2, docbook-xml-4.4,
docbook-xml-4.5, emacs-24.4, ffmpeg-2.2.10, ffmpeg-2.4.3, file-5.19,
file-5.20, freeipmi-1.4.5, gcc-4.7.4, gcc-4.9.2, gcc-toolchain-4.9.2,
gcl-2.6.11, gdb-7.8.1, geiser-0.6, gettext-0.19.3, git-2.1.2, glibc-2.20,
glibc-2.20, glibc-stripped-tarball-2.20, global-6.3.2, glpk-4.55,
gnupg-1.4.18, gnupg-2.0.26, gnurl-7.37.0, gnutls-3.2.20, gpgme-1.5.1,
gst-plugins-base-1.0.10, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-3.9.16,
guile-1.8.8, guile-json-0.4.0, guile-ncurses-1.6, guile-ssh-0.7.1, guix-0.7,
guix-0.7.48bd76e, hello-2.10, help2man-1.46.3, icecat-31.2.0,
libart-lgpl-2.3.21, libassuan-2.1.3, libatomic-ops-7.4.2, libdrm-2.4.33,
libffi-3.1, libgc-7.2f, libgc-7.4.2, libgcrypt-1.5.4, libgcrypt-1.6.2,
libidn-1.29, libjpeg-9a, libotr-4.0.0, libsodium-1.0.0, libtasn1-4.1,
libunistring-0.9.4, libwebsockets-1.3, lightning-2.0.5, linux-libre-3.17.3,
lsof-4.88, lua-5.2.3, lvm2-2.02.109, lzip-1.16, make-4.1, maxima-5.34.1,
mit-scheme-9.2, mysql-5.1.73, neon-0.30.0, net-base-5.3, nettle-2.7.1,
notmuch-0.18.1, openssh-6.7p1, openssl-1.0.1j, parallel-20141022,
phonon-4.8.2, pspp-0.8.4, python-3.3.5, python-dateutil-1.5,
python2-dateutil-1.5, python2-pyicu-1.8, qt-4.8.6, qt-5.3.2, rcs-5.9.3,
readline-6.3, subversion-1.7.18, swig-3.0.2, tar-1.28, texinfo-5.2,
tor-0.2.5.10, transmission-2.84, ucommon-6.1.11, valgrind-3.10.0, vlc-2.1.5,
wget-1.16, windowmaker-0.95.6, xapian-1.2.18, xf86-video-ati-6.14.6,
xpdf-3.04, youtube-dl-2014.09.06
** Programming interfaces
*** New ruby-build-system, for Ruby packages
See “Build Systems” in the manual.
*** New glib-or-gtk-build-system, for packages using GLib schemas
See “Build Systems” in the manual.
*** gnu-build-system has a new #:substitutable? parameter
This allows packagers to mark a package as requiring a local build, thus
preventing it from being substituted by a pre-built binary.
*** cmake-build-system has a new #:build-type parameter
See “Build Systems” in the manual.
*** The supported-systems field of packages is used more consistently
This allows packagers to prevent attempts to build a package on a given
architecture when that architecture is known not to be supported. The
package-transitive-supported-systems procedure returns the intersection of
the systems supported by the given package and by its dependencies.
*** The wrap-program procedure can now be called multiple times
*** New graft-derivations and package-grafts procedures
They implement “grafts”, as described under “Security Updates” in the manual.
*** New “bag” intermediate representation for use by build systems
“Bags” are used internally as an intermediate representation between packages
and derivations. See “Build Systems” in the manual.
*** New (guix monad-repl) module, for monadic interaction at the REPL
See “The Store Monad” in the manual.
*** New (guix build emacs-utils) module, to facilitate building Emacs packages
*** New (guix tests) module, with tools used by the test suite
*** The internal guix-register command now deduplicates files in store items
*** Several system modules moved from (guix build …) to (gnu build …)
Also, the (gnu build linux-boot) module has been introduced, with code
typically used by initial RAM disks when booting on GNU/Linux-libre.
*** (guix profiles) provides a representation of package transactions
This factorizes code between guix package and the Emacs user interface.
*** Bootstrapping packages moved to (gnu packages commencement) modules
** Bugs fixed
*** guix-daemon now really deduplicates store items by default
Deduplication means that identical files found in /gnu/store are stored only
once, using hard links. This feature was wrongfully disabled, and is now
enabled by default. The former --disable-store-optimization option has been
renamed to --disable-deduplication.
*** guix-daemon no longer uses vfork
This could cause problems with ancient Linux kernel.
*** Fixed compilation of gccgo (<http://bugs.gnu.org/18101>)
*** 'make clean' doesn't delete os-config.tmpl (<http://bugs.gnu.org/18243>)
*** Fix handling of periods by fill-paragraph (<http://bugs.gnu.org/17468>)
*** Produce a top-level Info 'dir' file (<http://bugs.gnu.org/18305>)
*** guix offload ignores unreachable machines (<http://bugs.gnu.org/18070>)
*** guix offload: Ignore EEXIST when registering a .drv as a GC root
(<http://bugs.gnu.org/18115>)
*** perl-tk: Build sequentially (<http://bugs.gnu.org/18262>)
*** download: Use the 'SERVER NAME' TLS extension when possible
(<http://bugs.gnu.org/18526>)
*** libdaemon: Add alternate source URLs (<http://bugs.gnu.org/18639>)
*** icu4c: Reinstate RUNPATH on shared libraries
(<http://bugs.gnu.org/18695>)
*** nss-mdns: Add alternate source URLs (<http://bugs.gnu.org/18704>)
*** download: Add "Accept: */*" to the HTTP headers
(<http://bugs.gnu.org/18768>)
*** guix-register: Do not attempt to create NIX_STORE_DIR
(<http://bugs.gnu.org/18689>)
*** Allow Linux-libre to find our 'modprobe' command
(<http://bugs.gnu.org/18525>)
*** man-pages: Build sequentially (<http://bugs.gnu.org/18701>)
*** Fix intermittent test failures involving GC (<http://bugs.gnu.org/18935>)
*** guix import: pypi: Gracefully handle non-existent packages
(<http://bugs.gnu.org/18831>)
*** Make sure the shared library has the '.so' extension
(<http://bugs.gnu.org/18521>)
*** pull: Use the build procedure provided by the newly-downloaded Guix.
(<http://bugs.gnu.org/18534>)
*** WindowMaker no longer pollutes $PATH (<http://bugs.gnu.org/18698>)
** Native language support
*** New translation: cs (Czech)
*** Updated translations: de, sr, vi
* Changes in 0.7 (since 0.6)
** Package management
*** Binaries for mips64el-linux now available from hydra.gnu.org
+17 -8
View File
@@ -20,8 +20,13 @@ Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
GNU Guix currently depends on the following packages:
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.5 or later
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.7 or later
- [[http://gnupg.org/][GNU libgcrypt]]
- [[http://www.gnu.org/software/make/][GNU Make]]
- optionally [[http://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
- optionally [[http://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
in the 'guix download' command. Note that 'guix import pypi' requires
this functionality.
Unless `--disable-daemon' was passed, the following packages are needed:
@@ -52,25 +57,29 @@ To do so:
- Install the dependencies (see 'Requirements' above) and build tools using
Guix:
guix package --install={autoconf,automake,bzip2,gcc-toolchain,gettext,guile,libgcrypt,pkg-config,sqlite}
guix package --install autoconf automake bzip2 gcc-toolchain gettext \
guile libgcrypt pkg-config sqlite
- set the environment variables that Guix recommends you to set during the
- Set the environment variables that Guix recommends you to set during the
package installation process:
ACLOCAL_PATH, CPATH, LIBRARY_PATH, PKG_CONFIG_PATH
- set the PATH environment variable to refer to the profile:
- Set the PATH environment variable to refer to the profile:
PATH=$HOME/.guix-profile/bin:$PATH
- re-run the configure script passing it the option
`--with-libgcrypt-prefix=$HOME/.guix-profile/'
- 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!).
- run "make" and "make install"
- Run "make", "make check", and "make install".
* How It Works
Guix does the high-level preparation of a /derivation/. A derivation is
the promise of a build; it is stored as a text file under
=/nix/store/xxx.drv=. The (guix derivations) module provides the
=/gnu/store/xxx.drv=. The (guix derivations) module provides the
`derivation' primitive, as well as higher-level wrappers such as
`build-expression->derivation'.
+59 -49
View File
@@ -2,7 +2,7 @@
#+TITLE: Tentative GNU Guix Road Map
Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -17,56 +17,66 @@ The goals of the GNU Guix project are two-fold:
GNU/Linux and possibly other GNU variants, with a focus on the
promotion and tight integration of GNU componentsthe GNU system.
This document lists milestones toward these goals.
Since its inception, the project has gone a long way towards that goal. Below
is a list of items we want for version "1.0" of the Guix System Distribution.
There will be a few 0.x releases by then to give the new features more
exposure and testing.
The timeline below was written at the end of Dec. 2012. An updated and more
detailed list of the remaining milestones was posted at
https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00120.html .
You're welcome to discuss this road map on guix-devel@gnu.org or #guix on
Freenode!
The actual timeline was of course slightly different than initially
envisioned, and so was the feature setthings like cross-compilation support
and the MIPS64 port were not planned back then. See the news section at
http://www.gnu.org/software/guix/ and NEWS for the release history.
* Features scheduled for 1.0
* GNU Guix 0.1: Jan. 2013 (was: Dec. 2012)
- larger & more robust build farm
+ we need a powerful, dedicated front-end
+ armhf-linux build machine
+ leave Hydra in favor of 'guix publish' + custom code?
- more OS features
+ LVM support
+ encrypted root
+ configurable name service switch
+ whole-system unit tests, using VMs
- more service definitions
+ mcron, postfix(?), wicd(?), etc.
- better 'guix system'
+ 'reconfigure' should be able to restart non-essential services
+ support for '--list-generations' and '--delete-generations'
- better 'guix pull'
+ using Git to fetch the source instead of re-downloading everything
+ build more quickly
+ install new .mo files and new manual
+ authentication of the Guix source: use signed commits?
- simplified, purely declarative service list in 'operating-system'
+ it should be possible to inspect the service instance declarations and
settings
- GUIs
+ integrate guix-web?
+ guile-ncurses installer?
- 'guix publish'?
** basic package management facilities
* Features for later
Including install, upgrade, remove, roll-back, and search.
** self-contained user-land distribution
- GNU/Linux-only, i686 and x86_64; optionally mipsel64
- ~100 non-X11 packages
** maybe integrated Nix code
* GNU Guix 0.2: Feb./Mar. 2013
** improved package management features
- user-environment hooks
- sophisticated handling of collisions when building a union (package
priorities, etc.)
** [[file:TODO::*add%20guix-pull][guix-pull tool]] to quickly update Guix and GNU for normal users
** support for fetching pre-built binaries
- this is known as the "binary-cache substituter" in Nix parlance
** auto-update facility available for GNU packages
** more packages
- Xorg
- Emacs
* GNU Guix 0.9: June 2013
** bootable GNU/Linux-Libre distro
** high-level OS configuration descriptive EDSL, à la NixOS
* GNU Guix 1.0: September 2013 (GNU anniversary release)
** bootable GNU/Linux-Libre distro with non-GUI installer
** usable for a range of hacker-style uses
- complete GNU/Hurd port
- use content-based addressing when downloading substitutes to reduce
bandwidth requirements
+ design nar v2 format where file contents are replaced by their hashes
+ leverage /gnu/store/.links
- binary origin tracking
+ keep signatures in sqlite.db
+ preserve signatures upon import/export
- peer-to-peer distribution of updates (GNUnet?)
- more deterministic builds
+ identify & fix sources of non-determinism in builds
+ strengthen guix-daemon containers to further increase reproducibility
+ trusting-trust: bootstrap with different tool chains
+ fixed-point: re-bootstrap until fixed point is reached
+ distributed validation: compare contents of store items with others
* resist a hydra.gnu.org compromise
- reproducible containers: mix of 'guix environment' and 'guix system vm'
- execute code with least privilege
+ build containers like guix-daemon does
+ provide a Plash-like interface in Bash
- daemon rewritten in Guile
- more dmd integration
+ monitor network interfaces and start/stop events based on that
+ include a DHCP client written in Scheme
+18 -2
View File
@@ -7,8 +7,10 @@ suggestions, bug reports, patches, internationalization, or general
infrastructure help:
Lluís Batlle i Rossell <viric@viric.name>
Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
Federico Beffa <beffa@ieee.org>
Marek Benc <merkur32@gmail.com>
Sylvain Beucler <beuc@beuc.net>
Amirouche Boubekki <amirouche.boubekki@gmail.com>
Carlos Carleos <carleos@uniovi.es>
Felipe Castro <fefcas@gmail.com>
Daniel Clark <dclark@pobox.com>
@@ -17,15 +19,29 @@ infrastructure help:
John Darrington <jmd@gnu.org>
Rafael Ferreira <rafael.f.f1@gmail.com>
Christian Grothoff <christian@grothoff.org>
Brandon Invergo <brandon@gnu.org>
Jeffrin Jose <ahiliation@yahoo.co.in>
Kete <kete@ninthfloor.org>
Daniel Kochmański <dkochmanski@hellsgate.pl>
Alex Kost <alezost@gmail.com>
Matthew Lien <bluet@bluet.org>
Niels Möller <nisse@lysator.liu.se>
Yutaka Niibe <gniibe@fsij.org>
Andrei Osipov <andrspv@gmail.com>
Adam Pribyl <pribyl@lowlevel.cz>
Pjotr Prins <pjotr.public12@thebird.nl>
rekado <rekado@elephly.net>
Joshua Randall <jcrandall@alum.mit.edu>
Bruno Félix Rezende Ribeiro <oitofelix@gnu.org>
Cyrill Schenkel <cyrill.schenkel@gmail.com>
Benno Schulenberg <coordinator@translationproject.org>
Jason Self <jself@gnu.org>
Alen Skondro <askondro@gmail.com>
Matthias Wachs <wachs@net.in.tum.de>
Andy Wingo <wingo@pobox.com>
Philip Woods <elzairthesorcerer@gmail.com>
GNU Guix also includes non-software works. Thanks to the following
people who contributed the logo and general artwork and themes:
Nikita Karetnikov <nikita@karetnikov.org>
Felipe López <felipe.lopez@openmailbox.org>
+11 -33
View File
@@ -3,26 +3,12 @@
#+TITLE: What's left to do?
#+STARTUP: content hidestars
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* integrate needed Nix code
** MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
rather libswift (since DHTs arent suited for large payloads). Guix users
would sign their binaries, and define which binaries they trust.
Use UPnP and similar to traverse NAT, like filegive does.
** Add a remote build hook
Like scripts/build-remote.pl in Nix.
* Add `guix publish' to publish the store using Guile's web server
Generate narinfos and nars on the fly, upon HTTP GET requests.
@@ -30,16 +16,18 @@ Ideally, extend .nix-cache-info to include the server's public key, and also
reply to requests for .narinfo.sig.
Optionally, use Guile-Avahi to publish the service.
* MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
rather libswift (since DHTs arent suited for large payloads). Guix users
would sign their binaries, and define which binaries they trust.
Use UPnP and similar to traverse NAT, like filegive does.
* user interface
** Add a package.el (Emacs) back-end
package.el is quite monolithic, but we may be able to reuse/extend
package-menu-mode or at least tabulated-list-mode.
** add guile-ncurses interface
* extend <package>
** add recommends field
For instance, glibc, binutils, gcc, and ld-wrapper would recommend each other.
@@ -76,15 +64,10 @@ The Guildhall is Guiles packaging system. It should be easy to add a
guildhall-build-system that does the right thing based on guildhall
recipes.
* add allowed-references in <package>
[[file:~/src/nix/src/libstore/build.cc::if%20(drv.env.find("allowedReferences")%20!%3D%20drv.env.end())%20{][See how Nix implements that internally]].
* union
Support sophisticated collision handling when building a union: check
whether the colliding files are identical, honor per-package priorities,
etc.
Support sophisticated collision handling when building a union: honor
per-package priorities, etc.
* add GUIX_ALLOW_EXPENSIVE_TESTS
@@ -96,7 +79,6 @@ run when that is defined.
Would download a substitute, and compare its contents against a (hopefully
locally-built) copy.
* guix build utils
** MAYBE Change ld-wrapper to add RPATH for libs passed by file name
@@ -107,13 +89,9 @@ locally-built) copy.
See [[https://github.com/NixOS/nixpkgs/commit/d1662d715514e6ef9d3dc29f132f1b3d8e608a18][Shea Levy's `replace-dependency' in Nixpkgs]].
* distro
** port to new GNU/Linux platforms, notably mipsel64-linux
** port to GNU/Hurd, aka. i686-gnu
Problems include that current glibc releases do not build on GNU/Hurd.
In addition, there havent been stable releases of GNU Mach, MiG, and
Hurd, which would be a pre-condition.
** make a bootable GNU/Linux-Libre distro, with OS configuration EDSL
Similar in spirit to /etc/nixos/configuration.nix.
+1 -11
View File
@@ -1,15 +1,5 @@
#!/bin/sh
# Import missing source files and create the build system.
# Create the build system.
set -e -x
top_srcdir="$PWD"
export top_srcdir
git submodule init
git submodule update
./nix/sync-with-upstream
exec autoreconf -vfi
+98
View File
@@ -0,0 +1,98 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 (build-self)
#:use-module (gnu)
#:use-module (guix)
#:use-module (srfi srfi-1)
#:export (build))
;;; Commentary:
;;;
;;; When loaded, this module returns a monadic procedure of at least one
;;; argument: the source tree to build. It returns a derivation that
;;; builds it.
;;;
;;; This file uses modules provided by the already-installed Guix. Those
;;; modules may be arbitrarily old compared to the version we want to
;;; build. Because of that, it must rely on the smallest set of features
;;; that are likely to be provided by the (guix) and (gnu) modules, and by
;;; Guile itself, forever and ever.
;;;
;;; Code:
;; The dependencies. Don't refer explicitly to the variables because they
;; could be renamed or shuffled around in modules over time. Conversely,
;; 'find-best-packages-by-name' is expected to always have the same semantics.
(define libgcrypt
(first (find-best-packages-by-name "libgcrypt" #f)))
(define guile-json
(first (find-best-packages-by-name "guile-json" #f)))
;; The actual build procedure.
(define (top-source-directory)
"Return the name of the top-level directory of this source tree."
(and=> (assoc-ref (current-source-location) 'filename)
(lambda (file)
(string-append (dirname file) "/.."))))
;; The procedure below is our return value.
(define* (build source #:key verbose?
#:allow-other-keys
#:rest rest)
"Return a derivation that unpacks SOURCE into STORE and compiles Scheme
files."
(define builder
#~(begin
(use-modules (guix build pull))
(let ((json (string-append #$guile-json "/share/guile/site/2.0")))
(set! %load-path (cons json %load-path))
(set! %load-compiled-path (cons json %load-compiled-path)))
(build-guix #$output #$source
;; XXX: This is not perfect, enabling VERBOSE? means
;; building a different derivation.
#:debug-port (if #$verbose?
(current-error-port)
(%make-void-port "w"))
#:gcrypt #$libgcrypt)))
(gexp->derivation "guix-latest" builder
#:modules '((guix build pull)
(guix build utils))
;; Arrange so that our own (guix build …) modules are
;; used.
#:module-path (list (top-source-directory))))
;; This file is loaded by 'guix pull'; return it the build procedure.
build
;; Local Variables:
;; eval: (put 'with-load-path 'scheme-indent-function 1)
;; End:
;;; build-self.scm ends here
+26 -28
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.
;;;
@@ -28,31 +28,29 @@
(srfi srfi-1)
(srfi srfi-26))
(define %supported-systems
'("x86_64-linux" "i686-linux"))
(with-store store
(parameterize ((%graft? #f))
(let* ((native (append-map (lambda (system)
(map (cut package-derivation store <> system)
(list %bootstrap-tarballs emacs)))
%hydra-supported-systems))
(cross (map (cut package-cross-derivation store
%bootstrap-tarballs <>)
'("mips64el-linux-gnuabi64")))
(total (append native cross)))
(define (warn item system)
(format (current-error-port) "~a (~a) is not substitutable~%"
item system)
#f)
(let* ((store (open-connection))
(native (append-map (lambda (system)
(map (cut package-derivation store <> system)
(list %bootstrap-tarballs emacs)))
%supported-systems))
(cross (map (cut package-cross-derivation store
%bootstrap-tarballs <>)
'("mips64el-linux-gnuabi64")))
(total (append native cross)))
(define (warn proc)
(lambda (drv)
(or (proc drv)
(begin
(format (current-error-port) "~a is not substitutable~%"
drv)
#f))))
(set-build-options store #:use-substitutes? #t)
(let ((result (every (compose (warn (cut has-substitutes? store <>))
derivation->output-path)
total)))
(when result
(format (current-error-port) "~a packages found substitutable~%"
(length total)))
(exit result)))
(set-build-options store #:use-substitutes? #t)
(let* ((substitutable? (substitution-oracle store total))
(result (every (lambda (drv)
(let ((out (derivation->output-path drv)))
(or (substitutable? out)
(warn out (derivation-system drv)))))
total)))
(when result
(format (current-error-port) "~a packages found substitutable~%"
(length total)))
(exit result)))))
@@ -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.
;;;
@@ -24,14 +24,11 @@
(guix packages)
(guix derivations)
(guix ui)
(gnu packages base)
(gnu packages commencement)
(ice-9 match)
(srfi srfi-1)
(srfi srfi-26))
(define %supported-systems
'("x86_64-linux" "i686-linux"))
(define (final-inputs store system)
"Return the list of outputs directories of the final inputs for SYSTEM."
(append-map (match-lambda
@@ -76,8 +73,9 @@ refer to the bootstrap tools."
;; Entry point.
(with-store store
(set-build-options store #:use-substitutes? #t)
(parameterize ((%graft? #f))
(set-build-options store #:use-substitutes? #t)
(for-each (cut test-final-inputs store <>)
%supported-systems))
(for-each (cut test-final-inputs store <>)
%hydra-supported-systems)))
+7 -1
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,7 +46,12 @@
(match (string-tokenize file (char-set-complement (char-set #\/)))
((_ ... system basename)
(string->uri (string-append %url-base "/" system
"/20131110/" basename)))))
(match system
("armhf-linux"
"/20150101/")
(_
"/20131110/"))
basename)))))
(match (command-line)
((_ file expected-hash)
+1 -1
View File
@@ -37,7 +37,7 @@
(operating-system
(host-name "gnu")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(locale "en_US.utf8")
(bootloader (grub-configuration
(device "/dev/sda")))
+93 -47
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -53,6 +53,8 @@
(gnu packages compression)
(gnu packages multiprecision)
(gnu packages make-bootstrap)
(gnu packages commencement)
(gnu packages package-management)
(gnu system)
(gnu system vm)
(gnu system install)
@@ -69,7 +71,8 @@
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
`((derivation . ,(derivation-file-name
(package-derivation store package system)))
(package-derivation store package system
#:graft? #f)))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
(license . ,(package-license package))
@@ -92,7 +95,9 @@ SYSTEM."
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
(string->symbol ".") (string->symbol system)) .
,(cute package->alist store package system
(cut package-cross-derivation <> <> target <>))))
(lambda* (store package system #:key graft?)
(package-cross-derivation store package target system
#:graft? graft?)))))
(define %core-packages
;; Note: Don't put the '-final' package variants because (1) that's
@@ -143,31 +148,79 @@ system.")
(if (member system '("x86_64-linux" "i686-linux"))
(list (->job 'qemu-image
(run-with-store store
(system-qemu-image (demo-os)
#:disk-image-size
(* 1400 MiB)))) ; 1.4 GiB
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-qemu-image (demo-os)
#:disk-image-size
(* 1400 MiB))))) ; 1.4 GiB
(->job 'usb-image
(run-with-store store
(system-disk-image installation-os
#:disk-image-size
(* 630 MiB)))))
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:disk-image-size
(* 850 MiB))))))
'()))
(define (tarball-jobs store system)
"Return Hydra jobs to build the self-contained Guix binary tarball."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone binary Guix tarball")
(long-description . "This is a tarball containing binaries of Guix and
all its dependencies, and ready to be installed on non-GuixSD distributions.")
(license . ,gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(cut ->alist drv))))
;; XXX: Add a job for the stable Guix?
(list (->job 'binary-tarball
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(self-contained-tarball))
#:system system))))
(define job-name
;; Return the name of a package's job.
(compose string->symbol package-full-name))
(define package->job
(let ((base-packages
(delete-duplicates
(append-map (match-lambda
((_ package _ ...)
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
%final-inputs))))
(lambda (store package system)
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid."
(cond ((member package base-packages)
#f)
((supported-package? package system)
(package-job store (job-name package) package system))
(else
#f)))))
;;;
;;; Hydra entry point.
;;;
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
;; Systems we want to build for.
'("x86_64-linux" "i686-linux"
"mips64el-linux"))
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
(_ 'all))) ; build everything
(define job-name
(compose string->symbol package-full-name))
(define (cross-jobs system)
(define (from-32-to-64? target)
;; Return true if SYSTEM is 32-bit and TARGET is 64-bit.
@@ -194,33 +247,26 @@ system.")
(remove (either from-32-to-64? same?) %cross-targets)))
;; Return one job for each package, except bootstrap packages.
(let ((base-packages (delete-duplicates
(append-map (match-lambda
((_ package _ ...)
(match (package-transitive-inputs
package)
(((_ inputs _ ...) ...)
inputs))))
%final-inputs))))
(append-map (lambda (system)
(case subset
((all)
;; Build everything.
(fold-packages (lambda (package result)
(if (member package base-packages)
result
(cons (package-job store (job-name package)
package system)
result)))
(append (qemu-jobs store system)
(cross-jobs system))))
((core)
;; Build core packages only.
(append (map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs system)))
(else
(error "unknown subset" subset))))
systems)))
(append-map (lambda (system)
(case subset
((all)
;; Build everything.
(fold-packages (lambda (package result)
(let ((job (package->job store package
system)))
(if job
(cons job result)
result)))
(append (qemu-jobs store system)
(tarball-jobs store system)
(cross-jobs system))))
((core)
;; Build core packages only.
(append (map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs system)))
(else
(error "unknown subset" subset))))
%hydra-supported-systems))
+7 -26
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.
;;;
@@ -68,25 +68,10 @@
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))))
(define (tarball-package checkout nix-checkout)
(define (tarball-package checkout)
"Return a package that does `make distcheck' from CHECKOUT, a directory
containing a Git checkout of Guix."
(let ((dist (dist-package guix checkout)))
(package (inherit dist)
(location (source-properties->location (current-source-location)))
(arguments (substitute-keyword-arguments (package-arguments dist)
((#:phases p)
`(alist-cons-before
'autoreconf 'set-nix-submodule
(lambda _
;; Tell Git to use the Nix checkout that Hydra gave us.
(zero?
(system* "git" "config" "submodule.nix-upstream.url"
,nix-checkout)))
,p))))
(native-inputs `(("git" ,git)
("graphviz" ,graphviz)
,@(package-native-inputs dist))))))
(dist-package guix checkout))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
@@ -104,13 +89,9 @@ containing a Git checkout of Guix."
(define guix-checkout
(assq-ref arguments 'guix))
(define nix-checkout
(assq-ref arguments 'nix))
(format (current-error-port) "using checkout ~s (Nix: ~s)~%"
guix-checkout nix-checkout)
(let ((guix (assq-ref guix-checkout 'file-name))
(nix (assq-ref nix-checkout 'file-name)))
(let ((guix (assq-ref guix-checkout 'file-name)))
(format (current-error-port) "using checkout ~s (~s)~%"
guix-checkout guix)
`((tarball . ,(cute package->alist store
(tarball-package guix nix)
(tarball-package guix)
(%current-system))))))
+36 -14
View File
@@ -4,7 +4,7 @@ exec guile -l "$0" \
(cdr (command-line)))'
!#
;;; 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 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -27,6 +27,8 @@ exec guile -l "$0" \
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix gnu-maintenance)
#:use-module ((guix download) #:select (%mirrors))
#:use-module ((guix build download) #:select (maybe-expand-mirrors))
#:use-module (gnu packages)
#:use-module (sxml simple)
#:use-module (sxml fold)
@@ -100,10 +102,28 @@ decreasing, is 1."
(->sxml (package-license package)))
(define (patches package)
(define (patch-url patch)
(string-append
"http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
(basename patch)))
(define patch-url
(match-lambda
((? string? patch)
(string-append
"http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
(basename patch)))
((? origin? patch)
(uri->string
(first (maybe-expand-mirrors (string->uri
(match (origin-uri patch)
((? string? uri) uri)
((head . tail) head)))
%mirrors))))))
(define patch-name
(match-lambda
((? string? patch)
(basename patch))
((? origin? patch)
(match (origin-uri patch)
((? string? uri) (basename uri))
((head . tail) (basename head))))))
(define (snippet-link snippet)
(let ((loc (or (package-field-location package 'source)
@@ -134,7 +154,7 @@ decreasing, is 1."
(cons `(a (@ (href ,(patch-url patch))
(title ,(string-append
"Link to "
(basename patch))))
(patch-name patch))))
,(number->string number))
links))))))))))
@@ -147,9 +167,12 @@ decreasing, is 1."
,system))
`(div "status: "
,(url "x86_64-linux") " "
,(url "i686-linux") " "
,(url "mips64el-linux")))
,(list-join (map url
(lset-intersection
string=?
%hydra-supported-systems
(package-transitive-supported-systems package)))
" ")))
(define (package-logo name)
(and=> (lookup-gnu-package name)
@@ -223,14 +246,13 @@ description-ids as formal parameters."
(h2 "GNU Guix Package List")
(div (@ (id "intro"))
(div
(img (@ (src "graphics/guix-logo.small.png")
(alt "GNU Guix and the GNU System")
(img (@ (src "graphics/GuixSD-V.png")
(alt "Guix System Distribution")
(height "83"))))
(p "This web page lists the packages currently provided by the "
(a (@ (href "manual/guix.html#GNU-Distribution"))
"GNU system distribution")
" of "
(a (@ (href "/software/guix/guix.html")) "GNU Guix") ". "
"Guix System Distribution")
". "
"Our " (a (@ (href "http://hydra.gnu.org/jobset/gnu/master"))
"continuous integration system")
" shows their current build status."))
+50
View File
@@ -0,0 +1,50 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;;
;;; Build a self-contained tarball containing binaries for Guix and its
;;; dependencies.
;;;
(use-modules (guix)
(guix ui)
(gnu system install)
(ice-9 match))
(define show-what-to-build*
(store-lift show-what-to-build))
(define copy-file*
(lift2 copy-file %store-monad))
(define rename-file*
(lift2 rename-file %store-monad))
(match (command-line)
((_ system file)
(with-store store
(run-with-store store
(mlet %store-monad ((tarball (self-contained-tarball)))
(mbegin %store-monad
(show-what-to-build* (list tarball))
(built-derivations (list tarball))
(copy-file* (derivation->output-path tarball)
(string-append file ".part"))
(rename-file* (string-append file ".part") file)))
#:system system))))
-75
View File
@@ -1,75 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;;
;;; Report package synopses and descriptions that defer from those found in
;;; the GNU Womb.
;;;
(use-modules (guix gnu-maintenance)
(guix packages)
(guix utils)
(guix ui)
(gnu packages)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
(define official
;; GNU package descriptors from the Womb.
(official-gnu-packages))
(define gnus
;; GNU packages available in the distro.
(let ((lookup (lambda (p)
(find (lambda (descriptor)
(equal? (gnu-package-name descriptor)
(package-name p)))
official))))
(fold-packages (lambda (package result)
(or (and=> (lookup package)
(cut alist-cons package <> result))
result))
'())))
;; Iterate over GNU packages. Report those whose synopsis defers from that
;; found upstream.
(for-each (match-lambda
((package . descriptor)
(let ((upstream (gnu-package-doc-summary descriptor))
(downstream (package-synopsis package))
(loc (or (package-field-location package 'synopsis)
(package-location package))))
(unless (and upstream (string=? upstream downstream))
(format (guix-warning-port)
"~a: ~a: proposed synopsis: ~s~%"
(location->string loc) (package-name package)
upstream)))
(let ((upstream (gnu-package-doc-description descriptor))
(downstream (package-description package))
(loc (or (package-field-location package 'description)
(package-location package))))
(when (and upstream
(not (string=? (fill-paragraph upstream 100)
(fill-paragraph downstream 100))))
(format (guix-warning-port)
"~a: ~a: proposed description:~% ~a~%"
(location->string loc) (package-name package)
(fill-paragraph upstream 77 7))))))
gnus)
+13 -7
View File
@@ -73,15 +73,22 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl Chroot support.
AC_CHECK_FUNCS([chroot unshare])
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h])
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h tr1/unordered_set])
if test "x$ac_cv_func_chroot" != "xyes"; then
AC_MSG_ERROR(['chroot' function missing, bailing out])
fi
dnl lutimes and lchown: used when canonicalizing store items.
dnl posix_fallocate: used when extracting archives.
dnl vfork: to speed up spawning of helper programs.
dnl `--> now disabled because of unpredictable behavior:
dnl see <http://lists.gnu.org/archive/html/guix-devel/2014-05/msg00036.html>
dnl and Nix commit f794465c (Nov. 2012).
dnl sched_setaffinity: to improve RPC locality.
dnl statvfs: to detect disk-full conditions.
dnl strsignal: for error reporting.
AC_CHECK_FUNCS([lutimes lchown posix_fallocate vfork sched_setaffinity \
AC_CHECK_FUNCS([lutimes lchown posix_fallocate sched_setaffinity \
statvfs nanosleep strsignal])
dnl Check whether the store optimiser can optimise symlinks.
@@ -120,15 +127,14 @@ if test "x$guix_build_daemon" = "xyes"; then
fi
dnl Temporary directory used to store the daemon's data.
AC_MSG_CHECKING([for unit test root])
GUIX_TEST_ROOT="`pwd`/test-tmp"
AC_MSG_RESULT([$GUIX_TEST_ROOT])
GUIX_TEST_ROOT_DIRECTORY
GUIX_TEST_ROOT="$ac_cv_guix_test_root"
AC_SUBST([GUIX_TEST_ROOT])
AC_CONFIG_FILES([nix/scripts/list-runtime-roots],
[chmod +x nix/scripts/list-runtime-roots])
AC_CONFIG_FILES([nix/scripts/substitute-binary],
[chmod +x nix/scripts/substitute-binary])
AC_CONFIG_FILES([nix/scripts/substitute],
[chmod +x nix/scripts/substitute])
AC_CONFIG_FILES([nix/scripts/guix-authenticate],
[chmod +x nix/scripts/guix-authenticate])
AC_CONFIG_FILES([nix/scripts/offload],
+33 -6
View File
@@ -2,12 +2,15 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
AC_INIT([GNU Guix], [0.7], [bug-guix@gnu.org], [guix],
AC_INIT([GNU Guix], [0.8.2], [bug-guix@gnu.org], [guix],
[http://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
color-tests parallel-tests -Woverride])
color-tests parallel-tests -Woverride -Wno-portability])
# Enable silent rules by default.
AM_SILENT_RULES([yes])
AC_CONFIG_SRCDIR([guix.scm])
AC_CONFIG_MACRO_DIR([m4])
@@ -31,6 +34,13 @@ AC_ARG_WITH(store-dir,
[storedir="/gnu/store"])
AC_SUBST(storedir)
AC_ARG_WITH([bash-completion-dir],
AC_HELP_STRING([--with-bash-completion-dir=DIR],
[name of the Bash completion directory]),
[bashcompletiondir="$withval"],
[bashcompletiondir='${sysconfdir}/bash_completion.d'])
AC_SUBST([bashcompletiondir])
dnl Better be verbose.
AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
@@ -50,17 +60,24 @@ AC_SUBST([guix_localstatedir])
AC_SUBST([guix_sysconfdir])
AC_SUBST([guix_sbindir])
dnl We require the pkg.m4 set of macros from pkg-config.
dnl Make sure it's available.
m4_pattern_forbid([PKG_CHECK_MODULES])
GUIX_CHECK_FILE_NAME_LIMITS
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.5])
dnl We require pkg.m4 (from pkg-config) and guile.m4 (from Guile.)
dnl Make sure they are available.
m4_pattern_forbid([PKG_CHECK_MODULES])
m4_pattern_forbid([GUILE_MODULE_AVAILABLE])
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
AC_PATH_PROG([GUILE], [guile])
AC_PATH_PROG([GUILD], [guild])
if test "x$GUILD" = "x"; then
AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
fi
dnl guile-json is used for the PyPI package importer
GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
dnl Make sure we have a full-fledged Guile.
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
@@ -174,4 +191,14 @@ AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_CONFIG_FILES([test-env], [chmod +x test-env])
dnl Emacs interface.
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
emacs/guix-helper.scm])
AC_OUTPUT
+2 -3
View File
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -165,7 +165,7 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql
nodist_pkglibexec_SCRIPTS = \
nix/scripts/list-runtime-roots \
nix/scripts/substitute-binary
nix/scripts/substitute
if BUILD_DAEMON_OFFLOAD
@@ -180,7 +180,6 @@ nodist_libexec_SCRIPTS = \
nix/scripts/guix-authenticate
EXTRA_DIST += \
nix/sync-with-upstream \
nix/libstore/schema.sql \
nix/AUTHORS \
nix/COPYING
+11 -6
View File
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
#
# This file is part of GNU Guix.
@@ -19,17 +19,22 @@
info_TEXINFOS = doc/guix.texi
EXTRA_DIST += \
doc/emacs.texi \
doc/fdl-1.3.texi \
doc/images/bootstrap-graph.dot \
doc/images/bootstrap-graph.eps \
doc/images/bootstrap-graph.pdf
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += doc/os-config.texi
EXTRA_DIST += doc/os-config.texi
MAINTAINERCLEANFILES = doc/os-config.texi
OS_CONFIG_EXAMPLES_TEXI = \
doc/os-config-bare-bones.texi \
doc/os-config-desktop.texi
doc/os-config.texi: gnu/system/os-config.tmpl
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI)
EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI)
MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI)
doc/os-config-%.texi: gnu/system/examples/%.tmpl
$(MKDIR_P) "`dirname "$@"`"
cp "$<" "$@"
+488
View File
@@ -0,0 +1,488 @@
@node Emacs Interface
@section 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
@menu
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
* Usage: Emacs Usage. Using the interface.
* Configuration: Emacs Configuration. Configuring the interface.
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
@end menu
@node Emacs Initial Setup
@subsection 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
case by default. So if that is what you're using, you can happily skip
this section and read about the fun stuff.
If you're not yet a happy user of GSD, a little bit of setup is needed.
To be able to use ``guix.el'', you need to install the following
packages:
@itemize
@item
@uref{http://www.gnu.org/software/emacs/, GNU Emacs}, version 24.3 or
later;
@item
@uref{http://nongnu.org/geiser/, Geiser}, version 0.3 or later: it is
used for interacting with the Guile process.
@end itemize
When it is done, add the following into your init file (@pxref{Init
File,,, emacs, The GNU Emacs Manual}):
@example
(require 'guix-init nil t)
@end example
However there is a chance that @code{load-path} of your Emacs does not
contain a directory with ``guix.el'' (usually it is
@file{/usr/share/emacs/site-lisp/}). In that case you need to add it
before requiring (@pxref{Lisp Libraries,,, emacs, The GNU Emacs
Manual}):
@example
(add-to-list 'load-path "/path/to/directory-with-guix.el")
(require 'guix-init)
@end example
By default, along with autoloading (@pxref{Autoload,,, elisp, The GNU
Emacs Lisp Reference Manual}) the main interactive commands for
``guix.el'' (@pxref{Emacs Commands}), requiring @code{guix-init} will
also autoload commands for the Emacs packages installed in your user
profile.
To disable automatic loading of installed Emacs packages, set
@code{guix-package-enable-at-startup} variable to @code{nil} before
requiring @code{guix-init}. This variable has the same meaning for
Emacs packages installed with Guix, as @code{package-enable-at-startup}
for the built-in Emacs package system (@pxref{Package Installation,,,
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
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.
@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.
@end menu
@node Emacs Commands
@subsubsection Commands
All commands for displaying packages and generations use the current
profile, which can be changed with
@kbd{M-x@tie{}guix-set-current-profile}. Alternatively, if you call any
of these commands with prefix argument (@kbd{C-u}), you will be prompted
for a profile just for that command.
Commands for displaying packages:
@table @kbd
@item M-x guix-all-available-packages
@itemx M-x guix-newest-available-packages
Display all/newest available packages.
@item M-x guix-installed-packages
Display all installed packages.
@item M-x guix-obsolete-packages
Display obsolete packages (the packages that are installed in a profile
but cannot be found among available packages).
@item M-x guix-search-by-name
Display package(s) with the specified name.
@item M-x guix-search-by-regexp
Search for packages by a specified regexp. By default ``name'',
``synopsis'' and ``description'' of the packages will be searched. This
can be changed by modifying @code{guix-search-params} variable.
@end table
By default, these commands display each output on a separate line. If
you prefer to see a list of packages---i.e., a list with a package per
line, use the following setting:
@example
(setq guix-package-list-type 'package)
@end example
Commands for displaying generations:
@table @kbd
@item M-x guix-generations
List all the generations.
@item M-x guix-last-generations
List the @var{N} last generations. You will be prompted for the number
of generations.
@item M-x guix-generations-by-time
List generations matching time period. You will be prompted for the
period using Org mode time prompt based on Emacs calendar (@pxref{The
date/time prompt,,, org, The Org Manual}).
@end table
You can also invoke the @command{guix pull} command (@pxref{Invoking
guix pull}) from Emacs using:
@table @kbd
@item M-x guix-pull
With @kbd{C-u}, make it verbose.
@end table
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
The following keys are available for both ``list'' and ``info'' types of
buffers:
@table @kbd
@item l
@itemx r
Go backward/forward by the history of the displayed results (this
history is similar to the history of the Emacs @code{help-mode} or
@code{Info-mode}).
@item g
Revert current buffer: update information about the displayed
packages/generations and redisplay it.
@item R
Redisplay current buffer (without updating information).
@item C-c C-z
Go to the Guix REPL (@pxref{The REPL,,, geiser, Geiser User Manual}).
@item h
@itemx ?
Describe current mode to see all available bindings.
@end table
@emph{Hint:} If you need several ``list'' or ``info'' buffers, you can
simlpy @kbd{M-x clone-buffer} them, and each buffer will have its own
history.
@emph{Warning:} Name/version pairs cannot be used to identify packages
(because a name is not necessarily unique), so ``guix.el'' uses special
identifiers that live only during a guile session, so if the Guix REPL
was restarted, you may want to revert ``list'' buffer (by pressing
@kbd{g}).
@node Emacs List buffer
@subsubsection ``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}).
Default key bindings available for both ``package-list'' and
``generation-list'' buffers:
@table @kbd
@item m
Mark the current entry.
@item M
Mark all entries.
@item u
Unmark the current entry (with prefix, unmark all entries).
@item @key{DEL}
Unmark backward.
@item S
Sort entries by a specified column.
@end table
A ``package-list'' buffer additionally provides the following bindings:
@table @kbd
@item @key{RET}
Describe marked packages (display available information in a
``package-info'' buffer).
@item i
Mark the current package for installation.
@item d
Mark the current package for deletion.
@item U
Mark the current package for upgrading.
@item ^
Mark all obsolete packages for upgrading.
@item x
Execute actions on the marked packages.
@end table
A ``generation-list'' buffer additionally provides the following
bindings:
@table @kbd
@item @key{RET}
List packages installed in the current generation.
@item i
Describe marked generations (display available information in a
``generation-info'' buffer).
@item s
Switch profile to the current generation.
@item d
Mark the current generation for deletion (with prefix, mark all
generations).
@item x
Execute actions on the marked generations---i.e., delete generations.
@item e
Run Ediff (@pxref{Top,,, ediff, The Ediff Manual}) on package outputs
installed in the 2 marked generations. With prefix argument, run Ediff
on manifests of the marked generations.
@item D
@itemx =
Run Diff (@pxref{Diff Mode,,, emacs, The GNU Emacs Manual}) on package
outputs installed in the 2 marked generations. With prefix argument,
run Diff on manifests of the marked generations.
@item +
List package outputs added to the latest marked generation comparing
with another marked generation.
@item -
List package outputs removed from the latest marked generation comparing
with another marked generation.
@end table
@node Emacs Info buffer
@subsubsection ``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}).
``Info'' buffer contains some buttons (as usual you may use @key{TAB} /
@kbd{S-@key{TAB}} to move between buttons---@pxref{Mouse References,,,
emacs, The GNU Emacs Manual}) which can be used to:
@itemize @bullet
@item (in a ``package-info'' buffer)
@itemize @minus
@item install/remove a package;
@item jump to a package location;
@item browse home page of a package;
@item describe packages from ``Inputs'' fields.
@end itemize
@item (in a ``generation-info'' buffer)
@itemize @minus
@item remove a generation;
@item switch to a generation;
@item list packages installed in a generation;
@item jump to a generation directory.
@end itemize
@end itemize
It is also possible to copy a button label (a link to an URL or a file)
by pressing @kbd{c} on a button.
@node Emacs Configuration
@subsection Configuration
There are many variables you can modify to change the appearance or
behavior of Emacs user interface. Some of these variables are described
in this section. Also you can use Custom Interface (@pxref{Easy
Customization,,, emacs, The GNU Emacs Manual}) to explore/set variables
(not all) and faces.
@menu
* Guile and Build Options: Emacs Build Options. Specifying how packages are built.
* Buffer Names: Emacs Buffer Names. Names of Guix buffers.
* Keymaps: Emacs Keymaps. Configuring key bindings.
* Appearance: Emacs Appearance. Settings for visual appearance.
@end menu
@node Emacs Build Options
@subsubsection Guile and Build Options
@table @code
@item guix-guile-program
If you have some special needs for starting a Guile process, you may set
this variable, for example:
@example
(setq guix-guile-program '("/bin/guile" "--no-auto-compile"))
@end example
@item guix-use-substitutes
Has the same meaning as @code{--no-substitutes} option (@pxref{Invoking
guix build}).
@item guix-dry-run
Has the same meaning as @code{--dry-run} option (@pxref{Invoking guix
build}).
@end table
@node Emacs Buffer Names
@subsubsection Buffer Names
Default names of ``guix.el'' buffers (``*Guix@tie{}@dots{}*'') may be
changed with the following variables:
@table @code
@item guix-package-list-buffer-name
@item guix-output-list-buffer-name
@item guix-generation-list-buffer-name
@item guix-package-info-buffer-name
@item guix-output-info-buffer-name
@item guix-generation-info-buffer-name
@item guix-repl-buffer-name
@item guix-internal-repl-buffer-name
@end table
By default, the name of a profile is also displayed in a ``list'' or
``info'' buffer name. To change this behavior, use
@code{guix-buffer-name-function} variable.
For example, if you want to display all types of results in a single
buffer (in such case you will probably use a history (@kbd{l}/@kbd{r})
extensively), you may do it like this:
@example
(let ((name "Guix Universal"))
(setq
guix-package-list-buffer-name name
guix-output-list-buffer-name name
guix-generation-list-buffer-name name
guix-package-info-buffer-name name
guix-output-info-buffer-name name
guix-generation-info-buffer-name name
guix-buffer-name-function #'guix-buffer-name-simple))
@end example
@node Emacs Keymaps
@subsubsection Keymaps
If you want to change default key bindings, use the following keymaps
(@pxref{Init Rebinding,,, emacs, The GNU Emacs Manual}):
@table @code
@item guix-list-mode-map
Parent keymap with general keys for ``list'' buffers.
@item guix-package-list-mode-map
Keymap with specific keys for ``package-list'' buffers.
@item guix-output-list-mode-map
Keymap with specific keys for ``output-list'' buffers.
@item guix-generation-list-mode-map
Keymap with specific keys for ``generation-list'' buffers.
@item guix-info-mode-map
Parent keymap with general keys for ``info'' buffers.
@item guix-package-info-mode-map
Keymap with specific keys for ``package-info'' buffers.
@item guix-output-info-mode-map
Keymap with specific keys for ``output-info'' buffers.
@item guix-generation-info-mode-map
Keymap with specific keys for ``generation-info'' buffers.
@item guix-info-button-map
Keymap with keys available when a point is placed on a button.
@end table
@node Emacs Appearance
@subsubsection Appearance
You can change almost any aspect of ``list'' / ``info'' buffers using
the following variables:
@table @code
@item guix-list-column-format
@itemx guix-list-column-titles
@itemx guix-list-column-value-methods
Specify the columns, their names, what and how is displayed in ``list''
buffers.
@item guix-info-displayed-params
@itemx guix-info-insert-methods
@itemx guix-info-ignore-empty-vals
@itemx guix-info-param-title-format
@itemx guix-info-multiline-prefix
@itemx guix-info-indent
@itemx guix-info-fill-column
@itemx guix-info-delimiter
Various settings for ``info'' buffers.
@end table
@node Emacs Prettify
@subsection Guix Prettify Mode
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{}'':
@example
/gnu/store/72f54nfp6g1hz873w8z3gfcah0h4nl9p-foo-0.1
@result{} /gnu/store/…-foo-0.1
@end example
Once you set up ``guix.el'' (@pxref{Emacs Initial Setup}), the following
commands become available:
@table @kbd
@item M-x guix-prettify-mode
Enable/disable prettifying for the current buffer.
@item M-x global-guix-prettify-mode
Enable/disable prettifying globally.
@end table
To automatically enable @code{guix-prettify-mode} globally on Emacs
start, add the following line to your init file:
@example
(global-guix-prettify-mode)
@end example
If you want to enable it only for specific major modes, add it to the
mode hooks (@pxref{Hooks,,, emacs, The GNU Emacs Manual}), for example:
@example
(add-hook 'shell-mode-hook 'guix-prettify-mode)
(add-hook 'dired-mode-hook 'guix-prettify-mode)
@end example
+2476 -275
View File
File diff suppressed because it is too large Load Diff
+51
View File
@@ -0,0 +1,51 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2014 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
AUTOLOADS = emacs/guix-autoloads.el
ELFILES = \
emacs/guix-backend.el \
emacs/guix-base.el \
emacs/guix-emacs.el \
emacs/guix-history.el \
emacs/guix-info.el \
emacs/guix-list.el \
emacs/guix-messages.el \
emacs/guix-prettify.el \
emacs/guix-utils.el \
emacs/guix.el
if HAVE_EMACS
dist_lisp_DATA = \
$(ELFILES) \
$(AUTOLOADS)
nodist_lisp_DATA = \
emacs/guix-init.el \
emacs/guix-profiles.el
$(AUTOLOADS): $(ELFILES)
$(EMACS) --batch --eval \
"(let ((backup-inhibited t) \
(generated-autoload-file \
(expand-file-name \"$(AUTOLOADS)\" \"$(srcdir)\"))) \
(update-directory-autoloads \
(expand-file-name \"emacs\" \"$(srcdir)\")))"
endif HAVE_EMACS
+378
View File
@@ -0,0 +1,378 @@
;;; guix-backend.el --- Communication with Geiser
;; Copyright © 2014 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 the code for interacting with Guile using Geiser.
;; By default (if `guix-use-guile-server' is non-nil) 2 Geiser 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
;; used for synchronous evaluating, e.g. when information about
;; packages/generations should be received for a list/info buffer.
;;
;; This "2 REPLs concept" makes it possible to have a running process of
;; installing/deleting packages and to continue to search/list/get info
;; about other packages at the same time. If you prefer to use a single
;; Guix REPL, do not try to receive any information while there is a
;; running code in the REPL (see
;; <https://github.com/jaor/geiser/issues/28>).
;;
;; If you need to use "guix.el" in another Emacs (i.e. when there is
;; a runnig "guile --listen..." REPL somewhere), you can either change
;; `guix-default-port' in that Emacs instance or set
;; `guix-use-guile-server' to t.
;;
;; Guix REPLs (unlike the usual Geiser REPLs) are not added to
;; `geiser-repl--repls' variable, and thus cannot be used for evaluating
;; while editing scm-files. The only purpose of Guix REPLs is to be an
;; intermediate between "Guix/Guile level" and "Emacs interface level".
;; That being said you can still want to use a Guix REPL while hacking
;; auxiliary scheme-files for "guix.el". You can just use "M-x
;; connect-to-guile" (connect to "localhost" and `guix-default-port') to
;; have a usual Geiser REPL with all stuff defined by "guix.el" package.
;;; Code:
(require 'geiser-mode)
(require 'guix-emacs)
(defvar guix-load-path
(file-name-directory (or load-file-name
(locate-library "guix")))
"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
(defgroup guix-repl nil
"Settings for Guix REPLs."
:prefix "guix-repl-"
:group 'guix)
(defcustom guix-repl-startup-time 30000
"Time, in milliseconds, to wait for Guix REPL to startup.
Same as `geiser-repl-startup-time' but is used for Guix REPL.
If you have a slow system, try to increase this time."
:type 'integer
:group 'guix-repl)
(defcustom guix-repl-buffer-name "*Guix REPL*"
"Default name of a Geiser REPL buffer used for Guix."
:type 'string
:group 'guix-repl)
(defcustom guix-after-start-repl-hook ()
"Hook called after Guix REPL is started."
:type 'hook
:group 'guix-repl)
(defcustom guix-use-guile-server t
"If non-nil, start guile with '--listen' argument.
This allows to receive information about packages using an additional
REPL while some packages are being installed/removed in the main REPL."
:type 'boolean
:group 'guix-repl)
(defcustom guix-default-port 37246
"Default port used if `guix-use-guile-server' is non-nil."
:type 'integer
:group 'guix-repl)
(defvar guix-repl-buffer nil
"Main Geiser REPL buffer used for communicating with Guix.
This REPL is used for processing package actions and for
receiving information if `guix-use-guile-server' is nil.")
(defvar guix-internal-repl-buffer nil
"Additional Geiser REPL buffer used for communicating with Guix.
This REPL is used for receiving information only if
`guix-use-guile-server' is non-nil.")
(defvar guix-internal-repl-buffer-name "*Guix Internal REPL*"
"Default name of an internal Guix REPL buffer.")
(defvar guix-before-repl-operation-hook nil
"Hook run before executing an operation in Guix REPL.")
(defvar guix-after-repl-operation-hook
'(guix-emacs-load-autoloads-maybe
guix-repl-operation-success-message)
"Hook run after executing successful operation in Guix REPL.")
(defvar guix-repl-operation-p nil
"Non-nil, if current operation is performed by `guix-eval-in-repl'.
This internal variable is used to distinguish Guix operations
from operations performed in Guix REPL by a user.")
(defvar guix-repl-operation-type nil
"Type of the current operation performed by `guix-eval-in-repl'.
This internal variable is used to define what actions should be
executed after the current operation succeeds.
See `guix-eval-in-repl' for details.")
(defun guix-repl-operation-success-message ()
"Message telling about successful Guix operation."
(message "Guix operation has been performed."))
(defun guix-get-guile-program (&optional internal)
"Return a value suitable for `geiser-guile-binary'."
(if (or internal
(not guix-use-guile-server))
guix-guile-program
(append (if (listp guix-guile-program)
guix-guile-program
(list guix-guile-program))
;; Guile understands "--listen=..." but not "--listen ..."
(list (concat "--listen="
(number-to-string guix-default-port))))))
(defun guix-start-process-maybe (&optional start-msg end-msg)
"Start Geiser REPL configured for Guix if needed.
START-MSG and END-MSG are strings displayed in the minibuffer in
the beginning and in the end of the starting process. If nil,
display default messages."
(guix-start-repl-maybe nil
(or start-msg "Starting Guix REPL ...")
(or end-msg "Guix REPL has been started."))
(if guix-use-guile-server
(guix-start-repl-maybe 'internal)
(setq guix-internal-repl-buffer guix-repl-buffer)))
(defun guix-start-repl-maybe (&optional internal start-msg end-msg)
"Start Guix REPL if needed.
If INTERNAL is non-nil, start an internal REPL.
START-MSG and END-MSG are strings displayed in the minibuffer in
the beginning and in the end of the process. If nil, do not
display messages."
(let* ((repl-var (guix-get-repl-buffer-variable internal))
(repl (symbol-value repl-var)))
(unless (and (buffer-live-p repl)
(get-buffer-process repl))
(and start-msg (message start-msg))
(setq guix-repl-operation-p nil)
(let ((geiser-guile-binary (guix-get-guile-program internal))
(geiser-guile-init-file (or internal guix-helper-file))
(repl (get-buffer-create
(guix-get-repl-buffer-name internal))))
(condition-case err
(guix-start-repl repl
(and internal
(geiser-repl--read-address
"localhost" guix-default-port)))
(text-read-only
(error (concat "Couldn't start Guix REPL. Perhaps the port %s is busy.\n"
"See buffer '%s' for details")
guix-default-port (buffer-name repl))))
(set repl-var repl)
(and end-msg (message end-msg))
(unless internal
(run-hooks 'guix-after-start-repl-hook))))))
(defun guix-start-repl (buffer &optional address)
"Start Guix REPL in BUFFER.
If ADDRESS is non-nil, connect to a remote guile process using
this address (it should be defined by
`geiser-repl--read-address')."
;; A mix of the code from `geiser-repl--start-repl' and
;; `geiser-repl--to-repl-buffer'.
(let ((impl 'guile)
(geiser-guile-load-path (cons guix-load-path
geiser-guile-load-path))
(geiser-repl-startup-time guix-repl-startup-time))
(with-current-buffer buffer
(geiser-repl-mode)
(geiser-impl--set-buffer-implementation impl)
(geiser-repl--autodoc-mode -1)
(goto-char (point-max))
(let ((prompt (geiser-con--combined-prompt
geiser-guile--prompt-regexp
geiser-guile--debugger-prompt-regexp)))
(geiser-repl--save-remote-data address)
(geiser-repl--start-scheme impl address prompt)
(geiser-repl--quit-setup)
(geiser-repl--history-setup)
(setq-local geiser-repl--repls (list buffer))
(geiser-repl--set-this-buffer-repl buffer)
(setq geiser-repl--connection
(geiser-con--make-connection
(get-buffer-process (current-buffer))
geiser-guile--prompt-regexp
geiser-guile--debugger-prompt-regexp))
(geiser-repl--startup impl address)
(geiser-repl--autodoc-mode 1)
(geiser-company--setup geiser-repl-company-p)
(add-hook 'comint-output-filter-functions
'guix-repl-output-filter
nil t)
(set-process-query-on-exit-flag
(get-buffer-process (current-buffer))
geiser-repl-query-on-kill-p)))))
(defun guix-repl-output-filter (str)
"Filter function suitable for `comint-output-filter-functions'.
This is a replacement for `geiser-repl--output-filter'."
(cond
((string-match-p geiser-guile--prompt-regexp str)
(geiser-autodoc--disinhibit-autodoc)
(when guix-repl-operation-p
(setq guix-repl-operation-p nil)
(run-hooks 'guix-after-repl-operation-hook)
;; Run hooks specific to the current operation type.
(when guix-repl-operation-type
(let ((type-hook (intern
(concat "guix-after-"
(symbol-name guix-repl-operation-type)
"-hook"))))
(setq guix-repl-operation-type nil)
(and (boundp type-hook)
(run-hooks type-hook))))))
((string-match geiser-guile--debugger-prompt-regexp str)
(setq guix-repl-operation-p nil)
(geiser-con--connection-set-debugging geiser-repl--connection
(match-beginning 0))
(geiser-autodoc--disinhibit-autodoc))))
(defun guix-repl-exit (&optional internal no-wait)
"Exit the current Guix REPL.
If INTERNAL is non-nil, exit the internal REPL.
If NO-WAIT is non-nil, do not wait for the REPL process to exit:
send a kill signal to it and return immediately."
(let ((repl (symbol-value (guix-get-repl-buffer-variable internal))))
(when (get-buffer-process repl)
(with-current-buffer repl
(geiser-con--connection-deactivate geiser-repl--connection t)
(comint-kill-subjob)
(unless no-wait
(while (get-buffer-process repl)
(sleep-for 0.1)))))))
(defun guix-get-repl-buffer (&optional internal)
"Return Guix REPL buffer; start REPL if needed.
If INTERNAL is non-nil, return an additional internal REPL."
(guix-start-process-maybe)
(let ((repl (symbol-value (guix-get-repl-buffer-variable internal))))
;; If a new Geiser REPL is started, `geiser-repl--repl' variable may
;; be set to the new value in a Guix REPL, so set it back to a
;; proper value here.
(with-current-buffer repl
(geiser-repl--set-this-buffer-repl repl))
repl))
(defun guix-get-repl-buffer-variable (&optional internal)
"Return the name of a variable with a REPL buffer."
(if internal
'guix-internal-repl-buffer
'guix-repl-buffer))
(defun guix-get-repl-buffer-name (&optional internal)
"Return the name of a REPL buffer."
(if internal
guix-internal-repl-buffer-name
guix-repl-buffer-name))
(defun guix-switch-to-repl (&optional internal)
"Switch to Guix REPL.
If INTERNAL is non-nil (interactively with prefix), switch to the
additional internal REPL if it exists."
(interactive "P")
(geiser-repl--switch-to-buffer (guix-get-repl-buffer internal)))
;;; Evaluating expressions
(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 &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-in-repl (str &optional operation-buffer operation-type)
"Switch to Guix REPL and evaluate STR with guile expression there.
If OPERATION-BUFFER is non-nil, it should be a buffer from which
the current operation was performed.
If OPERATION-TYPE is non-nil, it should be a symbol. After
successful executing of the current operation,
`guix-after-OPERATION-TYPE-hook' is called."
(run-hooks 'guix-before-repl-operation-hook)
(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)))
(provide 'guix-backend)
;;; guix-backend.el ends here
+1066
View File
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
;;; guix-emacs.el --- Emacs packages installed with Guix
;; Copyright © 2014 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 working with Emacs packages
;; installed with Guix.
;;; Code:
(require 'guix-profiles)
(defcustom guix-emacs-activate-after-operation t
"Activate Emacs packages after installing.
If nil, do not load autoloads of the Emacs packages after
they are successfully installed."
:type 'boolean
:group 'guix)
(defvar guix-emacs-autoloads nil
"List of the last loaded Emacs autoloads.")
(defun guix-emacs-directory (&optional profile)
"Return directory with Emacs packages installed in PROFILE.
If PROFILE is nil, use `guix-user-profile'."
(expand-file-name "share/emacs/site-lisp"
(or profile guix-user-profile)))
(defun guix-emacs-find-autoloads (&optional profile)
"Return list of autoloads of Emacs packages installed in PROFILE.
If PROFILE is nil, use `guix-user-profile'.
Return nil if there are no emacs packages installed in PROFILE."
(let ((dir (guix-emacs-directory profile)))
(if (file-directory-p dir)
(directory-files dir 'full-name "-autoloads\\.el\\'")
(message "Directory '%s' does not exist." dir)
nil)))
;;;###autoload
(defun guix-emacs-load-autoloads (&optional all)
"Load autoloads for Emacs packages installed in a user profile.
If ALL is nil, activate only those packages that were installed
after the last activation, otherwise activate all Emacs packages
installed in `guix-user-profile'."
(interactive "P")
(let* ((autoloads (guix-emacs-find-autoloads))
(files (if all
autoloads
(cl-nset-difference autoloads guix-emacs-autoloads
:test #'string=))))
(dolist (file files)
(load file 'noerror))
(setq guix-emacs-autoloads autoloads)))
(defun guix-emacs-load-autoloads-maybe ()
"Load autoloads for Emacs packages if needed.
See `guix-emacs-activate-after-operation' for details."
(and guix-emacs-activate-after-operation
(guix-emacs-load-autoloads)))
(provide 'guix-emacs)
;;; guix-emacs.el ends here
+65
View File
@@ -0,0 +1,65 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This is an auxiliary file for the Emacs UI. It is used to add Guix
;; directories to path variables and to load the main code.
;;; Code:
(use-modules (ice-9 regex)
(srfi srfi-26))
(define %guix-dir)
;; The code is taken from guix executable script
(define (set-paths!)
(define-syntax-rule (push! elt v) (set! v (cons elt v)))
(define config-lookup
(let ((config '(("prefix" . "@prefix@")
("guilemoduledir" . "@guilemoduledir@")))
(var-ref-regexp (make-regexp "\\$\\{([a-z]+)\\}")))
(define (expand-var-ref match)
(lookup (match:substring match 1)))
(define (expand str)
(regexp-substitute/global #f var-ref-regexp str
'pre expand-var-ref 'post))
(define (lookup name)
(expand (assoc-ref config name)))
lookup))
(let ((module-dir (config-lookup "guilemoduledir"))
(updates-dir (and=> (or (getenv "XDG_CONFIG_HOME")
(and=> (getenv "HOME")
(cut string-append <> "/.config")))
(cut string-append <> "/guix/latest"))))
(push! module-dir %load-path)
(push! module-dir %load-compiled-path)
(if (and updates-dir (file-exists? updates-dir))
(begin
(set! %guix-dir updates-dir)
(push! updates-dir %load-path)
(push! updates-dir %load-compiled-path))
(set! %guix-dir module-dir))))
(set-paths!)
(load-from-path "guix-main")
+92
View File
@@ -0,0 +1,92 @@
;;; guix-history.el --- History of buffer information
;; Copyright © 2014 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 support for history of buffers similar to the
;; history of a `help-mode' buffer.
;;; Code:
(require 'cl-macs)
(defvar-local guix-history-stack-item nil
"Current item of the history.
A list of the form (FUNCTION [ARGS ...]).
The item is used by calling (apply FUNCTION ARGS).")
(put 'guix-history-stack-item 'permanent-local t)
(defvar-local guix-history-back-stack nil
"Stack (list) of visited items.
Each element of the list has a form of `guix-history-stack-item'.")
(put 'guix-history-back-stack 'permanent-local t)
(defvar-local guix-history-forward-stack nil
"Stack (list) of items visited with `guix-history-back'.
Each element of the list has a form of `guix-history-stack-item'.")
(put 'guix-history-forward-stack 'permanent-local t)
(defvar guix-history-size 0
"Maximum number of items saved in history.
If 0, the history is disabled.")
(defun guix-history-add (item)
"Add ITEM to history."
(and guix-history-stack-item
(push guix-history-stack-item guix-history-back-stack))
(setq guix-history-forward-stack nil
guix-history-stack-item item)
(when (>= (length guix-history-back-stack)
guix-history-size)
(setq guix-history-back-stack
(cl-loop for elt in guix-history-back-stack
for i from 1 to guix-history-size
collect elt))))
(defun guix-history-replace (item)
"Replace current item in history with ITEM."
(setq guix-history-stack-item item))
(defun guix-history-goto (item)
"Go to the ITEM of history.
ITEM should have the form of `guix-history-stack-item'."
(or (listp item)
(error "Wrong value of history element"))
(setq guix-history-stack-item item)
(apply (car item) (cdr item)))
(defun guix-history-back ()
"Go back to the previous element of history in the current buffer."
(interactive)
(or guix-history-back-stack
(user-error "No previous element in history"))
(push guix-history-stack-item guix-history-forward-stack)
(guix-history-goto (pop guix-history-back-stack)))
(defun guix-history-forward ()
"Go forward to the next element of history in the current buffer."
(interactive)
(or guix-history-forward-stack
(user-error "No next element in history"))
(push guix-history-stack-item guix-history-back-stack)
(guix-history-goto (pop guix-history-forward-stack)))
(provide 'guix-history)
;;; guix-history.el ends here
+870
View File
@@ -0,0 +1,870 @@
;;; guix-info.el --- Info buffers for displaying entries -*- lexical-binding: t -*-
;; Copyright © 2014 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 help-like buffer for displaying information
;; about Guix packages and generations.
;;; Code:
(require 'guix-base)
(require 'guix-utils)
(defgroup guix-info nil
"General settings for info buffers."
:prefix "guix-info-"
:group 'guix)
(defface guix-info-param-title
'((t :inherit font-lock-type-face))
"Face used for titles of parameters."
:group 'guix-info)
(defface guix-info-file-path
'((t :inherit link))
"Face used for file paths."
:group 'guix-info)
(defface guix-info-url
'((t :inherit link))
"Face used for URLs."
:group 'guix-info)
(defface guix-info-time
'((t :inherit font-lock-constant-face))
"Face used for timestamps."
:group 'guix-info)
(defface guix-info-action-button
'((((type x w32 ns) (class color))
:box (:line-width 2 :style released-button)
:background "lightgrey" :foreground "black")
(t :inherit button))
"Face used for action buttons."
:group 'guix-info)
(defface guix-info-action-button-mouse
'((((type x w32 ns) (class color))
:box (:line-width 2 :style released-button)
:background "grey90" :foreground "black")
(t :inherit highlight))
"Mouse face used for action buttons."
:group 'guix-info)
(defcustom guix-info-ignore-empty-vals nil
"If non-nil, do not display parameters with nil values."
:type 'boolean
:group 'guix-info)
(defvar guix-info-param-title-format "%-18s: "
"String used to format a title of a parameter.
It should be a '%s'-sequence. After inserting a title formatted
with this string, a value of the parameter is inserted.
This string is used by `guix-info-insert-title-default'.")
(defvar guix-info-multiline-prefix (make-string 20 ?\s)
"String used to format multi-line parameter values.
If a value occupies more than one line, this string is inserted
in the beginning of each line after the first one.
This string is used by `guix-info-insert-val-default'.")
(defvar guix-info-indent 2
"Number of spaces used to indent various parts of inserted text.")
(defvar guix-info-fill-column 60
"Column used for filling (word wrapping) parameters with long lines.
If a value is not multi-line and it occupies more than this
number of characters, it will be split into several lines.")
(defvar guix-info-delimiter "\n\f\n"
"String used to separate entries.")
(defvar guix-info-insert-methods
'((package
(name guix-package-info-name)
(version guix-package-info-version)
(license guix-package-info-license)
(synopsis guix-package-info-synopsis)
(description guix-package-info-insert-description
guix-info-insert-title-simple)
(outputs guix-package-info-insert-outputs
guix-info-insert-title-simple)
(source guix-package-info-insert-source
guix-info-insert-title-simple)
(home-url guix-info-insert-url)
(inputs guix-package-info-insert-inputs)
(native-inputs guix-package-info-insert-native-inputs)
(propagated-inputs guix-package-info-insert-propagated-inputs)
(location guix-package-info-insert-location))
(installed
(path guix-package-info-insert-output-path
guix-info-insert-title-simple)
(dependencies guix-package-info-insert-output-dependencies
guix-info-insert-title-simple))
(output
(name guix-package-info-name)
(version guix-output-info-insert-version)
(output guix-output-info-insert-output)
(source guix-package-info-insert-source
guix-info-insert-title-simple)
(path guix-package-info-insert-output-path
guix-info-insert-title-simple)
(dependencies guix-package-info-insert-output-dependencies
guix-info-insert-title-simple)
(license guix-package-info-license)
(synopsis guix-package-info-synopsis)
(description guix-package-info-insert-description
guix-info-insert-title-simple)
(home-url guix-info-insert-url)
(inputs guix-package-info-insert-inputs)
(native-inputs guix-package-info-insert-native-inputs)
(propagated-inputs guix-package-info-insert-propagated-inputs)
(location guix-package-info-insert-location))
(generation
(number guix-generation-info-insert-number)
(current guix-generation-info-insert-current)
(path guix-info-insert-file-path)
(time guix-info-insert-time)))
"Methods for inserting parameter values.
Each element of the list should have a form:
(ENTRY-TYPE . ((PARAM INSERT-VALUE [INSERT-TITLE]) ...))
INSERT-VALUE may be either nil, a face name or a function. If it
is nil or a face, `guix-info-insert-val-default' function is
called with parameter value and INSERT-VALUE as arguments. If it
is a function, this function is called with parameter value and
entry info (alist of parameters and their values) as arguments.
INSERT-TITLE may be either nil, a face name or a function. If it
is nil or a face, `guix-info-insert-title-default' function is
called with parameter title and INSERT-TITLE as arguments. If it
is a function, this function is called with parameter title as
argument.")
(defvar guix-info-displayed-params
'((package name version synopsis outputs source location home-url
license inputs native-inputs propagated-inputs description)
(output name version output synopsis source path dependencies location
home-url license inputs native-inputs propagated-inputs
description)
(installed path dependencies)
(generation number prev-number current time path))
"List of displayed entry parameters.
Each element of the list should have a form:
(ENTRY-TYPE . (PARAM ...))
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))
(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))
(defun guix-info-get-indent (&optional level)
"Return `guix-info-indent' \"multiplied\" by LEVEL spaces.
LEVEL is 1 by default."
(make-string (* guix-info-indent (or level 1)) ?\s))
(defun guix-info-insert-indent (&optional level)
"Insert `guix-info-indent' spaces LEVEL times (1 by default)."
(insert (guix-info-get-indent level)))
(defun guix-info-insert-entries (entries entry-type)
"Display ENTRIES of ENTRY-TYPE in the current info buffer.
ENTRIES should have a form of `guix-entries'."
(guix-mapinsert (lambda (entry)
(guix-info-insert-entry entry entry-type))
entries
guix-info-delimiter))
(defun guix-info-insert-entry-default (entry entry-type
&optional indent-level)
"Insert ENTRY of ENTRY-TYPE into the current info buffer.
If INDENT-LEVEL is non-nil, indent displayed information by this
number of `guix-info-indent' spaces."
(let ((region-beg (point)))
(mapc (lambda (param)
(guix-info-insert-param param entry entry-type))
(guix-info-get-displayed-params entry-type))
(when indent-level
(indent-rigidly region-beg (point)
(* indent-level guix-info-indent)))))
(defun guix-info-insert-entry (entry entry-type &optional indent-level)
"Insert ENTRY of ENTRY-TYPE into the current info buffer.
Use `guix-info-insert-ENTRY-TYPE-function' or
`guix-info-insert-entry-default' if it is nil."
(let* ((var (intern (concat "guix-info-insert-"
(symbol-name entry-type)
"-function")))
(fun (symbol-value var)))
(if (functionp fun)
(funcall fun entry)
(guix-info-insert-entry-default entry entry-type indent-level))))
(defun guix-info-insert-param (param entry entry-type)
"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)))
(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))
(val-method (car insert-methods))
(title-method (cadr insert-methods)))
(guix-info-method-funcall title title-method
#'guix-info-insert-title-default)
(guix-info-method-funcall val val-method
#'guix-info-insert-val-default
entry)
(insert "\n")))))
(defun guix-info-method-funcall (val method default-fun &rest args)
"Call METHOD or DEFAULT-FUN.
If METHOD is a function and VAL is non-nil, call this
function by applying it to VAL and ARGS.
If METHOD is a face, propertize inserted VAL with this face."
(cond ((or (null method)
(facep method))
(funcall default-fun val method))
((functionp method)
(apply method val args))
(t (error "Unknown method '%S'" method))))
(defun guix-info-insert-title-default (title &optional face format)
"Insert TITLE formatted with `guix-info-param-title-format' at point."
(guix-format-insert title
(or face 'guix-info-param-title)
(or format guix-info-param-title-format)))
(defun guix-info-insert-title-simple (title &optional face)
"Insert TITLE at point."
(guix-info-insert-title-default title face "%s:"))
(defun guix-info-insert-val-default (val &optional face)
"Format and insert parameter value VAL at point.
This function is intended to be called after
`guix-info-insert-title-default'.
If VAL is a one-line string longer than `guix-info-fill-column',
split it into several short lines. See also
`guix-info-multiline-prefix'.
If FACE is non-nil, propertize inserted line(s) with this FACE."
(guix-split-insert val face
guix-info-fill-column
(concat "\n" guix-info-multiline-prefix)))
(defun guix-info-insert-val-simple (val &optional face-or-fun)
"Format and insert parameter value VAL at point.
This function is intended to be called after
`guix-info-insert-title-simple'.
If VAL is a one-line string longer than `guix-info-fill-column',
split it into several short lines and indent each line with
`guix-info-indent' spaces.
If FACE-OR-FUN is a face, propertize inserted line(s) with this FACE.
If FACE-OR-FUN is a function, call it with VAL as argument. If
VAL is a list, call the function on each element of this list."
(if (null val)
(progn (guix-info-insert-indent)
(guix-format-insert nil))
(let ((prefix (concat "\n" (guix-info-get-indent))))
(insert prefix)
(if (functionp face-or-fun)
(guix-mapinsert face-or-fun
(if (listp val) val (list val))
prefix)
(guix-split-insert val face-or-fun
guix-info-fill-column prefix)))))
(defun guix-info-insert-time (seconds &optional _)
"Insert formatted time string using SECONDS at point."
(guix-info-insert-val-default (guix-get-time-string seconds)
'guix-info-time))
;;; Buttons
(defvar guix-info-button-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map button-map)
(define-key map (kbd "c") 'guix-info-button-copy-label)
map)
"Keymap for buttons in info buffers.")
(define-button-type 'guix
'keymap guix-info-button-map
'follow-link t)
(define-button-type 'guix-action
:supertype 'guix
'face 'guix-info-action-button
'mouse-face 'guix-info-action-button-mouse)
(define-button-type 'guix-file
:supertype 'guix
'face 'guix-info-file-path
'help-echo "Find file"
'action (lambda (btn)
(guix-find-file (button-label btn))))
(define-button-type 'guix-url
:supertype 'guix
'face 'guix-info-url
'help-echo "Browse URL"
'action (lambda (btn)
(browse-url (button-label btn))))
(define-button-type 'guix-package-location
:supertype 'guix
'face 'guix-package-info-location
'help-echo "Find location of this package"
'action (lambda (btn)
(guix-find-location (button-label btn))))
(define-button-type 'guix-package-name
:supertype 'guix
'face 'guix-package-info-name-button
'help-echo "Describe this package"
'action (lambda (btn)
(guix-get-show-entries guix-profile 'info guix-package-info-type
'name (button-label btn))))
(defun guix-info-button-copy-label (&optional pos)
"Copy a label of the button at POS into kill ring.
If POS is nil, use the current point position."
(interactive)
(let ((button (button-at (or pos (point)))))
(when button
(kill-new (button-label button)))))
(defun guix-info-insert-action-button (label action &optional message
&rest properties)
"Make action button with LABEL and insert it at point.
ACTION is a function called when the button is pressed. It
should accept button as the argument.
MESSAGE is a button message.
See `insert-text-button' for the meaning of PROPERTIES."
(apply #'guix-insert-button
label 'guix-action
'action action
'help-echo message
properties))
(defun guix-info-insert-file-path (path &optional _)
"Make button from file PATH and insert it at point."
(guix-insert-button path 'guix-file))
(defun guix-info-insert-url (url &optional _)
"Make button from URL and insert it at point."
(guix-insert-button url 'guix-url))
(defvar guix-info-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent
map (make-composed-keymap button-buffer-map
special-mode-map))
map)
"Parent keymap for info buffers.")
(define-derived-mode guix-info-mode special-mode "Guix-Info"
"Parent mode for displaying information in info buffers.")
;;; Displaying packages
(guix-define-buffer-type info package
:required (id installed non-unique))
(defface guix-package-info-heading
'((((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)
(defface guix-package-info-name
'((t :inherit font-lock-keyword-face))
"Face used for a name of a package."
:group 'guix-package-info)
(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)
(defface guix-package-info-version
'((t :inherit font-lock-builtin-face))
"Face used for a version of a package."
:group 'guix-package-info)
(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)
(defface guix-package-info-description
'((t))
"Face used for a description of a package."
:group 'guix-package-info)
(defface guix-package-info-license
'((t :inherit font-lock-string-face))
"Face used for a license of a package."
:group 'guix-package-info)
(defface guix-package-info-location
'((t :inherit link))
"Face used for a location of a package."
:group 'guix-package-info)
(defface guix-package-info-installed-outputs
'((default :weight bold)
(((class color) (min-colors 88) (background light))
:foreground "ForestGreen")
(((class color) (min-colors 88) (background dark))
:foreground "PaleGreen")
(((class color) (min-colors 8))
:foreground "green")
(t :underline t))
"Face used for installed outputs of a package."
:group 'guix-package-info)
(defface guix-package-info-uninstalled-outputs
'((t :weight bold))
"Face used for uninstalled outputs of a package."
:group 'guix-package-info)
(defface guix-package-info-obsolete
'((t :inherit error))
"Face used if a package is obsolete."
:group 'guix-package-info)
(defvar guix-info-insert-package-function
#'guix-package-info-insert-with-heading
"Function used to insert a package information.
It is called with a single argument - alist of package parameters.
If nil, insert package in a default way.")
(defvar guix-package-info-heading-params '(synopsis description)
"List of parameters displayed in a heading along with name and version.")
(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-package-info-heading)
(insert "\n\n")
(mapc (lambda (param)
(let ((val (guix-get-key-val entry param))
(face (guix-get-symbol (symbol-name param)
'info 'package)))
(when val
(guix-format-insert val (and (facep face) face))
(insert "\n\n"))))
guix-package-info-heading-params))
(defun guix-package-info-insert-with-heading (entry)
"Insert package ENTRY with its heading at point."
(guix-package-info-insert-heading entry)
(mapc (lambda (param)
(unless (or (memq param '(name version))
(memq param guix-package-info-heading-params))
(guix-info-insert-param param entry 'package)))
(guix-info-get-displayed-params 'package)))
(defun guix-package-info-insert-description (desc &optional _)
"Insert description DESC at point."
(guix-info-insert-val-simple desc 'guix-package-info-description))
(defun guix-package-info-insert-location (location &optional _)
"Make button from file LOCATION and insert it at point."
(guix-insert-button location 'guix-package-location))
(defmacro guix-package-info-define-insert-inputs (&optional type)
"Define a face and a function for inserting package inputs.
TYPE is a type of inputs.
Function name is `guix-package-info-insert-TYPE-inputs'.
Face name is `guix-package-info-TYPE-inputs'."
(let* ((type-str (symbol-name type))
(type-name (and type (concat type-str "-")))
(type-desc (and type (concat type-str " ")))
(face (intern (concat "guix-package-info-" type-name "inputs")))
(btn (intern (concat "guix-package-" type-name "input")))
(fun (intern (concat "guix-package-info-insert-" type-name "inputs"))))
`(progn
(defface ,face
'((t :inherit guix-package-info-name-button))
,(concat "Face used for " type-desc "inputs of a package.")
:group 'guix-package-info)
(define-button-type ',btn
:supertype 'guix-package-name
'face ',face)
(defun ,fun (inputs &optional _)
,(concat "Make buttons from " type-desc "INPUTS and insert them at point.")
(guix-package-info-insert-full-names inputs ',btn)))))
(guix-package-info-define-insert-inputs)
(guix-package-info-define-insert-inputs native)
(guix-package-info-define-insert-inputs propagated)
(defun guix-package-info-insert-full-names (names button-type)
"Make BUTTON-TYPE buttons from package NAMES and insert them at point.
NAMES is a list of strings."
(if names
(guix-info-insert-val-default
(with-temp-buffer
(guix-mapinsert (lambda (name)
(guix-insert-button name button-type))
names
guix-list-separator)
(buffer-substring (point-min) (point-max))))
(guix-format-insert nil)))
;;; Inserting outputs and installed parameters
(defvar guix-package-info-output-format "%-10s"
"String used to format output names of the packages.
It should be a '%s'-sequence. After inserting an output name
formatted with this string, an action button is inserted.")
(defvar guix-package-info-obsolete-string "(This package is obsolete)"
"String used if a package is obsolete.")
(defvar guix-info-insert-installed-function nil
"Function used to insert an installed information.
It is called with a single argument - alist of installed
parameters (`output', `path', `dependencies').
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)
(guix-package-info-insert-obsolete-text))
(and (guix-get-key-val entry 'non-unique)
(guix-get-key-val entry 'installed)
(guix-package-info-insert-non-unique-text
(guix-get-full-name entry)))
(insert "\n")
(mapc (lambda (output)
(guix-package-info-insert-output output entry))
outputs))
(defun guix-package-info-insert-obsolete-text ()
"Insert a message about obsolete package at point."
(guix-info-insert-indent)
(guix-format-insert guix-package-info-obsolete-string
'guix-package-info-obsolete))
(defun guix-package-info-insert-non-unique-text (full-name)
"Insert a message about non-unique package with FULL-NAME at point."
(insert "\n")
(guix-info-insert-indent)
(insert "Installed outputs are displayed for a non-unique ")
(guix-insert-button full-name 'guix-package-name)
(insert " package."))
(defun guix-package-info-insert-output (output entry)
"Insert OUTPUT at point.
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))
(installed-entry (cl-find-if
(lambda (entry)
(string= (guix-get-key-val entry 'output)
output))
installed))
(action-type (if installed-entry 'delete 'install)))
(guix-info-insert-indent)
(guix-format-insert output
(if installed-entry
'guix-package-info-installed-outputs
'guix-package-info-uninstalled-outputs)
guix-package-info-output-format)
(guix-package-info-insert-action-button action-type entry output)
(when obsolete
(guix-info-insert-indent)
(guix-package-info-insert-action-button 'upgrade entry output))
(insert "\n")
(when installed-entry
(guix-info-insert-entry installed-entry 'installed 2))))
(defun guix-package-info-insert-action-button (type entry output)
"Insert button to process an action on a package OUTPUT at point.
TYPE is one of the following symbols: `install', `delete', `upgrade'.
ENTRY is an alist with package info."
(let ((type-str (capitalize (symbol-name type)))
(full-name (guix-get-full-name entry output)))
(guix-info-insert-action-button
type-str
(lambda (btn)
(guix-process-package-actions
guix-profile
`((,(button-get btn 'action-type) (,(button-get btn 'id)
,(button-get btn 'output))))
(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))
'output output)))
(defun guix-package-info-insert-output-path (path &optional _)
"Insert PATH of the installed output."
(guix-info-insert-val-simple path #'guix-info-insert-file-path))
(defalias 'guix-package-info-insert-output-dependencies
'guix-package-info-insert-output-path)
;;; Inserting a source
(defface guix-package-info-source
'((t :inherit link :underline nil))
"Face used for a source URL of a package."
:group 'guix-package-info)
(defcustom guix-package-info-auto-find-source nil
"If non-nil, find a source file after pressing a \"Show\" button.
If nil, just display the source file path without finding."
:type 'boolean
:group 'guix-package-info)
(defcustom guix-package-info-auto-download-source t
"If nil, do not automatically download a source file if it doesn't exist.
After pressing a \"Show\" button, a derivation of the package
source is calculated and a store file path is displayed. If this
variable is non-nil and the source file does not exist in the
store, it will be automatically downloaded (with a possible
prompt depending on `guix-operation-confirm' variable)."
:type 'boolean
:group 'guix-package-info)
(defvar guix-package-info-download-buffer nil
"Buffer from which a current download operation was performed.")
(define-button-type 'guix-package-source
:supertype 'guix
'face 'guix-package-info-source
'help-echo ""
'action (lambda (_)
;; As a source may not be a real URL (e.g., "mirror://..."),
;; no action is bound to a source button.
(message "Yes, this is the source URL. What did you expect?")))
(defun guix-package-info-insert-source-url (url &optional _)
"Make button from source URL and insert it at point."
(guix-insert-button url 'guix-package-source))
(defun guix-package-info-show-source (entry-id package-id)
"Show file name of a package source in the current info buffer.
Find the file if needed (see `guix-package-info-auto-find-source').
ENTRY-ID is an ID of the current entry (package or output).
PACKAGE-ID is an ID of the package which source to show."
(let* ((entry (guix-get-entry-by-id entry-id guix-entries))
(file (guix-package-source-path package-id)))
(or file
(error "Couldn't define file path of the package source"))
(let* ((new-entry (cons (cons 'source-file file)
entry))
(entries (cl-substitute-if
new-entry
(lambda (entry)
(equal (guix-get-key-val entry 'id)
entry-id))
guix-entries
:count 1)))
(guix-redisplay-buffer :entries entries)
(if (file-exists-p file)
(if guix-package-info-auto-find-source
(guix-find-file file)
(message "The source store path is displayed."))
(if guix-package-info-auto-download-source
(guix-package-info-download-source package-id)
(message "The source does not exist in the store."))))))
(defun guix-package-info-download-source (package-id)
"Download a source of the package PACKAGE-ID."
(setq guix-package-info-download-buffer (current-buffer))
(guix-package-source-build-derivation
package-id
"The source does not exist in the store. Download it?"))
(defun guix-package-info-insert-source (source entry)
"Insert SOURCE from package ENTRY at point.
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)
entry-id)))
(if (null source-file)
(guix-info-insert-action-button
"Show"
(lambda (btn)
(guix-package-info-show-source (button-get btn 'entry-id)
(button-get btn 'package-id)))
"Show the source store path of the current package"
'entry-id entry-id
'package-id package-id)
(unless (file-exists-p source-file)
(guix-info-insert-action-button
"Download"
(lambda (btn)
(guix-package-info-download-source
(button-get btn 'package-id)))
"Download the source into the store"
'package-id package-id))
(guix-info-insert-val-simple source-file
#'guix-info-insert-file-path))
(guix-info-insert-val-simple source
#'guix-package-info-insert-source-url))))
(defun guix-package-info-redisplay-after-download ()
"Redisplay an 'info' buffer after downloading the package source.
This function is used to hide a \"Download\" button if needed."
(when (buffer-live-p guix-package-info-download-buffer)
(guix-redisplay-buffer :buffer guix-package-info-download-buffer)
(setq guix-package-info-download-buffer nil)))
(add-hook 'guix-after-source-download-hook
'guix-package-info-redisplay-after-download)
;;; Displaying outputs
(guix-define-buffer-type info output
:buffer-name "*Guix Package Info*"
:required (id package-id installed non-unique))
(defvar guix-info-insert-output-function nil
"Function used to insert an output information.
It is called with a single argument - alist of output parameters.
If nil, insert output in a default way.")
(defun guix-output-info-insert-version (version entry)
"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)
(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))
(action-type (if installed 'delete 'install)))
(guix-info-insert-val-default
output
(if installed
'guix-package-info-installed-outputs
'guix-package-info-uninstalled-outputs))
(guix-info-insert-indent)
(guix-package-info-insert-action-button action-type entry output)
(when obsolete
(guix-info-insert-indent)
(guix-package-info-insert-action-button 'upgrade entry output))))
;;; Displaying generations
(guix-define-buffer-type info generation)
(defface guix-generation-info-number
'((t :inherit font-lock-keyword-face))
"Face used for a number of a generation."
:group 'guix-generation-info)
(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)
(defface guix-generation-info-not-current
'((t nil))
"Face used if a generation is not the current one."
:group 'guix-generation-info)
(defvar guix-info-insert-generation-function nil
"Function used to insert a generation information.
It is called with a single argument - alist of generation parameters.
If nil, insert generation in a default way.")
(defun guix-generation-info-insert-number (number &optional _)
"Insert generation NUMBER and action buttons."
(guix-info-insert-val-default number 'guix-generation-info-number)
(guix-info-insert-indent)
(guix-info-insert-action-button
"Packages"
(lambda (btn)
(guix-get-show-entries guix-profile 'list guix-package-list-type
'generation (button-get btn 'number)))
"Show installed packages for this generation"
'number number)
(guix-info-insert-indent)
(guix-info-insert-action-button
"Delete"
(lambda (btn)
(guix-delete-generations guix-profile (list (button-get btn 'number))
(current-buffer)))
"Delete this generation"
'number number))
(defun guix-generation-info-insert-current (val entry)
"Insert boolean value VAL showing whether this generation is current."
(if val
(guix-info-insert-val-default "Yes" 'guix-generation-info-current)
(guix-info-insert-val-default "No" 'guix-generation-info-not-current)
(guix-info-insert-indent)
(guix-info-insert-action-button
"Switch"
(lambda (btn)
(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))))
(provide 'guix-info)
;;; guix-info.el ends here
+21
View File
@@ -0,0 +1,21 @@
(require 'guix-autoloads)
(require 'guix-emacs)
(defvar guix-load-path
(replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@")
"Directory with scheme files for \"guix.el\" package.")
(defcustom guix-package-enable-at-startup t
"If non-nil, activate Emacs packages installed in a user profile.
Set this variable to nil before requiring `guix-init' file to
avoid loading autoloads of Emacs packages installed in
`guix-user-profile'."
:type 'boolean
:group 'guix)
(add-to-list 'load-path (guix-emacs-directory))
(when guix-package-enable-at-startup
(guix-emacs-load-autoloads 'all))
(provide 'guix-init)
+865
View File
@@ -0,0 +1,865 @@
;;; guix-list.el --- List buffers for displaying entries -*- lexical-binding: t -*-
;; Copyright © 2014 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 list-like buffer for displaying information
;; about Guix packages and generations.
;;; Code:
(require 'cl-lib)
(require 'tabulated-list)
(require 'guix-info)
(require 'guix-base)
(require 'guix-utils)
(defgroup guix-list nil
"General settings for list buffers."
:prefix "guix-list-"
:group 'guix)
(defface guix-list-file-path
'((t :inherit guix-info-file-path))
"Face used for file paths."
:group 'guix-list)
(defcustom guix-list-describe-warning-count 10
"The maximum number of entries for describing without a warning.
If a user wants to describe more than this number of marked
entries, he will be prompted for confirmation."
:type 'integer
:group 'guix-list)
(defvar guix-list-column-format
`((package
(name 20 t)
(version 10 nil)
(outputs 13 t)
(installed 13 t)
(synopsis 30 nil))
(output
(name 20 t)
(version 10 nil)
(output 9 t)
(installed 12 t)
(synopsis 30 nil))
(generation
(number 5
,(lambda (a b) (guix-list-sort-numerically 0 a b))
:right-align t)
(current 10 t)
(time 20 t)
(path 30 t)))
"Columns displayed in list buffers.
Each element of the list has a form:
(ENTRY-TYPE . ((PARAM WIDTH SORT . PROPS) ...))
PARAM is the name of an entry parameter of ENTRY-TYPE. For the
meaning of WIDTH, SORT and PROPS, see `tabulated-list-format'.")
(defvar guix-list-column-titles
'((generation
(number . "N.")))
"Column titles for list buffers.
Has the same structure as `guix-param-titles', but titles from
this list have a priority.")
(defvar guix-list-column-value-methods
'((package
(name . guix-package-list-get-name)
(synopsis . guix-list-get-one-line)
(description . guix-list-get-one-line)
(installed . guix-package-list-get-installed-outputs))
(output
(name . guix-package-list-get-name)
(synopsis . guix-list-get-one-line)
(description . guix-list-get-one-line))
(generation
(current . guix-generation-list-get-current)
(time . guix-list-get-time)
(path . guix-list-get-file-path)))
"Methods for inserting parameter values in columns.
Each element of the list has a form:
(ENTRY-TYPE . ((PARAM . FUN) ...))
PARAM is the name of an entry parameter of ENTRY-TYPE.
FUN is a function returning a value that will be inserted. The
function is called with 2 arguments: the first one is the value
of the parameter; the second argument is an entry info (alist of
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)
(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))
(defun guix-list-get-displayed-params (entry-type)
"Return list of parameters of ENTRY-TYPE that should be displayed."
(mapcar #'car
(guix-list-get-column-format entry-type)))
(defun guix-list-get-sort-key (entry-type param &optional invert)
"Return suitable sort key for `tabulated-list-sort-key'.
Define column title by ENTRY-TYPE and PARAM. If INVERT is
non-nil, invert the sort."
(when (memq param (guix-list-get-displayed-params entry-type))
(cons (guix-list-get-param-title entry-type param) invert)))
(defun guix-list-sort-numerically (column a b)
"Compare COLUMN of tabulated entries A and B numerically.
It is a sort predicate for `tabulated-list-format'.
Return non-nil, if B is bigger than A."
(cl-flet ((num (entry)
(string-to-number (aref (cadr entry) column))))
(> (num b) (num a))))
(defun guix-list-make-tabulated-vector (entry-type fun)
"Call FUN on each column specification for ENTRY-TYPE.
FUN is called with 2 argument: parameter name and column
specification (see `guix-list-column-format').
Return a vector made of values of FUN calls."
(apply #'vector
(mapcar (lambda (col-spec)
(funcall fun (car col-spec) (cdr col-spec)))
(guix-list-get-column-format entry-type))))
(defun guix-list-get-list-format (entry-type)
"Return ENTRY-TYPE list specification for `tabulated-list-format'."
(guix-list-make-tabulated-vector
entry-type
(lambda (param spec)
(cons (guix-list-get-param-title entry-type param)
spec))))
(defun guix-list-insert-entries (entries entry-type)
"Display ENTRIES of ENTRY-TYPE in the current list buffer.
ENTRIES should have a form of `guix-entries'."
(setq tabulated-list-entries
(guix-list-get-tabulated-entries entries entry-type))
(tabulated-list-print))
(defun guix-list-get-tabulated-entries (entries entry-type)
"Return list of values of ENTRY-TYPE for `tabulated-list-entries'.
Values are taken from ENTRIES which should have the form of
`guix-entries'."
(mapcar (lambda (entry)
(list (guix-get-key-val entry 'id)
(guix-list-get-tabulated-entry entry entry-type)))
entries))
(defun guix-list-get-tabulated-entry (entry entry-type)
"Return array of values for `tabulated-list-entries'.
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)))
(if fun
(funcall fun val entry)
(guix-get-string val))))))
(defun guix-list-get-one-line (val &optional _)
"Return one-line string from a multi-line string VAL.
VAL may be nil."
(if val
(guix-get-one-line val)
(guix-get-string nil)))
(defun guix-list-get-time (seconds &optional _)
"Return formatted time string from SECONDS."
(guix-get-time-string seconds))
(defun guix-list-get-file-path (path &optional _)
"Return PATH button specification for `tabulated-list-entries'."
(list path
'face 'guix-list-file-path
'action (lambda (btn) (find-file (button-label btn)))
'follow-link t
'help-echo "Find file"))
(defun guix-list-current-id ()
"Return ID of the current entry."
(or (tabulated-list-get-id)
(user-error "No entry here")))
(defun guix-list-current-entry ()
"Return alist of the current entry info."
(guix-get-entry-by-id (guix-list-current-id) guix-entries))
(defun guix-list-for-each-line (fun &rest args)
"Call FUN with ARGS for each entry line."
(or (derived-mode-p 'guix-list-mode)
(error "The current buffer is not in Guix List mode"))
(save-excursion
(goto-char (point-min))
(while (not (eobp))
(apply fun args)
(forward-line))))
(defun guix-list-fold-lines (fun init)
"Fold over entry lines in the current list buffer.
Call FUN with RESULT as argument for each line, using INIT as
the initial value of RESULT. Return the final result."
(let ((res init))
(guix-list-for-each-line
(lambda () (setq res (funcall fun res))))
res))
;;; Marking and sorting
(defvar-local guix-list-marked nil
"List of the marked entries.
Each element of the list has a form:
(ID MARK-NAME . ARGS)
ID is an entry ID.
MARK-NAME is a symbol from `guix-list-mark-alist'.
ARGS is a list of additional values.")
(defvar guix-list-mark-alist
'((empty . ?\s)
(general . ?*))
"Alist of available mark names and mark characters.")
(defsubst guix-list-get-mark (name)
"Return mark character by its NAME."
(or (guix-get-key-val guix-list-mark-alist name)
(error "Mark '%S' not found" name)))
(defsubst guix-list-get-mark-string (name)
"Return mark string by its NAME."
(string (guix-list-get-mark name)))
(defun guix-list-current-mark ()
"Return mark character of the current line."
(char-after (line-beginning-position)))
(defun guix-list-get-marked (&rest mark-names)
"Return list of specs of entries marked with any mark from MARK-NAMES.
Entry specs are elements from `guix-list-marked' list.
If MARK-NAMES are not specified, use all marks from
`guix-list-mark-alist' except the `empty' one."
(or mark-names
(setq mark-names
(delq 'empty
(mapcar #'car guix-list-mark-alist))))
(cl-remove-if-not (lambda (assoc)
(memq (cadr assoc) mark-names))
guix-list-marked))
(defun guix-list-get-marked-args (mark-name)
"Return list of (ID . ARGS) elements from lines marked with MARK-NAME.
See `guix-list-marked' for the meaning of ARGS."
(mapcar (lambda (spec)
(let ((id (car spec))
(args (cddr spec)))
(cons id args)))
(guix-list-get-marked mark-name)))
(defun guix-list-get-marked-id-list (&rest mark-names)
"Return list of IDs of entries marked with any mark from MARK-NAMES.
See `guix-list-get-marked' for details."
(mapcar #'car (apply #'guix-list-get-marked mark-names)))
(defun guix-list-mark (mark-name &optional advance &rest args)
"Put a mark on the current line.
Also add the current entry to `guix-list-marked' using its ID and ARGS.
MARK-NAME is a symbol from `guix-list-mark-alist'.
If ADVANCE is non-nil, move forward by one line after marking.
Interactively, put a general mark and move to the next line."
(interactive '(general t))
(let ((id (guix-list-current-id)))
(if (eq mark-name 'empty)
(setq guix-list-marked (assq-delete-all id guix-list-marked))
(let ((assoc (assq id guix-list-marked))
(val (cons mark-name args)))
(if assoc
(setcdr assoc val)
(push (cons id val) guix-list-marked)))))
(tabulated-list-put-tag (guix-list-get-mark-string mark-name)
advance))
(defun guix-list-mark-all (mark-name)
"Mark all lines with MARK-NAME mark.
MARK-NAME is a symbol from `guix-list-mark-alist'.
Interactively, put a general mark on all lines."
(interactive '(general))
(guix-list-for-each-line #'guix-list-mark mark-name))
(defun guix-list-unmark (&optional arg)
"Unmark the current line and move to the next line.
With ARG, unmark all lines."
(interactive "P")
(if arg
(guix-list-unmark-all)
(guix-list-mark 'empty t)))
(defun guix-list-unmark-backward ()
"Move up one line and unmark it."
(interactive)
(forward-line -1)
(guix-list-mark 'empty))
(defun guix-list-unmark-all ()
"Unmark all lines."
(interactive)
(guix-list-mark-all 'empty))
(defun guix-list-restore-marks ()
"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)))))
(tabulated-list-put-tag
(guix-list-get-mark-string (or mark-name 'empty)))))))
(defun guix-list-sort (&optional n)
"Sort guix list entries by the column at point.
With a numeric prefix argument N, sort the Nth column.
Same as `tabulated-list-sort', but also restore marks after sorting."
(interactive "P")
(tabulated-list-sort n)
(guix-list-restore-marks))
(defvar guix-list-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map tabulated-list-mode-map)
(define-key map (kbd "RET") 'guix-list-describe)
(define-key map (kbd "m") 'guix-list-mark)
(define-key map (kbd "*") 'guix-list-mark)
(define-key map (kbd "M") 'guix-list-mark-all)
(define-key map (kbd "u") 'guix-list-unmark)
(define-key map (kbd "DEL") 'guix-list-unmark-backward)
(define-key map [remap tabulated-list-sort] 'guix-list-sort)
map)
"Parent keymap for list buffers.")
(define-derived-mode guix-list-mode tabulated-list-mode "Guix-List"
"Parent mode for displaying information in list buffers."
(setq tabulated-list-padding 2))
(defmacro guix-list-define-entry-type (entry-type &rest args)
"Define common stuff for displaying ENTRY-TYPE entries in list buffers.
Remaining argument (ARGS) should have a form [KEYWORD VALUE] ... The
following keywords are available:
- `:sort-key' - default sort key for the tabulated list buffer.
- `:invert-sort' - if non-nil, invert initial sort.
- `:marks' - default value for the defined
`guix-ENTRY-TYPE-mark-alist' variable.
This macro defines the following functions:
- `guix-ENTRY-TYPE-mark-MARK-NAME' functions for each mark
specified in `:marks' argument."
(let* ((entry-type-str (symbol-name entry-type))
(prefix (concat "guix-" entry-type-str "-list"))
(mode-str (concat prefix "-mode"))
(init-fun (intern (concat prefix "-mode-initialize")))
(marks-var (intern (concat prefix "-mark-alist")))
(marks-val nil)
(sort-key nil)
(invert-sort nil))
;; Process the keyword args.
(while (keywordp (car args))
(pcase (pop args)
(`:sort-key (setq sort-key (pop args)))
(`:invert-sort (setq invert-sort (pop args)))
(`:marks (setq marks-val (pop args)))
(_ (pop args))))
`(progn
(defvar ,marks-var ',marks-val
,(concat "Alist of additional marks for `" mode-str "'.\n"
"Marks from this list are added to `guix-list-mark-alist'."))
,@(mapcar (lambda (mark-spec)
(let* ((mark-name (car mark-spec))
(mark-name-str (symbol-name mark-name)))
`(defun ,(intern (concat prefix "-mark-" mark-name-str "-simple")) ()
,(concat "Put '" mark-name-str "' mark and move to the next line.\n"
"Also add the current entry to `guix-list-marked'.")
(interactive)
(guix-list-mark ',mark-name t))))
marks-val)
(defun ,init-fun ()
,(concat "Initial settings for `" mode-str "'.")
,(when sort-key
`(setq tabulated-list-sort-key
(guix-list-get-sort-key
',entry-type ',sort-key ,invert-sort)))
(setq tabulated-list-format
(guix-list-get-list-format ',entry-type))
(setq-local guix-list-mark-alist
(append guix-list-mark-alist ,marks-var))
(tabulated-list-init-header)))))
(put 'guix-list-define-entry-type 'lisp-indent-function 'defun)
(defun guix-list-describe-maybe (entry-type ids)
"Describe ENTRY-TYPE entries in info buffer using list of IDS."
(let ((count (length ids)))
(when (or (<= count guix-list-describe-warning-count)
(y-or-n-p (format "Do you really want to describe %d entries? "
count)))
(apply #'guix-get-show-entries
guix-profile 'info entry-type 'id ids))))
(defun guix-list-describe (&optional arg)
"Describe entries marked with a general mark.
If no entries are marked, describe the current entry.
With prefix (if ARG is non-nil), describe entries marked with any mark."
(interactive "P")
(let ((ids (or (apply #'guix-list-get-marked-id-list
(unless arg '(general)))
(list (guix-list-current-id)))))
(guix-list-describe-maybe guix-entry-type ids)))
;;; Displaying packages
(guix-define-buffer-type list package)
(guix-list-define-entry-type package
:sort-key name
:marks ((install . ?I)
(upgrade . ?U)
(delete . ?D)))
(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)
(defface guix-package-list-obsolete
'((t :inherit guix-package-info-obsolete))
"Face used if a package is obsolete."
:group 'guix-package-list)
(defcustom guix-package-list-generation-marking-enabled nil
"If non-nil, allow putting marks in a list with 'generation packages'.
By default this is disabled, because it may be confusing. For
example a package is installed in some generation, so a user can
mark it for deletion in the list of packages from this
generation, but the package may not be installed in the latest
generation, so actually it cannot be deleted.
If you managed to understand the explanation above or if you
really know what you do or if you just don't care, you can set
this variable to t. It should not do much harm anyway (most
likely)."
:type 'boolean
:group 'guix-package-list)
(let ((map guix-package-list-mode-map))
(define-key map (kbd "x") 'guix-package-list-execute)
(define-key map (kbd "i") 'guix-package-list-mark-install)
(define-key map (kbd "d") 'guix-package-list-mark-delete)
(define-key map (kbd "U") 'guix-package-list-mark-upgrade)
(define-key map (kbd "^") 'guix-package-list-mark-upgrades))
(defun guix-package-list-get-name (name entry)
"Return NAME of the package ENTRY.
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)
'guix-package-list-obsolete)
((guix-get-key-val 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))
installed)))
(defun guix-package-list-marking-check ()
"Signal an error if marking is disabled for the current buffer."
(when (and (not guix-package-list-generation-marking-enabled)
(or (derived-mode-p 'guix-package-list-mode)
(derived-mode-p 'guix-output-list-mode))
(eq guix-search-type 'generation))
(error "Action marks are disabled for lists of 'generation packages'")))
(defun guix-package-list-mark-outputs (mark default
&optional prompt available)
"Mark the current package with MARK and move to the next line.
If PROMPT is non-nil, use it to ask a user for outputs from
AVAILABLE list, otherwise mark all DEFAULT outputs."
(let ((outputs (if prompt
(guix-completing-read-multiple
prompt available nil t)
default)))
(apply #'guix-list-mark mark t outputs)))
(defun guix-package-list-mark-install (&optional arg)
"Mark the current package for installation and move to the next line.
With ARG, prompt for the outputs to install (several outputs may
be separated with \",\")."
(interactive "P")
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(all (guix-get-key-val entry 'outputs))
(installed (guix-get-installed-outputs entry))
(available (cl-set-difference all installed :test #'string=)))
(or available
(user-error "This package is already installed"))
(guix-package-list-mark-outputs
'install '("out")
(and arg "Output(s) to install: ")
available)))
(defun guix-package-list-mark-delete (&optional arg)
"Mark the current package for deletion and move to the next line.
With ARG, prompt for the outputs to delete (several outputs may
be separated with \",\")."
(interactive "P")
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-installed-outputs entry)))
(or installed
(user-error "This package is not installed"))
(guix-package-list-mark-outputs
'delete installed
(and arg "Output(s) to delete: ")
installed)))
(defun guix-package-list-mark-upgrade (&optional arg)
"Mark the current package for upgrading and move to the next line.
With ARG, prompt for the outputs to upgrade (several outputs may
be separated with \",\")."
(interactive "P")
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-installed-outputs entry)))
(or installed
(user-error "This package is not installed"))
(when (or (guix-get-key-val entry 'obsolete)
(y-or-n-p "This package is not obsolete. Try to upgrade it anyway? "))
(guix-package-list-mark-outputs
'upgrade installed
(and arg "Output(s) to upgrade: ")
installed))))
(defun guix-list-mark-package-upgrades (fun)
"Mark all obsolete packages for upgrading.
Use FUN to perform marking of the current line. FUN should
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-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)))
obsolete)))
(when entry
(funcall fun entry)))))))
(defun guix-package-list-mark-upgrades ()
"Mark all obsolete packages for upgrading."
(interactive)
(guix-list-mark-package-upgrades
(lambda (entry)
(apply #'guix-list-mark
'upgrade nil
(guix-get-installed-outputs entry)))))
(defun guix-list-execute-package-actions (fun)
"Perform actions on the marked packages.
Use FUN to define actions suitable for `guix-process-package-actions'.
FUN should accept action-type as argument."
(let ((actions (delq nil
(mapcar fun '(install delete upgrade)))))
(if actions
(guix-process-package-actions
guix-profile actions (current-buffer))
(user-error "No operations specified"))))
(defun guix-package-list-execute ()
"Perform actions on the marked packages."
(interactive)
(guix-list-execute-package-actions #'guix-package-list-make-action))
(defun guix-package-list-make-action (action-type)
"Return action specification for the packages marked with ACTION-TYPE.
Return nil, if there are no packages marked with ACTION-TYPE.
The specification is suitable for `guix-process-package-actions'."
(let ((specs (guix-list-get-marked-args action-type)))
(and specs (cons action-type specs))))
;;; Displaying outputs
(guix-define-buffer-type list output
:buffer-name "*Guix Package List*")
(guix-list-define-entry-type output
:sort-key name
:marks ((install . ?I)
(upgrade . ?U)
(delete . ?D)))
(let ((map guix-output-list-mode-map))
(define-key map (kbd "RET") 'guix-output-list-describe)
(define-key map (kbd "x") 'guix-output-list-execute)
(define-key map (kbd "i") 'guix-output-list-mark-install)
(define-key map (kbd "d") 'guix-output-list-mark-delete)
(define-key map (kbd "U") 'guix-output-list-mark-upgrade)
(define-key map (kbd "^") 'guix-output-list-mark-upgrades))
(defun guix-output-list-mark-install ()
"Mark the current output for installation and move to the next line."
(interactive)
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-key-val entry 'installed)))
(if installed
(user-error "This output is already installed")
(guix-list-mark 'install t))))
(defun guix-output-list-mark-delete ()
"Mark the current output for deletion and move to the next line."
(interactive)
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-key-val entry 'installed)))
(if installed
(guix-list-mark 'delete t)
(user-error "This output is not installed"))))
(defun guix-output-list-mark-upgrade ()
"Mark the current output for deletion and move to the next line."
(interactive)
(guix-package-list-marking-check)
(let* ((entry (guix-list-current-entry))
(installed (guix-get-key-val entry 'installed)))
(or installed
(user-error "This output is not installed"))
(when (or (guix-get-key-val entry 'obsolete)
(y-or-n-p "This output is not obsolete. Try to upgrade it anyway? "))
(guix-list-mark 'upgrade t))))
(defun guix-output-list-mark-upgrades ()
"Mark all obsolete package outputs for upgrading."
(interactive)
(guix-list-mark-package-upgrades
(lambda (_) (guix-list-mark 'upgrade))))
(defun guix-output-list-execute ()
"Perform actions on the marked outputs."
(interactive)
(guix-list-execute-package-actions #'guix-output-list-make-action))
(defun guix-output-list-make-action (action-type)
"Return action specification for the outputs marked with ACTION-TYPE.
Return nil, if there are no outputs marked with ACTION-TYPE.
The specification is suitable for `guix-process-output-actions'."
(let ((ids (guix-list-get-marked-id-list action-type)))
(and ids (cons action-type
(mapcar #'guix-get-package-id-and-output-by-output-id
ids)))))
(defun guix-output-list-describe (&optional arg)
"Describe outputs or packages marked with a general mark.
If no entries are marked, describe the current output or package.
With prefix (if ARG is non-nil), describe entries marked with any mark.
Also see `guix-package-info-type'."
(interactive "P")
(if (eq guix-package-info-type 'output)
(guix-list-describe arg)
(let* ((oids (or (apply #'guix-list-get-marked-id-list
(unless arg '(general)))
(list (guix-list-current-id))))
(pids (mapcar (lambda (oid)
(car (guix-get-package-id-and-output-by-output-id
oid)))
oids)))
(guix-list-describe-maybe 'package (cl-remove-duplicates pids)))))
;;; Displaying generations
(guix-define-buffer-type list generation)
(guix-list-define-entry-type generation
:sort-key number
:invert-sort t
:marks ((delete . ?D)))
(let ((map guix-generation-list-mode-map))
(define-key map (kbd "RET") 'guix-generation-list-show-packages)
(define-key map (kbd "+") 'guix-generation-list-show-added-packages)
(define-key map (kbd "-") 'guix-generation-list-show-removed-packages)
(define-key map (kbd "=") 'guix-generation-list-diff)
(define-key map (kbd "D") 'guix-generation-list-diff)
(define-key map (kbd "e") 'guix-generation-list-ediff)
(define-key map (kbd "x") 'guix-generation-list-execute)
(define-key map (kbd "i") 'guix-list-describe)
(define-key map (kbd "s") 'guix-generation-list-switch)
(define-key map (kbd "d") 'guix-generation-list-mark-delete))
(defun guix-generation-list-get-current (val &optional _)
"Return string from VAL showing whether this generation is current.
VAL is a boolean value."
(if val "(current)" ""))
(defun guix-generation-list-switch ()
"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)))
(if current
(user-error "This generation is already the current one")
(guix-switch-to-generation guix-profile number (current-buffer)))))
(defun guix-generation-list-show-packages ()
"List installed packages for the generation at point."
(interactive)
(guix-get-show-entries guix-profile 'list guix-package-list-type
'generation (guix-list-current-id)))
(defun guix-generation-list-generations-to-compare ()
"Return a sorted list of 2 marked generations for comparing."
(let ((numbers (guix-list-get-marked-id-list 'general)))
(if (/= (length numbers) 2)
(user-error "2 generations should be marked for comparing")
(sort numbers #'<))))
(defun guix-generation-list-show-added-packages ()
"List package outputs added to the latest marked generation.
If 2 generations are marked with \\[guix-list-mark], display
outputs installed in the latest marked generation that were not
installed in the other one."
(interactive)
(apply #'guix-get-show-entries
guix-profile 'list 'output 'generation-diff
(reverse (guix-generation-list-generations-to-compare))))
(defun guix-generation-list-show-removed-packages ()
"List package outputs removed from the latest marked generation.
If 2 generations are marked with \\[guix-list-mark], display
outputs not installed in the latest marked generation that were
installed in the other one."
(interactive)
(apply #'guix-get-show-entries
guix-profile 'list 'output 'generation-diff
(guix-generation-list-generations-to-compare)))
(defun guix-generation-list-compare (diff-fun gen-fun)
"Run GEN-FUN on the 2 marked generations and run DIFF-FUN on the results."
(cl-multiple-value-bind (gen1 gen2)
(guix-generation-list-generations-to-compare)
(funcall diff-fun
(funcall gen-fun gen1)
(funcall gen-fun gen2))))
(defun guix-generation-list-ediff-manifests ()
"Run Ediff on manifests of the 2 marked generations."
(interactive)
(guix-generation-list-compare
#'ediff-files
#'guix-profile-generation-manifest-file))
(defun guix-generation-list-diff-manifests ()
"Run Diff on manifests of the 2 marked generations."
(interactive)
(guix-generation-list-compare
#'guix-diff
#'guix-profile-generation-manifest-file))
(defun guix-generation-list-ediff-packages ()
"Run Ediff on package outputs installed in the 2 marked generations."
(interactive)
(guix-generation-list-compare
#'ediff-buffers
#'guix-profile-generation-packages-buffer))
(defun guix-generation-list-diff-packages ()
"Run Diff on package outputs installed in the 2 marked generations."
(interactive)
(guix-generation-list-compare
#'guix-diff
#'guix-profile-generation-packages-buffer))
(defun guix-generation-list-ediff (arg)
"Run Ediff on package outputs installed in the 2 marked generations.
With ARG, run Ediff on manifests of the marked generations."
(interactive "P")
(if arg
(guix-generation-list-ediff-manifests)
(guix-generation-list-ediff-packages)))
(defun guix-generation-list-diff (arg)
"Run Diff on package outputs installed in the 2 marked generations.
With ARG, run Diff on manifests of the marked generations."
(interactive "P")
(if arg
(guix-generation-list-diff-manifests)
(guix-generation-list-diff-packages)))
(defun guix-generation-list-mark-delete (&optional arg)
"Mark the current generation for deletion and move to the next line.
With ARG, mark all generations for deletion."
(interactive "P")
(if arg
(guix-list-mark-all 'delete)
(guix-list-mark 'delete t)))
(defun guix-generation-list-execute ()
"Delete marked generations."
(interactive)
(let ((marked (guix-list-get-marked-id-list 'delete)))
(or marked
(user-error "No generations marked for deletion"))
(guix-delete-generations guix-profile marked (current-buffer))))
(provide 'guix-list)
;;; guix-list.el ends here
+922
View File
@@ -0,0 +1,922 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; Information about packages and generations is passed to the elisp
;; side in the form of alists of parameters (such as name or
;; version) and their values.
;; entries procedure is the “entry point” for the elisp side to get
;; information about packages and generations.
;; Since name/version pair is not necessarily unique, we use
;; `object-address' to identify a package (for id parameter), if
;; possible. However for the obsolete packages (that can be found in
;; installed manifest but not in a package directory), id parameter is
;; still "name-version" string. So id package parameter in the code
;; below is either an object-address number or a full-name string.
;; To speed-up the process of getting information, the following
;; auxiliary variables are used:
;;
;; - `%packages' - VHash of "package address"/"package" pairs.
;;
;; - `%package-table' - Hash table of
;; "name+version key"/"list of packages" pairs.
;;; Code:
(use-modules
(ice-9 vlist)
(ice-9 match)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-11)
(srfi srfi-19)
(srfi srfi-26)
(guix)
(guix git-download)
(guix packages)
(guix profiles)
(guix licenses)
(guix utils)
(guix ui)
(guix scripts package)
(guix scripts pull)
(gnu packages))
(define-syntax-rule (first-or-false lst)
(and (not (null? lst))
(first lst)))
(define (list-maybe obj)
(if (list? obj) obj (list obj)))
(define full-name->name+version package-name->name+version)
(define (name+version->full-name name version)
(string-append name "-" version))
(define* (make-package-specification name #:optional version output)
(let ((full-name (if version
(name+version->full-name name version)
name)))
(if output
(string-append full-name ":" output)
full-name)))
(define name+version->key cons)
(define key->name+version car+cdr)
(define %packages
(fold-packages (lambda (pkg res)
(vhash-consq (object-address pkg) pkg res))
vlist-null))
(define %package-table
(let ((table (make-hash-table (vlist-length %packages))))
(vlist-for-each
(lambda (elem)
(match elem
((address . pkg)
(let* ((key (name+version->key (package-name pkg)
(package-version pkg)))
(ref (hash-ref table key)))
(hash-set! table key
(if ref (cons pkg ref) (list pkg)))))))
%packages)
table))
(define (manifest-entry->name+version+output entry)
(values
(manifest-entry-name entry)
(manifest-entry-version entry)
(manifest-entry-output entry)))
(define (manifest-entry->package-specification entry)
(call-with-values
(lambda () (manifest-entry->name+version+output entry))
make-package-specification))
(define (manifest-entries->package-specifications entries)
(map manifest-entry->package-specification entries))
(define (generation-package-specifications profile number)
"Return a list of package specifications for generation NUMBER."
(let ((manifest (profile-manifest
(generation-file-name profile number))))
(manifest-entries->package-specifications
(manifest-entries manifest))))
(define (generation-package-specifications+paths profile number)
"Return a list of package specifications and paths for generation NUMBER.
Each element of the list is a list of the package specification and its path."
(let ((manifest (profile-manifest
(generation-file-name profile number))))
(map (lambda (entry)
(list (manifest-entry->package-specification entry)
(manifest-entry-item entry)))
(manifest-entries manifest))))
(define (generation-difference profile number1 number2)
"Return a list of package specifications for outputs installed in generation
NUMBER1 and not installed in generation NUMBER2."
(let ((specs1 (generation-package-specifications profile number1))
(specs2 (generation-package-specifications profile number2)))
(lset-difference string=? specs1 specs2)))
(define (manifest-entries->hash-table entries)
"Return a hash table of name keys and lists of matching manifest ENTRIES."
(let ((table (make-hash-table (length entries))))
(for-each (lambda (entry)
(let* ((key (manifest-entry-name entry))
(ref (hash-ref table key)))
(hash-set! table key
(if ref (cons entry ref) (list entry)))))
entries)
table))
(define (manifest=? m1 m2)
(or (eq? m1 m2)
(equal? m1 m2)))
(define manifest->hash-table
(let ((current-manifest #f)
(current-table #f))
(lambda (manifest)
"Return a hash table of name keys and matching MANIFEST entries."
(unless (manifest=? manifest current-manifest)
(set! current-manifest manifest)
(set! current-table (manifest-entries->hash-table
(manifest-entries manifest))))
current-table)))
(define* (manifest-entries-by-name manifest name #:optional version output)
"Return a list of MANIFEST entries matching NAME, VERSION and OUTPUT."
(let ((entries (or (hash-ref (manifest->hash-table manifest) name)
'())))
(if (or version output)
(filter (lambda (entry)
(and (or (not version)
(equal? version (manifest-entry-version entry)))
(or (not output)
(equal? output (manifest-entry-output entry)))))
entries)
entries)))
(define (manifest-entry-by-output entries output)
"Return a manifest entry from ENTRIES matching OUTPUT."
(find (lambda (entry)
(string= output (manifest-entry-output entry)))
entries))
(define (fold-manifest-by-name manifest proc init)
"Fold over MANIFEST entries.
Call (PROC NAME VERSION ENTRIES RESULT), using INIT as the initial value
of RESULT. ENTRIES is a list of manifest entries with NAME/VERSION."
(hash-fold (lambda (name entries res)
(proc name (manifest-entry-version (car entries))
entries res))
init
(manifest->hash-table manifest)))
(define* (object-transformer param-alist #:optional (params '()))
"Return procedure transforming objects into alist of parameter/value pairs.
PARAM-ALIST is alist of available parameters (symbols) and procedures
returning values of these parameters. Each procedure is applied to
objects.
PARAMS is list of parameters from PARAM-ALIST that should be returned by
a resulting procedure. If PARAMS is not specified or is an empty list,
use all available parameters.
Example:
(let* ((alist `((plus1 . ,1+) (minus1 . ,1-) (mul2 . ,(cut * 2 <>))))
(number->alist (object-transformer alist '(plus1 mul2))))
(number->alist 8))
=>
((plus1 . 9) (mul2 . 16))
"
(let* ((use-all-params (null? params))
(alist (filter-map (match-lambda
((param . proc)
(and (or use-all-params
(memq param params))
(cons param proc)))
(_ #f))
param-alist)))
(lambda objects
(map (match-lambda
((param . proc)
(cons param (apply proc objects))))
alist))))
(define %manifest-entry-param-alist
`((output . ,manifest-entry-output)
(path . ,manifest-entry-item)
(dependencies . ,manifest-entry-dependencies)))
(define manifest-entry->sexp
(object-transformer %manifest-entry-param-alist))
(define (manifest-entries->sexps entries)
(map manifest-entry->sexp entries))
(define (package-inputs-names inputs)
"Return a list of full names of the packages from package INPUTS."
(filter-map (match-lambda
((_ (? package? package))
(package-full-name package))
(_ #f))
inputs))
(define (package-license-names package)
"Return a list of license names of the PACKAGE."
(filter-map (lambda (license)
(and (license? license)
(license-name license)))
(list-maybe (package-license package))))
(define (package-source-names package)
"Return a list of source names (URLs) of the PACKAGE."
(let ((source (package-source package)))
(and (origin? source)
(filter-map (lambda (uri)
(cond ((string? uri)
uri)
((git-reference? uri)
(git-reference-url uri))
(else "Unknown source type")))
(list-maybe (origin-uri source))))))
(define (package-unique? package)
"Return #t if PACKAGE is a single package with such name/version."
(null? (cdr (packages-by-name (package-name package)
(package-version package)))))
(define %package-param-alist
`((id . ,object-address)
(package-id . ,object-address)
(name . ,package-name)
(version . ,package-version)
(license . ,package-license-names)
(source . ,package-source-names)
(synopsis . ,package-synopsis)
(description . ,package-description)
(home-url . ,package-home-page)
(outputs . ,package-outputs)
(non-unique . ,(negate package-unique?))
(inputs . ,(lambda (pkg)
(package-inputs-names
(package-inputs pkg))))
(native-inputs . ,(lambda (pkg)
(package-inputs-names
(package-native-inputs pkg))))
(propagated-inputs . ,(lambda (pkg)
(package-inputs-names
(package-propagated-inputs pkg))))
(location . ,(lambda (pkg)
(location->string (package-location pkg))))))
(define (package-param package param)
"Return a value of a PACKAGE PARAM."
(and=> (assq-ref %package-param-alist param)
(cut <> package)))
;;; Finding packages.
(define (package-by-address address)
(and=> (vhash-assq address %packages)
cdr))
(define (packages-by-name+version name version)
(or (hash-ref %package-table
(name+version->key name version))
'()))
(define (packages-by-full-name full-name)
(call-with-values
(lambda () (full-name->name+version full-name))
packages-by-name+version))
(define (packages-by-id id)
(if (integer? id)
(let ((pkg (package-by-address id)))
(if pkg (list pkg) '()))
(packages-by-full-name id)))
(define (id->name+version id)
(if (integer? id)
(and=> (package-by-address id)
(lambda (pkg)
(values (package-name pkg)
(package-version pkg))))
(full-name->name+version id)))
(define (package-by-id id)
(first-or-false (packages-by-id id)))
(define (newest-package-by-id id)
(and=> (id->name+version id)
(lambda (name)
(first-or-false (find-best-packages-by-name name #f)))))
(define (matching-packages predicate)
(fold-packages (lambda (pkg res)
(if (predicate pkg)
(cons pkg res)
res))
'()))
(define (filter-packages-by-output packages output)
(filter (lambda (package)
(member output (package-outputs package)))
packages))
(define* (packages-by-name name #:optional version output)
"Return a list of packages matching NAME, VERSION and OUTPUT."
(let ((packages (if version
(packages-by-name+version name version)
(matching-packages
(lambda (pkg) (string=? name (package-name pkg)))))))
(if output
(filter-packages-by-output packages output)
packages)))
(define (manifest-entry->packages entry)
(call-with-values
(lambda () (manifest-entry->name+version+output entry))
packages-by-name))
(define (packages-by-regexp regexp match-params)
"Return a list of packages matching REGEXP string.
MATCH-PARAMS is a list of parameters that REGEXP can match."
(define (package-match? package regexp)
(any (lambda (param)
(let ((val (package-param package param)))
(and (string? val) (regexp-exec regexp val))))
match-params))
(let ((re (make-regexp regexp regexp/icase)))
(matching-packages (cut package-match? <> re))))
(define (all-available-packages)
"Return a list of all available packages."
(matching-packages (const #t)))
(define (newest-available-packages)
"Return a list of the newest available packages."
(vhash-fold (lambda (name elem res)
(match elem
((_ newest pkgs ...)
(cons newest res))))
'()
(find-newest-available-packages)))
;;; Making package/output patterns.
(define (specification->package-pattern specification)
(call-with-values
(lambda ()
(full-name->name+version specification))
list))
(define (specification->output-pattern specification)
(call-with-values
(lambda ()
(package-specification->name+version+output specification #f))
list))
(define (id->package-pattern id)
(if (integer? id)
(package-by-address id)
(specification->package-pattern id)))
(define (id->output-pattern id)
"Return an output pattern by output ID.
ID should be '<package-address>:<output>' or '<name>-<version>:<output>'."
(let-values (((name version output)
(package-specification->name+version+output id)))
(if version
(list name version output)
(list (package-by-address (string->number name))
output))))
(define (specifications->package-patterns . specifications)
(map specification->package-pattern specifications))
(define (specifications->output-patterns . specifications)
(map specification->output-pattern specifications))
(define (ids->package-patterns . ids)
(map id->package-pattern ids))
(define (ids->output-patterns . ids)
(map id->output-pattern ids))
(define* (manifest-patterns-result packages res obsolete-pattern
#:optional installed-pattern)
"Auxiliary procedure for 'manifest-package-patterns' and
'manifest-output-patterns'."
(if (null? packages)
(cons (obsolete-pattern) res)
(if installed-pattern
;; We don't need duplicates for a list of installed packages,
;; so just take any (car) package.
(cons (installed-pattern (car packages)) res)
res)))
(define* (manifest-package-patterns manifest #:optional obsolete-only?)
"Return a list of package patterns for MANIFEST entries.
If OBSOLETE-ONLY? is #f, use all entries, otherwise make patterns only
for obsolete packages."
(fold-manifest-by-name
manifest
(lambda (name version entries res)
(manifest-patterns-result (packages-by-name name version)
res
(lambda () (list name version entries))
(and (not obsolete-only?)
(cut list <> entries))))
'()))
(define* (manifest-output-patterns manifest #:optional obsolete-only?)
"Return a list of output patterns for MANIFEST entries.
If OBSOLETE-ONLY? is #f, use all entries, otherwise make patterns only
for obsolete packages."
(fold (lambda (entry res)
(manifest-patterns-result (manifest-entry->packages entry)
res
(lambda () entry)
(and (not obsolete-only?)
(cut list <> entry))))
'()
(manifest-entries manifest)))
(define (obsolete-package-patterns manifest)
(manifest-package-patterns manifest #t))
(define (obsolete-output-patterns manifest)
(manifest-output-patterns manifest #t))
;;; Transforming package/output patterns into alists.
(define (obsolete-package-sexp name version entries)
"Return an alist with information about obsolete package.
ENTRIES is a list of installed manifest entries."
`((id . ,(name+version->full-name name version))
(name . ,name)
(version . ,version)
(outputs . ,(map manifest-entry-output entries))
(obsolete . #t)
(installed . ,(manifest-entries->sexps entries))))
(define (package-pattern-transformer manifest params)
"Return 'package-pattern->package-sexps' procedure."
(define package->sexp
(object-transformer %package-param-alist params))
(define* (sexp-by-package package #:optional
(entries (manifest-entries-by-name
manifest
(package-name package)
(package-version package))))
(cons (cons 'installed (manifest-entries->sexps entries))
(package->sexp package)))
(define (->sexps pattern)
(match pattern
((? package? package)
(list (sexp-by-package package)))
(((? package? package) entries)
(list (sexp-by-package package entries)))
((name version entries)
(list (obsolete-package-sexp
name version entries)))
((name version)
(let ((packages (packages-by-name name version)))
(if (null? packages)
(let ((entries (manifest-entries-by-name
manifest name version)))
(if (null? entries)
'()
(list (obsolete-package-sexp
name version entries))))
(map sexp-by-package packages))))
(_ '())))
->sexps)
(define (output-pattern-transformer manifest params)
"Return 'output-pattern->output-sexps' procedure."
(define package->sexp
(object-transformer (alist-delete 'id %package-param-alist)
params))
(define manifest-entry->sexp
(object-transformer (alist-delete 'output %manifest-entry-param-alist)
params))
(define* (output-sexp pkg-alist pkg-address output
#:optional entry)
(let ((entry-alist (if entry
(manifest-entry->sexp entry)
'()))
(base `((id . ,(string-append
(number->string pkg-address)
":" output))
(output . ,output)
(installed . ,(->bool entry)))))
(append entry-alist base pkg-alist)))
(define (obsolete-output-sexp entry)
(let-values (((name version output)
(manifest-entry->name+version+output entry)))
(let ((base `((id . ,(make-package-specification
name version output))
(package-id . ,(name+version->full-name name version))
(name . ,name)
(version . ,version)
(output . ,output)
(obsolete . #t)
(installed . #t))))
(append (manifest-entry->sexp entry) base))))
(define* (sexps-by-package package #:optional output
(entries (manifest-entries-by-name
manifest
(package-name package)
(package-version package))))
;; Assuming that PACKAGE has this OUTPUT.
(let ((pkg-alist (package->sexp package))
(address (object-address package))
(outputs (if output
(list output)
(package-outputs package))))
(map (lambda (output)
(output-sexp pkg-alist address output
(manifest-entry-by-output entries output)))
outputs)))
(define* (sexps-by-manifest-entry entry #:optional
(packages (manifest-entry->packages
entry)))
(if (null? packages)
(list (obsolete-output-sexp entry))
(map (lambda (package)
(output-sexp (package->sexp package)
(object-address package)
(manifest-entry-output entry)
entry))
packages)))
(define (->sexps pattern)
(match pattern
((? package? package)
(sexps-by-package package))
((package (? string? output))
(sexps-by-package package output))
((? manifest-entry? entry)
(list (obsolete-output-sexp entry)))
((package entry)
(sexps-by-manifest-entry entry (list package)))
((name version output)
(let ((packages (packages-by-name name version output)))
(if (null? packages)
(let ((entries (manifest-entries-by-name
manifest name version output)))
(append-map (cut sexps-by-manifest-entry <>)
entries))
(append-map (cut sexps-by-package <> output)
packages))))
(_ '())))
->sexps)
(define (entry-type-error entry-type)
(error (format #f "Wrong entry-type '~a'" entry-type)))
(define (search-type-error entry-type search-type)
(error (format #f "Wrong search type '~a' for entry-type '~a'"
search-type entry-type)))
(define %pattern-transformers
`((package . ,package-pattern-transformer)
(output . ,output-pattern-transformer)))
(define (pattern-transformer entry-type)
(assq-ref %pattern-transformers entry-type))
;; All procedures from inner alists are called with (MANIFEST . SEARCH-VALS)
;; as arguments; see `package/output-sexps'.
(define %patterns-makers
(let* ((apply-to-rest (lambda (proc)
(lambda (_ . rest) (apply proc rest))))
(apply-to-first (lambda (proc)
(lambda (first . _) (proc first))))
(manifest-package-proc (apply-to-first manifest-package-patterns))
(manifest-output-proc (apply-to-first manifest-output-patterns))
(regexp-proc (lambda (_ regexp params . __)
(packages-by-regexp regexp params)))
(all-proc (lambda _ (all-available-packages)))
(newest-proc (lambda _ (newest-available-packages))))
`((package
(id . ,(apply-to-rest ids->package-patterns))
(name . ,(apply-to-rest specifications->package-patterns))
(installed . ,manifest-package-proc)
(generation . ,manifest-package-proc)
(obsolete . ,(apply-to-first obsolete-package-patterns))
(regexp . ,regexp-proc)
(all-available . ,all-proc)
(newest-available . ,newest-proc))
(output
(id . ,(apply-to-rest ids->output-patterns))
(name . ,(apply-to-rest specifications->output-patterns))
(installed . ,manifest-output-proc)
(generation . ,manifest-output-proc)
(obsolete . ,(apply-to-first obsolete-output-patterns))
(regexp . ,regexp-proc)
(all-available . ,all-proc)
(newest-available . ,newest-proc)))))
(define (patterns-maker entry-type search-type)
(or (and=> (assq-ref %patterns-makers entry-type)
(cut assq-ref <> search-type))
(search-type-error entry-type search-type)))
(define (package/output-sexps profile params entry-type
search-type search-vals)
"Return information about packages or package outputs.
See 'entry-sexps' for details."
(let* ((profile (if (eq? search-type 'generation)
(generation-file-name profile (car search-vals))
profile))
(manifest (profile-manifest profile))
(patterns (if (and (eq? entry-type 'output)
(eq? search-type 'generation-diff))
(match search-vals
((g1 g2)
(map specification->output-pattern
(generation-difference profile g1 g2)))
(_ '()))
(apply (patterns-maker entry-type search-type)
manifest search-vals)))
(->sexps ((pattern-transformer entry-type) manifest params)))
(append-map ->sexps patterns)))
;;; Getting information about generations.
(define (generation-param-alist profile)
"Return an alist of generation parameters and procedures for PROFILE."
(let ((current (generation-number profile)))
`((id . ,identity)
(number . ,identity)
(prev-number . ,(cut previous-generation-number profile <>))
(current . ,(cut = current <>))
(path . ,(cut generation-file-name profile <>))
(time . ,(lambda (gen)
(time-second (generation-time profile gen)))))))
(define (matching-generations profile predicate)
"Return a list of PROFILE generations matching PREDICATE."
(filter predicate (profile-generations profile)))
(define (last-generations profile number)
"Return a list of last NUMBER generations.
If NUMBER is 0 or less, return all generations."
(let ((generations (profile-generations profile))
(number (if (<= number 0) +inf.0 number)))
(if (> (length generations) number)
(list-head (reverse generations) number)
generations)))
(define (find-generations profile search-type search-vals)
"Find PROFILE's generations matching SEARCH-TYPE and SEARCH-VALS."
(case search-type
((id)
(matching-generations profile (cut memq <> search-vals)))
((last)
(last-generations profile (car search-vals)))
((all)
(last-generations profile +inf.0))
((time)
(match search-vals
((from to)
(matching-generations
profile
(lambda (gen)
(let ((time (time-second (generation-time profile gen))))
(< from time to)))))
(_ '())))
(else (search-type-error "generation" search-type))))
(define (generation-sexps profile params search-type search-vals)
"Return information about generations.
See 'entry-sexps' for details."
(let ((generations (find-generations profile search-type search-vals))
(->sexp (object-transformer (generation-param-alist profile)
params)))
(map ->sexp generations)))
;;; Getting package/output/generation entries (alists).
(define (entries profile params entry-type search-type search-vals)
"Return information about entries.
ENTRY-TYPE is a symbol defining a type of returning information. Should
be: 'package', 'output' or 'generation'.
SEARCH-TYPE and SEARCH-VALS define how to get the information.
SEARCH-TYPE should be one of the following symbols:
- If ENTRY-TYPE is 'package' or 'output':
'id', 'name', 'regexp', 'all-available', 'newest-available',
'installed', 'obsolete', 'generation'.
- If ENTRY-TYPE is 'generation':
'id', 'last', 'all', 'time'.
PARAMS is a list of parameters for receiving. If it is an empty list,
get information with all available parameters, which are:
- If ENTRY-TYPE is 'package':
'id', 'name', 'version', 'outputs', 'license', 'synopsis',
'description', 'home-url', 'inputs', 'native-inputs',
'propagated-inputs', 'location', 'installed'.
- If ENTRY-TYPE is 'output':
'id', 'package-id', 'name', 'version', 'output', 'license',
'synopsis', 'description', 'home-url', 'inputs', 'native-inputs',
'propagated-inputs', 'location', 'installed', 'path', 'dependencies'.
- If ENTRY-TYPE is 'generation':
'id', 'number', 'prev-number', 'path', 'time'.
Returning value is a list of alists. Each alist consists of
parameter/value pairs."
(case entry-type
((package output)
(package/output-sexps profile params entry-type
search-type search-vals))
((generation)
(generation-sexps profile params
search-type search-vals))
(else (entry-type-error entry-type))))
;;; Package actions.
(define* (package->manifest-entry* package #:optional output)
(and package
(begin
(check-package-freshness package)
(package->manifest-entry package output))))
(define* (make-install-manifest-entries id #:optional output)
(package->manifest-entry* (package-by-id id) output))
(define* (make-upgrade-manifest-entries id #:optional output)
(package->manifest-entry* (newest-package-by-id id) output))
(define* (make-manifest-pattern id #:optional output)
"Make manifest pattern from a package ID and OUTPUT."
(let-values (((name version)
(id->name+version id)))
(and name version
(manifest-pattern
(name name)
(version version)
(output output)))))
(define (convert-action-pattern pattern proc)
"Convert action PATTERN into a list of objects returned by PROC.
PROC is called: (PROC ID) or (PROC ID OUTPUT)."
(match pattern
((id . outputs)
(if (null? outputs)
(let ((obj (proc id)))
(if obj (list obj) '()))
(filter-map (cut proc id <>)
outputs)))
(_ '())))
(define (convert-action-patterns patterns proc)
(append-map (cut convert-action-pattern <> proc)
patterns))
(define* (process-package-actions
profile #:key (install '()) (upgrade '()) (remove '())
(use-substitutes? #t) dry-run?)
"Perform package actions.
INSTALL, UPGRADE, REMOVE are lists of 'package action patterns'.
Each pattern should have the following form:
(ID . OUTPUTS)
ID is an object address or a full-name of a package.
OUTPUTS is a list of package outputs (may be an empty list)."
(format #t "The process begins ...~%")
(let* ((install (append
(convert-action-patterns
install make-install-manifest-entries)
(convert-action-patterns
upgrade make-upgrade-manifest-entries)))
(remove (convert-action-patterns remove make-manifest-pattern))
(transaction (manifest-transaction (install install)
(remove remove)))
(manifest (profile-manifest profile))
(new-manifest (manifest-perform-transaction
manifest transaction)))
(unless (and (null? install) (null? remove))
(with-store store
(let* ((derivation (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(profile-derivation new-manifest))))
(derivations (list derivation))
(new-profile (derivation->output-path derivation)))
(set-build-options store
#:print-build-trace #f
#:use-substitutes? use-substitutes?)
(show-manifest-transaction store manifest transaction
#:dry-run? dry-run?)
(show-what-to-build store derivations
#:use-substitutes? use-substitutes?
#:dry-run? dry-run?)
(unless dry-run?
(let ((name (generation-file-name
profile
(+ 1 (generation-number profile)))))
(and (build-derivations store derivations)
(let* ((entries (manifest-entries new-manifest))
(count (length entries)))
(switch-symlinks name new-profile)
(switch-symlinks profile name)
(format #t (N_ "~a package in profile~%"
"~a packages in profile~%"
count)
count))))))))))
(define (delete-generations* profile generations)
"Delete GENERATIONS from PROFILE.
GENERATIONS is a list of generation numbers."
(with-store store
(delete-generations store profile generations)))
(define (package-source-derivation->store-path derivation)
"Return a store path of the package source DERIVATION."
(match (derivation-outputs derivation)
;; Source derivation is always (("out" . derivation)).
(((_ . output-drv))
(derivation-output-path output-drv))
(_ #f)))
(define (package-source-path package-id)
"Return a store file path to a source of a package PACKAGE-ID."
(and-let* ((package (package-by-id package-id))
(source (package-source package)))
(with-store store
(package-source-derivation->store-path
(package-source-derivation store source)))))
(define* (package-source-build-derivation package-id #:key dry-run?
(use-substitutes? #t))
"Build source derivation of a package PACKAGE-ID."
(and-let* ((package (package-by-id package-id))
(source (package-source package)))
(with-store store
(let* ((derivation (package-source-derivation store source))
(derivations (list derivation)))
(set-build-options store
#:print-build-trace #f
#:use-substitutes? use-substitutes?)
(show-what-to-build store derivations
#:use-substitutes? use-substitutes?
#:dry-run? dry-run?)
(unless dry-run?
(build-derivations store derivations))
(format #t "The source store path: ~a~%"
(package-source-derivation->store-path derivation))))))
+208
View File
@@ -0,0 +1,208 @@
;;; guix-messages.el --- Minibuffer messages
;; Copyright © 2014 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-result-message' function used to show a
;; minibuffer message after displaying packages/generations in a
;; list/info buffer.
;;; Code:
(require 'cl-lib)
(require 'guix-utils)
(defvar guix-messages
`((package
(id
(0 "Packages not found.")
(1 "")
(many "%d packages." count))
(name
,(lambda (_ entries names)
(guix-message-packages-by-name entries 'package names)))
(regexp
(0 "No packages matching '%s'." val)
(1 "A single package matching '%s'." val)
(many "%d packages matching '%s'." count val))
(all-available
(0 "No packages are available for some reason.")
(1 "A single available package (that's strange).")
(many "%d available packages." count))
(newest-available
(0 "No packages are available for some reason.")
(1 "A single newest available package (that's strange).")
(many "%d newest available packages." count))
(installed
(0 "No packages installed in profile '%s'." profile)
(1 "A single package installed in profile '%s'." profile)
(many "%d packages installed in profile '%s'." count profile))
(obsolete
(0 "No obsolete packages in profile '%s'." profile)
(1 "A single obsolete package in profile '%s'." profile)
(many "%d obsolete packages in profile '%s'." count profile))
(generation
(0 "No packages installed in generation %d of profile '%s'."
val profile)
(1 "A single package installed in generation %d of profile '%s'."
val profile)
(many "%d packages installed in generation %d of profile '%s'."
count val profile)))
(output
(id
(0 "Package outputs not found.")
(1 "")
(many "%d package outputs." count))
(name
,(lambda (_ entries names)
(guix-message-packages-by-name entries 'output names)))
(regexp
(0 "No package outputs matching '%s'." val)
(1 "A single package output matching '%s'." val)
(many "%d package outputs matching '%s'." count val))
(all-available
(0 "No package outputs are available for some reason.")
(1 "A single available package output (that's strange).")
(many "%d available package outputs." count))
(newest-available
(0 "No package outputs are available for some reason.")
(1 "A single newest available package output (that's strange).")
(many "%d newest available package outputs." count))
(installed
(0 "No package outputs installed in profile '%s'." profile)
(1 "A single package output installed in profile '%s'." profile)
(many "%d package outputs installed in profile '%s'." count profile))
(obsolete
(0 "No obsolete package outputs in profile '%s'." profile)
(1 "A single obsolete package output in profile '%s'." profile)
(many "%d obsolete package outputs in profile '%s'." count profile))
(generation
(0 "No package outputs installed in generation %d of profile '%s'."
val profile)
(1 "A single package output installed in generation %d of profile '%s'."
val profile)
(many "%d package outputs installed in generation %d of profile '%s'."
count val profile))
(generation-diff
guix-message-outputs-by-diff))
(generation
(id
(0 "Generations not found.")
(1 "")
(many "%d generations." count))
(last
(0 "No generations in profile '%s'." profile)
(1 "The last generation of profile '%s'." profile)
(many "%d last generations of profile '%s'." count profile))
(all
(0 "No generations in profile '%s'." profile)
(1 "A single generation available in profile '%s'." profile)
(many "%d generations available in profile '%s'." count profile))
(time
guix-message-generations-by-time))))
(defun guix-message-string-name (name)
"Return a quoted name string."
(concat "'" name "'"))
(defun guix-message-string-entry-type (entry-type &optional plural)
"Return a string denoting an ENTRY-TYPE."
(cl-ecase entry-type
(package
(if plural "packages" "package"))
(output
(if plural "package outputs" "package output"))
(generation
(if plural "generations" "generation"))))
(defun guix-message-string-entries (count entry-type)
"Return a string denoting the COUNT of ENTRY-TYPE entries."
(cl-case count
(0 (concat "No "
(guix-message-string-entry-type
entry-type 'plural)))
(1 (concat "A single "
(guix-message-string-entry-type
entry-type)))
(t (format "%d %s"
count
(guix-message-string-entry-type
entry-type 'plural)))))
(defun guix-message-packages-by-name (entries entry-type names)
"Display a message for packages or outputs searched by NAMES."
(let* ((count (length entries))
(str-beg (guix-message-string-entries count entry-type))
(str-end (if (cdr names)
(concat "matching the following names: "
(mapconcat #'guix-message-string-name
names ", "))
(concat "with name "
(guix-message-string-name (car names))))))
(message "%s %s." str-beg str-end)))
(defun guix-message-generations-by-time (profile entries times)
"Display a message for generations searched by TIMES."
(let* ((count (length entries))
(str-beg (guix-message-string-entries count 'generation))
(time-beg (guix-get-time-string (car times)))
(time-end (guix-get-time-string (cadr times))))
(message (concat "%s of profile '%s'\n"
"matching time period '%s' - '%s'.")
str-beg profile time-beg time-end)))
(defun guix-message-outputs-by-diff (profile entries generations)
"Display a message for outputs searched by GENERATIONS difference."
(let* ((count (length entries))
(str-beg (guix-message-string-entries count 'output))
(gen1 (car generations))
(gen2 (cadr generations)))
(cl-multiple-value-bind (new old str-action)
(if (> gen1 gen2)
(list gen1 gen2 "added to")
(list gen2 gen1 "removed from"))
(message (concat "%s %s generation %d comparing with "
"generation %d of profile '%s'.")
str-beg str-action new old profile))))
(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))
(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 (car msg-spec))
(args (cdr msg-spec)))
(mapc (lambda (subst)
(setq args (cl-substitute (cdr subst) (car subst) args)))
`((count . ,count)
(val . ,(car search-vals))
(profile . ,profile)))
(apply #'message msg args)))))
(provide 'guix-messages)
;;; guix-messages.el ends here
+204
View File
@@ -0,0 +1,204 @@
;;; guix-prettify.el --- Prettify Guix store file names
;; Copyright © 2014 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 package provides minor-mode for prettifying Guix store file
;; names — i.e., after enabling `guix-prettify-mode',
;; '/gnu/store/72f54nfp6g1hz873w8z3gfcah0h4nl9p-foo-0.1' names will be
;; replaced with '/gnu/store/…-foo-0.1' in the current buffer. There is
;; also `global-guix-prettify-mode' for global prettifying.
;; To install, add the following to your emacs init file:
;;
;; (add-to-list 'load-path "/path/to/dir-with-guix-prettify")
;; (autoload 'guix-prettify-mode "guix-prettify" nil t)
;; (autoload 'global-guix-prettify-mode "guix-prettify" nil t)
;; If you want to enable/disable composition after "M-x font-lock-mode",
;; use the following setting:
;;
;; (setq font-lock-extra-managed-props
;; (cons 'composition font-lock-extra-managed-props))
;; Credits:
;;
;; Thanks to Ludovic Courtès for the idea of this package.
;;
;; Thanks to the authors of `prettify-symbols-mode' (part of Emacs 24.4)
;; and "pretty-symbols.el" <http://github.com/drothlis/pretty-symbols>
;; for the code. It helped to write this package.
;;; Code:
(defgroup guix-prettify nil
"Prettify Guix store file names."
:prefix "guix-prettify-"
:group 'font-lock
:group 'convenience)
(defcustom guix-prettify-char ?…
"Character used for prettifying."
:type 'character
:group 'guix-prettify)
(defcustom guix-prettify-decompose-force nil
"If non-nil, remove any composition.
By default, after disabling `guix-prettify-mode',
compositions (prettifying names with `guix-prettify-char') are
removed only from strings matching `guix-prettify-regexp', so
that compositions created by other modes are left untouched.
Set this variable to non-nil, if you want to remove any
composition unconditionally (like `prettify-symbols-mode' does).
Most likely it will do no harm and will make the process of
disabling `guix-prettify-mode' a little faster."
:type 'boolean
:group 'guix-prettify)
(defcustom guix-prettify-regexp
(rx "/"
(or "nix" "gnu")
"/store/"
;; 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"))))
"Regexp matching file names for prettifying.
Disable `guix-prettify-mode' before modifying this variable and
make sure to modify `guix-prettify-regexp-group' if needed.
Example of a \"deeper\" prettifying:
(setq guix-prettify-regexp \"store/[[:alnum:]]\\\\\\={32\\\\}\"
guix-prettify-regexp-group 0)
This will transform
'/gnu/store/72f54nfp6g1hz873w8z3gfcah0h4nl9p-foo-0.1' into
'/gnu/…-foo-0.1'"
:type 'regexp
:group 'guix-prettify)
(defcustom guix-prettify-regexp-group 1
"Regexp group in `guix-prettify-regexp' for prettifying."
:type 'integer
:group 'guix-prettify)
(defvar guix-prettify-special-modes
'(guix-info-mode ibuffer-mode)
"List of special modes that support font-locking.
By default, \\[global-guix-prettify-mode] enables prettifying in
all buffers except the ones where `font-lock-defaults' is
nil (see Info node `(elisp) Font Lock Basics'), because it may
break the existing highlighting.
Modes from this list and all derived modes are exceptions
\(`global-guix-prettify-mode' enables prettifying there).")
(defvar guix-prettify-flush-function
(cond ((fboundp 'font-lock-flush) #'font-lock-flush)
((fboundp 'jit-lock-refontify) #'jit-lock-refontify))
"Function used to refontify buffer.
This function is called without arguments after
enabling/disabling `guix-prettify-mode'. If nil, do nothing.")
(defun guix-prettify-compose ()
"Compose matching region in the current buffer."
(let ((beg (match-beginning guix-prettify-regexp-group))
(end (match-end guix-prettify-regexp-group)))
(compose-region beg end guix-prettify-char 'decompose-region))
;; Return nil because we're not adding any face property.
nil)
(defun guix-prettify-decompose-buffer ()
"Remove file names compositions from the current buffer."
(with-silent-modifications
(let ((inhibit-read-only t))
(if guix-prettify-decompose-force
(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))))))))
;;;###autoload
(define-minor-mode guix-prettify-mode
"Toggle Guix Prettify mode.
With a prefix argument ARG, enable Guix Prettify mode if ARG is
positive, and disable it otherwise. If called from Lisp, enable
the mode if ARG is omitted or nil.
When Guix Prettify mode is enabled, hash-parts of the Guix store
file names (see `guix-prettify-regexp') are prettified,
i.e. displayed as `guix-prettify-char' character. This mode can
be enabled programmatically using hooks:
(add-hook 'shell-mode-hook 'guix-prettify-mode)
It is possible to enable the mode in any buffer, however not any
buffer's highlighting may survive after adding new elements to
`font-lock-keywords' (see `guix-prettify-special-modes' for
details).
Also you can use `global-guix-prettify-mode' to enable Guix
Prettify mode for all modes that support font-locking."
:init-value nil
:lighter ""
(let ((keywords `((,guix-prettify-regexp
(,guix-prettify-regexp-group
(guix-prettify-compose))))))
(if guix-prettify-mode
;; Turn on.
(font-lock-add-keywords nil keywords)
;; Turn off.
(font-lock-remove-keywords nil keywords)
(guix-prettify-decompose-buffer))
(and guix-prettify-flush-function
(funcall guix-prettify-flush-function))))
(defun guix-prettify-supported-p ()
"Return non-nil, if the mode can be harmlessly enabled in current buffer."
(or font-lock-defaults
(apply #'derived-mode-p guix-prettify-special-modes)))
(defun guix-prettify-turn-on ()
"Enable `guix-prettify-mode' in the current buffer if needed.
See `guix-prettify-special-modes' for details."
(and (not guix-prettify-mode)
(guix-prettify-supported-p)
(guix-prettify-mode)))
;;;###autoload
(define-globalized-minor-mode global-guix-prettify-mode
guix-prettify-mode guix-prettify-turn-on)
;;;###autoload
(defalias 'guix-prettify-global-mode 'global-guix-prettify-mode)
(provide 'guix-prettify)
;;; guix-prettify.el ends here
+62
View File
@@ -0,0 +1,62 @@
;;; guix-profiles.el --- Guix profiles
;; Copyright © 2014 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:
(defvar guix-user-profile
(expand-file-name "~/.guix-profile")
"User profile.")
(defvar guix-default-profile
(concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix")
"/profiles/per-user/"
(getenv "USER")
"/guix-profile")
"Default Guix profile.")
(defvar guix-current-profile guix-default-profile
"Current profile.")
(defun guix-profile-prompt (&optional default)
"Prompt for profile and return it.
Use DEFAULT as a start directory. If it is nil, use
`guix-current-profile'."
(let* ((path (read-file-name "Profile: "
(file-name-directory
(or default guix-current-profile))))
(path (directory-file-name (expand-file-name path))))
(if (string= path guix-user-profile)
guix-default-profile
path)))
(defun guix-set-current-profile (path)
"Set `guix-current-profile' to PATH.
Interactively, prompt for PATH. With prefix, use
`guix-default-profile'."
(interactive
(list (if current-prefix-arg
guix-default-profile
(guix-profile-prompt))))
(setq guix-current-profile path)
(message "Current profile has been set to '%s'."
guix-current-profile))
(provide 'guix-profiles)
;;; guix-profiles.el ends here
+175
View File
@@ -0,0 +1,175 @@
;;; guix-utils.el --- General utility functions
;; Copyright © 2014 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 general functions for guix.el package.
;;; Code:
(require 'cl-lib)
(defvar guix-true-string "Yes")
(defvar guix-false-string "")
(defvar guix-list-separator ", ")
(defvar guix-time-format "%F %T"
"String used to format time values.
For possible formats, see `format-time-string'.")
(defun guix-get-string (val &optional face)
"Convert VAL into a string and return it.
VAL can be an expression of any type.
If VAL is t/nil, it is replaced with
`guix-true-string'/`guix-false-string'.
If VAL is list, its elements are concatenated using
`guix-list-separator'.
If FACE is non-nil, propertize returned string with this FACE."
(let ((str (cond
((stringp val) val)
((null val) guix-false-string)
((eq t val) guix-true-string)
((numberp val) (number-to-string val))
((listp val) (mapconcat #'guix-get-string
val guix-list-separator))
(t (prin1-to-string val)))))
(if (and val face)
(propertize str 'font-lock-face face)
str)))
(defun guix-get-time-string (seconds)
"Return formatted time string from SECONDS.
Use `guix-time-format'."
(format-time-string guix-time-format (seconds-to-time seconds)))
(defun guix-get-one-line (str)
"Return one-line string from a multi-line STR."
(replace-regexp-in-string "\n" " " str))
(defun guix-format-insert (val &optional face format)
"Convert VAL into a string and insert it at point.
If FACE is non-nil, propertize VAL with FACE.
If FORMAT is non-nil, format VAL with FORMAT."
(let ((str (guix-get-string val face)))
(insert (if format
(format format str)
str))))
(defun guix-mapinsert (function sequence separator)
"Like `mapconcat' but for inserting text.
Apply FUNCTION to each element of SEQUENCE, and insert SEPARATOR
at point between each FUNCTION call."
(when sequence
(funcall function (car sequence))
(mapc (lambda (obj)
(insert separator)
(funcall function obj))
(cdr sequence))))
(defun guix-insert-button (label &optional type &rest properties)
"Make button of TYPE with LABEL and insert it at point.
See `insert-text-button' for the meaning of PROPERTIES."
(if (null label)
(guix-format-insert nil)
(apply #'insert-text-button label
:type (or type 'button)
properties)))
(defun guix-split-insert (val &optional face col separator)
"Convert VAL into a string, split it and insert at point.
If FACE is non-nil, propertize returned string with this FACE.
If COL is non-nil and result string is a one-line string longer
than COL, split it into several short lines.
Separate inserted lines with SEPARATOR."
(if (null val)
(guix-format-insert nil)
(let ((strings (guix-split-string (guix-get-string val) col)))
(guix-mapinsert (lambda (str) (guix-format-insert str face))
strings
(or separator "")))))
(defun guix-split-string (str &optional col)
"Split string STR by lines and return list of result strings.
If COL is non-nil and STR is a one-line string longer than COL,
split it into several short lines."
(let ((strings (split-string str "\n *")))
(if (and col
(null (cdr strings)) ; if not multi-line
(> (length str) col))
(split-string (guix-get-filled-string str col) "\n")
strings)))
(defun guix-get-filled-string (str col)
"Return string by filling STR to column COL."
(with-temp-buffer
(insert str)
(let ((fill-column col))
(fill-region (point-min) (point-max)))
(buffer-string)))
(defun guix-completing-read-multiple (prompt table &optional predicate
require-match initial-input
hist def inherit-input-method)
"Same as `completing-read-multiple' but remove duplicates in result."
(cl-remove-duplicates
(completing-read-multiple prompt table predicate
require-match initial-input
hist def inherit-input-method)
:test #'string=))
(declare-function org-read-date "org" t)
(defun guix-read-date (prompt)
"Prompt for a date or time using `org-read-date'.
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))))))
(defun guix-find-file (file)
"Find FILE if it exists."
(if (file-exists-p file)
(find-file file)
(message "File '%s' does not exist." file)))
;;; Diff
(defvar guix-diff-switches "-u"
"A string or list of strings specifying switches to be passed to diff.")
(defun guix-diff (old new &optional switches no-async)
"Same as `diff', but use `guix-diff-switches' as default."
(diff old new (or switches guix-diff-switches) no-async))
(provide 'guix-utils)
;;; guix-utils.el ends here
+198
View File
@@ -0,0 +1,198 @@
;;; guix.el --- Interface for GNU Guix package manager
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;; Package-Requires: ((geiser "0.3"))
;; Keywords: tools
;; 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 package provides an interface for searching, listing and getting
;; information about Guix packages and generations; and for
;; installing/upgrading/removing packages.
;;; Code:
(require 'guix-base)
(require 'guix-list)
(require 'guix-info)
(require 'guix-utils)
(defgroup guix nil
"Interface for Guix package manager."
:prefix "guix-"
:group 'external)
(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."
:type 'boolean
:group 'guix)
(defvar guix-search-params '(name synopsis description)
"Default list of package parameters for searching by regexp.")
(defvar guix-search-history nil
"A history of minibuffer prompts.")
(defun guix-get-show-packages (profile search-type &rest search-vals)
"Search for packages and show results.
If PROFILE is nil, use `guix-current-profile'.
See `guix-get-entries' for the meaning of SEARCH-TYPE and
SEARCH-VALS.
Results are displayed in the list buffer, unless a single package
is found and `guix-list-single-package' is nil."
(or profile (setq profile guix-current-profile))
(let ((packages (guix-get-entries profile guix-package-list-type
search-type search-vals
(guix-get-params-for-receiving
'list guix-package-list-type))))
(if (or guix-list-single-package
(cdr packages))
(guix-set-buffer profile packages 'list guix-package-list-type
search-type search-vals)
(let ((packages (guix-get-entries profile guix-package-info-type
search-type search-vals
(guix-get-params-for-receiving
'info guix-package-info-type))))
(guix-set-buffer profile packages 'info guix-package-info-type
search-type search-vals)))))
(defun guix-get-show-generations (profile search-type &rest search-vals)
"Search for generations and show results.
If PROFILE is nil, use `guix-current-profile'.
See `guix-get-entries' for the meaning of SEARCH-TYPE and
SEARCH-VALS."
(apply #'guix-get-show-entries
(or profile guix-current-profile)
'list 'generation search-type search-vals))
;;;###autoload
(defun guix-search-by-name (name &optional profile)
"Search for Guix packages by NAME.
NAME is a string with name specification. It may optionally contain
a version number. Examples: \"guile\", \"guile-2.0.11\".
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (read-string "Package name: " nil 'guix-search-history)
(and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-packages profile 'name name))
;;;###autoload
(defun guix-search-by-regexp (regexp &optional params profile)
"Search for Guix packages by REGEXP.
PARAMS are package parameters that should be searched.
If PARAMS are not specified, use `guix-search-params'.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (read-regexp "Regexp: " nil 'guix-search-history)
nil
(and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-packages profile 'regexp regexp
(or params guix-search-params)))
;;;###autoload
(defun guix-installed-packages (&optional profile)
"Display information about installed Guix packages.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-packages profile 'installed))
;;;###autoload
(defun guix-obsolete-packages (&optional profile)
"Display information about obsolete Guix packages.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-packages profile 'obsolete))
;;;###autoload
(defun guix-all-available-packages (&optional profile)
"Display information about all available Guix packages.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-packages profile 'all-available))
;;;###autoload
(defun guix-newest-available-packages (&optional profile)
"Display information about the newest available Guix packages.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-packages profile 'newest-available))
;;;###autoload
(defun guix-generations (&optional profile)
"Display information about all generations.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-generations profile 'all))
;;;###autoload
(defun guix-last-generations (number &optional profile)
"Display information about last NUMBER generations.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (read-number "The number of last generations: ")
(and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-generations profile 'last number))
;;;###autoload
(defun guix-generations-by-time (from to &optional profile)
"Display information about generations created between FROM and TO.
FROM and TO should be time values.
If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."
(interactive
(list (guix-read-date "Find generations (from): ")
(guix-read-date "Find generations (to): ")
(and current-prefix-arg
(guix-profile-prompt))))
(guix-get-show-generations profile 'time
(float-time from)
(float-time to)))
(provide 'guix)
;;; guix.el ends here
+139
View File
@@ -0,0 +1,139 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
#
# 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/>.
# Bash completion for Guix commands.
_guix_complete_available_package ()
{
local prefix="$1"
local packages="$(${COMP_WORDS[0]} package -A "^$prefix" | cut -f1)"
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
}
_guix_complete_installed_package ()
{
local prefix="$1"
local packages="$(${COMP_WORDS[0]} package -I "^$prefix" | cut -f1)"
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
}
_guix_complete_option ()
{
local options="$(${COMP_WORDS[0]} ${COMP_WORDS[1]} --help \
| grep '^ \+-' \
| sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g' )"
compopt -o nospace
COMPREPLY=($(compgen -W "$options" -- "${COMP_WORDS[$word_count - 1]}"))
}
_guix_is_command ()
{
local word
local result="false"
for word in ${COMP_WORDS[*]}
do
if [ "$word" = "$1" ]
then
result=true
break
fi
done
$result
}
_guix_is_removing ()
{
local word
local result="false"
for word in ${COMP_WORDS[*]}
do
case "$word" in
--remove|--remove=*|-r)
result=true
break
;;
esac
done
$result
}
_guix_is_dash_L ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-L" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--load-path=*) true;;
*) false;;
esac }
}
_guix_complete_file ()
{
# Let Readline complete file names.
compopt -o default
COMPREPLY=()
}
_guix_complete ()
{
local word_count=${#COMP_WORDS[*]}
local word_at_point="${COMP_WORDS[$COMP_CWORD]}"
if [ "$COMP_CWORD" -gt 1 ]
then
case "$word_at_point" in
-*)
_guix_complete_option "$word_at_point"
return
;;
esac
fi
case $COMP_CWORD in
1)
local subcommands="$(guix --help | grep '^ ' | cut -c 2-)"
COMPREPLY=($(compgen -W "$subcommands" -- "$word_at_point"))
;;
*)
if _guix_is_command "package"
then
if _guix_is_dash_L
then
_guix_complete_file
elif _guix_is_removing
then
_guix_complete_installed_package "$word_at_point"
else
_guix_complete_available_package "$word_at_point"
fi
elif _guix_is_command "system"
then
_guix_complete_file # TODO: complete sub-commands
elif _guix_is_command "hash"
then
_guix_complete_file
elif _guix_is_command "import" # TODO: complete sub-commands
then
_guix_complete_file
else
_guix_complete_available_package "$word_at_point"
fi
;;
esac
}
complete -F _guix_complete guix
+290 -48
View File
@@ -1,7 +1,7 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014 Mark H Weaver <mhw@netris.org>
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014, 2015 Mark H Weaver <mhw@netris.org>
#
# This file is part of GNU Guix.
#
@@ -23,25 +23,32 @@
GNU_SYSTEM_MODULES = \
gnu.scm \
gnu/artwork.scm \
gnu/packages.scm \
gnu/packages/aarddict.scm \
gnu/packages/abiword.scm \
gnu/packages/acct.scm \
gnu/packages/acl.scm \
gnu/packages/admin.scm \
gnu/packages/adns.scm \
gnu/packages/algebra.scm \
gnu/packages/aidc.scm \
gnu/packages/aidc.scm \
gnu/packages/apl.scm \
gnu/packages/apr.scm \
gnu/packages/asciidoc.scm \
gnu/packages/aspell.scm \
gnu/packages/attr.scm \
gnu/packages/audacity.scm \
gnu/packages/audio.scm \
gnu/packages/autogen.scm \
gnu/packages/autotools.scm \
gnu/packages/avahi.scm \
gnu/packages/avr.scm \
gnu/packages/backup.scm \
gnu/packages/base.scm \
gnu/packages/bash.scm \
gnu/packages/bdb.scm \
gnu/packages/bdw-gc.scm \
gnu/packages/bioinformatics.scm \
gnu/packages/bittorrent.scm \
gnu/packages/bison.scm \
gnu/packages/boost.scm \
@@ -50,40 +57,58 @@ GNU_SYSTEM_MODULES = \
gnu/packages/calcurse.scm \
gnu/packages/ccache.scm \
gnu/packages/cdrom.scm \
gnu/packages/cflow.scm \
gnu/packages/certs.scm \
gnu/packages/check.scm \
gnu/packages/cmake.scm \
gnu/packages/code.scm \
gnu/packages/commencement.scm \
gnu/packages/compression.scm \
gnu/packages/complexity.scm \
gnu/packages/conkeror.scm \
gnu/packages/cook.scm \
gnu/packages/cook.scm \
gnu/packages/cpio.scm \
gnu/packages/cppi.scm \
gnu/packages/cross-base.scm \
gnu/packages/crypto.scm \
gnu/packages/cryptsetup.scm \
gnu/packages/cups.scm \
gnu/packages/curl.scm \
gnu/packages/cursynth.scm \
gnu/packages/cyrus-sasl.scm \
gnu/packages/databases.scm \
gnu/packages/datamash.scm \
gnu/packages/dc.scm \
gnu/packages/debug.scm \
gnu/packages/dejagnu.scm \
gnu/packages/dictionaries.scm \
gnu/packages/disk.scm \
gnu/packages/djvu.scm \
gnu/packages/dns.scm \
gnu/packages/docbook.scm \
gnu/packages/doxygen.scm \
gnu/packages/dwm.scm \
gnu/packages/ebook.scm \
gnu/packages/ed.scm \
gnu/packages/elf.scm \
gnu/packages/emacs.scm \
gnu/packages/enchant.scm \
gnu/packages/engineering.scm \
gnu/packages/enlightenment.scm \
gnu/packages/fcitx.scm \
gnu/packages/feh.scm \
gnu/packages/file.scm \
gnu/packages/firmware.scm \
gnu/packages/fish.scm \
gnu/packages/flashing-tools.scm \
gnu/packages/flex.scm \
gnu/packages/fltk.scm \
gnu/packages/fonts.scm \
gnu/packages/fontutils.scm \
gnu/packages/freedesktop.scm \
gnu/packages/freeipmi.scm \
gnu/packages/ftp.scm \
gnu/packages/fribidi.scm \
gnu/packages/fvwm.scm \
gnu/packages/game-development.scm \
gnu/packages/games.scm \
gnu/packages/gawk.scm \
gnu/packages/gcal.scm \
@@ -94,13 +119,12 @@ GNU_SYSTEM_MODULES = \
gnu/packages/geeqie.scm \
gnu/packages/gettext.scm \
gnu/packages/ghostscript.scm \
gnu/packages/giflib.scm \
gnu/packages/gimp.scm \
gnu/packages/gkrellm.scm \
gnu/packages/gl.scm \
gnu/packages/glib.scm \
gnu/packages/global.scm \
gnu/packages/gnome.scm \
gnu/packages/gnucash.scm \
gnu/packages/gnunet.scm \
gnu/packages/gnupg.scm \
gnu/packages/gnustep.scm \
@@ -109,6 +133,8 @@ GNU_SYSTEM_MODULES = \
gnu/packages/gnu-pw-mgr.scm \
gnu/packages/gperf.scm \
gnu/packages/gprolog.scm \
gnu/packages/gps.scm \
gnu/packages/graphics.scm \
gnu/packages/graphviz.scm \
gnu/packages/groff.scm \
gnu/packages/grub.scm \
@@ -120,8 +146,10 @@ GNU_SYSTEM_MODULES = \
gnu/packages/guile-wm.scm \
gnu/packages/gv.scm \
gnu/packages/gxmessage.scm \
gnu/packages/haskell.scm \
gnu/packages/hugs.scm \
gnu/packages/hurd.scm \
gnu/packages/ibus.scm \
gnu/packages/icu4c.scm \
gnu/packages/idutils.scm \
gnu/packages/image.scm \
@@ -130,31 +158,42 @@ GNU_SYSTEM_MODULES = \
gnu/packages/inkscape.scm \
gnu/packages/irssi.scm \
gnu/packages/iso-codes.scm \
gnu/packages/java.scm \
gnu/packages/jemalloc.scm \
gnu/packages/jrnl.scm \
gnu/packages/julia.scm \
gnu/packages/kde.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/key-mon.scm \
gnu/packages/language.scm \
gnu/packages/less.scm \
gnu/packages/lesstif.scm \
gnu/packages/libcanberra.scm \
gnu/packages/libdaemon.scm \
gnu/packages/libedit.scm \
gnu/packages/libevent.scm \
gnu/packages/libffcall.scm \
gnu/packages/libffi.scm \
gnu/packages/libftdi.scm \
gnu/packages/calendar.scm \
gnu/packages/libidn.scm \
gnu/packages/libphidget.scm \
gnu/packages/libreoffice.scm \
gnu/packages/libsigsegv.scm \
gnu/packages/libunistring.scm \
gnu/packages/libusb.scm \
gnu/packages/libunwind.scm \
gnu/packages/libupnp.scm \
gnu/packages/lightning.scm \
gnu/packages/links.scm \
gnu/packages/linux.scm \
gnu/packages/lisp.scm \
gnu/packages/lirc.scm \
gnu/packages/lisp.scm \
gnu/packages/llvm.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
gnu/packages/lua.scm \
gnu/packages/lvm.scm \
gnu/packages/lxqt.scm \
gnu/packages/lynx.scm \
gnu/packages/m4.scm \
gnu/packages/man.scm \
@@ -164,26 +203,37 @@ GNU_SYSTEM_MODULES = \
gnu/packages/mc.scm \
gnu/packages/mcrypt.scm \
gnu/packages/messaging.scm \
gnu/packages/mg.scm \
gnu/packages/miscfiles.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/moe.scm \
gnu/packages/moreutils.scm \
gnu/packages/mpd.scm \
gnu/packages/mp3.scm \
gnu/packages/mpi.scm \
gnu/packages/multiprecision.scm \
gnu/packages/music.scm \
gnu/packages/mtools.scm \
gnu/packages/mysql.scm \
gnu/packages/nano.scm \
gnu/packages/ncdu.scm \
gnu/packages/ncurses.scm \
gnu/packages/netpbm.scm \
gnu/packages/nettle.scm \
gnu/packages/networking.scm \
gnu/packages/ninja.scm \
gnu/packages/node.scm \
gnu/packages/noweb.scm \
gnu/packages/ntp.scm \
gnu/packages/nutrition.scm \
gnu/packages/nvi.scm \
gnu/packages/ocaml.scm \
gnu/packages/ocrad.scm \
gnu/packages/ocr.scm \
gnu/packages/onc-rpc.scm \
gnu/packages/openbox.scm \
gnu/packages/openldap.scm \
gnu/packages/openssl.scm \
gnu/packages/orpheus.scm \
gnu/packages/ots.scm \
gnu/packages/package-management.scm \
gnu/packages/parallel.scm \
gnu/packages/patchutils.scm \
@@ -195,21 +245,27 @@ GNU_SYSTEM_MODULES = \
gnu/packages/photo.scm \
gnu/packages/pkg-config.scm \
gnu/packages/plotutils.scm \
gnu/packages/polkit.scm \
gnu/packages/popt.scm \
gnu/packages/pth.scm \
gnu/packages/pulseaudio.scm \
gnu/packages/pumpio.scm \
gnu/packages/pretty-print.scm \
gnu/packages/protobuf.scm \
gnu/packages/python.scm \
gnu/packages/qemu.scm \
gnu/packages/qt.scm \
gnu/packages/ratpoison.scm \
gnu/packages/rdesktop.scm \
gnu/packages/rdf.scm \
gnu/packages/readline.scm \
gnu/packages/recutils.scm \
gnu/packages/rrdtool.scm \
gnu/packages/rsync.scm \
gnu/packages/ruby.scm \
gnu/packages/rush.scm \
gnu/packages/samba.scm \
gnu/packages/sawfish.scm \
gnu/packages/scanner.scm \
gnu/packages/scheme.scm \
gnu/packages/screen.scm \
gnu/packages/sdl.scm \
@@ -217,23 +273,31 @@ GNU_SYSTEM_MODULES = \
gnu/packages/serveez.scm \
gnu/packages/shishi.scm \
gnu/packages/skribilo.scm \
gnu/packages/slang.scm \
gnu/packages/slim.scm \
gnu/packages/smalltalk.scm \
gnu/packages/sqlite.scm \
gnu/packages/ssh.scm \
gnu/packages/stalonetray.scm \
gnu/packages/statistics.scm \
gnu/packages/swig.scm \
gnu/packages/sxiv.scm \
gnu/packages/synergy.scm \
gnu/packages/task-management.scm \
gnu/packages/tbb.scm \
gnu/packages/tcl.scm \
gnu/packages/tcsh.scm \
gnu/packages/telephony.scm \
gnu/packages/texinfo.scm \
gnu/packages/texlive.scm \
gnu/packages/textutils.scm \
gnu/packages/time.scm \
gnu/packages/tmux.scm \
gnu/packages/tor.scm \
gnu/packages/uucp.scm \
gnu/packages/tre.scm \
gnu/packages/tv.scm \
gnu/packages/unrtf.scm \
gnu/packages/upnp.scm \
gnu/packages/uucp.scm \
gnu/packages/valgrind.scm \
gnu/packages/version-control.scm \
gnu/packages/video.scm \
@@ -243,23 +307,34 @@ GNU_SYSTEM_MODULES = \
gnu/packages/w3m.scm \
gnu/packages/wdiff.scm \
gnu/packages/web.scm \
gnu/packages/webkit.scm \
gnu/packages/weechat.scm \
gnu/packages/wget.scm \
gnu/packages/which.scm \
gnu/packages/wicd.scm \
gnu/packages/wine.scm \
gnu/packages/wordnet.scm \
gnu/packages/wv.scm \
gnu/packages/wxwidgets.scm \
gnu/packages/xfig.scm \
gnu/packages/xiph.scm \
gnu/packages/xlockmore.scm \
gnu/packages/xml.scm \
gnu/packages/xnee.scm \
gnu/packages/xdisorg.scm \
gnu/packages/xorg.scm \
gnu/packages/xfce.scm \
gnu/packages/yasm.scm \
gnu/packages/yubico.scm \
gnu/packages/zile.scm \
gnu/packages/zip.scm \
gnu/packages/zsh.scm \
\
gnu/services.scm \
gnu/services/avahi.scm \
gnu/services/base.scm \
gnu/services/dbus.scm \
gnu/services/databases.scm \
gnu/services/desktop.scm \
gnu/services/dmd.scm \
gnu/services/lirc.scm \
gnu/services/networking.scm \
gnu/services/ssh.scm \
gnu/services/xorg.scm \
@@ -268,122 +343,277 @@ GNU_SYSTEM_MODULES = \
gnu/system/file-systems.scm \
gnu/system/grub.scm \
gnu/system/install.scm \
gnu/system/os-config.tmpl \
gnu/system/linux.scm \
gnu/system/linux-initrd.scm \
gnu/system/locale.scm \
gnu/system/nss.scm \
gnu/system/shadow.scm \
gnu/system/vm.scm
gnu/system/vm.scm \
\
gnu/build/activation.scm \
gnu/build/file-systems.scm \
gnu/build/install.scm \
gnu/build/linux-boot.scm \
gnu/build/linux-initrd.scm \
gnu/build/linux-modules.scm \
gnu/build/vm.scm
patchdir = $(guilemoduledir)/gnu/packages/patches
dist_patch_DATA = \
gnu/packages/patches/abiword-explictly-cast-bools.patch \
gnu/packages/patches/abiword-link-plugins-against-backend.patch \
gnu/packages/patches/abiword-no-include-glib-internal-headers.patch \
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/aegis-constness-error.patch \
gnu/packages/patches/aegis-perl-tempdir1.patch \
gnu/packages/patches/aegis-perl-tempdir2.patch \
gnu/packages/patches/aegis-test-fixup-1.patch \
gnu/packages/patches/aegis-test-fixup-2.patch \
gnu/packages/patches/agg-am_c_prototype.patch \
gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \
gnu/packages/patches/apr-skip-getservbyname-test.patch \
gnu/packages/patches/ath9k-htc-firmware-binutils.patch \
gnu/packages/patches/ath9k-htc-firmware-gcc.patch \
gnu/packages/patches/ath9k-htc-firmware-objcopy.patch \
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/avrdude-fix-libusb.patch \
gnu/packages/patches/bash-completion-directories.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/ccache-stdc-predef-test.patch \
gnu/packages/patches/calibre-drop-unrar.patch \
gnu/packages/patches/calibre-no-updates-dialog.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/chmlib-inttypes.patch \
gnu/packages/patches/clucene-pkgconfig.patch \
gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/coreutils-dummy-man.patch \
gnu/packages/patches/coreutils-skip-nohup.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-gets-undeclared.patch \
gnu/packages/patches/cpufrequtils-fix-aclocal.patch \
gnu/packages/patches/crossmap-allow-system-pysam.patch \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/curl-fix-test172.patch \
gnu/packages/patches/clucene-contribs-lib.patch \
gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
gnu/packages/patches/doxygen-test.patch \
gnu/packages/patches/doxygen-tmake.patch \
gnu/packages/patches/emacs-configure-sh.patch \
gnu/packages/patches/duplicity-piped-password.patch \
gnu/packages/patches/duplicity-test_selection-tmp.patch \
gnu/packages/patches/elfutils-tests-ptrace.patch \
gnu/packages/patches/emacs-exec-path.patch \
gnu/packages/patches/eudev-rules-directory.patch \
gnu/packages/patches/findutils-absolute-paths.patch \
gnu/packages/patches/flashrom-use-libftdi1.patch \
gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/fltk-shared-lib-defines.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \
gnu/packages/patches/gd-mips64-deplibs-fix.patch \
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-runpath.patch \
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \
gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
gnu/packages/patches/glib-tests-timer.patch \
gnu/packages/patches/glib-tests-gapplication.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/gnunet-fix-scheduler.patch \
gnu/packages/patches/gnunet-fix-tests.patch \
gnu/packages/patches/glibc-locales.patch \
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
gnu/packages/patches/gnutls-fix-duplicate-manpages.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/gstreamer-0.10-bison3.patch \
gnu/packages/patches/gstreamer-0.10-silly-test.patch \
gnu/packages/patches/grub-freetype.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-ncurses-tests.patch \
gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/guix-test-networking.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/icu4c-test-date-format.patch \
gnu/packages/patches/inkscape-stray-comma.patch \
gnu/packages/patches/hop-linker-flags.patch \
gnu/packages/patches/icecat-CVE-2015-0797.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt1.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt2.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt3.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt4.patch \
gnu/packages/patches/icecat-CVE-2015-2710-pt1.patch \
gnu/packages/patches/icecat-CVE-2015-2710-pt2.patch \
gnu/packages/patches/icecat-CVE-2015-2710-pt3.patch \
gnu/packages/patches/icecat-CVE-2015-2713-pt1.patch \
gnu/packages/patches/icecat-CVE-2015-2713-pt2.patch \
gnu/packages/patches/icecat-CVE-2015-2716.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/kmod-module-directory.patch \
gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \
gnu/packages/patches/libarchive-CVE-2013-0211.patch \
gnu/packages/patches/libarchive-fix-lzo-test-case.patch \
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/libevent-dns-tests.patch \
gnu/packages/patches/libffi-mips-n32-fix.patch \
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/libtheora-config-guess.patch \
gnu/packages/patches/libtool-skip-tests.patch \
gnu/packages/patches/libtool-skip-tests-for-mips.patch \
gnu/packages/patches/libtool-skip-tests2.patch \
gnu/packages/patches/libssh-CVE-2014-0017.patch \
gnu/packages/patches/libvpx-fix-armhf-link.patch \
gnu/packages/patches/libvpx-fix-ssse3-quantize.patch \
gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \
gnu/packages/patches/lirc-localstatedir.patch \
gnu/packages/patches/lm-sensors-hwmon-attrs.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/m4-readlink-EINVAL.patch \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mc-fix-ncurses-build.patch \
gnu/packages/patches/mcron-install.patch \
gnu/packages/patches/mhash-keygen-test-segfault.patch \
gnu/packages/patches/mit-krb5-init-fix.patch \
gnu/packages/patches/mpc123-initialize-ao.patch \
gnu/packages/patches/mplayer2-theora-fix.patch \
gnu/packages/patches/module-init-tools-moduledir.patch \
gnu/packages/patches/mupdf-buildsystem-fix.patch \
gnu/packages/patches/mutt-CVE-2014-9116.patch \
gnu/packages/patches/net-tools-bitrot.patch \
gnu/packages/patches/ngircd-handle-zombies.patch \
gnu/packages/patches/ngircd-no-dns-in-tests.patch \
gnu/packages/patches/ninja-tests.patch \
gnu/packages/patches/nss-pkgconfig.patch \
gnu/packages/patches/nvi-assume-preserve-path.patch \
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
gnu/packages/patches/nvi-db4.patch \
gnu/packages/patches/openexr-missing-samples.patch \
gnu/packages/patches/openssl-runpath.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/pavucontrol-sigsegv.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-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \
gnu/packages/patches/petsc-fix-threadcomm.patch \
gnu/packages/patches/pingus-sdl-libs-config.patch \
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
gnu/packages/patches/polkit-drop-test.patch \
gnu/packages/patches/portaudio-audacity-compat.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/pulseaudio-fix-mult-test.patch \
gnu/packages/patches/pulseaudio-longer-test-timeout.patch \
gnu/packages/patches/pycairo-wscript.patch \
gnu/packages/patches/pybugz-encode-error.patch \
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/pyqt-configure.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/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/scheme48-tests.patch \
gnu/packages/patches/scotch-test-threading.patch \
gnu/packages/patches/sdl-libx11-1.6.patch \
gnu/packages/patches/serf-comment-style-fix.patch \
gnu/packages/patches/serf-deflate-buckets-test-fix.patch \
gnu/packages/patches/slim-session.patch \
gnu/packages/patches/slim-config.patch \
gnu/packages/patches/slim-sigusr1.patch \
gnu/packages/patches/soprano-find-clucene.patch \
gnu/packages/patches/source-highlight-regexrange-test.patch \
gnu/packages/patches/sqlite-large-page-size-fix.patch \
gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch \
gnu/packages/patches/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
gnu/packages/patches/udev-gir-libtool.patch \
gnu/packages/patches/util-linux-perl.patch \
gnu/packages/patches/valgrind-glibc.patch \
gnu/packages/patches/texi2html-document-encoding.patch \
gnu/packages/patches/texi2html-i18n.patch \
gnu/packages/patches/tvtime-gcc41.patch \
gnu/packages/patches/tvtime-pngoutput.patch \
gnu/packages/patches/tvtime-videodev2.patch \
gnu/packages/patches/tvtime-xmltv.patch \
gnu/packages/patches/unzip-CVE-2014-8139.patch \
gnu/packages/patches/unzip-CVE-2014-8140.patch \
gnu/packages/patches/unzip-CVE-2014-8141.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/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/xmodmap-asprintf.patch \
gnu/packages/patches/xpdf-constchar.patch
gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch \
gnu/packages/patches/weex-vacopy.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/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 \
gnu/packages/patches/xf86-video-glint-remove-mibstore.patch \
gnu/packages/patches/xf86-video-i128-remove-mibstore.patch \
gnu/packages/patches/xf86-video-intel-compat-api.patch \
gnu/packages/patches/xf86-video-intel-glibc-2.20.patch \
gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch \
gnu/packages/patches/xf86-video-mga-glibc-2.20.patch \
gnu/packages/patches/xf86-video-nv-remove-mibstore.patch \
gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch \
gnu/packages/patches/xf86-video-r128-glibc-2.20.patch \
gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch \
gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch \
gnu/packages/patches/xf86-video-sis-update-api.patch \
gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch \
gnu/packages/patches/xf86-video-tga-remove-mibstore.patch \
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/xmodmap-asprintf.patch \
gnu/packages/patches/zathura-plugindir-environment-variable.patch
MISC_DISTRO_FILES = \
gnu/packages/ld-wrapper.in
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
bootstrap_armhf_linuxdir = $(bootstrapdir)/armhf-linux
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
dist_bootstrap_x86_64_linux_DATA = \
@@ -398,6 +628,12 @@ dist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/tar \
gnu/packages/bootstrap/i686-linux/xz
dist_bootstrap_armhf_linux_DATA = \
gnu/packages/bootstrap/armhf-linux/bash \
gnu/packages/bootstrap/armhf-linux/mkdir \
gnu/packages/bootstrap/armhf-linux/tar \
gnu/packages/bootstrap/armhf-linux/xz
dist_bootstrap_mips64el_linux_DATA = \
gnu/packages/bootstrap/mips64el-linux/bash \
gnu/packages/bootstrap/mips64el-linux/mkdir \
@@ -410,17 +646,20 @@ nodist_bootstrap_x86_64_linux_DATA = \
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
nodist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
nodist_bootstrap_armhf_linux_DATA = \
gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz
nodist_bootstrap_mips64el_linux_DATA = \
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
# Those files must remain executable, so they remain executable once
# imported into the store.
install-data-hook:
set-bootstrap-executable-permissions:
chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
DISTCLEANFILES = \
$(nodist_bootstrap_x86_64_linux_DATA) \
$(nodist_bootstrap_i686_linux_DATA) \
$(nodist_bootstrap_armhf_linux_DATA) \
$(nodist_bootstrap_mips64el_linux_DATA)
# Method to download a file from an external source.
@@ -435,6 +674,9 @@ gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz:
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6"
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"
+18 -3
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16,7 +17,10 @@
;;; 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))
(define-module (gnu)
#:export (use-package-modules
use-service-modules
use-system-modules))
;;; Commentary:
;;;
@@ -33,14 +37,25 @@
(gnu system linux) ; 'base-pam-services'
(gnu system shadow) ; 'user-account'
(gnu system linux-initrd)
(gnu system nss)
(gnu services)
(gnu services base)
(gnu packages)
(gnu packages base)))
(gnu packages base)
(guix gexp))) ; so gexps can be used
(for-each (let ((i (module-public-interface (current-module))))
(lambda (m)
(module-use! i (resolve-interface m))))
%public-modules)))
(define-syntax-rule (use-package-modules module ...)
(use-modules (gnu packages module) ...))
(define-syntax-rule (use-service-modules module ...)
(use-modules (gnu services module) ...))
(define-syntax-rule (use-system-modules module ...)
(use-modules (gnu system module) ...))
;;; gnu.scm ends here
+40
View File
@@ -0,0 +1,40 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 artwork)
#:use-module (guix packages)
#:use-module (guix git-download)
#:export (%artwork-repository))
;;; Commentary:
;;;
;;; Common place for the definition of the Guix artwork repository.
;;;
;;; Code:
(define %artwork-repository
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/guix/guix-artwork.git")
(commit "6998d30")))
(sha256
(base32
"0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j"))))
;;; artwork.scm ends here
+403
View File
@@ -0,0 +1,403 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; 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 build activation)
#:use-module (gnu build linux-boot)
#:use-module (guix build utils)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (activate-users+groups
activate-etc
activate-setuid-programs
activate-/bin/sh
activate-modprobe
activate-firmware
activate-ptrace-attach
activate-current-system))
;;; Commentary:
;;;
;;; This module provides "activation" helpers. Activation is the process that
;;; consists in setting up system-wide files and directories so that an
;;; 'operating-system' configuration becomes active.
;;;
;;; Code:
(define (enumerate thunk)
"Return the list of values returned by THUNK until it returned #f."
(let loop ((entry (thunk))
(result '()))
(if (not entry)
(reverse result)
(loop (thunk) (cons entry result)))))
(define (current-users)
"Return the passwd entries for all the currently defined user accounts."
(setpw)
(enumerate getpwent))
(define (current-groups)
"Return the group entries for all the currently defined user groups."
(setgr)
(enumerate getgrent))
(define* (add-group name #:key gid password system?
(log-port (current-error-port)))
"Add NAME as a user group, with the given numeric GID if specified."
;; Use 'groupadd' from the Shadow package.
(format log-port "adding group '~a'...~%" name)
(let ((args `(,@(if gid `("-g" ,(number->string gid)) '())
,@(if password `("-p" ,password) '())
,@(if system? `("--system") '())
,name)))
(zero? (apply system* "groupadd" args))))
(define %skeleton-directory
;; Directory containing skeleton files for new accounts.
;; Note: keep the trailing '/' so that 'scandir' enters it.
"/etc/skel/")
(define (dot-or-dot-dot? file)
(member file '("." "..")))
(define (make-file-writable file)
"Make FILE writable for its owner.."
(let ((stat (lstat file))) ;XXX: symlinks
(chmod file (logior #o600 (stat:perms stat)))))
(define* (copy-account-skeletons home
#:optional (directory %skeleton-directory))
"Copy the account skeletons from DIRECTORY to HOME."
(let ((files (scandir directory (negate dot-or-dot-dot?)
string<?)))
(mkdir-p home)
(for-each (lambda (file)
(let ((target (string-append home "/" file)))
(copy-file (string-append directory "/" file) target)
(make-file-writable target)))
files)))
(define* (make-skeletons-writable home
#:optional (directory %skeleton-directory))
"Make sure that the files that have been copied from DIRECTORY to HOME are
owner-writable in HOME."
(let ((files (scandir directory (negate dot-or-dot-dot?)
string<?)))
(for-each (lambda (file)
(let ((target (string-append home "/" file)))
(when (file-exists? target)
(make-file-writable target))))
files)))
(define* (add-user name group
#:key uid comment home shell password system?
(supplementary-groups '())
(log-port (current-error-port)))
"Create an account for user NAME part of GROUP, with the specified
properties. Return #t on success."
(format log-port "adding user '~a'...~%" name)
(if (and uid (zero? uid))
;; 'useradd' fails with "Cannot determine your user name" if the root
;; account doesn't exist. Thus, for bootstrapping purposes, create that
;; one manually.
(begin
(call-with-output-file "/etc/shadow"
(cut format <> "~a::::::::~%" name))
(call-with-output-file "/etc/passwd"
(cut format <> "~a:x:~a:~a:~a:~a:~a~%"
name "0" "0" comment home shell))
(chmod "/etc/shadow" #o600)
(copy-account-skeletons (or home "/root"))
#t)
;; Use 'useradd' from the Shadow package.
(let ((args `(,@(if uid `("-u" ,(number->string uid)) '())
"-g" ,(if (number? group) (number->string group) group)
,@(if (pair? supplementary-groups)
`("-G" ,(string-join supplementary-groups ","))
'())
,@(if comment `("-c" ,comment) '())
,@(if home
(if (file-exists? home)
`("-d" ,home) ; avoid warning from 'useradd'
`("-d" ,home "--create-home"))
'())
,@(if shell `("-s" ,shell) '())
,@(if password `("-p" ,password) '())
,@(if system? '("--system") '())
,name)))
(and (zero? (apply system* "useradd" args))
(begin
;; Since /etc/skel is a link to a directory in the store where
;; all files have the writable bit cleared, and since 'useradd'
;; preserves permissions when it copies them, explicitly make
;; them writable.
(make-skeletons-writable home)
#t)))))
(define* (modify-user name group
#:key uid comment home shell password system?
(supplementary-groups '())
(log-port (current-error-port)))
"Modify user account NAME to have all the given settings."
;; Use 'usermod' from the Shadow package.
(let ((args `(,@(if uid `("-u" ,(number->string uid)) '())
"-g" ,(if (number? group) (number->string group) group)
,@(if (pair? supplementary-groups)
`("-G" ,(string-join supplementary-groups ","))
'())
,@(if comment `("-c" ,comment) '())
;; Don't use '--move-home', so ignore HOME.
,@(if shell `("-s" ,shell) '())
,name)))
(zero? (apply system* "usermod" args))))
(define* (delete-user name #:key (log-port (current-error-port)))
"Remove user account NAME. Return #t on success. This may fail if NAME is
logged in."
(format log-port "deleting user '~a'...~%" name)
(zero? (system* "userdel" name)))
(define* (delete-group name #:key (log-port (current-error-port)))
"Remove group NAME. Return #t on success."
(format log-port "deleting group '~a'...~%" name)
(zero? (system* "groupdel" name)))
(define* (ensure-user name group
#:key uid comment home shell password system?
(supplementary-groups '())
(log-port (current-error-port))
#:rest rest)
"Make sure user NAME exists and has the relevant settings."
(if (false-if-exception (getpwnam name))
(apply modify-user name group rest)
(apply add-user name group rest)))
(define (activate-users+groups users groups)
"Make sure the accounts listed in USERS and the user groups listed in GROUPS
are all available.
Each item in USERS is a list of all the characteristics of a user account;
each item in GROUPS is a tuple with the group name, group password or #f, and
numeric gid or #f."
(define (touch file)
(close-port (open-file file "a0b")))
(define activate-user
(match-lambda
((name uid group supplementary-groups comment home shell password system?)
(let ((profile-dir (string-append "/var/guix/profiles/per-user/"
name)))
(ensure-user name group
#:uid uid
#:system? system?
#:supplementary-groups supplementary-groups
#:comment comment
#:home home
#:shell shell
#:password password)
(unless system?
;; Create the profile directory for the new account.
(let ((pw (getpwnam name)))
(mkdir-p profile-dir)
(chown profile-dir (passwd:uid pw) (passwd:gid pw))))))))
;; 'groupadd' aborts if the file doesn't already exist.
(touch "/etc/group")
;; Create the root account so we can use 'useradd' and 'groupadd'.
(activate-user (find (match-lambda
((name (? zero?) _ ...) #t)
(_ #f))
users))
;; Then create the groups.
(for-each (match-lambda
((name password gid system?)
(unless (false-if-exception (getgrnam name))
(add-group name
#:gid gid #:password password
#:system? system?))))
groups)
;; Create the other user accounts.
(for-each activate-user users)
;; Finally, delete extra user accounts and groups.
(for-each delete-user
(lset-difference string=?
(map passwd:name (current-users))
(match users
(((names . _) ...)
names))))
(for-each delete-group
(lset-difference string=?
(map group:name (current-groups))
(match groups
(((names . _) ...)
names)))))
(define (activate-etc etc)
"Install ETC, a directory in the store, as the source of static files for
/etc."
;; /etc is a mixture of static and dynamic settings. Here is where we
;; initialize it from the static part.
(define (rm-f file)
(false-if-exception (delete-file file)))
(format #t "populating /etc from ~a...~%" etc)
;; Create the /etc/ssl -> /run/current-system/profile/etc/ssl symlink. This
;; symlink, to a target outside of the store, probably doesn't belong in the
;; static 'etc' store directory. However, if it were to be put there,
;; beware that if /run/current-system/profile/etc/ssl doesn't exist at the
;; time of activation (e.g. when installing a fresh system), the call to
;; 'file-is-directory?' below will fail because it uses 'stat', not 'lstat'.
(rm-f "/etc/ssl")
(symlink "/run/current-system/profile/etc/ssl" "/etc/ssl")
(rm-f "/etc/static")
(symlink etc "/etc/static")
(for-each (lambda (file)
(let ((target (string-append "/etc/" file))
(source (string-append "/etc/static/" file)))
(rm-f target)
;; Things such as /etc/sudoers must be regular files, not
;; symlinks; furthermore, they could be modified behind our
;; back---e.g., with 'visudo'. Thus, make a copy instead of
;; symlinking them.
(if (file-is-directory? source)
(symlink source target)
(copy-file source target))
;; XXX: Dirty hack to meet sudo's expectations.
(when (string=? (basename target) "sudoers")
(chmod target #o440))))
(scandir etc (negate dot-or-dot-dot?)
;; The default is 'string-locale<?', but we don't have
;; it when run from the initrd's statically-linked
;; Guile.
string<?)))
(define %setuid-directory
;; Place where setuid programs are stored.
"/run/setuid-programs")
(define (link-or-copy source target)
"Attempt to make TARGET a hard link to SOURCE; if it fails, fall back to
copy SOURCE to TARGET."
(catch 'system-error
(lambda ()
(link source target))
(lambda args
;; Perhaps SOURCE and TARGET live in a different file system, so copy
;; SOURCE.
(copy-file source target))))
(define (activate-setuid-programs programs)
"Turn PROGRAMS, a list of file names, into setuid programs stored under
%SETUID-DIRECTORY."
(define (make-setuid-program prog)
(let ((target (string-append %setuid-directory
"/" (basename prog))))
(link-or-copy prog target)
(chown target 0 0)
(chmod target #o6555)))
(format #t "setting up setuid programs in '~a'...~%"
%setuid-directory)
(if (file-exists? %setuid-directory)
(for-each (compose delete-file
(cut string-append %setuid-directory "/" <>))
(scandir %setuid-directory
(lambda (file)
(not (member file '("." ".."))))
string<?))
(mkdir-p %setuid-directory))
(for-each make-setuid-program programs))
(define (activate-/bin/sh shell)
"Change /bin/sh to point to SHELL."
(symlink shell "/bin/sh.new")
(rename-file "/bin/sh.new" "/bin/sh"))
(define (activate-modprobe modprobe)
"Tell the kernel to use MODPROBE to load modules."
(call-with-output-file "/proc/sys/kernel/modprobe"
(lambda (port)
(display modprobe port))))
(define (activate-firmware directory)
"Tell the kernel to look for device firmware under DIRECTORY. This
mechanism bypasses udev: it allows Linux to handle firmware loading directly
by itself, without having to resort to a \"user helper\"."
(call-with-output-file "/sys/module/firmware_class/parameters/path"
(lambda (port)
(display directory port))))
(define (activate-ptrace-attach)
"Allow users to PTRACE_ATTACH their own processes.
This works around a regression introduced in the default \"security\" policy
found in Linux 3.4 onward that prevents users from attaching to their own
processes--see Yama.txt in the Linux source tree for the rationale. This
sounds like an unacceptable restriction for little or no security
improvement."
(let ((file "/proc/sys/kernel/yama/ptrace_scope"))
(when (file-exists? file)
(call-with-output-file file
(lambda (port)
(display 0 port))))))
(define %current-system
;; The system that is current (a symlink.) This is not necessarily the same
;; as the system we booted (aka. /run/booted-system) because we can re-build
;; a new system configuration and activate it, without rebooting.
"/run/current-system")
(define (boot-time-system)
"Return the '--system' argument passed on the kernel command line."
(find-long-option "--system" (linux-command-line)))
(define* (activate-current-system
#:optional (system (or (getenv "GUIX_NEW_SYSTEM")
(boot-time-system))))
"Atomically make SYSTEM the current system."
;; The 'GUIX_NEW_SYSTEM' environment variable is used as a way for 'guix
;; system reconfigure' to pass the file name of the new system.
(format #t "making '~a' the current system...~%" system)
;; Atomically make SYSTEM current.
(let ((new (string-append %current-system ".new")))
(symlink system new)
(rename-file new %current-system)))
;;; activation.scm ends here
+301
View File
@@ -0,0 +1,301 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 build file-systems)
#:use-module (guix build utils)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (system foreign)
#:autoload (system repl repl) (start-repl)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (disk-partitions
partition-label-predicate
find-partition-by-label
canonicalize-device-spec
MS_RDONLY
MS_NOSUID
MS_NODEV
MS_NOEXEC
MS_BIND
MS_MOVE
bind-mount
mount-flags->bit-mask
check-file-system
mount-file-system))
;;; Commentary:
;;;
;;; This modules provides tools to deal with disk partitions, and to mount and
;;; check file systems.
;;;
;;; Code:
;; Linux mount flags, from libc's <sys/mount.h>.
(define MS_RDONLY 1)
(define MS_NOSUID 2)
(define MS_NODEV 4)
(define MS_NOEXEC 8)
(define MS_REMOUNT 32)
(define MS_BIND 4096)
(define MS_MOVE 8192)
(define (bind-mount source target)
"Bind-mount SOURCE at TARGET."
(mount source target "" MS_BIND))
(define-syntax %ext2-endianness
;; Endianness of ext2 file systems.
(identifier-syntax (endianness little)))
;; Offset in bytes of interesting parts of an ext2 superblock. See
;; <http://www.nongnu.org/ext2-doc/ext2.html#DEF-SUPERBLOCK>.
;; TODO: Use "packed structs" from Guile-OpenGL or similar.
(define-syntax %ext2-sblock-magic (identifier-syntax 56))
(define-syntax %ext2-sblock-creator-os (identifier-syntax 72))
(define-syntax %ext2-sblock-uuid (identifier-syntax 104))
(define-syntax %ext2-sblock-volume-name (identifier-syntax 120))
(define (read-ext2-superblock device)
"Return the raw contents of DEVICE's ext2 superblock as a bytevector, or #f
if DEVICE does not contain an ext2 file system."
(define %ext2-magic
;; The magic bytes that identify an ext2 file system.
#xef53)
(define superblock-size
;; Size of the interesting part of an ext2 superblock.
264)
(define block
;; The superblock contents.
(make-bytevector superblock-size))
(call-with-input-file device
(lambda (port)
(seek port 1024 SEEK_SET)
;; Note: work around <http://bugs.gnu.org/17466>.
(and (eqv? superblock-size (get-bytevector-n! port block 0
superblock-size))
(let ((magic (bytevector-u16-ref block %ext2-sblock-magic
%ext2-endianness)))
(and (= magic %ext2-magic)
block))))))
(define (ext2-superblock-uuid sblock)
"Return the UUID of ext2 superblock SBLOCK as a 16-byte bytevector."
(let ((uuid (make-bytevector 16)))
(bytevector-copy! sblock %ext2-sblock-uuid uuid 0 16)
uuid))
(define (ext2-superblock-volume-name sblock)
"Return the volume name of SBLOCK as a string of at most 16 characters, or
#f if SBLOCK has no volume name."
(let ((bv (make-bytevector 16)))
(bytevector-copy! sblock %ext2-sblock-volume-name bv 0 16)
;; This is a Latin-1, nul-terminated string.
(let ((bytes (take-while (negate zero?) (bytevector->u8-list bv))))
(if (null? bytes)
#f
(list->string (map integer->char bytes))))))
(define (disk-partitions)
"Return the list of device names corresponding to valid disk partitions."
(define (partition? major minor)
(let ((marker (format #f "/sys/dev/block/~a:~a/partition" major minor)))
(catch 'system-error
(lambda ()
(not (zero? (call-with-input-file marker read))))
(lambda args
(if (= ENOENT (system-error-errno args))
#f
(apply throw args))))))
(call-with-input-file "/proc/partitions"
(lambda (port)
;; Skip the two header lines.
(read-line port)
(read-line port)
;; Read each subsequent line, and extract the last space-separated
;; field.
(let loop ((parts '()))
(let ((line (read-line port)))
(if (eof-object? line)
(reverse parts)
(match (string-tokenize line)
(((= string->number major) (= string->number minor)
blocks name)
(if (partition? major minor)
(loop (cons name parts))
(loop parts))))))))))
(define (partition-label-predicate label)
"Return a procedure that, when applied to a partition name such as \"sda1\",
return #t if that partition's volume name is LABEL."
(lambda (part)
(let* ((device (string-append "/dev/" part))
(sblock (catch 'system-error
(lambda ()
(read-ext2-superblock device))
(lambda args
;; When running on the hand-made /dev,
;; 'disk-partitions' could return partitions for which
;; we have no /dev node. Handle that gracefully.
(if (= ENOENT (system-error-errno args))
(begin
(format (current-error-port)
"warning: device '~a' not found~%"
device)
#f)
(apply throw args))))))
(and sblock
(let ((volume (ext2-superblock-volume-name sblock)))
(and volume
(string=? volume label)))))))
(define (find-partition-by-label label)
"Return the first partition found whose volume name is LABEL, or #f if none
were found."
(and=> (find (partition-label-predicate label)
(disk-partitions))
(cut string-append "/dev/" <>)))
(define* (canonicalize-device-spec spec #:optional (title 'any))
"Return the device name corresponding to SPEC. TITLE is a symbol, one of
the following:
• 'device', in which case SPEC is known to designate a device node--e.g.,
\"/dev/sda1\";
• 'label', in which case SPEC is known to designate a partition label--e.g.,
\"my-root-part\";
• 'any', in which case SPEC can be anything.
"
(define max-trials
;; Number of times we retry partition label resolution, 1 second per
;; trial. Note: somebody reported a delay of 16 seconds (!) before their
;; USB key would be detected by the kernel, so we must wait for at least
;; this long.
20)
(define canonical-title
;; The realm of canonicalization.
(if (eq? title 'any)
(if (string-prefix? "/" spec)
'device
'label)
title))
(case canonical-title
((device)
;; Nothing to do.
spec)
((label)
;; Resolve the label.
(let loop ((count 0))
(let ((device (find-partition-by-label spec)))
(or device
;; Some devices take a bit of time to appear, most notably USB
;; storage devices. Thus, wait for the device to appear.
(if (> count max-trials)
(error "failed to resolve partition label" spec)
(begin
(format #t "waiting for partition '~a' to appear...~%"
spec)
(sleep 1)
(loop (+ 1 count))))))))
;; TODO: Add support for UUIDs.
(else
(error "unknown device title" title))))
(define (check-file-system device type)
"Run a file system check of TYPE on DEVICE."
(define fsck
(string-append "fsck." type))
(let ((status (system* fsck "-v" "-p" "-C" "0" device)))
(match (status:exit-val status)
(0
#t)
(1
(format (current-error-port) "'~a' corrected errors on ~a; continuing~%"
fsck device))
(2
(format (current-error-port) "'~a' corrected errors on ~a; rebooting~%"
fsck device)
(sleep 3)
(reboot))
(code
(format (current-error-port) "'~a' exited with code ~a on ~a; spawning REPL~%"
fsck code device)
(start-repl)))))
(define (mount-flags->bit-mask flags)
"Return the number suitable for the 'flags' argument of 'mount' that
corresponds to the symbols listed in FLAGS."
(let loop ((flags flags))
(match flags
(('read-only rest ...)
(logior MS_RDONLY (loop rest)))
(('bind-mount rest ...)
(logior MS_BIND (loop rest)))
(('no-suid rest ...)
(logior MS_NOSUID (loop rest)))
(('no-dev rest ...)
(logior MS_NODEV (loop rest)))
(('no-exec rest ...)
(logior MS_NOEXEC (loop rest)))
(()
0))))
(define* (mount-file-system spec #:key (root "/root"))
"Mount the file system described by SPEC under ROOT. SPEC must have the
form:
(DEVICE TITLE MOUNT-POINT TYPE (FLAGS ...) OPTIONS CHECK?)
DEVICE, MOUNT-POINT, and TYPE must be strings; OPTIONS can be a string or #f;
FLAGS must be a list of symbols. CHECK? is a Boolean indicating whether to
run a file system check."
(match spec
((source title mount-point type (flags ...) options check?)
(let ((source (canonicalize-device-spec source title))
(mount-point (string-append root "/" mount-point))
(flags (mount-flags->bit-mask flags)))
(when check?
(check-file-system source type))
(mkdir-p mount-point)
(mount source mount-point type flags
(if options
(string->pointer options)
%null-pointer))
;; For read-only bind mounts, an extra remount is needed, as per
;; <http://lwn.net/Articles/281157/>, which still applies to Linux 4.0.
(when (and (= MS_BIND (logand flags MS_BIND))
(= MS_RDONLY (logand flags MS_RDONLY)))
(mount source mount-point type (logior MS_BIND MS_REMOUNT MS_RDONLY)
%null-pointer))))))
;;; file-systems.scm ends here
@@ -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.
;;;
@@ -16,15 +16,16 @@
;;; 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 (guix build install)
(define-module (gnu build install)
#:use-module (guix build utils)
#:use-module (guix build install)
#:use-module (guix build store-copy)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (install-grub
populate-root-file-system
reset-timestamps
register-closure))
register-closure
populate-single-profile-directory))
;;; Commentary:
;;;
@@ -37,13 +38,17 @@
(define* (install-grub grub.cfg device mount-point)
"Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on
MOUNT-POINT."
MOUNT-POINT.
Note that the caller must make sure that GRUB.CFG is registered as a GC root
so that the fonts, background images, etc. referred to by GRUB.CFG are not
GC'd."
(let* ((target (string-append mount-point "/boot/grub/grub.cfg"))
(pivot (string-append target ".new")))
(mkdir-p (dirname target))
;; Copy GRUB.CFG instead of just symlinking it since it's not a GC root.
;; Do that atomically.
;; Copy GRUB.CFG instead of just symlinking it, because symlinks won't
;; work when /boot is on a separate partition. Do that atomically.
(copy-file grub.cfg pivot)
(rename-file pivot target)
@@ -57,18 +62,38 @@ MOUNT-POINT."
"Evaluate DIRECTIVE, an sexp describing a file or directory to create under
directory TARGET."
(let loop ((directive directive))
(match directive
(('directory name)
(mkdir-p (string-append target name)))
(('directory name uid gid)
(let ((dir (string-append target name)))
(mkdir-p dir)
(chown dir uid gid)))
(('directory name uid gid mode)
(loop `(directory ,name ,uid ,gid))
(chmod (string-append target name) mode))
((new '-> old)
(symlink old (string-append target new))))))
(catch 'system-error
(lambda ()
(match directive
(('directory name)
(mkdir-p (string-append target name)))
(('directory name uid gid)
(let ((dir (string-append target name)))
(mkdir-p dir)
(chown dir uid gid)))
(('directory name uid gid mode)
(loop `(directory ,name ,uid ,gid))
(chmod (string-append target name) mode))
((new '-> old)
(let try ()
(catch 'system-error
(lambda ()
(symlink old (string-append target new)))
(lambda args
;; When doing 'guix system init' on the current '/', some
;; symlinks may already exists. Override them.
(if (= EEXIST (system-error-errno args))
(begin
(delete-file (string-append target new))
(try))
(apply throw args))))))))
(lambda args
;; Usually we can only get here when installing to an existing root,
;; as with 'guix system init foo.scm /'.
(format (current-error-port)
"error: failed to evaluate directive: ~s~%"
directive)
(apply throw args)))))
(define (directives store)
"Return a list of directives to populate the root file system that will host
@@ -94,8 +119,9 @@ STORE."
("/var/guix/gcroots/current-system" -> "/run/current-system")
(directory "/bin")
("/bin/sh" -> "/run/current-system/profile/bin/bash")
(directory "/tmp" 0 0 #o1777) ; sticky bit
(directory "/var/tmp" 0 0 #o1777)
(directory "/var/lock" 0 0 #o1777)
(directory "/root" 0 0) ; an exception
(directory "/home" 0 0)))
@@ -107,6 +133,7 @@ includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM."
(directives (%store-directory)))
;; Add system generation 1.
(false-if-exception (delete-file "/var/guix/profiles/system-1-link"))
(symlink system
(string-append target "/var/guix/profiles/system-1-link")))
@@ -133,4 +160,43 @@ by 'guix-register'. As a side effect, this resets timestamps on store files."
(unless (zero? status)
(error "failed to register store items" closure))))
(define* (populate-single-profile-directory directory
#:key profile closure)
"Populate DIRECTORY with a store containing PROFILE, whose closure is given
in the file called CLOSURE (as generated by #:references-graphs.) DIRECTORY
is initialized to contain a single profile under /root pointing to PROFILE.
This is used to create the self-contained Guix tarball."
(define (scope file)
(string-append directory "/" file))
(define %root-profile
"/var/guix/profiles/per-user/root")
(define (mkdir-p* dir)
(mkdir-p (scope dir)))
(define (symlink* old new)
(symlink old (scope new)))
;; Populate the store.
(populate-store (list closure) directory)
(register-closure (canonicalize-path directory) closure)
;; XXX: 'guix-register' registers profiles as GC roots but the symlink
;; target uses $TMPDIR. Fix that.
(delete-file (scope "/var/guix/gcroots/profiles"))
(symlink* "/var/guix/profiles"
"/var/guix/gcroots/profiles")
;; Make root's profile, which makes it a GC root.
(mkdir-p* %root-profile)
(symlink* profile
(string-append %root-profile "/guix-profile-1-link"))
(symlink* (string-append %root-profile "/guix-profile-1-link")
(string-append %root-profile "/guix-profile"))
(mkdir-p* "/root")
(symlink* (string-append %root-profile "/guix-profile")
"/root/.guix-profile"))
;;; install.scm ends here
@@ -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.
;;;
@@ -16,36 +16,25 @@
;;; 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 (guix build linux-initrd)
(define-module (gnu build linux-boot)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
#:use-module (system foreign)
#:use-module (system repl error-handling)
#:autoload (system repl repl) (start-repl)
#:autoload (system base compile) (compile-file)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 ftw)
#:use-module (guix build utils)
#:use-module (gnu build linux-modules)
#:use-module (gnu build file-systems)
#:export (mount-essential-file-systems
linux-command-line
find-long-option
make-essential-device-nodes
configure-qemu-networking
disk-partitions
partition-label-predicate
find-partition-by-label
canonicalize-device-spec
mount-flags->bit-mask
check-file-system
mount-file-system
bind-mount
load-linux-module*
device-number
boot-system))
@@ -99,173 +88,12 @@ Return the value associated with OPTION, or #f on failure."
(lambda (arg)
(substring arg (+ 1 (string-index arg #\=)))))))
(define-syntax %ext2-endianness
;; Endianness of ext2 file systems.
(identifier-syntax (endianness little)))
;; Offset in bytes of interesting parts of an ext2 superblock. See
;; <http://www.nongnu.org/ext2-doc/ext2.html#DEF-SUPERBLOCK>.
;; TODO: Use "packed structs" from Guile-OpenGL or similar.
(define-syntax %ext2-sblock-magic (identifier-syntax 56))
(define-syntax %ext2-sblock-creator-os (identifier-syntax 72))
(define-syntax %ext2-sblock-uuid (identifier-syntax 104))
(define-syntax %ext2-sblock-volume-name (identifier-syntax 120))
(define (read-ext2-superblock device)
"Return the raw contents of DEVICE's ext2 superblock as a bytevector, or #f
if DEVICE does not contain an ext2 file system."
(define %ext2-magic
;; The magic bytes that identify an ext2 file system.
#xef53)
(define superblock-size
;; Size of the interesting part of an ext2 superblock.
264)
(define block
;; The superblock contents.
(make-bytevector superblock-size))
(call-with-input-file device
(lambda (port)
(seek port 1024 SEEK_SET)
;; Note: work around <http://bugs.gnu.org/17466>.
(and (eqv? superblock-size (get-bytevector-n! port block 0
superblock-size))
(let ((magic (bytevector-u16-ref block %ext2-sblock-magic
%ext2-endianness)))
(and (= magic %ext2-magic)
block))))))
(define (ext2-superblock-uuid sblock)
"Return the UUID of ext2 superblock SBLOCK as a 16-byte bytevector."
(let ((uuid (make-bytevector 16)))
(bytevector-copy! sblock %ext2-sblock-uuid uuid 0 16)
uuid))
(define (ext2-superblock-volume-name sblock)
"Return the volume name of SBLOCK as a string of at most 16 characters, or
#f if SBLOCK has no volume name."
(let ((bv (make-bytevector 16)))
(bytevector-copy! sblock %ext2-sblock-volume-name bv 0 16)
;; This is a Latin-1, nul-terminated string.
(let ((bytes (take-while (negate zero?) (bytevector->u8-list bv))))
(if (null? bytes)
#f
(list->string (map integer->char bytes))))))
(define (disk-partitions)
"Return the list of device names corresponding to valid disk partitions."
(define (partition? major minor)
(let ((marker (format #f "/sys/dev/block/~a:~a/partition" major minor)))
(catch 'system-error
(lambda ()
(not (zero? (call-with-input-file marker read))))
(lambda args
(if (= ENOENT (system-error-errno args))
#f
(apply throw args))))))
(call-with-input-file "/proc/partitions"
(lambda (port)
;; Skip the two header lines.
(read-line port)
(read-line port)
;; Read each subsequent line, and extract the last space-separated
;; field.
(let loop ((parts '()))
(let ((line (read-line port)))
(if (eof-object? line)
(reverse parts)
(match (string-tokenize line)
(((= string->number major) (= string->number minor)
blocks name)
(if (partition? major minor)
(loop (cons name parts))
(loop parts))))))))))
(define (partition-label-predicate label)
"Return a procedure that, when applied to a partition name such as \"sda1\",
return #t if that partition's volume name is LABEL."
(lambda (part)
(let* ((device (string-append "/dev/" part))
(sblock (catch 'system-error
(lambda ()
(read-ext2-superblock device))
(lambda args
;; When running on the hand-made /dev,
;; 'disk-partitions' could return partitions for which
;; we have no /dev node. Handle that gracefully.
(if (= ENOENT (system-error-errno args))
(begin
(format (current-error-port)
"warning: device '~a' not found~%"
device)
#f)
(apply throw args))))))
(and sblock
(let ((volume (ext2-superblock-volume-name sblock)))
(and volume
(string=? volume label)))))))
(define (find-partition-by-label label)
"Return the first partition found whose volume name is LABEL, or #f if none
were found."
(and=> (find (partition-label-predicate label)
(disk-partitions))
(cut string-append "/dev/" <>)))
(define* (canonicalize-device-spec spec #:optional (title 'any))
"Return the device name corresponding to SPEC. TITLE is a symbol, one of
the following:
'device', in which case SPEC is known to designate a device node--e.g.,
\"/dev/sda1\";
'label', in which case SPEC is known to designate a partition label--e.g.,
\"my-root-part\";
'any', in which case SPEC can be anything.
"
(define max-trials
;; Number of times we retry partition label resolution.
7)
(define canonical-title
;; The realm of canonicalization.
(if (eq? title 'any)
(if (string-prefix? "/" spec)
'device
'label)
title))
(case canonical-title
((device)
;; Nothing to do.
spec)
((label)
;; Resolve the label.
(let loop ((count 0))
(let ((device (find-partition-by-label spec)))
(or device
;; Some devices take a bit of time to appear, most notably USB
;; storage devices. Thus, wait for the device to appear.
(if (> count max-trials)
(error "failed to resolve partition label" spec)
(begin
(sleep 1)
(loop (+ 1 count))))))))
;; TODO: Add support for UUIDs.
(else
(error "unknown device title" title))))
(define* (make-disk-device-nodes base major #:optional (minor 0))
"Make the block device nodes around BASE (something like \"/root/dev/sda\")
with the given MAJOR number, starting with MINOR."
(mknod base 'block-special #o644 (device-number major minor))
(let loop ((i 1))
(when (< i 6)
(when (< i 16)
(mknod (string-append base (number->string i))
'block-special #o644 (device-number major (+ minor i)))
(loop (+ i 1)))))
@@ -384,33 +212,12 @@ networking values.) Return #t if INTERFACE is up, #f otherwise."
(set-network-interface-address sock interface address)
(set-network-interface-flags sock interface (logior flags IFF_UP))
(unless (file-exists? "/etc")
(mkdir "/etc"))
(call-with-output-file "/etc/resolv.conf"
(lambda (p)
(display "nameserver 10.0.2.3\n" p)))
;; Hello! We used to create /etc/resolv.conf here, with "nameserver
;; 10.0.2.3\n". However, with Linux-libre 3.16, we're getting ENOSPC.
;; And since it's actually unnecessary, it's gone.
(logand (network-interface-flags sock interface) IFF_UP)))
;; Linux mount flags, from libc's <sys/mount.h>.
(define MS_RDONLY 1)
(define MS_NOSUID 2)
(define MS_NODEV 4)
(define MS_NOEXEC 8)
(define MS_BIND 4096)
(define MS_MOVE 8192)
(define (bind-mount source target)
"Bind-mount SOURCE at TARGET."
(mount source target "" MS_BIND))
(define (load-linux-module* file)
"Load Linux module from FILE, the name of a `.ko' file."
(define (slurp module)
(call-with-input-file file get-bytevector-all))
(load-linux-module (slurp file)))
(define (device-number major minor)
"Return the device number for the device with MAJOR and MINOR, for use as
the last argument of `mknod'."
@@ -440,109 +247,38 @@ UNIONFS."
(newline port)
(close-port port)))
(catch #t
(lambda ()
(if volatile-root?
(begin
(mkdir-p "/real-root")
(mount root "/real-root" type MS_RDONLY)
(mkdir-p "/rw-root")
(mount "none" "/rw-root" "tmpfs")
(if volatile-root?
(begin
(mkdir-p "/real-root")
(mount root "/real-root" type MS_RDONLY)
(mkdir-p "/rw-root")
(mount "none" "/rw-root" "tmpfs")
;; We want read-write /dev nodes.
(make-essential-device-nodes #:root "/rw-root")
;; We want read-write /dev nodes.
(make-essential-device-nodes #:root "/rw-root")
;; Make /root a union of the tmpfs and the actual root. Use
;; 'max_files' to set a high RLIMIT_NOFILE for the unionfs process
;; itself. Failing to do that, we quickly run out of file
;; descriptors; see <http://bugs.gnu.org/17827>.
(unless (zero? (system* unionfs "-o"
"cow,allow_other,use_ino,suid,dev,max_files=65536"
"/rw-root=RW:/real-root=RO"
"/root"))
(error "unionfs failed"))
;; Make /root a union of the tmpfs and the actual root. Use
;; 'max_files' to set a high RLIMIT_NOFILE for the unionfs process
;; itself. Failing to do that, we quickly run out of file
;; descriptors; see <http://bugs.gnu.org/17827>.
(unless (zero? (system* unionfs "-o"
"cow,allow_other,use_ino,suid,dev,max_files=65536"
"/rw-root=RW:/real-root=RO"
"/root"))
(error "unionfs failed"))
;; Make sure unionfs remains alive till the end. Because
;; 'fuse_daemonize' doesn't tell the PID of the forked daemon, we
;; have to resort to 'pidof' here.
(mark-as-not-killable (pidof unionfs)))
(begin
(check-file-system root type)
(mount root "/root" type))))
(lambda args
(format (current-error-port) "exception while mounting '~a': ~s~%"
root args)
(start-repl)))
;; Make sure unionfs remains alive till the end. Because
;; 'fuse_daemonize' doesn't tell the PID of the forked daemon, we
;; have to resort to 'pidof' here.
(mark-as-not-killable (pidof unionfs)))
(begin
(check-file-system root type)
(mount root "/root" type)))
(copy-file "/proc/mounts" "/root/etc/mtab"))
(define (check-file-system device type)
"Run a file system check of TYPE on DEVICE."
(define fsck
(string-append "fsck." type))
(let ((status (system* fsck "-v" "-p" device)))
(match (status:exit-val status)
(0
#t)
(1
(format (current-error-port) "'~a' corrected errors on ~a; continuing~%"
fsck device))
(2
(format (current-error-port) "'~a' corrected errors on ~a; rebooting~%"
fsck device)
(sleep 3)
(reboot))
(code
(format (current-error-port) "'~a' exited with code ~a on ~a; spawning REPL~%"
fsck code device)
(start-repl)))))
(define (mount-flags->bit-mask flags)
"Return the number suitable for the 'flags' argument of 'mount' that
corresponds to the symbols listed in FLAGS."
(let loop ((flags flags))
(match flags
(('read-only rest ...)
(logior MS_RDONLY (loop rest)))
(('bind-mount rest ...)
(logior MS_BIND (loop rest)))
(('no-suid rest ...)
(logior MS_NOSUID (loop rest)))
(('no-dev rest ...)
(logior MS_NODEV (loop rest)))
(('no-exec rest ...)
(logior MS_NOEXEC (loop rest)))
(()
0))))
(define* (mount-file-system spec #:key (root "/root"))
"Mount the file system described by SPEC under ROOT. SPEC must have the
form:
(DEVICE TITLE MOUNT-POINT TYPE (FLAGS ...) OPTIONS CHECK?)
DEVICE, MOUNT-POINT, and TYPE must be strings; OPTIONS can be a string or #f;
FLAGS must be a list of symbols. CHECK? is a Boolean indicating whether to
run a file system check."
(match spec
((source title mount-point type (flags ...) options check?)
(let ((source (canonicalize-device-spec source title))
(mount-point (string-append root "/" mount-point)))
(when check?
(check-file-system source type))
(mkdir-p mount-point)
(mount source mount-point type (mount-flags->bit-mask flags)
(if options
(string->pointer options)
%null-pointer))
;; Update /etc/mtab.
(mkdir-p (string-append root "/etc"))
(let ((port (open-file (string-append root "/etc/mtab") "a")))
(format port "~a ~a ~a ~a 0 0~%"
source mount-point type (or options ""))
(close-port port))))))
;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
(false-if-exception
(delete-file "/root/etc/mtab"))
(symlink "/proc/self/mounts" "/root/etc/mtab"))
(define (switch-root root)
"Switch to ROOT as the root file system, in a way similar to what
@@ -591,24 +327,23 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
(define* (boot-system #:key
(linux-modules '())
linux-module-directory
qemu-guest-networking?
guile-modules-in-chroot?
volatile-root?
pre-mount
(mounts '()))
"This procedure is meant to be called from an initrd. Boot a system by
first loading LINUX-MODULES, then setting up QEMU guest networking if
QEMU-GUEST-NETWORKING? is true, mounting the file systems specified in MOUNTS,
and finally booting into the new root if any. The initrd supports kernel
command-line options '--load', '--root', and '--repl'.
first loading LINUX-MODULES (a list of module names) from
LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if
QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
specified in MOUNTS, and finally booting into the new root if any. The initrd
supports kernel command-line options '--load', '--root', and '--repl'.
Mount the root file system, specified by the '--root' command-line argument,
if any.
MOUNTS must be a list suitable for 'mount-file-system'.
When GUILE-MODULES-IN-CHROOT? is true, make core Guile modules available in
the new root.
When VOLATILE-ROOT? is true, the root file system is writable but any changes
to it are lost."
(define root-mount-point?
@@ -623,6 +358,10 @@ to it are lost."
mounts)
"ext4"))
(define (lookup-module name)
(string-append linux-module-directory "/"
(ensure-dot-ko name)))
(display "Welcome, this is GNU's early boot Guile.\n")
(display "Use '--repl' for an initrd REPL.\n\n")
@@ -637,9 +376,10 @@ to it are lost."
(start-repl))
(display "loading kernel modules...\n")
(for-each (compose load-linux-module*
(cut string-append "/modules/" <>))
linux-modules)
(current-module-debugging-port (current-output-port))
(for-each (cut load-linux-module* <>
#:lookup-module lookup-module)
(map lookup-module linux-modules))
(when qemu-guest-networking?
(unless (configure-qemu-networking)
@@ -651,6 +391,14 @@ to it are lost."
;; Prepare the real root file system under /root.
(unless (file-exists? "/root")
(mkdir "/root"))
(when (procedure? pre-mount)
;; Do whatever actions are needed before mounting the root file
;; system--e.g., installing device mappings. Error out when the
;; return value is false.
(unless (pre-mount)
(error "pre-mount actions failed")))
(if root
(mount-root-file-system (canonicalize-device-spec root)
root-fs-type
@@ -665,19 +413,6 @@ to it are lost."
(for-each mount-file-system
(remove root-mount-point? mounts))
(when guile-modules-in-chroot?
;; Copy the directories that contain .scm and .go files so that the
;; child process in the chroot can load modules (we would bind-mount
;; them but for some reason that fails with EINVAL -- XXX).
(mkdir-p "/root/share")
(mkdir-p "/root/lib")
(mount "none" "/root/share" "tmpfs")
(mount "none" "/root/lib" "tmpfs")
(copy-recursively "/share" "/root/share"
#:log (%make-void-port "w"))
(copy-recursively "/lib" "/root/lib"
#:log (%make-void-port "w")))
(if to-load
(begin
(switch-root "/root")
+142
View File
@@ -0,0 +1,142 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 build linux-initrd)
#:use-module (guix build utils)
#:use-module (guix build store-copy)
#:use-module (system base compile)
#:use-module (rnrs bytevectors)
#:use-module ((system foreign) #:select (sizeof))
#:use-module (ice-9 popen)
#:use-module (ice-9 ftw)
#:export (write-cpio-archive
build-initrd))
;;; Commentary:
;;;
;;; Tools to create Linux initial RAM disks ("initrds"). Initrds are
;;; essentially gzipped cpio archives, with a '/init' executable that the
;;; kernel runs at boot time.
;;;
;;; Code:
(define* (write-cpio-archive output directory
#:key
(compress? #t)
(cpio "cpio") (gzip "gzip"))
"Write a cpio archive containing DIRECTORY to file OUTPUT, using CPIO. When
COMPRESS? is true, compress it using GZIP. On success, return OUTPUT."
;; Note: don't use '--no-absolute-filenames' since that strips leading
;; slashes from symlink targets.
(let ((pipe (open-pipe* OPEN_WRITE cpio "-o" "-O" output
"-H" "newc" "--null")))
(define (print0 file)
(format pipe "~a\0" file))
;; Note: as per `ramfs-rootfs-initramfs.txt', always add directory entries
;; before the files that are inside of it: "The Linux kernel cpio
;; extractor won't create files in a directory that doesn't exist, so the
;; directory entries must go before the files that go in those
;; directories."
;; XXX: Use a deterministic order.
(file-system-fold (const #t)
(lambda (file stat result) ; leaf
(print0 file))
(lambda (dir stat result) ; down
(unless (string=? dir directory)
(print0 dir)))
(const #f) ; up
(const #f) ; skip
(const #f)
#f
directory)
(and (zero? (close-pipe pipe))
(or (not compress?)
(and (zero? (system* gzip "--best" output))
(rename-file (string-append output ".gz")
output))
output))))
(define (cache-compiled-file-name file)
"Return the file name of the in-cache .go file for FILE, relative to the
current directory.
This is similar to what 'compiled-file-name' in (system base compile) does."
(let loop ((file file))
(let ((target (false-if-exception (readlink file))))
(if target
(loop target)
(format #f ".cache/guile/ccache/~a-~a-~a-~a/~a"
(effective-version)
(if (eq? (native-endianness) (endianness little))
"LE"
"BE")
(sizeof '*)
(effective-version)
file)))))
(define (compile-to-cache file)
"Compile FILE to the cache."
(let ((compiled-file (cache-compiled-file-name file)))
(mkdir-p (dirname compiled-file))
(compile-file file
#:opts %auto-compilation-options
#:output-file compiled-file)))
(define* (build-initrd output
#:key
guile init
(references-graphs '())
(cpio "cpio")
(gzip "gzip"))
"Write an initial RAM disk (initrd) to OUTPUT. The initrd starts the script
at INIT, running GUILE. It contains all the items referred to by
REFERENCES-GRAPHS."
(mkdir "contents")
;; Copy the closures of all the items referenced in REFERENCES-GRAPHS.
(populate-store references-graphs "contents")
(with-directory-excursion "contents"
;; Make '/init'.
(symlink init "init")
;; Compile it.
(compile-to-cache "init")
;; Allow Guile to find out where it is (XXX). See
;; 'guile-relocatable.patch'.
(mkdir-p "proc/self")
(symlink (string-append guile "/bin/guile") "proc/self/exe")
(readlink "proc/self/exe")
;; Reset the timestamps of all the files that will make it in the initrd.
(for-each (lambda (file)
(unless (eq? 'symlink (stat:type (lstat file)))
(utime file 0 0 0 0)))
(find-files "." ".*"))
(write-cpio-archive output "."
#:cpio cpio #:gzip gzip))
(delete-file-recursively "contents"))
;;; linux-initrd.scm ends here
+166
View File
@@ -0,0 +1,166 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 build linux-modules)
#:use-module (guix elf)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:export (dot-ko
ensure-dot-ko
module-dependencies
recursive-module-dependencies
modules-loaded
module-loaded?
load-linux-module*
current-module-debugging-port))
;;; Commentary:
;;;
;;; Tools to deal with Linux kernel modules.
;;;
;;; Code:
(define current-module-debugging-port
(make-parameter (%make-void-port "w")))
(define (section-contents elf section)
"Return the contents of SECTION in ELF as a bytevector."
(let* ((modinfo (elf-section-by-name elf ".modinfo"))
(contents (make-bytevector (elf-section-size modinfo))))
(bytevector-copy! (elf-bytes elf) (elf-section-offset modinfo)
contents 0
(elf-section-size modinfo))
contents))
(define %not-nul
(char-set-complement (char-set #\nul)))
(define (nul-separated-string->list str)
"Split STR at occurrences of the NUL character and return the resulting
string list."
(string-tokenize str %not-nul))
(define (key=value->pair str)
"Assuming STR has the form \"KEY=VALUE\", return a pair like (KEY
. \"VALUE\")."
(let ((= (string-index str #\=)))
(cons (string->symbol (string-take str =))
(string-drop str (+ 1 =)))))
(define (modinfo-section-contents file)
"Return the contents of the '.modinfo' section of FILE as a list of
key/value pairs.."
(let* ((bv (call-with-input-file file get-bytevector-all))
(elf (parse-elf bv))
(modinfo (section-contents elf ".modinfo")))
(map key=value->pair
(nul-separated-string->list (utf8->string modinfo)))))
(define %not-comma
(char-set-complement (char-set #\,)))
(define (module-dependencies file)
"Return the list of modules that FILE depends on. The returned list
contains module names, not actual file names."
(let ((info (modinfo-section-contents file)))
(match (assq 'depends info)
(('depends . what)
(string-tokenize what %not-comma)))))
(define dot-ko
(cut string-append <> ".ko"))
(define (ensure-dot-ko name)
"Return NAME with a '.ko' prefix appended, unless it already has it."
(if (string-suffix? ".ko" name)
name
(dot-ko name)))
(define* (recursive-module-dependencies files
#:key (lookup-module dot-ko))
"Return the topologically-sorted list of file names of the modules depended
on by FILES, recursively. File names of modules are determined by applying
LOOKUP-MODULE to the module name."
(let loop ((files files)
(result '())
(visited vlist-null))
(match files
(()
(delete-duplicates (reverse result)))
((head . tail)
(let* ((visited? (vhash-assoc head visited))
(deps (if visited?
'()
(map lookup-module (module-dependencies head))))
(visited (if visited?
visited
(vhash-cons head #t visited))))
(loop (append deps tail)
(append result deps) visited))))))
(define %not-newline
(char-set-complement (char-set #\newline)))
(define (modules-loaded)
"Return the list of names of currently loaded Linux modules."
(let* ((contents (call-with-input-file "/proc/modules"
get-string-all))
(lines (string-tokenize contents %not-newline)))
(match (map string-tokenize lines)
(((modules . _) ...)
modules))))
(define (module-loaded? module)
"Return #t if MODULE is already loaded. MODULE must be a Linux module name,
not a file name."
(member module (modules-loaded)))
(define* (load-linux-module* file
#:key
(recursive? #t)
(lookup-module dot-ko))
"Load Linux module from FILE, the name of a `.ko' file. When RECURSIVE? is
true, load its dependencies first (à la 'modprobe'.) The actual files
containing modules depended on are obtained by calling LOOKUP-MODULE with the
module name."
(define (slurp module)
;; TODO: Use 'mmap' to reduce memory usage.
(call-with-input-file file get-bytevector-all))
(when recursive?
(for-each (cut load-linux-module* <> #:lookup-module lookup-module)
(map lookup-module (module-dependencies file))))
(format (current-module-debugging-port)
"loading Linux module from '~a'...~%" file)
(catch 'system-error
(lambda ()
(load-linux-module (slurp file)))
(lambda args
;; If this module was already loaded and we're in modprobe style, ignore
;; the error.
(unless (and recursive? (= EEXIST (system-error-errno args)))
(apply throw args)))))
;;; linux-modules.scm ends here
+32 -50
View File
@@ -16,14 +16,13 @@
;;; 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 (guix build vm)
(define-module (gnu build vm)
#:use-module (guix build utils)
#:use-module (guix build linux-initrd)
#:use-module (guix build install)
#:use-module (guix build store-copy)
#:use-module (gnu build linux-boot)
#:use-module (gnu build install)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (ice-9 rdelim)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (qemu-command
load-in-linux-vm
@@ -111,55 +110,25 @@ the #:references-graphs parameter of 'derivation'."
(mkdir output)
(copy-recursively "xchg" output))))
(define (read-reference-graph port)
"Return a list of store paths from the reference graph at PORT.
The data at PORT is the format produced by #:references-graphs."
(let loop ((line (read-line port))
(result '()))
(cond ((eof-object? line)
(delete-duplicates result))
((string-prefix? "/" line)
(loop (read-line port)
(cons line result)))
(else
(loop (read-line port)
result)))))
(define* (initialize-partition-table device partition-size
#: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. Return #t on
success."
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? (system* "parted" device "mklabel" label-type
"mkpart" "primary" "ext2"
(format #f "~aB" offset)
(format #f "~aB" 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")))
(define* (populate-store reference-graphs target)
"Populate the store under directory TARGET with the items specified in
REFERENCE-GRAPHS, a list of reference-graph files."
(define store
(string-append target (%store-directory)))
(define (things-to-copy)
;; Return the list of store files to copy to the image.
(define (graph-from-file file)
(call-with-input-file file read-reference-graph))
(delete-duplicates (append-map graph-from-file reference-graphs)))
(mkdir-p store)
(chmod store #o1775)
(for-each (lambda (thing)
(copy-recursively thing
(string-append target thing)))
(things-to-copy)))
(define MS_BIND 4096) ; <sys/mounts.h> again!
(define* (format-partition partition type
@@ -209,6 +178,12 @@ volume name."
(display "populating...\n")
(populate-root-file-system system-directory target-directory))
(define (register-grub.cfg-root target grub.cfg)
"On file system TARGET, register GRUB.CFG as a GC root."
(let ((directory (string-append target "/var/guix/gcroots")))
(mkdir-p directory)
(symlink grub.cfg (string-append directory "/grub.cfg"))))
(define* (initialize-hard-disk device
#:key
system-directory
@@ -218,13 +193,16 @@ volume name."
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. 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."
GRUB installed. When BOOTABLE? is true, set the bootable flag on that
partition.
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")
@@ -232,7 +210,8 @@ derivation."
(string-append device "1"))
(initialize-partition-table device
(- disk-image-size (* 5 (expt 2 20))))
(- disk-image-size (* 5 (expt 2 20)))
#:bootable? bootable?)
(format-partition partition file-system-type
#:label file-system-label)
@@ -249,6 +228,9 @@ derivation."
(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?
+240 -68
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
@@ -22,16 +22,22 @@
#:use-module (guix packages)
#:use-module (guix ui)
#:use-module (guix utils)
#:use-module ((guix ftp-client) #:select (ftp-open))
#:use-module (guix gnu-maintenance)
#:use-module (ice-9 ftw)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-39)
#:export (search-patch
search-bootstrap-binary
%patch-directory
%patch-path
%bootstrap-binaries-path
%package-module-path
fold-packages
@@ -41,7 +47,11 @@
package-direct-dependents
package-transitive-dependents
package-covering-dependents))
package-covering-dependents
check-package-freshness
specification->package))
;;; Commentary:
;;;
@@ -50,73 +60,131 @@
;;;
;;; Code:
(define _ (cut gettext <> "guix"))
;; By default, we store patches and bootstrap binaries alongside Guile
;; modules. This is so that these extra files can be found without
;; requiring a special setup, such as a specific installation directory
;; and an extra environment variable. One advantage of this setup is
;; that everything just works in an auto-compilation setting.
(define %patch-path
(make-parameter
(map (cut string-append <> "/gnu/packages/patches")
%load-path)))
(define %bootstrap-binaries-path
(make-parameter
(map (cut string-append <> "/gnu/packages/bootstrap")
%load-path)))
(define (search-patch file-name)
"Search the patch FILE-NAME."
(search-path (%patch-path) file-name))
"Search the patch FILE-NAME. Raise an error if not found."
(or (search-path (%patch-path) file-name)
(raise (condition
(&message (message (format #f (_ "~a: patch not found")
file-name)))))))
(define (search-bootstrap-binary file-name system)
"Search the bootstrap binary FILE-NAME for SYSTEM."
(search-path (%bootstrap-binaries-path)
(string-append system "/" file-name)))
"Search the bootstrap binary FILE-NAME for SYSTEM. Raise an error if not
found."
(or (search-path (%bootstrap-binaries-path)
(string-append system "/" file-name))
(raise (condition
(&message
(message
(format #f (_ "could not find bootstrap binary '~a' \
for system '~a'")
file-name system)))))))
(define %distro-module-directory
;; Absolute path of the (gnu packages ...) module root.
(string-append (dirname (search-path %load-path "gnu/packages.scm"))
"/packages"))
(define %distro-root-directory
;; Absolute file name of the module hierarchy.
(dirname (search-path %load-path "guix.scm")))
(define (package-files)
"Return the list of files that implement distro modules."
(define %package-module-path
;; Search path for package modules. Each item must be either a directory
;; name or a pair whose car is a directory and whose cdr is a sub-directory
;; to narrow the search.
(let* ((not-colon (char-set-complement (char-set #\:)))
(environment (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "")
not-colon)))
;; Automatically add items from $GUIX_PACKAGE_PATH to Guile's search path.
(for-each (lambda (directory)
(set! %load-path (cons directory %load-path))
(set! %load-compiled-path
(cons directory %load-compiled-path)))
environment)
(make-parameter
(append environment `((,%distro-root-directory . "gnu/packages"))))))
(define %patch-path
;; Define it after '%package-module-path' so that '%load-path' contains user
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
(make-parameter
(map (lambda (directory)
(if (string=? directory %distro-root-directory)
(string-append directory "/gnu/packages/patches")
directory))
%load-path)))
(define* (scheme-files directory)
"Return the list of Scheme files found under DIRECTORY, recursively. The
returned list is sorted in alphabetical order."
;; Sort entries so that 'fold-packages' works in a deterministic fashion
;; regardless of details of the underlying file system.
(sort (file-system-fold (const #t) ; enter?
(lambda (path stat result) ; leaf
(if (string-suffix? ".scm" path)
(cons path result)
result))
(lambda (path stat result) ; down
result)
(lambda (path stat result) ; up
result)
(const #f) ; skip
(lambda (path stat errno result)
(warning (_ "cannot access `~a': ~a~%")
path (strerror errno))
result)
'()
directory
stat)
string<?))
(define file-name->module-name
(let ((not-slash (char-set-complement (char-set #\/))))
(lambda (file)
"Return the module name (a list of symbols) corresponding to FILE."
(map string->symbol
(string-tokenize (string-drop-right file 4) not-slash)))))
(define* (package-modules directory #:optional sub-directory)
"Return the list of modules that provide packages for the distribution.
Optionally, narrow the search to SUB-DIRECTORY."
(define prefix-len
(string-length
(dirname (dirname (search-path %load-path "gnu/packages.scm")))))
(string-length directory))
(file-system-fold (const #t) ; enter?
(lambda (path stat result) ; leaf
(if (string-suffix? ".scm" path)
(cons (substring path prefix-len) result)
result))
(lambda (path stat result) ; down
result)
(lambda (path stat result) ; up
result)
(const #f) ; skip
(lambda (path stat errno result)
(warning (_ "cannot access `~a': ~a~%")
path (strerror errno))
result)
'()
%distro-module-directory
stat))
(filter-map (lambda (file)
(let* ((file (substring file prefix-len))
(module (file-name->module-name file)))
(catch #t
(lambda ()
(resolve-interface module))
(lambda args
;; Report the error, but keep going.
(warn-about-load-error module args)
#f))))
(scheme-files (if sub-directory
(string-append directory "/" sub-directory)
directory))))
(define (package-modules)
"Return the list of modules that provide packages for the distribution."
(define not-slash
(char-set-complement (char-set #\/)))
(filter-map (lambda (path)
(let ((name (map string->symbol
(string-tokenize (string-drop-right path 4)
not-slash))))
(false-if-exception (resolve-interface name))))
(package-files)))
(define* (all-package-modules #:optional (path (%package-module-path)))
"Return the list of package modules found in PATH, a list of directories to
search."
(fold-right (lambda (spec result)
(match spec
((? string? directory)
(append (package-modules directory) result))
((directory . sub-directory)
(append (package-modules directory sub-directory)
result))))
'()
path))
(define (fold-packages proc init)
"Call (PROC PACKAGE RESULT) for each available package, using INIT as
@@ -137,24 +205,26 @@ same package twice."
module)))
init
vlist-null
(package-modules))))
(all-package-modules))))
(define* (find-packages-by-name name #:optional version)
"Return the list of packages with the given NAME. If VERSION is not #f,
then only return packages whose version is equal to VERSION."
(define right-package?
(if version
(lambda (p)
(and (string=? (package-name p) name)
(string=? (package-version p) version)))
(lambda (p)
(string=? (package-name p) name))))
(fold-packages (lambda (package result)
(if (right-package? package)
(cons package result)
result))
'()))
(define find-packages-by-name
(let ((packages (delay
(fold-packages (lambda (p r)
(vhash-cons (package-name p) p r))
vlist-null)))
(version>? (lambda (p1 p2)
(version>? (package-version p1) (package-version p2)))))
(lambda* (name #:optional version)
"Return the list of packages with the given NAME. If VERSION is not #f,
then only return packages whose version is prefixed by VERSION, sorted in
decreasing version order."
(let ((matching (sort (vhash-fold* cons '() name (force packages))
version>?)))
(if version
(filter (lambda (package)
(string-prefix? version (package-version package)))
matching)
matching)))))
(define find-newest-available-packages
(memoize
@@ -246,3 +316,105 @@ include all of PACKAGES and all packages that depend on PACKAGES."
(lambda (node) (vhash-refq dependency-dag node))
;; Start with the dependents to avoid including PACKAGES in the result.
(package-direct-dependents packages))))
(define %sigint-prompt
;; The prompt to jump to upon SIGINT.
(make-prompt-tag "interruptible"))
(define (call-with-sigint-handler thunk handler)
"Call THUNK and return its value. Upon SIGINT, call HANDLER with the signal
number in the context of the continuation of the call to this function, and
return its return value."
(call-with-prompt %sigint-prompt
(lambda ()
(sigaction SIGINT
(lambda (signum)
(sigaction SIGINT SIG_DFL)
(abort-to-prompt %sigint-prompt signum)))
(dynamic-wind
(const #t)
thunk
(cut sigaction SIGINT SIG_DFL)))
(lambda (k signum)
(handler signum))))
(define-syntax-rule (waiting exp fmt rest ...)
"Display the given message while EXP is being evaluated."
(let* ((message (format #f fmt rest ...))
(blank (make-string (string-length message) #\space)))
(display message (current-error-port))
(force-output (current-error-port))
(call-with-sigint-handler
(lambda ()
(dynamic-wind
(const #f)
(lambda () exp)
(lambda ()
;; Clear the line.
(display #\cr (current-error-port))
(display blank (current-error-port))
(display #\cr (current-error-port))
(force-output (current-error-port)))))
(lambda (signum)
(format (current-error-port) " interrupted by signal ~a~%" SIGINT)
#f))))
(define ftp-open*
;; Memoizing version of `ftp-open'. The goal is to avoid initiating a new
;; FTP connection for each package, esp. since most of them are to the same
;; server. This has a noticeable impact when doing "guix upgrade -u".
(memoize ftp-open))
(define (check-package-freshness package)
"Check whether PACKAGE has a newer version available upstream, and report
it."
;; TODO: Automatically inject the upstream version when desired.
(catch #t
(lambda ()
(when (false-if-exception (gnu-package? package))
(let ((name (package-name package))
(full-name (package-full-name package)))
(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)
(let ((latest-version
(string-append (gnu-release-package release) "-"
(gnu-release-version release))))
(when (version>? latest-version full-name)
(format (current-error-port)
(_ "~a: note: using ~a \
but ~a is available upstream~%")
(location->string (package-location package))
full-name latest-version))))
(_ #t)))))
(lambda (key . args)
;; Silently ignore networking errors rather than preventing
;; installation.
(case key
((getaddrinfo-error ftp-error) #f)
(else (apply throw key args))))))
(define (specification->package spec)
"Return a package matching SPEC. SPEC may be a package name, or a package
name followed by a hyphen and a version number. If the version number is not
present, return the preferred newest version."
(let-values (((name version)
(package-name->name+version spec)))
(match (find-best-packages-by-name name version)
((p) ; one match
p)
((p x ...) ; several matches
(warning (_ "ambiguous package specification `~a'~%") spec)
(warning (_ "choosing ~a from ~a~%")
(package-full-name p)
(location->string (package-location p)))
p)
(_ ; no matches
(if version
(leave (_ "~A: package not found for version ~a~%")
name version)
(leave (_ "~A: unknown package~%") name))))))
+70
View File
@@ -0,0 +1,70 @@
;;; 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)))
+106
View File
@@ -0,0 +1,106 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages abiword)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages enchant)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages ots)
#:use-module (gnu packages popt)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages wv)
#:use-module (gnu packages xml))
(define-public abiword
(package
(name "abiword")
(version "2.8.6")
(source
(origin
(method url-fetch)
(uri
(string-append "http://abisource.org/downloads/" name "/" version
"/source/" name "-" version ".tar.gz"))
(sha256
(base32 "059sd2apxdmcacc4pll880i7vm18h0kyjsq299m1mz3c7ak8k46r"))
(patches
(list
(search-patch "abiword-wmf-version-lookup-fix.patch")
(search-patch "abiword-no-include-glib-internal-headers.patch")
(search-patch "abiword-explictly-cast-bools.patch")
(search-patch "abiword-use-proper-png-api.patch")
(search-patch "abiword-pass-no-undefined-to-linker.patch")
(search-patch "abiword-link-plugins-against-backend.patch")))))
(build-system gnu-build-system)
(arguments ;; NOTE: rsvg is disabled, since Abiword
`(#:configure-flags ;; supports it directly, and its BS is broken.
(list
"--enable-clipart" ;; TODO: The following plugins have unresolved
"--enable-templates" ;; dependencies: aiksaurus, grammar, wpg, gda,
(string-append ;; wordperfect, psion, mathview, goffice.
"--enable-plugins="
"applix " "babelfish " "bmp " "clarisworks " "collab " "command "
"docbook " "eml " "freetranslation " "garble " "gdict " "gimp "
"google " "hancom " "hrtext " "iscii " "kword " "latex "
"loadbindings " "mht " "mif " "mswrite " "opendocument "
"openwriter " "openxml " "opml " "ots " "paint " "passepartout "
"pdb " "pdf " "presentation " "s5 " "sdw " "t602 " "urldict "
"wikipedia " "wmf " "wml " "xslfo"))))
(inputs
`(("boost" ,boost)
("enchant" ,enchant)
("fontconfig" ,fontconfig)
("fribidi" ,fribidi)
("glib" ,glib)
("gtk+" ,gtk+-2)
("libglade" ,libglade)
("libgsf" ,libgsf)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("librsvg" ,librsvg)
("libwmf" ,libwmf)
("libxml2" ,libxml2)
("ots" ,ots)
("popt" ,popt)
("readline" ,readline)
("wv" ,wv)
("zlib" ,zlib)))
(native-inputs
`(("intltool" ,intltool)
("glib:bin" ,glib "bin")
("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.")
(license license:gpl2+)))
+2 -2
View File
@@ -25,7 +25,7 @@
(define-public acct
(package
(name "acct")
(version "6.6.1")
(version "6.6.2")
(source
(origin
(method url-fetch)
@@ -33,7 +33,7 @@
version ".tar.gz"))
(sha256
(base32
"1jzz601cavml7894fjalw661gz28ia35002inw990agr3rhiaiam"))))
"0081hzkcxw9aslpsakridj15m0wbnkdhm210fzbg021vi4pppm4f"))))
(build-system gnu-build-system)
(home-page "https://gnu.org/software/acct/")
(synopsis "Standard login and process accounting utilities")
+23 -25
View File
@@ -1,5 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,8 +21,9 @@
(define-module (gnu packages acl)
#:use-module (guix licenses)
#:use-module (gnu packages attr)
#:use-module (gnu packages perl)
#:use-module (gnu packages base)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -28,7 +31,7 @@
(define-public acl
(package
(name "acl")
(version "2.2.51")
(version "2.2.52")
(source
(origin
(method url-fetch)
@@ -36,32 +39,27 @@
version ".src.tar.gz"))
(sha256
(base32
"09aj30m49ivycl3irram8c3givc0crivjm3ymw0nhfaxrwhlb186"))))
"08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-after
'configure 'patch-makefile-SHELL
(lambda _
(patch-makefile-SHELL "include/buildmacros"))
,(if (%current-target-system)
'%standard-phases
'(alist-replace 'check
(lambda _
(system* "make" "tests" "-C" "test")
;; XXX: Ignore the test result since this is
;; dependent on the underlying file system.
#t)
%standard-phases)))))
(inputs `(("attr" ,attr)
;; Perl is needed to run tests; remove it from cross builds.
,@(if (%current-target-system)
'()
`(("perl" ,perl)))))
`(#:tests? #f ; FIXME: Investigate test suite failures
#:test-target "tests"
#:phases
(alist-cons-after
'build 'patch-exec-bin-sh
(lambda _
(substitute* "test/run"
(("/bin/sh") (which "sh"))))
(alist-replace
'install
(lambda _
(zero? (system* "make" "install" "install-lib" "install-dev")))
%standard-phases))))
(inputs `(("attr" ,attr)))
(native-inputs
`(("gettext" ,gnu-gettext)))
`(("gettext" ,gnu-gettext)
("perl" ,perl)
("sed" ,sed)))
(home-page
"http://savannah.nongnu.org/projects/acl")
+426 -63
View File
@@ -1,8 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,8 +22,9 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages admin)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
@@ -36,19 +39,24 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (gnu packages tcl)
#:use-module ((gnu packages base)
#:select (tar))
#:use-module ((gnu packages compression)
#:select (gzip))
#:use-module ((gnu packages openssl)
#:renamer (symbol-prefix-proc 'o:))
#:use-module (gnu packages compression)
#:use-module ((gnu packages openssl) #:prefix o:)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages groff)
#:use-module (gnu packages xorg))
#:use-module (gnu packages pciutils)
#:use-module (gnu packages libusb)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages image)
#:use-module (gnu packages xorg)
#:use-module (gnu packages python)
#:use-module (gnu packages man))
(define-public dmd
(package
@@ -72,7 +80,7 @@
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 gpl3+)
(license license:gpl3+)
(home-page "http://www.gnu.org/software/dmd/")))
(define-public dfc
@@ -96,7 +104,7 @@ interface and is based on GNU Guile.")
(description
"dfc (df color) is a modern version of df. It uses colors, draws pretty
graphs and can export its output to different formats.")
(license bsd-3)))
(license license:bsd-3)))
(define-public htop
(package
@@ -117,7 +125,7 @@ graphs and can export its output to different formats.")
(description
"This is htop, an interactive process viewer. It is a text-mode
application (for console or X terminals) and requires ncurses.")
(license gpl2)))
(license license:gpl2)))
(define-public pies
(package
@@ -139,19 +147,19 @@ application (for console or X terminals) and requires ncurses.")
other programs. It reads the list of programs to be started from its
configuration file, executes them, and then monitors their status,
re-executing them as necessary.")
(license gpl3+)))
(license license:gpl3+)))
(define-public inetutils
(package
(name "inetutils")
(version "1.9.2")
(version "1.9.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/inetutils/inetutils-"
version ".tar.gz"))
(sha256
(base32
"04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"))))
"06dshajjpyi9sxi7qfki9gnp5r3nxvyvf81r81gx0x2qkqzqcxlj"))))
(build-system gnu-build-system)
(arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
;; which is currently missing.
@@ -163,7 +171,7 @@ re-executing them as necessary.")
(description
"Inetutils is a collection of common network programs, such as an ftp
client and server, a telnet client and server, and an rsh client and server.")
(license gpl3+)))
(license license:gpl3+)))
(define-public shadow
(package
@@ -218,7 +226,7 @@ login, passwd, su, groupadd, and useradd.")
;; The `vipw' program is GPLv2+.
;; libmisc/salt.c is public domain.
(license bsd-3)))
(license license:bsd-3)))
(define-public mingetty
(package
@@ -268,20 +276,20 @@ login, passwd, su, groupadd, and useradd.")
"Small console getty that is started on the Linux text console,
asks for a login name and then transfers over to 'login'. It is extended to
allow automatic login and starting any app.")
(license gpl2+)))
(license license:gpl2+)))
(define-public net-base
(package
(name "net-base")
(version "5.2")
(version "5.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://debian/pool/main/n/netbase/netbase_"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"01rkvqrg7krkx8b432nz6bpi8w3s4cm5q5r891k23cdrc9nsaayn"))))
"12xqjwg3p4rzmmh2iib6sigm9l29y3dgk74mmnw64k84jnbwdxl1"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -291,10 +299,10 @@ allow automatic login and starting any app.")
(let* ((source (assoc-ref %build-inputs "source"))
(tar (assoc-ref %build-inputs "tar"))
(gzip (assoc-ref %build-inputs "gzip"))
(xz (assoc-ref %build-inputs "xz"))
(output (assoc-ref %outputs "out"))
(etc (string-append output "/etc")))
(setenv "PATH" (string-append gzip "/bin"))
(setenv "PATH" (string-append xz "/bin"))
(system* (string-append tar "/bin/tar") "xvf"
source)
(chdir ,(string-append "netbase-" version))
@@ -305,14 +313,14 @@ allow automatic login and starting any app.")
'("services" "protocols" "rpc")))
#t))))
(native-inputs `(("tar" ,tar)
("gzip" ,gzip)))
("xz" ,xz)))
(synopsis "IANA protocol, port, and RPC number assignments")
(description
"This package provides the /etc/services, /etc/protocols, and /etc/rpc
files, which contain information about the IANA-assigned port, protocol, and
ONC RPC numbers")
(home-page "http://packages.debian.org/sid/netbase")
(license gpl2)))
(license license:gpl2)))
(define-public netcat
(package
@@ -339,10 +347,10 @@ ONC RPC numbers")
"Netcat is a featured networking utility which reads and writes data
across network connections, using the TCP/IP protocol. It is designed to be a
reliable \"back-end\" tool that can be used directly or easily driven by other
programs and scripts. At the same time, it is a feature-rich network debugging
programs and scripts. At the same time, it is a feature-rich network debugging
and exploration tool, since it can create almost any kind of connection you
would need and has several interesting built-in capabilities.")
(license gpl2+)))
(license license:gpl2+)))
(define-public alive
(package
@@ -364,19 +372,19 @@ would need and has several interesting built-in capabilities.")
(description
"GNU Alive sends periodic pings to a server, generally to keep a
connection alive.")
(license gpl3+)))
(license license:gpl3+)))
(define-public isc-dhcp
(package
(name "isc-dhcp")
(version "4.3.0")
(version "4.3.1")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
version "/dhcp-" version ".tar.gz"))
(sha256
(base32
"12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7"))))
"1w4s7sni1m9223ya8m2a64lr62845c6xlraprjf8zfx6lylbqv16"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
@@ -403,9 +411,9 @@ connection alive.")
(system* "tar" "xf" "bind.tar.gz")
(for-each patch-shebang
(find-files "bind-9.9.5" ".*"))
(find-files "bind-9.9.5-P1" ".*"))
(zero? (system* "tar" "cf" "bind.tar.gz"
"bind-9.9.5"))))
"bind-9.9.5-P1"))))
(alist-cons-after
'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -414,6 +422,7 @@ connection alive.")
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec"))
(coreutils (assoc-ref inputs "coreutils"))
(inetutils (assoc-ref inputs "inetutils"))
(net-tools (assoc-ref inputs "net-tools"))
(sed (assoc-ref inputs "sed")))
(substitute* "client/scripts/linux"
@@ -425,17 +434,19 @@ connection alive.")
(copy-file "client/scripts/linux"
(string-append libexec "/dhclient-script"))
(wrap-program (string-append libexec "/dhclient-script")
`("PATH" ":" prefix
,(map (lambda (dir)
(string-append dir "/bin:"
dir "/sbin"))
(list net-tools coreutils sed))))))
(wrap-program
(string-append libexec "/dhclient-script")
`("PATH" ":" prefix
,(map (lambda (dir)
(string-append dir "/bin:"
dir "/sbin"))
(list inetutils net-tools coreutils sed))))))
%standard-phases))))
(native-inputs `(("perl" ,perl)))
(inputs `(("net-tools" ,net-tools)
(inputs `(("inetutils" ,inetutils)
("net-tools" ,net-tools)
("iproute" ,iproute)
;; When cross-compiling, we need the cross Coreutils and sed.
@@ -451,7 +462,7 @@ connection alive.")
"ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
reference implementation of all aspects of DHCP, through a suite of DHCP
tools: server, client, and relay agent.")
(license isc)))
(license license:isc)))
(define-public libpcap
(package
@@ -475,7 +486,7 @@ portable framework for low-level network monitoring. Applications include
network statistics collection, security monitoring, network debugging, etc.")
;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
(license bsd-3)))
(license license:bsd-3)))
(define-public tcpdump
(package
@@ -497,7 +508,7 @@ network statistics collection, security monitoring, network debugging, etc.")
(description
"Tcpdump is a command-line tool to analyze network traffic passing
through the network interface controller.")
(license bsd-3)))
(license license:bsd-3)))
(define-public jnettop
(package
@@ -523,7 +534,7 @@ through the network interface controller.")
"Jnettop is a traffic visualiser, which captures traffic going
through the host it is running from and displays streams sorted
by bandwidth they use.")
(license gpl2+)))
(license license:gpl2+)))
(define-public clusterssh
(package
@@ -569,7 +580,7 @@ by bandwidth they use.")
"ClusterSSH controls a number of xterm windows via a single graphical
console window to allow commands to be interactively run on multiple servers
over ssh connections.")
(license gpl2+)))
(license license:gpl2+)))
(define-public rottlog
(package
@@ -612,7 +623,7 @@ automatically rotate out log files when they have reached a given size or
according to a given schedule. It can also be used to automatically compress
and archive such logs. Rot[t]log will mail reports of its activity to the
system administrator.")
(license gpl3+)))
(license license:gpl3+)))
(define-public sudo
(package
@@ -630,7 +641,10 @@ system administrator.")
"002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-logpath=/var/log/sudo.log")
`(#:configure-flags '("--with-logpath=/var/log/sudo.log"
"--with-rundir=/run/sudo"
"--with-vardir=/var/db/sudo"
"--with-iologdir=/var/log/sudo-io")
#:phases (alist-cons-before
'configure 'pre-configure
(lambda _
@@ -644,7 +658,13 @@ system administrator.")
"")
(("^install: (.*)install-sudoers(.*)" _ before after)
;; Don't try to create /etc/sudoers.
(string-append "install: " before after "\n"))))
(string-append "install: " before after "\n"))
(("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
;; Don't try to create /run/sudo.
"$(TMPDIR)/dummy")
(("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
;; Don't try to create /var/db/sudo.
"$(TMPDIR)/dummy")))
%standard-phases)
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
@@ -663,21 +683,30 @@ commands as root or another user while providing an audit trail of the
commands and their arguments.")
;; See <http://www.sudo.ws/sudo/license.html>.
(license x11)))
(license license:x11)))
(define-public wpa-supplicant
(define-public wpa-supplicant-light
(package
(name "wpa-supplicant")
(version "2.2")
(name "wpa-supplicant-light")
(version "2.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://hostap.epitest.fi/releases/wpa_supplicant-"
"http://w1.fi/releases/wpa_supplicant-"
version
".tar.gz"))
(sha256
(base32
"1vf8jc4yyksbxf86narvsli3vxfbm8nbnim2mdp66nd6d3yvin70"))))
"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")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
@@ -688,15 +717,36 @@ commands and their arguments.")
(let ((port (open-file ".config" "al")))
(display "
CONFIG_DEBUG_SYSLOG=y
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
# Choose GnuTLS (the default is OpenSSL.)
CONFIG_TLS=gnutls
CONFIG_DRIVER_NL80211=y
CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
CONFIG_LIBNL32=y
CONFIG_READLINE=y\n" port)
(close-port port)))
%standard-phases)
(alist-cons-after
'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man"))
(man5 (string-append man "/man5"))
(man8 (string-append man "/man8")))
(define (copy-man-page target)
(lambda (file)
(copy-file file
(string-append target "/"
(basename file)))))
(mkdir-p man5) (mkdir man8)
(for-each (copy-man-page man5)
(find-files "doc/docbook" "\\.5"))
(for-each (copy-man-page man8)
(find-files "doc/docbook" "\\.8"))
#t))
%standard-phases))
#:make-flags (list "CC=gcc"
(string-append "BINDIR=" (assoc-ref %outputs "out")
@@ -707,11 +757,11 @@ commands and their arguments.")
(inputs
`(("readline" ,readline)
("libnl" ,libnl)
("dbus" ,dbus)
("openssl" ,o:openssl)))
("gnutls" ,gnutls)
("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://hostap.epitest.fi/wpa_supplicant/")
(home-page "http://w1.fi/wpa_supplicant/")
(synopsis "Connecting to WPA and WPA2-protected wireless networks")
(description
"wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
@@ -723,7 +773,35 @@ WLAN driver.
This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
;; In practice, this is linked against Readline, which makes it GPLv3+.
(license bsd-3)))
(license license:bsd-3)))
(define-public wpa-supplicant
(package (inherit wpa-supplicant-light)
(name "wpa-supplicant")
(inputs `(("dbus" ,dbus)
,@(package-inputs wpa-supplicant-light)))
(arguments
(substitute-keyword-arguments (package-arguments wpa-supplicant-light)
((#:phases phases)
`(alist-cons-after
'configure 'configure-for-dbus
(lambda _
(let ((port (open-file ".config" "al")))
(display "
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
(close-port port))
#t)
(alist-cons-after
'install-man-pages 'install-dbus-conf
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/etc/dbus-1/system.d")))
(mkdir-p dir)
(copy-file "dbus/dbus-wpa_supplicant.conf"
(string-append dir "/wpa_supplicant.conf"))))
,phases)))))))
(define-public wakelan
(package
@@ -761,4 +839,289 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
(description
"WakeLan broadcasts a properly formatted UDP packet across the local area
network, which causes enabled computers to power on.")
(license gpl2+)))
(license license:gpl2+)))
(define-public dmidecode
(package
(name "dmidecode")
(version "2.12")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://savannah/dmidecode/dmidecode-"
version ".tar.bz2"))
(sha256
(base32
"122hgaw8mpqdfra159lfl6pyk3837giqx6vq42j64fjnbl2z6gwi"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
#:tests? #f ; no 'check' target
#:make-flags (list (string-append "prefix="
(assoc-ref %outputs "out")))))
(home-page "http://www.nongnu.org/dmidecode/")
(synopsis "Read hardware information from the BIOS")
(description
"Dmidecode reports information about your system's hardware as described
in your system BIOS according to the SMBIOS/DMI standard. This typically
includes system manufacturer, model name, serial number, BIOS version, asset
tag as well as a lot of other details of varying level of interest and
reliability depending on the manufacturer. This will often include usage
status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory
module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(license license:gpl2+)))
(define-public acpica
(package
(name "acpica")
(version "20150410")
(source (origin
(method url-fetch)
(uri (string-append
"https://acpica.org/sites/acpica/files/acpica-unix2-"
version ".tar.gz"))
(sha256
(base32
"0q1fjwkyw9x6gsva6fd0zbn7ly4fx0ha4853f416np9kf2irillw"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
(arguments
'(#:make-flags (list (string-append "PREFIX=" %output)
"HOST=_LINUX"
"OPT_CFLAGS=-Wall -fno-strict-aliasing")
#:tests? #f ; no 'check' target.
#:phases (alist-delete 'configure %standard-phases)))
(home-page "http://acpica.org/")
(synopsis "Tools for the development and debug of ACPI tables")
(description
"The ACPI Component Architecture (ACPICA) project provides an
OS-independent reference implementation of the Advanced Configuration and
Power Interface Specification (ACPI). ACPICA code contains those portions of
ACPI meant to be directly integrated into the host OS as a kernel-resident
subsystem, and a small set of tools to assist in developing and debugging ACPI
tables. This package contains only the user-space tools needed for ACPI table
development, not the kernel implementation of ACPI.")
(license license:gpl2))) ; Dual GPLv2/ACPICA Licence
(define-public stress
(package
(name "stress")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://debian/pool/main/s/stress/stress_"
version ".orig.tar.gz"))
(sha256
(base32
"1v9vnzlihqfjsxa93hdbrq72pqqk00dkylmlg8jpxhm7s1w9qfl1"))))
(build-system gnu-build-system)
(home-page "http://packages.debian.org/wheezy/stress")
(synopsis "Impose load on and stress test a computer system")
(description
"Stress is a tool that imposes a configurable amount of CPU, memory, I/O,
or disk stress on a POSIX-compliant operating system and reports any errors it
detects.
Stress is not a benchmark. It is a tool used by system administrators to
evaluate how well their systems will scale, by kernel programmers to evaluate
perceived performance characteristics, and by systems programmers to expose
the classes of bugs which only or more frequently manifest themselves when the
system is under heavy load.")
(license license:gpl2+)))
(define-public detox
(package
(name "detox")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/detox/detox-"
version ".tar.bz2"))
(sha256
(base32
"1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb"))))
(build-system gnu-build-system)
;; Both flex and popt are used in this case for their runtime libraries
;; (libfl and libpopt).
(inputs
`(("flex" ,flex)
("popt" ,popt)))
(arguments
`(#:configure-flags `(,(string-append "--with-popt="
(assoc-ref %build-inputs "popt")))
#:tests? #f)) ;no 'check' target
(home-page "http://detox.sourceforge.net")
(synopsis "Clean up filenames")
(description
"Detox is a program that renames files to make them easier to work with
under Unix and related operating systems. Spaces and various other unsafe
characters (such as \"$\") get replaced with \"_\". ISO 8859-1 (Latin-1)
characters can be replaced as well, as can UTF-8 characters.")
(license license:bsd-3)))
(define-public testdisk
(package
(name "testdisk")
(version "6.14")
(source (origin
(method url-fetch)
(uri (string-append "http://www.cgsecurity.org/testdisk-"
version ".tar.bz2"))
(sha256
(base32
"0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5"))))
(build-system gnu-build-system)
(inputs
`(;; ("ntfs" ,ntfs)
("util-linux" ,util-linux)
("openssl" ,o:openssl)
("zlib" ,zlib)
("e2fsprogs" ,e2fsprogs)
("libjpeg" ,libjpeg)
("ncurses" ,ncurses)))
(home-page "http://www.cgsecurity.org/wiki/TestDisk")
(synopsis "Data recovery tool")
(description
"TestDisk is a program for data recovery, primarily designed to help
recover lost partitions and/or make non-booting disks bootable again.")
(license license:gpl2+)))
(define-public tree
(package
(name "tree")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://mama.indstate.edu/users/ice/tree/src/tree-"
version ".tgz"))
(sha256
(base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
#:tests? #f ; no check target
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "prefix=" out)))))
(synopsis "Recursively list the contents of a directory")
(description
"Tree is a recursive directory listing command that produces a depth
indented listing of files, which is colorized ala dircolors if the LS_COLORS
environment variable is set and output is to tty.")
(home-page "http://mama.indstate.edu/users/ice/tree/")
(license license:gpl2+)))
(define-public direvent
(package
(name "direvent")
(version "5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/direvent/direvent-"
version ".tar.gz"))
(sha256
(base32
"1i14131y6m8wvirz6piw4zxz2q1kbpl0lniv5kl55rx4k372dg8z"))
(modules '((guix build utils)))
(snippet '(substitute* "tests/testsuite"
(("#![[:blank:]]?/bin/sh")
"#!$SHELL")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
'build 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
;; Use the right shell when executing the watcher.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "src/direvent.c"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\"")))))
%standard-phases)))
(home-page "http://www.gnu.org/software/direvent/")
(synopsis "Daemon to monitor directories for events such as file removal")
(description
"A daemon that monitors directories for events, such as creating,
deleting or modifying files. It can monitor different sets of directories for
different events. When an event is detected, direvent calls a specified
external program with information about the event, such as the location
within the file system where it occurred. Thus, \"direvent\" provides an
easy way to react immediately if given files undergo changes, for example, to
track changes in important system configuration files.")
(license license:gpl3+)))
(define-public libcap-ng
(package
(name "libcap-ng")
(version "0.7.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
version ".tar.gz"))
(sha256
(base32
"0ssvnh4cvhya0c1j6k6192zvqcq7nc0x01fb5nwhr0prfqr0i8j8"))))
(build-system gnu-build-system)
(inputs `(("python" ,python)))
(home-page "http://people.redhat.com/sgrubb/libcap-ng/")
(synopsis "Library for more easily working with POSIX capabilities")
(description
"The libcap-ng library is intended to make programming with POSIX
capabilities easier than the traditional libcap library. It includes
utilities that can analyse all currently running applications and print out
any capabilities and whether or not it has an open ended bounding set. The
included utilities are designed to let admins and developers spot apps from
various ways that may be running with too much privilege.")
;; The library is lgpl2.1+, but also ships some utils which are gpl2+.
(license (list license:lgpl2.1+ license:gpl2+))))
(define-public smartmontools
(package
(name "smartmontools")
(version "6.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/smartmontools/smartmontools/"
version "/smartmontools-" version ".tar.gz"))
(sha256
(base32
"06gy71jh2d3gcfmlbbrsqw7215knkfq59q3j6qdxfrar39fhcxx7"))))
(build-system gnu-build-system)
(inputs `(("libcap-ng" ,libcap-ng)))
(home-page "http://www.smartmontools.org/")
(synopsis "S.M.A.R.T. harddisk control and monitoring tools")
(description
"The smartmontools package contains utility programs to control and
monitor storage systems using the Self-Monitoring, Analysis and Reporting
Technology System (S.M.A.R.T.) built into most modern ATA and SCSI harddisks.
In many cases, these utilities will provide advanced warning of disk
degradation and failure.")
(license license:gpl2+)))
(define-public fdupes
(package
(name "fdupes")
(version "1.51")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/adrianlopezroche/fdupes/archive/fdupes-"
version ".tar.gz"))
(sha256
(base32
"11j96vxl9vg3jsnxqxskrv3gad6dh7hz2zpyc8n31xzyxka1c7kn"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
#:tests? #f ; no 'check' target
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))))
(home-page "https://github.com/adrianlopezroche/fdupes")
(synopsis "Identify duplicate files")
(description
"fdupes is a program for identifying duplicate files residing within
specified directories.")
(license license:expat)))
+55
View File
@@ -0,0 +1,55 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 adns)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public adns
(package
(name "adns")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (list (string-append "mirror://gnu/adns/adns-"
version ".tar.gz")
(string-append
"http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-"
version ".tar.gz")))
(sha256
(base32
"0hg89b5n84zjhzvbzrpvhl0hbm4s6d1z2pzllfis64ai656ypibz"))))
(build-system gnu-build-system)
(arguments
;; Make sure the programs under bin/ fine libadns.so.
'(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath -Wl,"
(assoc-ref %outputs "out")
"/lib"))
;; XXX: Tests expect real name resolution to work.
#:tests? #f))
(home-page "http://www.gnu.org/software/adns/")
(synopsis "Asynchronous DNS client library and utilities")
(description
"GNU adns is a C library that provides easy-to-use DNS resolution
functionality. The library is asynchronous, allowing several concurrent
calls. The package also includes several command-line utilities for use in
scripts.")
(license gpl3+)))
+2 -3
View File
@@ -18,8 +18,7 @@
(define-module (gnu packages aidc)
#:use-module (gnu packages)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages pkg-config)
@@ -63,7 +62,7 @@ formats.")
(synopsis "Encode data into a QR Code symbol")
(description "Libqrencode is a C library for encoding data in a QR Code
symbol, a kind of 2D symbology that can be scanned by handy terminals such as
a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000
a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000
characters, and is highly robust.")
(license license:lgpl2.1+)
(home-page "http://fukuchi.org/works/qrencode")))
+167 -16
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -29,6 +29,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix utils))
@@ -48,14 +49,13 @@
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)))
(synopsis "mpfrcx, a library for the arithmetic of univariate polynomials
over arbitrary precision real or complex numbers")
(synopsis "Arithmetic of polynomials over arbitrary precision numbers")
(description
"mpfrcx is a library for the arithmetic of univariate polynomials over
"Mpfrcx is a library for the arithmetic of univariate polynomials over
arbitrary precision real (mpfr) or complex (mpc) numbers, without control
on the rounding. For the time being, only the few functions needed to
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
implemented. On the other hand, these comprise asymptotically fast
multiplication routines such as ToomCook and the FFT. ")
(license lgpl2.1+)
(home-page "http://mpfrcx.multiprecision.org/")))
@@ -74,9 +74,9 @@ multiplication routines such as ToomCook and the FFT. ")
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)))
(synopsis "fplll, a library for LLL-reduction of euclidean lattices")
(synopsis "Library for LLL-reduction of euclidean lattices")
(description
"fplll LLL-reduces euclidean lattices. Since version 3, it can also
"fplll LLL-reduces euclidean lattices. Since version 3, it can also
solve the shortest vector problem.")
(license lgpl2.1+)
(home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
@@ -84,22 +84,23 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
(version "2.7.1")
(version "2.7.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
version ".tar.gz"))
(sha256 (base32
"1gj1rddi22hinzwy7r6hljgbi252wwwyd6gapg4hvcn0ycc7jqyc"))))
(sha256
(base32
"02k54m7p47r54lgxqanxvf7pdrss17n8if1qwk5wx0j1px22j0rq"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("perl" ,perl)
("readline" ,readline)))
(arguments
'(#:make-flags '("gp")
;; FIXME: building the documentation requires tex; once this is available,
;; replace "gp" by "all"
;; FIXME: building the documentation requires tex; once this is
;; available, replace "gp" by "all"
#:test-target "dobench"
#:phases
(alist-replace
@@ -124,14 +125,14 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
(version "0.0.9pl1")
(version "0.0.9pl2")
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-"
version ".tar.gz"))
(sha256 (base32
"1p36060vwhn38j77r4c3jqyaslvhvgm6fdw2486k7krxk5ai7ph5"))))
"02h35fwz1caicii7fj8zb9ky4hcrd8rqmzkyvhbls0r05yg5bwwb"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
@@ -154,6 +155,102 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(license gpl2)
(home-page "http://pari.math.u-bordeaux.fr/")))
(define-public flint
(package
(name "flint")
(version "2.4.5")
(source (origin
(method url-fetch)
(uri (string-append
"http://flintlib.org/flint-"
version ".tar.gz"))
(sha256 (base32
"1qq11sxliy499a9g656dgk47ffb951q4gl6ddjbq838gy16kb2g4"))))
(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)))
(synopsis "Fast library for number theory")
(description
"FLINT is a C library for number theory. It supports arithmetic
with numbers, polynomials, power series and matrices over many base
rings, including multiprecision integers and rationals, integers
modulo n, p-adic numbers, finite fields (prime and non-prime order)
and real and complex numbers (via the Arb extension library).
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+)
(home-page "http://flintlib.org/")))
(define-public arb
(package
(name "arb")
(version "2.3.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"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
(inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(flint (assoc-ref inputs "flint"))
(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-flint=" flint)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr)))))
%standard-phases)))
(synopsis "Arbitrary precision floating-point ball arithmetic")
(description
"Arb is a C library for arbitrary-precision floating-point ball
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+)
(home-page "http://fredrikj.net/arb/")))
(define-public bc
(package
(name "bc")
@@ -252,3 +349,57 @@ cosine/ sine transforms or DCT/DST).")
(description
(string-append (package-description fftw)
" With OpenMPI parallelism support."))))
(define-public eigen
(package
(name "eigen")
(version "3.2.4")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/eigen/eigen/get/"
version ".tar.bz2"))
(sha256
(base32
"08l92i6vpzz9ypj89hn7rxm6cp4njgc6wr7nb4n3v01i5v4k4hyn"))
(modules '((guix build utils)))
(snippet
;; There are 3 test failures in the "unsupported" directory,
;; but maintainers say it's a known issue and it's unsupported
;; anyway, so just skip them.
'(substitute* "CMakeLists.txt"
(("add_subdirectory\\(unsupported\\)")
"# Do not build the tests for unsupported features.\n")))))
(build-system cmake-build-system)
(arguments
'(;; Turn off debugging symbols to save space.
#:build-type "Release"
;; Use 'make check', as per
;; <http://eigen.tuxfamily.org/index.php?title=Tests>.
#:test-target "check"
#:phases (alist-cons-before
'check 'build-tests
(lambda _
;; First build the tests, in parallel.
;; See <http://eigen.tuxfamily.org/index.php?title=Tests>.
(let* ((cores (current-processor-count))
(dash-j (format #f "-j~a" cores)))
;; These variables are supposed to be honored.
(setenv "EIGEN_MAKE_ARGS" dash-j)
(setenv "EIGEN_CTEST_ARGS" dash-j)
(zero? (system* "make" "buildtests" dash-j))))
%standard-phases)))
(home-page "http://eigen.tuxfamily.org")
(synopsis "C++ template library for linear algebra")
(description
"Eigen is a C++ template library for linear algebra: matrices, vectors,
numerical solvers, and related algorithms. It provides an elegant API based
on \"expression templates\". It is versatile: it supports all matrix sizes,
all standard numeric types, various matrix decompositions and geometry
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)))
+9 -2
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,25 +24,31 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages gettext)
#:use-module (gnu packages maths)
#:use-module (gnu packages databases)
#:use-module (gnu packages readline))
(define-public apl
(package
(name "apl")
(version "1.3")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
(sha256
(base32
"1pkwlm0nf5vb8sp9hf9wjmsrsyr4vdpd4kv5y3hzmsgf3wcf8y3i"))))
"0h4diq3wfbdwxp5nm0z4b0p1zq13lwip0y7v28r9v0mbbk8xsfh1"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/apl/")
(inputs
`(("gettext" ,gnu-gettext)
("lapack" ,lapack)
("sqlite" ,sqlite)
("readline" ,readline)))
(arguments
`(#:configure-flags (list (string-append
"--with-sqlite3="
(assoc-ref %build-inputs "sqlite")))))
(synopsis "APL interpreter")
(description
"GNU APL is a free interpreter for the programming language APL. It is
+21 -14
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,25 +18,26 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages apr)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages xml)
#:use-module (gnu packages autotools))
(define-public apr
(package
(name "apr")
(version "1.4.8")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-"
version ".tar.bz2"))
(sha256
(base32
"0884csfk3f530yscak0jlr6w929s3ys0n7fpwdg3dii1sgwd5f31"))
"0ypn51xblix5ys9xy7da3ngdydip0qqh9rdq8nz54w9aq8lys0vx"))
(patches
(list (search-patch "apr-skip-getservbyname-test.patch")))
(patch-flags '("-p0"))))
@@ -44,47 +46,52 @@
;; Sometimes we end up with two processes concurrently trying to make
;; 'libmod_test.la': <http://hydra.gnu.org/build/60266/nixlog/2/raw>.
;; Thus, build sequentially.
'(#:parallel-build? #f))
'(#:parallel-build? #f
#:parallel-tests? #f))
(inputs `(("perl" ,perl)
("libtool" ,libtool)))
("libltdl" ,libltdl)))
(home-page "http://apr.apache.org/")
(synopsis "The Apache Portable Runtime Library")
(description
"The mission of the Apache Portable Runtime (APR) project is to create and
maintain software libraries that provide a predictable and consistent interface
to underlying platform-specific implementations. The primary goal is to provide
to underlying platform-specific implementations. The primary goal is to provide
an API to which software developers may code and be assured of predictable if
not identical behaviour regardless of the platform on which their software is
built, relieving them of the need to code special-case conditions to work
around or take advantage of platform-specific deficiencies or features.")
(license asl2.0)))
(license l:asl2.0)))
(define-public apr-util
(package
(name "apr-util")
(version "1.5.2")
(version "1.5.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-util-"
version ".tar.bz2"))
(sha256
(base32
"19qjxpckb9p4j9pbk8kcirg6k5vqnjrqhnk9xx2c5m9964p3vkls"))))
"0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6"))))
(build-system gnu-build-system)
(inputs
`(("apr" ,apr)))
`(("apr" ,apr)))
(propagated-inputs
`(("expat" ,expat)))
(arguments
'(#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(apr (assoc-ref inputs "apr")))
(let ((out (assoc-ref outputs "out"))
(apr (assoc-ref inputs "apr"))
(expat (assoc-ref inputs "expat")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-apr=" apr)))))
(string-append "--with-apr=" apr)
(string-append "--with-expat=" expat)))))
%standard-phases)
;; There are race conditions during 'make check'. Typically, the
@@ -96,4 +103,4 @@ around or take advantage of platform-specific deficiencies or features.")
(synopsis "One of the Apache Portable Runtime Library companions")
(description
"APR-util provides a number of helpful abstractions on top of APR.")
(license asl2.0)))
(license l:asl2.0)))
+10 -2
View File
@@ -1,5 +1,6 @@
;;; 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 © 2015 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,7 +23,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages perl)
#:use-module (gnu packages which))
#:use-module (gnu packages base))
(define-public aspell
(package
@@ -114,3 +115,10 @@ dictionaries, including personal ones.")
#:sha256
(base32
"14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr")))
(define-public aspell-dict-ru
(aspell-dictionary "ru" "Russian"
#:version "0.99f7-1"
#:sha256
(base32
"0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))
+102
View File
@@ -0,0 +1,102 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages audacity)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages gtk)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages video)
#:use-module (gnu packages wxwidgets))
(define-public audacity
(package
(name "audacity")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri
(string-append
"mirror://sourceforge/audacity/audacity-minsrc-" version ".tar.xz"))
(sha256
(base32 "1cs2w3fwqylpqmfwkvlgdx5lhclpckfil7pqibl37qlbnf4qvndh"))
(patches (list (search-patch "audacity-fix-ffmpeg-binding.patch")))))
(build-system gnu-build-system)
(inputs
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
;; versions shipping with Audacity are used for now.
`(("wxwidgets" ,wxwidgets-2)
("gtk" ,gtk+-2)
("alsa-lib" ,alsa-lib)
("jack" ,jack-2)
("expat" ,expat)
("ffmpeg" ,ffmpeg)
("lame" ,lame)
("flac" ,flac)
("libid3tag" ,libid3tag)
("libmad" ,libmad)
("libsbsms" ,libsbsms)
("libsndfile" ,libsndfile)
("soundtouch" ,soundtouch)
("soxr" ,soxr) ;replaces libsamplerate
("twolame" ,twolame)
("vamp" ,vamp)
("libvorbis" ,libvorbis)
("lv2" ,lv2)
("lilv" ,lilv)
("portaudio" ,portaudio)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)
("which" ,which)))
(arguments
'(#:configure-flags
(let ((libid3tag (assoc-ref %build-inputs "libid3tag"))
(libmad (assoc-ref %build-inputs "libmad")))
(list
;; Loading FFmpeg dynamically is problematic.
"--disable-dynamic-loading"
;; libid3tag and libmad provide no .pc files, so pkg-config fails to
;; find them. Force their inclusion.
(string-append "ID3TAG_CFLAGS=-I" libid3tag "/include")
(string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz")
(string-append "LIBMAD_CFLAGS=-I" libmad "/include")
(string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad")))
;; The test suite is not "well exercised" according to the developers,
;; and fails with various errors. See
;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
#:tests? #f))
(home-page "http://audacity.sourceforge.net/")
(synopsis "Software for recording and editing sounds")
(description
"Audacity is a multi-track audio editor designed for recording, playing
and editing digital audio. It features digital effects and spectrum analysis
tools.")
(license license:gpl2+)))
File diff suppressed because it is too large Load Diff
+8 -4
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2013,2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,13 +22,15 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages which)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages base)
#:use-module (gnu packages guile))
(define-public autogen
(package
(name "autogen")
(version "5.18.2")
(version "5.18.5")
(source
(origin
(method url-fetch)
@@ -37,8 +39,10 @@
version ".tar.gz"))
(sha256
(base32
"0s2021bwpq6h199cbbranz96hhm5s7v66lc68h8v198vqbg049yc"))))
"1flnbnmkbqmbfgammkl8m36wrlk6rhpgnf9pdm6gdfhqalxvggbv"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for doc generator mdoc
("pkg-config" ,pkg-config)))
(inputs `(("which" ,which)
("guile" ,guile-2.0)))
(arguments
+72 -46
View File
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,7 +46,7 @@
(base32
"113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"))))
(build-system gnu-build-system)
(inputs
(native-inputs
`(("perl" ,perl)
("m4" ,m4)))
;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It
@@ -161,24 +162,24 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(define-public automake
(package
(name "automake")
(version "1.14.1")
(version "1.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
"0s86rzdayj1licgj35q0mnynv5xa8f4p32m36blc5jk9id5z1d59"))
"0dl6vfi2lzz8alnklwxzfz624b95hb1ipjvd3mk177flmddcf24r"))
(patches
(list (search-patch "automake-skip-amhello-tests.patch")))))
(build-system gnu-build-system)
(inputs
(native-inputs
`(("autoconf" ,(autoconf-wrapper))
("perl" ,perl)))
(native-search-paths
(list (search-path-specification
(variable "ACLOCAL_PATH")
(directories '("share/aclocal")))))
(files '("share/aclocal")))))
(arguments
'(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -238,52 +239,48 @@ Makefile, simplifying the entire process for the developer.")
(define-public libtool
(package
(name "libtool")
(version "2.4.2")
(version "2.4.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libtool/libtool-"
version ".tar.gz"))
(sha256
(base32
"0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))
(patches
(list (search-patch "libtool-skip-tests.patch")
(search-patch "libtool-skip-tests-for-mips.patch")))))
(method url-fetch)
(uri (string-append "mirror://gnu/libtool/libtool-"
version ".tar.xz"))
(sha256
(base32
"0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))
(patches
(list (search-patch "libtool-skip-tests2.patch")))))
(build-system gnu-build-system)
(propagated-inputs `(("m4" ,m4)))
(native-inputs `(("m4" ,m4)
("perl" ,perl)))
;; Separate binaries from the rest. During bootstrap, only ltdl is
;; used; not depending on the binaries allows us to avoid retaining
;; a reference to the bootstrap bash.
(outputs '("bin" ; libtoolize, libtool, etc.
"out")) ; libltdl.so, ltdl.h, etc.
("perl" ,perl)
("automake" ,automake) ;some tests rely on 'aclocal'
("autoconf" ,(autoconf-wrapper)))) ;others on 'autom4te'
(arguments
(if (%current-target-system)
'() ; no `check' phase when cross-building
'(#:phases (alist-cons-before
'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Run the test suite in parallel, if possible.
(let ((ncores
(cond
((getenv "NIX_BUILD_CORES")
=>
(lambda (n)
(if (zero? (string->number n))
(number->string (current-processor-count))
n)))
(else "1"))))
(setenv "TESTSUITEFLAGS"
(string-append "-j" ncores)))
`(;; Libltdl is provided as a separate package, so don't install it here.
#:configure-flags '("--disable-ltdl-install")
;; Path references to /bin/sh.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "tests/testsuite"
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases))))
;; XXX: There are test failures on mips64el-linux starting from 2.4.4:
;; <http://hydra.gnu.org/build/181662>.
#:tests? ,(not (string-prefix? "mips64"
(or (%current-target-system)
(%current-system))))
#:phases (alist-cons-before
'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Run the test suite in parallel, if possible.
(setenv "TESTSUITEFLAGS"
(string-append
"-j"
(number->string (parallel-job-count))))
;; Path references to /bin/sh.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "tests/testsuite"
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases)))
(synopsis "Generic shared library support tools")
(description
"GNU Libtool helps in the creation and use of shared libraries, by
@@ -291,3 +288,32 @@ presenting a single consistent, portable interface that hides the usual
complexity of working with shared libraries across platforms.")
(license gpl3+)
(home-page "http://www.gnu.org/software/libtool/")))
(define-public libltdl
;; This is a libltdl package separate from the libtool package. This is
;; useful because, unlike libtool, it has zero extra dependencies (making it
;; readily usable during bootstrap), and it builds very quickly since
;; Libtool's extensive test suite isn't run.
(package
(name "libltdl")
(version "2.4.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libtool/libtool-"
version ".tar.xz"))
(sha256
(base32
"0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-ltdl-install") ;really install it
#:phases (alist-cons-before
'configure 'change-directory
(lambda _
(chdir "libltdl"))
%standard-phases)))
(synopsis "System-independent dlopen wrapper of GNU libtool")
(description (package-description libtool))
(home-page (package-home-page libtool))
(license lgpl2.1+)))
+43 -2
View File
@@ -1,5 +1,6 @@
;;; 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 © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,9 +63,49 @@
`(("intltool" ,intltool)
("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(synopsis "Avahi, an mDNS/DNS-SD implementation")
(synopsis "Implementation of mDNS/DNS-SD protocols")
(description
"Avahi is a system which facilitates service discovery on a local
network. It is an implementation of the mDNS (for \"Multicast DNS\") and
DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
(license lgpl2.1+)))
(define-public nss-mdns
(package
(name "nss-mdns")
(version "0.10")
(source (origin
(method url-fetch)
(uri (list
(string-append
"mirror://debian/pool/main/n/nss-mdns/nss-mdns_"
version ".orig.tar.gz")
"http://pkgs.fedoraproject.org/repo/pkgs/nss-mdns/nss-mdns-0.10.tar.gz/03938f17646efbb50aa70ba5f99f51d7/nss-mdns-0.10.tar.gz"
;; This used to be the canonical URL but it vanished.
;; See <http://bugs.gnu.org/18704>.
;; (string-append
;; "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-"
;; version ".tar.gz")
))
(sha256
(base32
"0vgs6j0qsl0mwzh5a0m0bykr7x6bx79vnbyn0r3q289rghp3qs0y"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
;; The Avahi daemon socket is expected by src/Makefile.am to be at
;; "$(localstatedir)/run/avahi-daemon/socket", so set $(localstatedir)
;; appropriately.
'(#:configure-flags '("--localstatedir=/var")))
;; XXX: Stale URL, missing replacement. See <http://bugs.gnu.org/18704>.
(home-page "http://0pointer.de/lennart/projects/nss-mdns/")
(synopsis "The mDNS Name Service Switch (NSS) plug-in")
(description
"Nss-mdns is a plug-in for the Name Service Switch (NSS) functionality
of the GNU C Library, providing host name resolution via Multicast DNS (mDNS).
It allows for name resolution by programs in the ad-hoc mDNS domain
'.local'.")
(license lgpl2.1+)))
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16,34 +16,36 @@
;;; 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 complexity)
#:use-module (guix packages)
#:use-module (guix download)
(define-module (gnu packages avr)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages autogen))
#:use-module (gnu packages)
#:use-module (gnu packages cross-base))
(define-public complexity
(define-public avr-libc
(package
(name "complexity")
(version "1.1")
(name "avr-libc")
(version "1.8.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/complexity/complexity-"
version ".tar.gz"))
(uri (string-append
"mirror://savannah//avr-libc/avr-libc-"
version ".tar.bz2"))
(sha256
(base32
"1aad7n35ymxbj5dlpvm64dcd71b6i7hbmps0g7nkf47vj53l6y2j"))))
"0sd9qkvhmk9av4g1f8dsjwc309hf1g0731bhvicnjb3b3d42l1n3"))))
(build-system gnu-build-system)
(native-inputs
`(("texinfo" ,texinfo)
("autogen" ,autogen)))
(home-page "http://www.gnu.org/software/complexity/")
(synopsis "Analyze complexity of C functions")
(arguments
`(#:out-of-source? #t
#:configure-flags '("--host=avr")))
(native-inputs `(("cross-binutils" ,(cross-binutils "avr"))
("cross-gcc" ,xgcc-avr)))
(home-page "http://www.nongnu.org/avr-libc/")
(synopsis "The AVR C Library")
(description
"GNU complexity provides tools for finding procedures that are
convoluted, overly long or otherwise difficult to understand. This
may help in learning or reviewing unfamiliar code or perhaps
highlighting your own code that seemed comprehensible when you wrote it.")
(license gpl3+)))
"AVR Libc is a project whose goal is to provide a high quality C library
for use with GCC on Atmel AVR microcontrollers.")
(license (non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
+28 -13
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,9 +19,9 @@
(define-module (gnu packages backup)
#:use-module (guix packages)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -30,15 +31,16 @@
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#: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 rsync)
#:use-module (gnu packages ssh)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-1))
#:use-module (gnu packages xml))
(define-public duplicity
(package
@@ -48,29 +50,38 @@
(origin
(method url-fetch)
(uri (string-append "https://code.launchpad.net/duplicity/"
(string-join (take (string-split version #\.) 2) ".")
(version-major+minor version)
"-series/" version "/+download/duplicity-"
version ".tar.gz"))
(sha256
(base32
"0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"))))
"0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"))
(patches (list (search-patch "duplicity-piped-password.patch")
(search-patch "duplicity-test_selection-tmp.patch")))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
`(("python2-setuptools" ,python2-setuptools)
("util-linux" ,util-linux))) ;setsid command, for the tests
(inputs
`(("python" ,python-2)
("librsync" ,librsync)
("mock" ,python2-mock) ;for testing
("lockfile" ,python2-lockfile)
("gnupg" ,gnupg-1))) ;gpg executable needed
("gnupg" ,gnupg-1) ;gpg executable needed
("util-linux" ,util-linux) ;for setsid
("tzdata" ,tzdata)))
(arguments
`(#:python ,python-2 ;setup assumes Python 2
#:test-target "test"
#:phases (alist-cons-before
'check 'patch-tests
(lambda _
'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "testing/functional/__init__.py"
(("/bin/sh") (which "sh"))))
(("/bin/sh") (which "sh")))
(setenv "HOME" (getcwd)) ;gpg needs to write to $HOME
(setenv "TZDIR" ;some timestamp checks need TZDIR
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))
%standard-phases)))
(home-page "http://duplicity.nongnu.org/index.html")
(synopsis "Encrypted backup using rsync algorithm")
@@ -128,7 +139,11 @@ backups (called chunks) to allow easy burning to CD/DVD.")
version ".tar.gz"))
(sha256
(base32
"0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"))))
"0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"))
(patches
(list (search-patch "libarchive-mtree-filename-length-fix.patch")
(search-patch "libarchive-fix-lzo-test-case.patch")
(search-patch "libarchive-CVE-2013-0211.patch")))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
@@ -167,7 +182,7 @@ archives in various formats such as tar and cpio. Libarchive also supports
reading and writing archives compressed using various compression filters such
as gzip and bzip2. The library is inherently stream-oriented; readers
serially iterate through the archive, writers serially add things to the
archive. In particular, note that there is currently no built-in support for
archive. In particular, note that there is currently no built-in support for
random access nor for in-place modification.")
(license license:bsd-2)))
+260 -781
View File
File diff suppressed because it is too large Load Diff
+168 -9
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,12 +19,91 @@
(define-module (gnu packages bash)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages bison)
#:use-module (gnu packages linux)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:autoload (guix gnupg) (gnupg-verify*)
#:autoload (guix hash) (port-sha256)
#:autoload (guix base32) (bytevector->nix-base32-string)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 format))
(define (patch-url seqno)
"Return the URL of Bash patch number SEQNO."
(format #f "mirror://gnu/bash/bash-4.3-patches/bash43-~3,'0d" seqno))
(define (bash-patch seqno sha256)
"Return the origin of Bash patch SEQNO, with expected hash SHA256"
(origin
(method url-fetch)
(uri (patch-url seqno))
(sha256 sha256)))
(define-syntax-rule (patch-series (seqno hash) ...)
(list (bash-patch seqno (base32 hash))
...))
(define %patch-series-4.3
;; This is the current patches series for 4.3, generated using
;; 'download-patches' below.
(patch-series
(1 "0hip2n2s5hws8p4nfcz37379zn6cak83ljsm64z52rw6ckrdzczc")
(2 "0ashj5d1g3zbyr7zf0r72s5wnk96cz1xj919y3jajadbc9qcvrzf")
(3 "0z88q4daq7dmw93iqd9c5i5d1sndklih3nrh0v75746da2n6w3h0")
(4 "0f0kh9j5k4ym6knshscx31przm50x5cc7ifkwqk0swh6clna982y")
(5 "1ym3b8b7lgmdp3dklp8qaqhyq965wd5392namq8mz7rb0d231j0s")
(6 "04q20igq49py49ynb0f83f6f52cdkyqwd9bpic6akr0m5pkqwr50")
(7 "18zkz23d9myshrwfcwcdjk7qmkqp8az5n91ni9jaixlwqlhy64qi")
(8 "0pprcwvh7ngdli0x95pc1cpssg4qg7layi9xrv2jq6c7965ajhcr")
(9 "19a0pf0alp30d1bjj0zf3zq2f5n0s6y91w7brm9jyswl51kns8n0")
(10 "1dzhr5ammyijisz48cqi5vaw26hfr5vh9smnqxq4qc9p06f7j1ff")
(11 "0fvzdzzi142a8rf3v965r6gbpn0k7fv2gif1yq8a4160vcn40qvw")
(12 "04lcgfcyz7p3zagb4hkia3hkpd7lii9m8ycy9qqwzyrm1c1pj4ry")
(13 "0y9cqi378z6flapkd5k5lfl4lq3ivzg4njj3i3wmw7xb6r9wma5z")
(14 "04xcb0k9fxxq4vashgzb98567xzdnm4655nlm4jvfvjv6si6ykas")
(15 "13ay6lldy1p00xj41nfjpq8lai3vw2qwca79gx6s80z04j53wa8k")
(16 "0wq7bvx3pfw90pnfb86yg5nr9jgjsvm2nq5rrkqxf6zn977hpmlj")
(17 "103p7sibihv6cshqj12k546zsbz0dnd5cv5vlx1719avddfc4rqj")
(18 "0n1x3812y1brb9xbabaj3fvr4cpvm2225iwckmqk2fcpkq5b9a3s")
(19 "08rd1p7zpzgbpmmmnj2im8wj2pcwmbbx51psr9vdc5c049si9ad7")
(20 "163c6g05qpag2plx5q795pmw3f3m904jy7z93xj2i08pgzc8cpna")
(21 "1a90cl3h10dh8k9f2ddrsjmw5ywaw2d5x78xb4fd2sryi039yhs1")
(22 "120s0s4qcqd0q12j1iv0hkpf9fp3w5jnqw646kv66n66jnxlfkgx")
(23 "1m00sfi88p2akgiyrg4hw0gvz3s1586pkzjdr3dm73vs773m1hls")
(24 "0v0gjqzjsqjfgj5x17fq7g649k94jn8zq92qsxkhc2d6l215hl1v")
(25 "0lcj96i659q35f1jcmwwbnw3p7w7vvlxjxqi989vn6d6qksqcl8y") ;CVE-2014-6271
(26 "0k919ir0inwn4wai2vdzpbwqq5h54fnrlkmgccxjg91v3ch15k1f") ;CVE-2014-7169
(27 "1gnsfvq6bhb3srlbh0cannj2hackdsipcg7z0ds7zlk1hp96mdqy")
(28 "17a65c4fn4c5rgsiw9gqqnzhznh3gwnd2xzzv2dppyi48znxpc78") ;CVE-2014-7186
(29 "14k27p28r5l2fz3r03kd0x72vvsq8bja8c6hjz5kxikbzsbs7i2c") ;CVE-2014-6277
(30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") ;CVE-2014-6278
(31 "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd")
(32 "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8")
(33 "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv")))
(define (download-patches store count)
"Download COUNT Bash patches into store. Return a list of
number/base32-hash tuples, directly usable in the 'patch-series' form."
(unfold (cut > <> count)
(lambda (number)
(let* ((patch (download-to-store store (patch-url number)))
(sig (download-to-store store
(string-append (patch-url number)
".sig"))))
(unless (gnupg-verify* sig patch)
(error "failed to verify signature" patch))
(list number
(bytevector->nix-base32-string
(call-with-input-file patch port-sha256)))))
1+
1))
(define-public bash
(let* ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'"
@@ -48,20 +128,53 @@
;; Add a `bash' -> `sh' link.
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(symlink "bash" "sh"))))))
(symlink "bash" "sh")))))
(install-headers-phase
'(lambda* (#:key outputs #:allow-other-keys)
;; Install Bash headers so that packages that provide extensions
;; can use them. We install them in include/bash; that's what
;; Debian does and what Bash extensions like recutils or
;; guile-bash expect.
(let ((include (string-append (assoc-ref outputs "include")
"/include/bash"))
(headers "^\\./(builtins/|lib/glob/|lib/tilde/|)[^/]+\\.h$"))
(mkdir-p include)
(for-each (lambda (file)
(when ((@ (ice-9 regex) string-match) headers file)
(let ((directory (string-append include "/"
(dirname file))))
(mkdir-p directory)
(copy-file file
(string-append directory "/"
(basename file))))))
(find-files "." "\\.h$"))
#t)))
(version "4.3"))
(package
(name "bash")
(version "4.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/bash/bash-" version ".tar.gz"))
(sha256
(base32
"1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"))))
"1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"))
(patch-flags '("-p0"))
(patches %patch-series-4.3)
;; The patches above modify 'parse.y', so force a rebuild of the
;; parser.
(snippet '(for-each delete-file
'("y.tab.c" "y.tab.h" "parser-built")))))
(version (string-append version "."
(number->string (length %patch-series-4.3))))
(build-system gnu-build-system)
(outputs '("out"
"include")) ;headers used by extensions
(native-inputs `(("bison" ,bison))) ;to rebuild the parser
(inputs `(("readline" ,readline)
("ncurses" ,ncurses))) ; TODO: add texinfo
("ncurses" ,ncurses))) ;TODO: add texinfo
(arguments
`(;; When cross-compiling, `configure' incorrectly guesses that job
;; control is missing.
@@ -80,9 +193,10 @@
;; for now.
#:tests? #f
#:phases (alist-cons-after 'install 'post-install
,post-install-phase
%standard-phases)))
#:phases (modify-phases %standard-phases
(add-after 'install 'post-install ,post-install-phase)
(add-after 'install 'install-headers
,install-headers-phase))))
(synopsis "The GNU Bourne-Again SHell")
(description
"Bash is the shell, or command-line interpreter, of the GNU system. It
@@ -118,3 +232,48 @@ without modification.")
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no")
'()))))))))
(define-public bash-completion
(package
(name "bash-completion")
(version "2.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://bash-completion.alioth.debian.org/files/"
"bash-completion-" version ".tar.bz2"))
(sha256
(base32
"0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b"))
(patches
(list (search-patch "bash-completion-directories.patch")))))
(build-system gnu-build-system)
(native-inputs `(("util-linux" ,util-linux)))
(arguments
`(#:phases (alist-cons-after
'install 'remove-redundant-completions
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Util-linux comes with a bunch of completion files for
;; its own commands which are more sophisticated and
;; up-to-date than those of bash-completion. Remove those
;; from bash-completion.
(let* ((out (assoc-ref outputs "out"))
(util-linux (assoc-ref inputs "util-linux"))
(completions (string-append out
"/share/bash-completion"
"/completions"))
(already (find-files (string-append util-linux
"/etc/bash_completion.d"))))
(with-directory-excursion completions
(for-each (lambda (file)
(when (file-exists? file)
(delete-file file)))
(map basename already)))
#t))
%standard-phases)))
(synopsis "Bash completions for common commands")
(description
"This package provides extensions that allow Bash to provide adapted
completion for many common commands.")
(home-page "http://bash-completion.alioth.debian.org/")
(license gpl2+)))
-68
View File
@@ -1,68 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 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 bdb)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public bdb
(package
(name "bdb")
(version "5.3.21")
(source (origin
(method url-fetch)
(uri (string-append "http://download.oracle.com/berkeley-db/db-" version
".tar.gz"))
(sha256 (base32
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
(build-system gnu-build-system)
(outputs '("out" ; programs, libraries, headers
"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")))
(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"))))
%standard-phases)))
(synopsis "db, the Berkeley database")
(description
"Berkeley DB is an embeddable database allowing developers the choice of
SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(license (bsd-style "file://LICENSE"
"See LICENSE in the distribution."))
(home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
+8 -7
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,14 +27,14 @@
(define-public libgc-7.2
(package
(name "libgc")
(version "7.2e")
(version "7.2f")
(source (origin
(method url-fetch)
(uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
version ".tar.gz"))
(sha256
(base32
"0jxgr71rhk58dzc1ihqs51vldh2qs1m154bn41qh6q1dm145nc89"))))
"119x7p1cqw40mpwj80xfq879l9m1dkc7vbc1f3bz3kvkf8bf6p16"))))
(build-system gnu-build-system)
(arguments
;; Make it so that we don't rely on /proc. This is especially useful in
@@ -64,15 +65,15 @@ C or C++ programs, though that is not its primary goal.")
(define-public libatomic-ops
(package
(name "libatomic-ops")
(version "7.4.0")
(version "7.4.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.hboehm.info/gc/gc_source/libatomic_ops-"
"http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-"
version ".tar.gz"))
(sha256
(base32
"0njv3n63zw6v45k68z6dz14g2hpk5p230ncwmdfkglsljb1cqx98"))))
"1pdm0h1y7bgkczr8byg20r6bq15m5072cqm5pny4f9crc9gn3yh4"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(synopsis "Accessing hardware atomic memory update operations")
@@ -88,14 +89,14 @@ lock-free code, experiment with thread programming paradigms, etc.")
(define-public libgc
(package (inherit libgc-7.2)
(version "7.4.0")
(version "7.4.2")
(source (origin
(method url-fetch)
(uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
version ".tar.gz"))
(sha256
(base32
"10z2nph62ilab063wygg2lv0jxlsbcf2az9w1lx01jzqj5lzry31"))))
"18mg28rr6kwr5clc65k4l4hkyy4kd16amx831sjf8q2lqkbhlck3"))))
;; New dependencies.
(native-inputs `(("pkg-config" ,pkg-config)))
File diff suppressed because it is too large Load Diff
+16 -3
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,7 +30,7 @@
(define bison
(package
(name "bison")
(version "3.0.2")
(version "3.0.4")
(source
(origin
(method url-fetch)
@@ -38,7 +38,7 @@
version ".tar.xz"))
(sha256
(base32
"0g4gjan477lac18m51kv4xzcsp6wjfsfwvd2dxymcl6vid9fihx2"))))
"1qbgf6q1n2z17k8g33444m0q68kf3fbiq65q7jlrzpvvj73jh957"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("flex" ,flex)))
@@ -51,3 +51,16 @@ deterministic or generalized LR parser from an annotated, context-free
grammar. It is versatile enough to have many applications, from parsers for
simple tools through complex programming languages.")
(license gpl3+)))
(define-public bison-2.7
(package (inherit bison)
(version "2.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/bison/bison-"
version ".tar.xz"))
(sha256
(base32
"1zd77ilmpv5mi3kr55jrj6ncqlcnyhpianhrwzak2q28cv2cbn23"))))))
+73 -7
View File
@@ -1,4 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -20,8 +21,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'l:))
#:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (gnu packages openssl)
#:use-module (gnu packages libevent)
#:use-module (gnu packages curl)
@@ -31,12 +32,16 @@
#:use-module ((gnu packages compression)
#:select (zlib))
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk))
#:use-module (gnu packages gtk)
#:use-module (gnu packages check)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl))
(define-public transmission
(package
(name "transmission")
(version "2.83")
(version "2.84")
(source (origin
(method url-fetch)
(uri (string-append
@@ -44,12 +49,13 @@
version ".tar.xz"))
(sha256
(base32
"0cqlgl6jmjw1caybz6nzh3l8z0jak1dxba01isv72zvy2r8b1qdh"))))
(build-system gnu-build-system)
"1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
(arguments
'(#:phases (alist-cons-after
'(#:glib-or-gtk-wrap-excluded-outputs '("out")
#:phases (alist-cons-after
'install 'move-gui
(lambda* (#:key outputs #:allow-other-keys)
;; Move the GUI to its own output, so that "out" doesn't
@@ -89,3 +95,63 @@ DHT, µTP, PEX and Magnet Links.")
;;
;; A few files files carry an MIT/X11 license header.
(license l:gpl3+)))
(define-public libtorrent
(package
(name "libtorrent")
(version "0.13.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://libtorrent.rakshasa.no/downloads/libtorrent-"
version ".tar.gz"))
(sha256
(base32
"0ma910br5vxrfpm4f4w4942lpmhwvqjnnf9h8vpf52fw35qhjkkh"))))
(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))
(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/")
(license l:gpl2+)))
(define-public rtorrent
(package
(name "rtorrent")
(version "0.9.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://libtorrent.rakshasa.no/downloads/rtorrent-"
version ".tar.gz"))
(sha256
(base32
"113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw"))))
(build-system gnu-build-system)
(inputs `(("libtorrent" ,libtorrent)
("ncurses" ,ncurses)
("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config)
("cppunit" ,cppunit)))
(synopsis "BitTorrent client with ncurses interface")
(description
"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/")
(license l:gpl2+)))
+69 -32
View File
@@ -1,5 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,12 +20,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages boost)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages python)
#:use-module (gnu packages tcsh)
#:use-module (gnu packages perl))
@@ -30,7 +33,7 @@
(define-public boost
(package
(name "boost")
(version "1.55.0")
(version "1.57.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -39,46 +42,58 @@
".tar.bz2"))
(sha256
(base32
"0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z"))))
"0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
("python" ,python-2)
("tcsh" ,tcsh)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* '("libs/config/configure"
"libs/spirit/classic/phoenix/test/runtest.sh"
"tools/build/v2/doc/bjam.qbk"
"tools/build/v2/engine/execunix.c"
"tools/build/v2/engine/Jambase"
"tools/build/v2/engine/jambase.c")
(("/bin/sh") (which "sh")))
(let ((build-flags
`("threading=multi" "link=shared"
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(zero? (system* "./bootstrap.sh"
(string-append "--prefix=" out)
"--with-toolset=gcc"))))
(alist-replace
'build
(lambda _
(zero? (system* "./b2" "threading=multi" "link=shared")))
;; Set the RUNPATH to $libdir so that the libs find each other.
(string-append "linkflags=-Wl,-rpath="
(assoc-ref outputs "out") "/lib")
;; Boost's 'context' library is not yet supported on mips64, so
;; we disable it. The 'coroutine' library depends on 'context',
;; so we disable that too.
,@(if (string-prefix? "mips64" (or (%current-target-system)
(%current-system)))
'("--without-context" "--without-coroutine")
'()))))
`(#:tests? #f
#:phases
(alist-replace
'check
(lambda _ #t)
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* '("libs/config/configure"
"libs/spirit/classic/phoenix/test/runtest.sh"
"tools/build/doc/bjam.qbk"
"tools/build/src/engine/execunix.c"
"tools/build/src/engine/Jambase"
"tools/build/src/engine/jambase.c")
(("/bin/sh") (which "sh")))
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(zero? (system* "./bootstrap.sh"
(string-append "--prefix=" out)
"--with-toolset=gcc"))))
(alist-replace
'install
(lambda _
(zero? (system* "./b2" "install" "threading=multi" "link=shared")))
%standard-phases))))))
'build
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "./b2" ,@build-flags)))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "./b2" "install" ,@build-flags)))
%standard-phases))))))
(home-page "http://boost.org")
(synopsis "Peer-reviewed portable C++ source libraries")
@@ -87,3 +102,25 @@
across a broad spectrum of applications.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
(define-public mdds
(package
(name "mdds")
(version "0.12.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://kohei.us/files/mdds/src/mdds_" version ".tar.bz2"))
(sha256
(base32
"10ar7r0gkdl2r7916jlkl5c38cynrh7x9s90a5i8d242r8ixw8ia"))))
(build-system gnu-build-system)
(propagated-inputs
`(("boost" ,boost))) ; inclusion of header files
(home-page "https://code.google.com/p/multidimalgorithm/")
(synopsis "Multi-dimensional C++ data structures and indexing algorithms")
(description "Mdds (multi-dimensional data structure) provides a
collection of multi-dimensional data structures and indexing algorithms
for C++. It includes flat segment trees, segment trees, rectangle sets,
point quad trees, multi-type vectors and multi-type matrices.")
(license license:expat)))
+120 -48
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -58,9 +59,9 @@
"Return a variant of SOURCE, an <origin> instance, whose method uses
%BOOTSTRAP-GUILE to do its job."
(define (boot fetch)
(lambda* (store url hash-algo hash
(lambda* (url hash-algo hash
#:optional name #:key system)
(fetch store url hash-algo hash
(fetch url hash-algo hash
#:guile %bootstrap-guile
#:system system)))
@@ -78,12 +79,22 @@
(boot url-fetch))
(else orig-method)))
(patch-guile %bootstrap-guile)
(patch-inputs %bootstrap-patch-inputs))))
(patch-inputs %bootstrap-patch-inputs)
(define (package-from-tarball name source program-to-test description)
;; Patches can be origins as well, so process them.
(patches (map (match-lambda
((? origin? patch)
(bootstrap-origin patch))
(patch patch))
(origin-patches source))))))
(define* (package-from-tarball name source program-to-test description
#:key snippet)
"Return a package that correspond to the extraction of SOURCE.
PROGRAM-TO-TEST is a program to run after extraction of SOURCE, to
check whether everything is alright."
check whether everything is alright. If SNIPPET is provided, it is
evaluated after extracting SOURCE. SNIPPET should return true if
successful, or false to signal an error."
(package
(name name)
(version "0")
@@ -105,6 +116,7 @@ check whether everything is alright."
(with-directory-excursion out
(and (zero? (system* tar "xvf"
(string-append builddir "/binaries.tar")))
,@(if snippet (list snippet) '())
(zero? (system* (string-append "bin/" ,program-to-test)
"--version"))))))))
(inputs
@@ -139,7 +151,9 @@ check whether everything is alright."
(native-inputs (map rewritten-input
(package-native-inputs p)))
(propagated-inputs (map rewritten-input
(package-propagated-inputs p)))))))
(package-propagated-inputs p)))
(replacement (and=> (package-replacement p)
package-with-bootstrap-guile))))))
(define* (glibc-dynamic-linker
#:optional (system (or (and=> (%current-target-system)
@@ -148,7 +162,14 @@ check whether everything is alright."
"Return the name of Glibc's dynamic linker for SYSTEM."
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((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")
;; XXX: This one is used bare-bones, without a libc, so add a case
;; here just so we can keep going.
((string=? system "xtensa-elf") "no-ld.so")
((string=? system "avr") "no-ld.so")
(else (error "dynamic linker name not known for this system"
system))))
@@ -157,6 +178,52 @@ check whether everything is alright."
;;; Bootstrap packages.
;;;
(define* (raw-build store name inputs
#:key outputs system search-paths
#:allow-other-keys)
(define (->store file)
(add-to-store store file #t "sha256"
(or (search-bootstrap-binary file
system)
(error "bootstrap binary not found"
file system))))
(let* ((tar (->store "tar"))
(xz (->store "xz"))
(mkdir (->store "mkdir"))
(bash (->store "bash"))
(guile (->store (match system
("armhf-linux"
"guile-2.0.11.tar.xz")
(_
"guile-2.0.9.tar.xz"))))
(builder
(add-text-to-store store
"build-bootstrap-guile.sh"
(format #f "
echo \"unpacking bootstrap Guile to '$out'...\"
~a $out
cd $out
~a -dc < ~a | ~a xv
# Sanity check.
$out/bin/guile --version~%"
mkdir xz guile tar)
(list mkdir xz guile tar))))
(derivation store name
bash `(,builder)
#:system system
#:inputs `((,bash) (,builder)))))
(define* (make-raw-bag name
#:key source inputs native-inputs outputs
system target)
(bag
(name name)
(system system)
(build-inputs inputs)
(build raw-build)))
(define %bootstrap-guile
;; The Guile used to run the build scripts of the initial derivations.
;; It is just unpacked from a tarball containing a pre-built binary.
@@ -165,39 +232,9 @@ check whether everything is alright."
;; XXX: Would need libc's `libnss_files2.so' for proper `getaddrinfo'
;; support (for /etc/services).
(let ((raw (build-system
(name "raw")
(description "Raw build system with direct store access")
(build (lambda* (store name source inputs
#:key outputs system search-paths)
(define (->store file)
(add-to-store store file #t "sha256"
(or (search-bootstrap-binary file
system)
(error "bootstrap binary not found"
file system))))
(let* ((tar (->store "tar"))
(xz (->store "xz"))
(mkdir (->store "mkdir"))
(bash (->store "bash"))
(guile (->store "guile-2.0.9.tar.xz"))
(builder
(add-text-to-store store
"build-bootstrap-guile.sh"
(format #f "
echo \"unpacking bootstrap Guile to '$out'...\"
~a $out
cd $out
~a -dc < ~a | ~a xv
# Sanity check.
$out/bin/guile --version~%"
mkdir xz guile tar)
(list mkdir xz guile tar))))
(derivation store name
bash `(,builder)
#:system system
#:inputs `((,bash) (,builder)))))))))
(name 'raw)
(description "Raw build system with direct store access")
(lower make-raw-bag))))
(package
(name "guile-bootstrap")
(version "2.0")
@@ -219,7 +256,11 @@ $out/bin/guile --version~%"
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20131110/static-binaries.tar.xz")
(match system
("armhf-linux"
"/20150101/static-binaries.tar.xz")
(_
"/20131110/static-binaries.tar.xz")))
%bootstrap-base-urls))
(sha256
(match system
@@ -229,11 +270,21 @@ $out/bin/guile --version~%"
("i686-linux"
(base32
"0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak"))
("armhf-linux"
(base32
"0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5"))
("mips64el-linux"
(base32
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
"true" ; the program to test
"Bootstrap binaries of Coreutils, Awk, etc."))
"fgrep" ; the program to test
"Bootstrap binaries of Coreutils, Awk, etc."
#:snippet
'(let ((path (list (string-append (getcwd) "/bin"))))
(chmod "bin" #o755)
(patch-shebang "bin/egrep" path)
(patch-shebang "bin/fgrep" path)
(chmod "bin" #o555)
#t)))
(define %bootstrap-binutils
(package-from-tarball "binutils-bootstrap"
@@ -241,7 +292,11 @@ $out/bin/guile --version~%"
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20131110/binutils-2.23.2.tar.xz")
(match system
("armhf-linux"
"/20150101/binutils-2.25.tar.xz")
(_
"/20131110/binutils-2.23.2.tar.xz")))
%bootstrap-base-urls))
(sha256
(match system
@@ -251,6 +306,9 @@ $out/bin/guile --version~%"
("i686-linux"
(base32
"14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9"))
("armhf-linux"
(base32
"1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q"))
("mips64el-linux"
(base32
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
@@ -295,7 +353,11 @@ $out/bin/guile --version~%"
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20131110/glibc-2.18.tar.xz")
(match (%current-system)
("armhf-linux"
"/20150101/glibc-2.20.tar.xz")
(_
"/20131110/glibc-2.18.tar.xz")))
%bootstrap-base-urls))
(sha256
(match (%current-system)
@@ -305,6 +367,9 @@ $out/bin/guile --version~%"
("i686-linux"
(base32
"1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
("armhf-linux"
(base32
"18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn"))
("mips64el-linux"
(base32
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
@@ -366,7 +431,11 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20131110/gcc-4.8.2.tar.xz")
(match (%current-system)
("armhf-linux"
"/20150101/gcc-4.8.4.tar.xz")
(_
"/20131110/gcc-4.8.2.tar.xz")))
%bootstrap-base-urls))
(sha256
(match (%current-system)
@@ -376,16 +445,19 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
("i686-linux"
(base32
"150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
("armhf-linux"
(base32
"0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v"))
("mips64el-linux"
(base32
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(directories '("include")))
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(directories '("lib" "lib64")))))
(files '("lib" "lib64")))))
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
(description #f)
(home-page #f)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -98,8 +98,8 @@
("zip" ,zip)))
(synopsis "Many common UNIX utilities in a single executable")
(description "BusyBox combines tiny versions of many common UNIX utilities
into a single small executable. It provides a fairly complete
environment for any small or embedded system.")
into a single small executable. It provides a fairly complete environment for
any small or embedded system.")
(home-page "http://www.busybox.net")
;; Some files are gplv2+
(license gpl2)))
+5 -5
View File
@@ -27,7 +27,7 @@
(define-public calcurse
(package
(name "calcurse")
(version "3.1.4")
(version "3.2.1")
(source
(origin
(method url-fetch)
@@ -35,15 +35,15 @@
version ".tar.gz"))
(sha256
(base32
"1qwhffwhfg7bjxrviwlcrhnfw0976d39da8kfspq6dgd9nqv68a1"))))
"0g92c4x02iv2wi3c1sm3nz1ay96bi2m7klxq3qyyx3pr11l53m85"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "http://www.calcurse.org")
(synopsis "Text-based calendar and scheduling")
(description
"Calcurse is a text-based calendar and scheduling application. It helps
keep track of events, appointments and everyday tasks. A configurable
"Calcurse is a text-based calendar and scheduling application. It helps
keep track of events, appointments and everyday tasks. A configurable
notification system reminds user of upcoming deadlines, and the curses based
interface can be customized to suit user needs. All of the commands are
interface can be customized to suit user needs. All of the commands are
documented within an online help system.")
(license bsd-2)))
+52
View File
@@ -0,0 +1,52 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;;
;;; 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 calendar)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl))
(define-public libical
(package
(name "libical")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/libical/libical/releases/download/v"
version "/libical-" version ".tar.gz"))
(sha256
(base32
"14lmjj63zyx88rf1z71l0v9ms4c2vpdhmixksjjxgywp5p2f7708"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; test suite appears broken
(native-inputs
`(("perl" ,perl)))
(inputs
`(("icu4c" ,icu4c)))
(home-page "https://libical.github.io/libical/")
(synopsis "iCalendar protocols and data formats implementation")
(description
"Libical is an implementation of the iCalendar protocols and protocol
data units.")
(license lgpl2.1)))
+2 -3
View File
@@ -28,7 +28,7 @@
(define-public ccache
(package
(name "ccache")
(version "3.1.9")
(version "3.1.10")
(source
(origin
(method url-fetch)
@@ -36,8 +36,7 @@
version ".tar.xz"))
(sha256
(base32
"1i06015jjc0n55xgvhv2h37fjp0i7z8a10s0v40f87c5mprzv0a9"))
(patches (list (search-patch "ccache-stdc-predef-test.patch")))))
"0mr8n1nbykxw4rs55ad8wd6xmfhihn09mxpxb91sn9mlsd1ryhw8"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;for test.sh
(inputs `(("zlib" ,zlib)))
+145 -31
View File
@@ -1,6 +1,7 @@
;;; 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, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,7 +33,11 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages which))
#:use-module (gnu packages base)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages wget)
#:use-module (gnu packages xiph))
(define-public libcddb
(package
@@ -50,7 +55,7 @@
(home-page "http://libcddb.sourceforge.net/")
(synopsis "C library to access data on a CDDB server")
(description
"Libcddb is a C library to access data on a CDDB server (freedb.org). It
"Libcddb is a C library to access data on a CDDB server (freedb.org). It
allows you to:
1. search the database for possible CD matches;
@@ -60,22 +65,22 @@ allows you to:
3. submit new CD entries to the database.
Libcddb supports both the custom CDDB protocol and tunnelling the query and
read operations over plain HTTP. It is also possible to use an HTTP proxy
server. If you want to speed things up, you can make use of the built-in
read operations over plain HTTP. It is also possible to use an HTTP proxy
server. If you want to speed things up, you can make use of the built-in
caching facility provided by the library.")
(license lgpl2.1+)))
(define-public libcdio
(package
(name "libcdio")
(version "0.92")
(version "0.93")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-"
version ".tar.gz"))
(sha256
(base32
"1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik"))))
"0xb9km1750ndr7nglgbv1smv03dy8nkcfd9djbzqn3ldzlicswj9"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@@ -95,6 +100,27 @@ libcdio-paranoia, a library providing jitter-free and error-free audio
extraction from CDs.")
(license gpl3+)))
(define-public libcdio-paranoia
(package
(name "libcdio-paranoia")
(version "10.2+0.93+1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-paranoia-"
version ".tar.bz2"))
(sha256
(base32
"14x4b4jk5b0zvcalrg02y4jmbkmmlb07qfmk5hph9k18b8frn7gc"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs `(("libcdio" ,libcdio)))
(home-page "http://www.gnu.org/software/libcdio/")
(synopsis "Jitter- and error-tolerant CD audio extraction")
(description
"libcdio-paranoia is an implementation of CD paranoia libraries based on
libcdio.")
(license gpl3+)))
(define-public xorriso
(package
(name "xorriso")
@@ -135,35 +161,22 @@ files.")
(sha256
(base32
"1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))
(patches (list (search-patch "cdparanoia-fpic.patch")))))
(patches (list (search-patch "cdparanoia-fpic.patch")))
(modules '((guix build utils)))
(snippet
;; Make libraries respect LDFLAGS.
'(substitute* '("paranoia/Makefile.in" "interface/Makefile.in")
(("-Wl,-soname") "$(LDFLAGS) -Wl,-soname")))))
(build-system gnu-build-system)
(inputs
`(("patchelf" ,patchelf)))
(arguments
`(#:tests? #f ; there is no check target
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath)
(srfi srfi-26))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath))
#:phases
(alist-cons-after
'strip 'add-lib-to-runpath
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
;; Add LIB to the RUNPATH of all the executables.
(with-directory-excursion out
(for-each (cut augment-rpath <> lib)
(find-files "bin" ".*")))))
%standard-phases)))
#:configure-flags ; Add $libdir to the RUNPATH of all the executables.
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
(home-page "http://www.xiph.org/paranoia/")
(synopsis "audio CD reading utility which includes extra data verification features")
(synopsis "Audio CD reading utility")
(description "Cdparanoia retrieves audio tracks from CDDA capable CDROM
drives. The data can be saved to a file or directed to standard output
in WAV, AIFF, AIFF-C or raw format. Most ATAPI, SCSI and several
in WAV, AIFF, AIFF-C or raw format. Most ATAPI, SCSI and several
proprietary CDROM drive makes are supported; cdparanoia can determine if the
target drive is CDDA capable. In addition to simple reading, cdparanoia adds
extra-robust data verification, synchronization, error handling and scratch
@@ -201,7 +214,7 @@ reconstruction capability.")
(delete-file ".#GNUmakefile"))
%standard-phases)))
(home-page "http://dvdisaster.net/en/index.html")
(synopsis "error correcting codes for optical media images")
(synopsis "Error correcting codes for optical media images")
(description "Optical media (CD,DVD,BD) keep their data only for a
finite time (typically for many years). After that time, data loss develops
slowly with read errors growing from the outer media region towards the
@@ -217,3 +230,104 @@ files. Dvdisaster works at the image level so that the recovery does not
depend on the file system of the medium. The maximum error correction
capacity is user-selectable.")
(license gpl2+)))
(define-public cd-discid
(package
(name "cd-discid")
(version "1.4")
(home-page "http://linukz.org/cd-discid.shtml")
(source (origin
(method url-fetch)
(uri (string-append "http://linukz.org/download/cd-discid-"
version ".tar.gz"))
(sha256
(base32
"0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
(("/usr/bin/install")
"install")))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:phases (alist-delete 'configure %standard-phases)
#:make-flags (list "CC=gcc"
(string-append "PREFIX="
(assoc-ref %outputs "out")))))
(synopsis "Get CDDB discid information from an audio CD")
(description
"cd-discid is a command-line tool to retrieve CDDB discid information
from an audio CD.")
(license gpl2+)))
(define-public abcde
(package
(name "abcde")
(version "2.6")
(home-page "http://abcde.einval.com/")
(source (origin
(method url-fetch)
(uri (string-append home-page "/download/abcde-"
version ".tar.gz"))
(sha256
(base32
"0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
(("/usr/bin/install")
"install")
(("^etcdir = .*$")
(string-append "etcdir = $(prefix)/etc\n"))))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs inputs #:allow-other-keys)
(substitute* "Makefile"
(("^prefix = .*$")
(string-append "prefix = "
(assoc-ref outputs "out")
"\n"))))
(alist-cons-after
'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((wget (assoc-ref inputs "wget"))
(vorbis (assoc-ref inputs "vorbis-tools"))
(parano (assoc-ref inputs "cdparanoia"))
(which (assoc-ref inputs "which"))
(discid (assoc-ref inputs "cd-discid"))
(out (assoc-ref outputs "out")))
(define (wrap file)
(wrap-program file
`("PATH" ":" prefix
(,(string-append out "/bin:"
wget "/bin:"
which "/bin:"
vorbis "/bin:"
discid "/bin:"
parano "/bin")))))
(for-each wrap
(find-files (string-append out "/bin")
".*"))))
%standard-phases))
#:tests? #f))
(inputs `(("wget" ,wget)
("which" ,which)
("cdparanoia" ,cdparanoia)
("cd-discid" ,cd-discid)
("vorbis-tools" ,vorbis-tools)
;; A couple of Python and Perl scripts are included.
("python" ,python)
("perl" ,perl)))
(synopsis "Command-line audio CD ripper")
(description
"abcde is a front-end command-line utility (actually, a shell script)
that grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex
and/or MPP/MP+ (Musepack) format, and tags them, all in one go.")
(license gpl2+)))
+125
View File
@@ -0,0 +1,125 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; 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 certs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages openssl)
#:use-module (gnu packages python))
(define certdata2pem
(package
(name "certdata2pem")
(version "2013")
(source
(origin
(method url-fetch)
(uri
"http://pkgs.fedoraproject.org/cgit/ca-certificates.git/plain/certdata2pem.py?id=053dde8a2f5901e97028a58bf54e7d0ef8095a54")
(file-name "certdata2pem.py")
(sha256
(base32
"0zscrm41gnsf14zvlkxhy00h3dmgidyz645ldpda3y3vabnwv8dx"))))
(build-system trivial-build-system)
(inputs
`(("python" ,python-2)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((bin (string-append %output "/bin")))
(copy-file (assoc-ref %build-inputs "source") "certdata2pem.py")
(chmod "certdata2pem.py" #o555)
(substitute* "certdata2pem.py"
(("/usr/bin/python")
(string-append (assoc-ref %build-inputs "python")
"/bin/python"))
;; Use the file extension .pem instead of .crt.
(("crt") "pem"))
(mkdir-p bin)
(copy-file "certdata2pem.py"
(string-append bin "/certdata2pem.py"))))))
(synopsis "Python script to extract .pem data from certificate collection")
(description
"certdata2pem.py is a Python script to transform X.509 certificate
\"source code\" as contained, for example, in the Mozilla sources, into
.pem formatted certificates.")
(license license:gpl2+)
(home-page "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/")))
(define-public nss-certs
(package (inherit nss) ; to reuse the source, version and some metadata
(name "nss-certs")
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs
`(("certdata2pem" ,certdata2pem)
("openssl" ,openssl)))
(inputs '())
(propagated-inputs '())
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(rnrs io ports)
(srfi srfi-26)
(ice-9 regex))
#:phases
(alist-cons-after
'unpack 'install
(lambda _
(let ((certsdir (string-append %output "/etc/ssl/certs/"))
(trusted-rx (make-regexp "^# openssl-trust=[a-zA-Z]"
regexp/newline)))
(define (maybe-install-cert file)
(let ((cert (call-with-input-file file get-string-all)))
(when (regexp-exec trusted-rx cert)
(call-with-output-file
(string-append certsdir file)
(cut display cert <>)))))
(mkdir-p certsdir)
(with-directory-excursion "nss/lib/ckfw/builtins/"
;; extract single certificates from blob
(system* "certdata2pem.py" "certdata.txt")
;; copy selected .pem files into the output
(for-each maybe-install-cert
(find-files "." ".*\\.pem")))
(with-directory-excursion certsdir
;; create symbolic links for and by openssl
;; Strangely, the call (system* "c_rehash" certsdir)
;; from inside the build dir fails with
;; "Usage error; try -help."
;; This looks like a bug in openssl-1.0.2, but we can also
;; switch into the target directory.
(system* "c_rehash" "."))))
(map (cut assq <> %standard-phases)
'(set-paths install-locale unpack)))))
(synopsis "CA certificates from Mozilla")
(description
"This package provides certificates for Certification Authorities (CA)
taken from the NSS package and thus ultimately from the Mozilla project.")))

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