aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-container.scm24
-rw-r--r--gnu/packages/aarddict.scm70
-rw-r--r--gnu/packages/admin.scm50
-rw-r--r--gnu/packages/aidc.scm9
-rw-r--r--gnu/packages/algebra.scm48
-rw-r--r--gnu/packages/animation.scm178
-rw-r--r--gnu/packages/aria2.scm49
-rw-r--r--gnu/packages/audio.scm141
-rw-r--r--gnu/packages/autogen.scm10
-rw-r--r--gnu/packages/avahi.scm2
-rw-r--r--gnu/packages/avr.scm46
-rw-r--r--gnu/packages/backup.scm45
-rw-r--r--gnu/packages/base.scm15
-rw-r--r--gnu/packages/bash.scm8
-rw-r--r--gnu/packages/bioinformatics.scm460
-rw-r--r--gnu/packages/busybox.scm10
-rw-r--r--gnu/packages/cdrom.scm28
-rw-r--r--gnu/packages/cmake.scm15
-rw-r--r--gnu/packages/compression.scm38
-rw-r--r--gnu/packages/conkeror.scm62
-rw-r--r--gnu/packages/cook.scm8
-rw-r--r--gnu/packages/crypto.scm1
-rw-r--r--gnu/packages/curl.scm10
-rw-r--r--gnu/packages/cyrus-sasl.scm4
-rw-r--r--gnu/packages/databases.scm46
-rw-r--r--gnu/packages/datastructures.scm49
-rw-r--r--gnu/packages/debug.scm24
-rw-r--r--gnu/packages/dico.scm80
-rw-r--r--gnu/packages/disk.scm62
-rw-r--r--gnu/packages/docbook.scm5
-rw-r--r--gnu/packages/emacs.scm109
-rw-r--r--gnu/packages/engineering.scm2
-rw-r--r--gnu/packages/enlightenment.scm25
-rw-r--r--gnu/packages/firmware.scm1
-rw-r--r--gnu/packages/fish.scm4
-rw-r--r--gnu/packages/fonts.scm17
-rw-r--r--gnu/packages/fontutils.scm4
-rw-r--r--gnu/packages/freedesktop.scm31
-rw-r--r--gnu/packages/freeipmi.scm5
-rw-r--r--gnu/packages/game-development.scm36
-rw-r--r--gnu/packages/games.scm733
-rw-r--r--gnu/packages/gcc.scm13
-rw-r--r--gnu/packages/gdb.scm5
-rw-r--r--gnu/packages/gdbm.scm46
-rw-r--r--gnu/packages/geeqie.scm3
-rw-r--r--gnu/packages/gimp.scm2
-rw-r--r--gnu/packages/gl.scm78
-rw-r--r--gnu/packages/glib.scm128
-rw-r--r--gnu/packages/gnome.scm808
-rw-r--r--gnu/packages/gnucash.scm4
-rw-r--r--gnu/packages/gnunet.scm40
-rw-r--r--gnu/packages/gnupg.scm45
-rw-r--r--gnu/packages/gnuzilla.scm52
-rw-r--r--gnu/packages/grub.scm38
-rw-r--r--gnu/packages/gstreamer.scm41
-rw-r--r--gnu/packages/gtk.scm130
-rw-r--r--gnu/packages/guile.scm220
-rw-r--r--gnu/packages/haskell.scm5329
-rw-r--r--gnu/packages/hurd.scm14
-rw-r--r--gnu/packages/image.scm123
-rw-r--r--gnu/packages/imagemagick.scm53
-rw-r--r--gnu/packages/inklingreader.scm59
-rw-r--r--gnu/packages/inkscape.scm6
-rw-r--r--gnu/packages/irssi.scm15
-rw-r--r--gnu/packages/java.scm22
-rw-r--r--gnu/packages/kodi.scm223
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/links.scm33
-rw-r--r--gnu/packages/linux-libre-i686.conf211
-rw-r--r--gnu/packages/linux-libre-x86_64.conf214
-rw-r--r--gnu/packages/linux.scm150
-rw-r--r--gnu/packages/lisp.scm14
-rw-r--r--gnu/packages/llvm.scm5
-rw-r--r--gnu/packages/lua.scm7
-rw-r--r--gnu/packages/machine-learning.scm3
-rw-r--r--gnu/packages/mail.scm131
-rw-r--r--gnu/packages/man.scm7
-rw-r--r--gnu/packages/maths.scm115
-rw-r--r--gnu/packages/messaging.scm5
-rw-r--r--gnu/packages/mit-krb5.scm106
-rw-r--r--gnu/packages/mp3.scm34
-rw-r--r--gnu/packages/mpi.scm16
-rw-r--r--gnu/packages/music.scm90
-rw-r--r--gnu/packages/nano.scm5
-rw-r--r--gnu/packages/ncurses.scm25
-rw-r--r--gnu/packages/node.scm80
-rw-r--r--gnu/packages/ntp.scm4
-rw-r--r--gnu/packages/ocaml.scm8
-rw-r--r--gnu/packages/openstack.scm268
-rw-r--r--gnu/packages/owncloud.scm80
-rw-r--r--gnu/packages/package-management.scm203
-rw-r--r--gnu/packages/parallel.scm5
-rw-r--r--gnu/packages/password-utils.scm41
-rw-r--r--gnu/packages/patches/bluez-tests.patch25
-rw-r--r--gnu/packages/patches/byobu-writable-status.patch13
-rw-r--r--gnu/packages/patches/dbus-helper-search-path.patch18
-rw-r--r--gnu/packages/patches/dbus-localstatedir.patch30
-rw-r--r--gnu/packages/patches/devil-fix-libpng.patch36
-rw-r--r--gnu/packages/patches/dico-libtool-deterministic.patch15
-rw-r--r--gnu/packages/patches/eudev-rules-directory.patch18
-rw-r--r--gnu/packages/patches/evilwm-lost-focus-bug.patch18
-rw-r--r--gnu/packages/patches/glib-tests-desktop.patch18
-rw-r--r--gnu/packages/patches/gsl-poly-test-fix-pt1.patch84
-rw-r--r--gnu/packages/patches/gsl-poly-test-fix-pt2.patch27
-rw-r--r--gnu/packages/patches/hwloc-gather-topology-lstopo.patch13
-rw-r--r--gnu/packages/patches/jasper-CVE-2008-3522.patch14
-rw-r--r--gnu/packages/patches/libdrm-symbol-check.patch195
-rw-r--r--gnu/packages/patches/librsvg-tests.patch27
-rw-r--r--gnu/packages/patches/libsndfile-CVE-2014-9496.patch55
-rw-r--r--gnu/packages/patches/libsndfile-CVE-2015-7805.patch95
-rw-r--r--gnu/packages/patches/libxslt-CVE-2015-7995.patch29
-rw-r--r--gnu/packages/patches/lua52-liblua-so.patch78
-rw-r--r--gnu/packages/patches/matplotlib-setupext-tk.patch34
-rw-r--r--gnu/packages/patches/mit-krb5-CVE-2015-2695-pt1.patch569
-rw-r--r--gnu/packages/patches/mit-krb5-CVE-2015-2695-pt2.patch65
-rw-r--r--gnu/packages/patches/mit-krb5-CVE-2015-2696.patch736
-rw-r--r--gnu/packages/patches/mit-krb5-CVE-2015-2697.patch55
-rw-r--r--gnu/packages/patches/mit-krb5-CVE-2015-2698-pt1.patch43
-rw-r--r--gnu/packages/patches/mit-krb5-CVE-2015-2698-pt2.patch132
-rw-r--r--gnu/packages/patches/mit-krb5-init-fix.patch18
-rw-r--r--gnu/packages/patches/mupen64plus-ui-console-notice.patch34
-rw-r--r--gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch37
-rw-r--r--gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch33
-rw-r--r--gnu/packages/patches/python-2-deterministic-build-info.patch17
-rw-r--r--gnu/packages/patches/python-2.7-source-date-epoch.patch33
-rw-r--r--gnu/packages/patches/python-3-deterministic-build-info.patch17
-rw-r--r--gnu/packages/patches/python-configobj-setuptools.patch30
-rw-r--r--gnu/packages/patches/scribus-qobject.patch17
-rw-r--r--gnu/packages/patches/synfig-build-fix.patch61
-rw-r--r--gnu/packages/patches/tcl-mkindex-deterministic.patch29
-rw-r--r--gnu/packages/patches/tinyxml-use-stl.patch41
-rw-r--r--gnu/packages/patches/tk-find-library.patch29
-rw-r--r--gnu/packages/patches/torsocks-dns-test.patch18
-rw-r--r--gnu/packages/patches/weechat-python.patch40
-rw-r--r--gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch32
-rw-r--r--gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch51
-rw-r--r--gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch54
-rw-r--r--gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch34
-rw-r--r--gnu/packages/patches/xfce4-session-fix-xflock4.patch31
-rw-r--r--gnu/packages/pcre.scm47
-rw-r--r--gnu/packages/pdf.scm9
-rw-r--r--gnu/packages/polkit.scm18
-rw-r--r--gnu/packages/pulseaudio.scm9
-rw-r--r--gnu/packages/python.scm1105
-rw-r--r--gnu/packages/qemu.scm68
-rw-r--r--gnu/packages/qt.scm40
-rw-r--r--gnu/packages/ragel.scm49
-rw-r--r--gnu/packages/ruby.scm732
-rw-r--r--gnu/packages/samba.scm40
-rw-r--r--gnu/packages/sawfish.scm2
-rw-r--r--gnu/packages/scheme.scm4
-rw-r--r--gnu/packages/screen.scm53
-rw-r--r--gnu/packages/scribus.scm79
-rw-r--r--gnu/packages/serialization.scm74
-rw-r--r--gnu/packages/slang.scm24
-rw-r--r--gnu/packages/ssh.scm58
-rw-r--r--gnu/packages/statistics.scm421
-rw-r--r--gnu/packages/synergy.scm6
-rw-r--r--gnu/packages/tcl.scm19
-rw-r--r--gnu/packages/telephony.scm11
-rw-r--r--gnu/packages/terminals.scm69
-rw-r--r--gnu/packages/textutils.scm28
-rw-r--r--gnu/packages/tls.scm108
-rw-r--r--gnu/packages/tor.scm41
-rw-r--r--gnu/packages/version-control.scm75
-rw-r--r--gnu/packages/video.scm274
-rw-r--r--gnu/packages/web.scm30
-rw-r--r--gnu/packages/weechat.scm44
-rw-r--r--gnu/packages/wget.scm4
-rw-r--r--gnu/packages/wm.scm25
-rw-r--r--gnu/packages/xdisorg.scm7
-rw-r--r--gnu/packages/xfce.scm19
-rw-r--r--gnu/packages/xiph.scm43
-rw-r--r--gnu/packages/xml.scm81
-rw-r--r--gnu/packages/xorg.scm50
-rw-r--r--gnu/packages/zsh.scm14
-rw-r--r--gnu/services.scm179
-rw-r--r--gnu/services/avahi.scm35
-rw-r--r--gnu/services/base.scm222
-rw-r--r--gnu/services/dbus.scm105
-rw-r--r--gnu/services/desktop.scm258
-rw-r--r--gnu/services/dmd.scm143
-rw-r--r--gnu/services/networking.scm221
-rw-r--r--gnu/services/ssh.scm7
-rw-r--r--gnu/services/xorg.scm66
-rw-r--r--gnu/system.scm167
-rw-r--r--gnu/system/examples/desktop.tmpl3
-rw-r--r--gnu/system/file-systems.scm5
-rw-r--r--gnu/system/grub.scm59
-rw-r--r--gnu/system/install.scm3
-rw-r--r--gnu/system/linux-container.scm25
-rw-r--r--gnu/system/linux-initrd.scm6
-rw-r--r--gnu/system/locale.scm62
-rw-r--r--gnu/system/pam.scm (renamed from gnu/system/linux.scm)17
-rw-r--r--gnu/system/shadow.scm30
-rw-r--r--gnu/system/vm.scm6
196 files changed, 17926 insertions, 2496 deletions
diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm
index e911494058..eb5dbf94a3 100644
--- a/gnu/build/linux-container.scm
+++ b/gnu/build/linux-container.scm
@@ -19,16 +19,36 @@
(define-module (gnu build linux-container)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
+ #:use-module (ice-9 rdelim)
#:use-module (srfi srfi-98)
#:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix build syscalls)
#:use-module ((gnu build file-systems) #:select (mount-file-system))
- #:export (%namespaces
+ #:export (user-namespace-supported?
+ unprivileged-user-namespace-supported?
+ setgroups-supported?
+ %namespaces
run-container
call-with-container
container-excursion))
+(define (user-namespace-supported?)
+ "Return #t if user namespaces are supported on this system."
+ (file-exists? "/proc/self/ns/user"))
+
+(define (unprivileged-user-namespace-supported?)
+ "Return #t if user namespaces can be created by unprivileged users."
+ (let ((userns-file "/proc/sys/kernel/unprivileged_userns_clone"))
+ (if (file-exists? userns-file)
+ (string=? "1" (call-with-input-file userns-file read-string))
+ #t)))
+
+(define (setgroups-supported?)
+ "Return #t if the setgroups proc file, introduced in Linux-libre 3.19,
+exists."
+ (file-exists? "/proc/self/setgroups"))
+
(define %namespaces
'(mnt pid ipc uts user net))
@@ -165,7 +185,7 @@ host user identifiers to map into the user namespace."
"Return the number suitable for the 'flags' argument of 'clone' that
corresponds to the symbols in NAMESPACES."
;; Use the same flags as fork(3) in addition to the namespace flags.
- (apply logior SIGCHLD CLONE_CHILD_CLEARTID CLONE_CHILD_SETTID
+ (apply logior SIGCHLD
(map (match-lambda
('mnt CLONE_NEWNS)
('uts CLONE_NEWUTS)
diff --git a/gnu/packages/aarddict.scm b/gnu/packages/aarddict.scm
deleted file mode 100644
index 76c7aa4f33..0000000000
--- a/gnu/packages/aarddict.scm
+++ /dev/null
@@ -1,70 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages aarddict)
- #:use-module ((guix licenses) #:select (gpl3))
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system python)
- #:use-module (gnu packages python)
- #:use-module (gnu packages qt))
-
-(define-public aarddict
- (package
- (name "aarddict")
- (version "0.9.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/aarddict/desktop/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "12h7m0z7nd7rg8avpi9syd265k0rhh4vbdh464nq0jzdg8m9p28c"))))
- (build-system python-build-system)
- (inputs
- `(("python2-pyicu" ,python2-pyicu)
- ("python2-pyqt-4" ,python2-pyqt-4)
- ("python2-setuptools" ,python2-setuptools)
- ("python2-simplejson" ,python2-simplejson)
- ("python2-sip" ,python2-sip)))
- (arguments
- `(#:python ,python-2 ; incompatible with Python 3
- #:phases
- (alist-cons-before
- 'build 'configure
- ;; Force data into the output instead of the python package.
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "setup.py"
- (("sys.prefix") (string-append "'" out "'")))))
- %standard-phases)))
- (home-page "http://aarddict.org/index.html")
- (synopsis
- "Dictionary program and offline Wikipedia reader")
- (description
- "Aard Dictionary is a free, fast, easy to use word lookup program that
-looks up words fast even with huge dictionaries like English Wikipedia;
-looks up words in multiple dictionaries in multiple languages without
-switching;
-works great as offline Wikipedia reader;
-is keyboard navigation friendly;
-has efficient, highly compressed dictionary data storage format with
-ability to verify data integrity built-in.")
- (license gpl3)))
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 455f7ee2a4..5b9f5d1650 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -485,14 +485,14 @@ tools: server, client, and relay agent.")
(define-public libpcap
(package
(name "libpcap")
- (version "1.5.3")
+ (version "1.7.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/libpcap-"
version ".tar.gz"))
(sha256
(base32
- "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs"))))
+ "1c28ykkizd7jqgzrfkg7ivqjlqs9p6lygp26bsw2i0z8hwhi3lvs"))))
(build-system gnu-build-system)
(native-inputs `(("bison" ,bison) ("flex" ,flex)))
(arguments '(#:configure-flags '("--with-pcap=linux")
@@ -510,14 +510,14 @@ network statistics collection, security monitoring, network debugging, etc.")
(define-public tcpdump
(package
(name "tcpdump")
- (version "4.5.1")
+ (version "4.7.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/tcpdump-"
version ".tar.gz"))
(sha256
(base32
- "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql"))))
+ "1byr8w6grk08fsq0444jmcz9ar89lq9nf4mjq2cny0w9k8k21rbb"))))
(build-system gnu-build-system)
(inputs `(("libpcap" ,libpcap)
("openssl" ,openssl)))
@@ -647,7 +647,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
- (version "1.8.10p3")
+ (version "1.8.15")
(source (origin
(method url-fetch)
(uri
@@ -657,22 +657,35 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
- "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf"))))
+ "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--with-logpath=/var/log/sudo.log"
- "--with-rundir=/run/sudo"
- "--with-vardir=/var/db/sudo"
- "--with-iologdir=/var/log/sudo-io")
+ `(#:configure-flags
+ (list "--with-logpath=/var/log/sudo.log"
+ "--with-rundir=/run/sudo"
+ "--with-vardir=/var/db/sudo"
+ "--with-iologdir=/var/log/sudo-io"
+
+ ;; 'visudo.c' expects _PATH_MV to be defined, but glibc doesn't
+ ;; provide it.
+ (string-append "CPPFLAGS=-D_PATH_MV='\""
+ (assoc-ref %build-inputs "coreutils")
+ "/bin/mv\"'"))
+
+ ;; Avoid non-determinism; see <http://bugs.gnu.org/21918>.
+ #:parallel-build? #f
+
#:phases (alist-cons-before
'configure 'pre-configure
(lambda _
- (substitute* "configure"
- ;; Refer to the right executables.
- (("/usr/bin/mv") (which "mv"))
- (("/usr/bin/sh") (which "sh")))
+ (substitute* "src/sudo_usage.h.in"
+ ;; Do not capture 'configure' arguments since we would
+ ;; unduly retain references, and also because the
+ ;; CPPFLAGS above would close the string literal
+ ;; prematurely.
+ (("@CONFIGURE_ARGS@") "\"\""))
(substitute* (find-files "." "Makefile\\.in")
- (("-O [[:graph:]]+ -G [[:graph:]]+")
+ (("-o [[:graph:]]+ -g [[:graph:]]+")
;; Allow installation as non-root.
"")
(("^install: (.*)install-sudoers(.*)" _ before after)
@@ -716,7 +729,12 @@ commands and their arguments.")
".tar.gz"))
(sha256
(base32
- "05mkp5bx1c3z7h5biddsv0p49gkrq9ksany3anp4wdiv92p5prfc"))))
+ "05mkp5bx1c3z7h5biddsv0p49gkrq9ksany3anp4wdiv92p5prfc"))
+ (patches
+ (map search-patch '("wpa-supplicant-CVE-2015-5310.patch"
+ "wpa-supplicant-CVE-2015-5314.patch"
+ "wpa-supplicant-CVE-2015-5315.patch"
+ "wpa-supplicant-CVE-2015-5316.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 02254c8547..3ef5d28fbb 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -33,9 +33,10 @@
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/barcode/barcode-"
- version ".tar.xz"))
- (sha256 (base32
- "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"))))
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"))))
(build-system gnu-build-system)
(synopsis "Convert text strings to printed bars in various standards")
(description "GNU Barcode is a flexible tool to produce printed barcodes
@@ -53,7 +54,7 @@ formats.")
(method url-fetch)
(uri (string-append
"http://fukuchi.org/works/qrencode/qrencode-" version
- ".tar.bz2"))
+ ".tar.bz2"))
(sha256 (base32
"163sb580p570p27imc6jhkfdw15kzp8vy1jq92nip1rwa63i9myz"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 2f52f5545c..25e1af1750 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -26,6 +26,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages readline)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -114,7 +115,7 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
- (version "2.7.4")
+ (version "2.7.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -122,9 +123,10 @@ solve the shortest vector problem.")
version ".tar.gz"))
(sha256
(base32
- "0k1qqagfl6zn7gvwmsqffj6g9yrzqvszwh2mblhmxpjlw1pigfh8"))))
+ "0c8l83a0gjq73r9hndsrzkypwxvnnm4pxkkzbg6jm95m80nzwh11"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
+ ("libx11" ,libx11)
("perl" ,perl)
("readline" ,readline)))
(arguments
@@ -155,7 +157,7 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
- (version "0.0.9pl3")
+ (version "0.0.9pl4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -163,7 +165,7 @@ PARI is also available as a C library to allow for faster computations.")
version ".tar.gz"))
(sha256
(base32
- "0wbghihwlcx3w4j1la3bjf5gcrkk6lp9syw6iimqndq1f73ijlq3"))))
+ "079qq4yyxpc53a2kn08gg9pcfgdyffbl14c2hqsic11q8pnsr08z"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
@@ -381,14 +383,15 @@ cosine/ sine transforms or DCT/DST).")
(define-public eigen
(package
(name "eigen")
- (version "3.2.6")
+ (version "3.2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/eigen/eigen/get/"
version ".tar.bz2"))
(sha256
(base32
- "0gil5ksmgcg6v3nw0v613mvpzz4n33xhawqs8l7fj7rnlpwm4cwa"))
+ "0gigbjjdlw2q0gvcnyiwc6in314a647rkidk6977bwiwn88im3p5"))
+ (file-name (string-append name "-" version ".tar.bz2"))
(modules '((guix build utils)))
(snippet
;; There are 3 test failures in the "unsupported" directory,
@@ -396,29 +399,28 @@ cosine/ sine transforms or DCT/DST).")
;; anyway, so just skip them.
'(substitute* "CMakeLists.txt"
(("add_subdirectory\\(unsupported\\)")
- "# Do not build the tests for unsupported features.\n")))))
+ "# Do not build the tests for unsupported features.\n")
+ ;; Work around
+ ;; <http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1114>.
+ (("\"include/eigen3\"")
+ "\"${CMAKE_INSTALL_PREFIX}/include/eigen3\"")))))
(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 (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (let* ((cores (parallel-job-count))
+ (dash-j (format #f "-j~a" cores)))
+ ;; First build the tests, in parallel. See
+ ;; <http://eigen.tuxfamily.org/index.php?title=Tests>.
+ (and (zero? (system* "make" "buildtests" dash-j))
- #: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 (parallel-job-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)))
+ ;; Then run 'CTest' with -V so we get more
+ ;; details upon failure.
+ (zero? (system* "ctest" "-V" dash-j)))))))))
(home-page "http://eigen.tuxfamily.org")
(synopsis "C++ template library for linear algebra")
(description
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
new file mode 100644
index 0000000000..789bb6e6f2
--- /dev/null
+++ b/gnu/packages/animation.scm
@@ -0,0 +1,178 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; 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 animation)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages graphics)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages video))
+
+(define-public etl
+ (package
+ (name "etl")
+ (version "0.04.19")
+ (source (origin
+ (method url-fetch)
+ ;; Keep this synchronized with the synfig release version.
+ (uri (string-append "mirror://sourceforge/synfig/releases/"
+ "1.0.2/source/ETL-" version ".tar.gz"))
+ (sha256
+ (base32
+ "070c70slizrklq1gbgja8m49xfmq65wlcd6hz6418cpx0wd4r55s"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.synfig.org")
+ (synopsis "Extended C++ template library")
+ (description
+ "ETL is a class and template library designed to add new datatypes and
+functions which combine well with the existing types and functions from the
+C++ @dfn{Standard Template Library} (STL).")
+ (license license:gpl3+)))
+
+(define-public synfig
+ (package
+ (name "synfig")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/synfig/releases/"
+ version "/source/synfig-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1d3z2r78j3rkff47q3wl0ami69y3l4nyi5r9zclymb8ar7mgkk9l"))
+ (patches (list (search-patch "synfig-build-fix.patch")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ ;; The Boost library path is taken from the value of BOOST_LDFLAGS.
+ (list (string-append "BOOST_LDFLAGS=-L"
+ (assoc-ref %build-inputs "boost")
+ "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'adapt-to-libxml++-changes
+ (lambda _
+ (substitute* "configure"
+ (("libxml\\+\\+-2\\.6") "libxml++-3.0"))
+ (substitute* (append (find-files "src/modules/" "\\.cpp$")
+ (find-files "src/synfig/" "\\.(cpp|h)$"))
+ (("add_child\\(") "add_child_element(")
+ (("get_child_text\\(") "get_first_child_text(")
+ (("set_child_text\\(") "set_first_child_text(")
+ (("remove_child\\(") "remove_node("))
+ (substitute* "src/modules/mod_svg/svg_parser.cpp"
+ (("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
+ #t))
+ (add-before 'configure 'set-flags
+ (lambda _
+ ;; Compile with C++11, required by libsigc++.
+ (setenv "CXXFLAGS" "-D__STDC_CONSTANT_MACROS -std=gnu++11")
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("ffmpeg" ,ffmpeg)
+ ("libdv" ,libdv)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("libmng" ,libmng)
+ ("zlib" ,zlib)))
+ ;; synfig.pc lists the following as required: Magick++ freetype2
+ ;; fontconfig OpenEXR ETL glibmm-2.4 giomm-2.4 libxml++-3.0 sigc++-2.0
+ ;; cairo pango pangocairo mlt++
+ (propagated-inputs
+ `(("cairo" ,cairo)
+ ("etl" ,etl)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("glibmm" ,glibmm)
+ ("imagemagick" ,imagemagick)
+ ("libxml++" ,libxml++)
+ ("libsigc++" ,libsigc++)
+ ("mlt" ,mlt)
+ ("openexr" ,openexr)
+ ("pango" ,pango)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://www.synfig.org")
+ (synopsis "Vector-based 2D animation renderer")
+ (description
+ "Synfig is a vector-based 2D animation package. It is designed to be
+capable of producing feature-film quality animation. It eliminates the need
+for tweening, preventing the need to hand-draw each frame.")
+ (license license:gpl3+)))
+
+(define-public synfigstudio
+ (package
+ (name "synfigstudio")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/synfig/releases/"
+ version "/source/synfigstudio-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1xa74dlgkpjn0gzdcs0x25z7wg0806v2wygvvi73f7sn1fm88ig4"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "src/synfigapp/pluginmanager.cpp"
+ (("xmlpp::Node\\* n =") "const xmlpp::Node* n =")
+ (("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
+ ;; Some files are ISO-8859-1 encoded.
+ (with-fluids ((%default-port-encoding #f))
+ (substitute* (find-files "src/" "\\.(cpp|h)$")
+ (("#include <sigc\\+\\+/retype\\.h>")
+ "#include <sigc++/adaptors/retype.h>")
+ (("#include <sigc\\+\\+/hide\\.h>")
+ "#include <sigc++/adaptors/hide.h>")
+ (("#include <sigc\\+\\+/object\\.h>")
+ "#include <sigc++/trackable.h>")))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "CXXFLAGS=-std=gnu++11")))
+ (inputs
+ `(("gtkmm" ,gtkmm)
+ ("libsigc++" ,libsigc++)
+ ("synfig" ,synfig)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)))
+ (home-page "http://www.synfig.org")
+ (synopsis "Vector-based 2D animation package (GUI)")
+ (description
+ "Synfig is a vector-based 2D animation package. It is designed to
+be capable of producing feature-film quality animation. It eliminates the
+need for tweening, preventing the need to hand-draw each frame. This package
+contains the graphical user interface for synfig.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/aria2.scm b/gnu/packages/aria2.scm
new file mode 100644
index 0000000000..707a3ce0e4
--- /dev/null
+++ b/gnu/packages/aria2.scm
@@ -0,0 +1,49 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; 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 aria2)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages pkg-config))
+
+(define-public c-ares
+ (package
+ (name "c-ares")
+ (version "1.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://c-ares.haxx.se/download/" name "-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1nyka87yf2jfd0y6sspll0yxwb8zi7kyvajrdbjmh4axc5s1cw1x"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://c-ares.haxx.se/")
+ (synopsis "C library for asynchronous DNS requests")
+ (description
+ "C-ares is a C library that performs DNS requests and name resolution
+asynchronously. It is intended for applications which need to perform DNS
+queries without blocking, or need to perform multiple DNS queries in parallel.
+The primary examples of such applications are servers which communicate with
+multiple clients and programs with graphical user interfaces.")
+ (license (license:x11-style "http://c-ares.haxx.se/license.html"))))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index a35ef278ee..6a8347af05 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -42,6 +42,8 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages fltk)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
@@ -58,6 +60,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages webkit)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -128,7 +131,7 @@ Filter) modules follow the convention of 1V / Octave.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://aubio.org/")
- (synopsis "A library for audio labelling")
+ (synopsis "Library for audio labelling")
(description
"aubio is a tool designed for the extraction of annotations from audio
signals. Its features include segmenting a sound file before each of its
@@ -152,13 +155,11 @@ streams from live audio.")
libdir "/vamp" "\"]"))))
#t))
-(define-public ardour-3
+(define-public ardour
(package
(name "ardour")
- (version "3.5.403")
+ (version "4.4")
(source (origin
- ;; The project only provides tarballs upon individual request
- ;; (or after payment) so we take the code from git.
(method git-fetch)
(uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git")
@@ -171,14 +172,15 @@ streams from live audio.")
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
-namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
+namespace ARDOUR { const char* revision = \"4.4-210-ga4daf93\" ; }"))))
(sha256
(base32
- "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp"))
+ "1gnrcnq2ksnh7fsa301v1c4p5dqrbqpjylf02rg3za3ab58wxi7l"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
- `(#:phases
+ `(#:configure-flags '("--cxx11") ; required by gtkmm
+ #:phases
(modify-phases %standard-phases
(add-after
'unpack 'set-rpath-in-LDFLAGS
@@ -230,35 +232,6 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio
engineers, musicians, soundtrack editors and composers.")
(license license:gpl2+)))
-(define-public ardour
- (package (inherit ardour-3)
- (name "ardour")
- (version "4.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.ardour.org/ardour/ardour.git")
- (commit version)))
- (snippet
- ;; Ardour expects this file to exist at build time. It can be
- ;; created from a git checkout with:
- ;; ./waf create_stored_revision
- '(call-with-output-file
- "libs/ardour/revision.cc"
- (lambda (port)
- (format port "#include \"ardour/revision.h\"
-namespace ARDOUR { const char* revision = \"4.2\" ; }"))))
- (sha256
- (base32
- "1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00"))
- (file-name (string-append name "-" version))))
- (arguments
- (substitute-keyword-arguments (package-arguments ardour-3)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'set-rpath-in-LDFLAGS
- ,(ardour-rpath-phase (version-prefix version 1)))))))))
-
(define-public azr3
(package
(name "azr3")
@@ -301,9 +274,8 @@ plugins are provided.")
(version "0.0.60")
(source (origin
(method url-fetch)
- (uri (string-append
- "mirror://sourceforge/calf/calf/"
- version "/calf-" version ".tar.gz"))
+ (uri (string-append "http://calf-studio-gear.org/files/calf-"
+ version ".tar.gz"))
(sha256
(base32
"019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
@@ -350,6 +322,12 @@ tools (analyzer, mono/stereo tools, crossovers).")
(base32
"0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))))
(build-system cmake-build-system)
+ (arguments
+ ;; Work around this error on x86_64 with libc 2.22+:
+ ;; libmvec.so.1: error adding symbols: DSO missing from command line
+ (if (string-prefix? "x86_64" (or (%current-target-system) (%current-system)))
+ '(#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-lmvec"))
+ '()))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
@@ -558,7 +536,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
- (version "0.33.0")
+ (version "0.34.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -566,7 +544,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.bz2"))
(sha256
(base32
- "1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx"))))
+ "0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
@@ -574,7 +552,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
#:configure-flags
(list
;; Add the output lib directory to the RUNPATH.
- (string-append "--ldflags=-Wl,-rpath=" %output "/lib"))))
+ (string-append "--ldflags=-Wl,-rpath=" %output "/lib")
+ "--cxxflags=-std=c++11")))
(inputs
`(("libsndfile" ,libsndfile)
("boost" ,boost)
@@ -586,6 +565,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
("jack" ,jack-1)
("gtkmm" ,gtkmm-2)
("gtk+" ,gtk+-2)
+ ("webkitgtk/gtk+-2" ,webkitgtk/gtk+-2)
("fftwf" ,fftwf)
("lrdf" ,lrdf)
("zita-resampler" ,zita-resampler)
@@ -611,6 +591,56 @@ from a simple noise gate to modulation effects like flanger, phaser or
auto-wah.")
(license license:gpl2+)))
+(define-public rakarrack
+ (package
+ (name "rakarrack")
+ (version "0.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/rakarrack/rakarrack/"
+ "rakarrack-" version "/rakarrack-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1rpf63pdn54c4yg13k7cb1w1c7zsvl97c4qxcpz41c8l91xd55kn"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* '("src/process.C"
+ "src/global.h")
+ (("#include <Fl/") "#include <FL/"))
+ #t))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("alsa-utils" ,alsa-utils)
+ ("fltk" ,fltk)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxfixes" ,libxfixes)
+ ("libxft" ,libxft)
+ ("libxrender" ,libxrender)
+ ("libxpm" ,libxpm)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("jack" ,jack-1)
+ ("alsa-lib" ,alsa-lib)
+ ("libsndfile" ,libsndfile)
+ ("libsamplerate" ,libsamplerate)
+ ("zlib" ,zlib)))
+ (home-page "http://rakarrack.sourceforge.net/")
+ (synopsis "Audio effects processor")
+ (description
+ "Rakarrack is a richly featured multi-effects processor emulating a
+guitar effects pedalboard. Effects include compressor, expander, noise gate,
+equalizers, exciter, flangers, chorus, various delay and reverb effects,
+distortion modules and many more. Most of the effects engine is built from
+modules found in the excellent software synthesizer ZynAddSubFX. Presets and
+user interface are optimized for guitar, but Rakarrack processes signals in
+stereo while it does not apply internal band-limiting filtering, and thus is
+well suited to all musical instruments and vocals.")
+ ;; The code is explicitly licensed under the GPL version 2 only.
+ (license license:gpl2)))
+
(define-public ir
(package
(name "ir")
@@ -707,7 +737,8 @@ synchronous execution of all clients, and low latency operation.")
"03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no check target
+ `(#:python ,python-2
+ #:tests? #f ; no check target
#:configure-flags '("--dbus"
"--alsa")
#:phases
@@ -720,13 +751,22 @@ synchronous execution of all clients, and low latency operation.")
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
- "'-Wl,-rpath=" %output "/lib')\n"))))))))
+ "'-Wl,-rpath=" %output "/lib')\n")))))
+ (add-after 'install 'wrap-python-scripts
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'jack_control' runs with the correct PYTHONPATH.
+ (let* ((out (assoc-ref outputs "out"))
+ (path (getenv "PYTHONPATH")))
+ (wrap-program (string-append out "/bin/jack_control")
+ `("PYTHONPATH" ":" prefix (,path))))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("expat" ,expat)
("libsamplerate" ,libsamplerate)
("opus" ,opus)
+ ("python2-dbus" ,python2-dbus)
("readline" ,readline)))
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -745,7 +785,16 @@ synchronous execution of all clients, and low latency operation.")
(base32
"1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
(build-system waf-build-system)
- (arguments `(#:tests? #f)) ; no check target
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'set-flags
+ (lambda _
+ ;; Compile with C++11, required by gtkmm.
+ (setenv "CXXFLAGS" "-std=c++11")
+ #t)))))
(inputs
`(("lv2" ,lv2)
("lilv" ,lilv)
diff --git a/gnu/packages/autogen.scm b/gnu/packages/autogen.scm
index 615839f463..238c66fe33 100644
--- a/gnu/packages/autogen.scm
+++ b/gnu/packages/autogen.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013,2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,16 +31,15 @@
(define-public autogen
(package
(name "autogen")
- (version "5.18.6")
+ (version "5.18.7")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://gnu/autogen/rel"
- version "/autogen-"
- version ".tar.xz"))
+ (uri (string-append "mirror://gnu/autogen"
+ "/autogen-" version ".tar.xz"))
(sha256
(base32
- "0sfmmy19k9z0j3f738fyk6ljf6b66410cvd5zzyplxi2683j10qs"))))
+ "01d4m8ckww12sy50vgyxlnz83z9dxqpyqp153cscncc9w6jq19d7"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for doc generator mdoc
("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index b6eef1a6ad..2d480192af 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -23,7 +23,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
- #:use-module (gnu packages gdbm)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages libdaemon)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index d7ca1b1ace..d59816b6b8 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,12 +18,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages avr)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
- #:use-module (gnu packages cross-base))
+ #:use-module (gnu packages cross-base)
+ #:use-module (gnu packages vim)
+ #:use-module (gnu packages zip))
(define-public avr-libc
(package
@@ -48,4 +51,41 @@
(description
"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"))))
+ (license (license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
+
+(define-public microscheme
+ (package
+ (name "microscheme")
+ (version "0.9.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ryansuchocki/"
+ "microscheme/archive/v" version ".zip"))
+ (sha256
+ (base32
+ "0cmp1c6ilcib4w9ysqghav310g8jsq9gdfpfa9sd23wgl7mlncxf"))
+ (file-name (string-append name "-" version ".zip"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:parallel-build? #f ; fails to build otherwise
+ #:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("vim" ,vim))) ; for xxd
+ (home-page "http://microscheme.org/")
+ (synopsis "Scheme subset for Atmel microcontrollers")
+ (description
+ "Microscheme, or @code{(ms)} for short, is a functional programming
+language for the Arduino, and for Atmel 8-bit AVR microcontrollers in general.
+Microscheme is a subset of Scheme, in the sense that every valid @code{(ms)}
+program is also a valid Scheme program (with the exception of Arduino
+hardware-specific primitives). The @code{(ms)} compiler performs function
+inlining, and features an aggressive tree-shaker, eliminating unused top-level
+definitions. Microscheme has a robust @dfn{Foreign Function Interface} (FFI)
+meaning that C code may be invoked directly from (ms) programs.")
+ (license license:expat)))
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 287438e035..aa8ccbce69 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -30,9 +30,12 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gperf)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages nettle)
@@ -148,6 +151,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(search-patch "libarchive-CVE-2013-0211.patch")
(search-patch "libarchive-bsdtar-test.patch")))))
(build-system gnu-build-system)
+ ;; TODO: Add -L/path/to/nettle in libarchive.pc.
(inputs
`(("zlib" ,zlib)
("nettle" ,nettle)
@@ -353,3 +357,44 @@ deduplication technique used makes Attic suitable for daily backups since only
changes are stored.")
(home-page "https://attic-backup.org/")
(license license:bsd-3)))
+
+(define-public libchop
+ (package
+ (name "libchop")
+ (version "0.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/libchop/libchop-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g"))
+ (patches
+ (list (search-patch "diffutils-gets-undeclared.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("guile" ,guile-2.0)
+ ("gperf" ,gperf)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.0)
+ ("util-linux" ,util-linux)
+ ("gnutls" ,gnutls)
+ ("tdb" ,tdb)
+ ("bdb" ,bdb)
+ ("gdbm" ,gdbm)
+ ("libgcrypt" ,libgcrypt)
+ ("lzo" ,lzo)
+ ("bzip2" ,bzip2)
+ ("zlib" ,zlib)))
+ (home-page "http://nongnu.org/libchop/")
+ (synopsis "Tools & library for data backup and distributed storage")
+ (description
+ "Libchop is a set of utilities and library for data backup and
+distributed storage. Its main application is @command{chop-backup}, an
+encrypted backup program that supports data integrity checks, versioning,
+distribution among several sites, selective sharing of stored data, adaptive
+compression, and more. The library itself implements storage techniques such
+as content-addressable storage, content hash keys, Merkle trees, similarity
+detection, and lossless compression.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 179d535f20..fb3cbb4bc2 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -632,6 +632,21 @@ with the Linux kernel.")
(license lgpl2.0+)
(home-page "http://www.gnu.org/software/libc/")))
+(define-public glibc-2.21
+ ;; The old libc, which we use mostly to build locale data in the old format
+ ;; (which the new libc can cope with.)
+ (package
+ (inherit glibc)
+ (version "2.21")
+ (source (origin
+ (inherit (package-source glibc))
+ (uri (string-append "mirror://gnu/glibc/glibc-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf"))
+ (patches (list (search-patch "glibc-ldd-x86_64.patch")))))))
+
(define-public glibc-locales
(package
(inherit glibc)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index b2f23a8442..a2d76b9673 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -193,7 +193,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
;; Bash is reportedly not parallel-safe. See, for instance,
;; <http://patches.openembedded.org/patch/32745/> and
- ;; <http://git.buildroot.net/buildroot/commit/?h=79e2d802ae7e376a413c02097790493e1f65c3a4>.
+ ;; <http://git.buildroot.net/buildroot/commit/?h=79e2d802a>.
#:parallel-build? #f
#:parallel-tests? #f
@@ -296,8 +296,10 @@ without modification.")
(completions (string-append out
"/share/bash-completion"
"/completions"))
- (already (find-files (string-append util-linux
- "/etc/bash_completion.d"))))
+ (already (find-files
+ (string-append
+ util-linux
+ "/etc/bash_completion.d"))))
(with-directory-excursion completions
(for-each (lambda (file)
(when (file-exists? file)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 51e3df6d81..7c573e1626 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -44,6 +44,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -347,15 +348,14 @@ provide a coordinated and extensible framework to do computational biology.")
(define-public python-biopython
(package
(name "python-biopython")
- (version "1.65")
+ (version "1.66")
(source (origin
(method url-fetch)
- (uri (string-append
- "http://biopython.org/DIST/biopython-"
- version ".tar.gz"))
+ ;; use PyPi rather than biopython.org to ease updating
+ (uri (pypi-uri "biopython" version))
(sha256
(base32
- "13m8s9jkrw40zvdp1rl709n6lmgdh4f52aann7gzr6sfp0fwhg26"))))
+ "1gdv92593klimg22icf5j9by7xiq86jnwzkpz4abaa05ylkdf6hp"))))
(build-system python-build-system)
(inputs
`(("python-numpy" ,python-numpy)))
@@ -524,6 +524,89 @@ confidence to have in an alignment.")
license:lgpl2.0+
license:asl2.0))))
+(define-public bless
+ (package
+ (name "bless")
+ (version "1p02")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/bless-ec/bless.v"
+ version ".tgz"))
+ (sha256
+ (base32
+ "0rm0gw2s18dqwzzpl3c2x1z05ni2v0xz5dmfk3d33j6g4cgrlrdd"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ ;; Remove bundled boost, pigz, zlib, and .git directory
+ ;; FIXME: also remove bundled sources for google-sparsehash,
+ ;; murmurhash3, kmc once packaged.
+ (delete-file-recursively "boost")
+ (delete-file-recursively "pigz")
+ (delete-file-recursively "zlib")
+ (delete-file-recursively ".git")
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ;no "check" target
+ #:make-flags
+ (list (string-append "ZLIB="
+ (assoc-ref %build-inputs "zlib")
+ "/lib/libz.a")
+ (string-append "LDFLAGS="
+ (string-join '("-lboost_filesystem"
+ "-lboost_system"
+ "-lboost_iostreams"
+ "-lz"
+ "-fopenmp"
+ "-std=c++11"))))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'do-not-build-bundled-pigz
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("cd pigz/pigz-2.3.3; make") ""))
+ #t))
+ (add-after 'unpack 'patch-paths-to-executables
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "parse_args.cpp"
+ (("kmc_binary = .*")
+ (string-append "kmc_binary = \""
+ (assoc-ref outputs "out")
+ "/bin/kmc\";"))
+ (("pigz_binary = .*")
+ (string-append "pigz_binary = \""
+ (assoc-ref inputs "pigz")
+ "/bin/pigz\";")))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+ (for-each (lambda (file)
+ (install-file file bin))
+ '("bless" "kmc/bin/kmc"))
+ #t)))
+ (delete 'configure))))
+ (native-inputs
+ `(("perl" ,perl)))
+ (inputs
+ `(("openmpi" ,openmpi)
+ ("boost" ,boost)
+ ("pigz" ,pigz)
+ ("zlib" ,zlib)))
+ (supported-systems '("x86_64-linux"))
+ (home-page "http://sourceforge.net/p/bless-ec/wiki/Home/")
+ (synopsis "Bloom-filter-based error correction tool for NGS reads")
+ (description
+ "@dfn{Bloom-filter-based error correction solution for high-throughput
+sequencing reads} (BLESS) uses a single minimum-sized bloom filter is a
+correction tool for genomic reads produced by @dfn{Next-generation
+sequencing} (NGS). BLESS produces accurate correction results with much less
+memory compared with previous solutions and is also able to tolerate a higher
+false-positive rate. BLESS can extend reads like DNA assemblers to correct
+errors at the end of reads.")
+ (license license:gpl3+)))
+
(define-public bowtie
(package
(name "bowtie")
@@ -805,15 +888,16 @@ time.")
(define-public crossmap
(package
(name "crossmap")
- (version "0.1.6")
+ (version "0.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/crossmap/CrossMap-"
version ".tar.gz"))
(sha256
(base32
- "163hi5gjgij6cndxlvbkp5jjwr0k4wbm9im6d2210278q7k9kpnp"))
- ;; patch has been sent upstream already
+ "07y179f63d7qnzdvkqcziwk9bs3k4zhp81q392fp1hwszjdvy22f"))
+ ;; This patch has been sent upstream already and is available
+ ;; for download from Sourceforge, but it has not been merged.
(patches (list
(search-patch "crossmap-allow-system-pysam.patch")))
(modules '((guix build utils)))
@@ -1028,7 +1112,7 @@ data and settings.")
("perl" ,perl)))
(native-inputs
`(("unzip" ,unzip)))
- (home-page "http://www.ncbi.nlm.nih.gov/books/NBK179288")
+ (home-page "http://www.ncbi.nlm.nih.gov/books/NBK179288/")
(synopsis "Tools for accessing the NCBI's set of databases")
(description
"Entrez Direct (EDirect) is a method for accessing the National Center
@@ -1089,6 +1173,51 @@ analysis (from RNA-Seq), transcription factor binding quantification in
ChIP-Seq, and analysis of metagenomic data.")
(license license:artistic2.0)))
+(define-public express-beta-diversity
+ (package
+ (name "express-beta-diversity")
+ (version "1.0.7")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://github.com/dparks1134/ExpressBetaDiversity/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1djvdlmqvjf6h0zq7w36y8cl5cli6rgj86x65znl48agnwmzxfxr"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'enter-source (lambda _ (chdir "source") #t))
+ (replace 'check
+ (lambda _ (zero? (system* "../bin/ExpressBetaDiversity"
+ "-u"))))
+ (add-after 'check 'exit-source (lambda _ (chdir "..") #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out")
+ "/bin")))
+ (mkdir-p bin)
+ (copy-file "scripts/convertToEBD.py"
+ (string-append bin "/convertToEBD.py"))
+ (copy-file "bin/ExpressBetaDiversity"
+ (string-append bin "/ExpressBetaDiversity"))
+ #t))))))
+ (inputs
+ `(("python" ,python-2)))
+ (home-page "http://kiwi.cs.dal.ca/Software/ExpressBetaDiversity")
+ (synopsis "Taxon- and phylogenetic-based beta diversity measures")
+ (description
+ "Express Beta Diversity (EBD) calculates ecological beta diversity
+(dissimilarity) measures between biological communities. EBD implements a
+variety of diversity measures including those that make use of phylogenetic
+similarity of community members.")
+ (license license:gpl3+)))
+
(define-public fasttree
(package
(name "fasttree")
@@ -1328,6 +1457,9 @@ estimates transcript expression.")
`(("perl" ,perl)
("python" ,python)
("zlib" ,zlib)))
+ ;; Non-portable SSE instructions are used so building fails on platforms
+ ;; other than x86_64.
+ (supported-systems '("x86_64-linux"))
(home-page "http://ccb.jhu.edu/software/hisat/index.shtml")
(synopsis "Hierarchical indexing for spliced alignment of transcripts")
(description
@@ -1382,9 +1514,11 @@ HMMs).")
"1i85ppf2j2lj12m0x690qq5nn17xxk23pbbx2c83r8ayb5wngzwv"))))
(build-system python-build-system)
(arguments `(#:python ,python-2)) ; only Python 2 is supported
- (inputs
- `(("python-numpy" ,python2-numpy)
- ("python-setuptools" ,python2-setuptools)))
+ ;; Numpy needs to be propagated when htseq is used as a Python library.
+ (propagated-inputs
+ `(("python-numpy" ,python2-numpy)))
+ (native-inputs
+ `(("python-setuptools" ,python2-setuptools)))
(home-page "http://www-huber.embl.de/users/anders/HTSeq/")
(synopsis "Analysing high-throughput sequencing data with Python")
(description
@@ -1838,19 +1972,25 @@ the phenotype as it models the data.")
(license license:asl2.0)))
(define-public pbtranscript-tofu
- (let ((commit "c7bbd5472"))
+ (let ((commit "8f5467fe6"))
(package
(name "pbtranscript-tofu")
- (version (string-append "0.4.1." commit))
+ (version (string-append "2.2.3." commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PacificBiosciences/cDNA_primer.git")
(commit commit)))
- (file-name (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "148xkzi689c49g6fdhckp6mnmj2qhjdf1j4wifm6ja7ij95d7fxx"))))
+ "1lgnpi35ihay42qx0b6yl3kkgra723i413j33kvs0kvs61h82w0f"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; remove bundled Cython sources
+ (delete-file "pbtranscript-tofu/pbtranscript/Cython-0.20.1.tar.gz")
+ #t))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@@ -1860,34 +2000,29 @@ the phenotype as it models the data.")
#:configure-flags '("--single-version-externally-managed"
"--record=pbtranscript-tofu.txt")
#:phases
- (alist-cons-after
- 'unpack 'enter-directory-and-clean-up
- (lambda _
- (chdir "pbtranscript-tofu/pbtranscript/")
- ;; Delete clutter
- (delete-file-recursively "dist/")
- (delete-file-recursively "build/")
- (delete-file-recursively "setuptools_cython-0.2.1-py2.6.egg/")
- (delete-file-recursively "pbtools.pbtranscript.egg-info")
- (delete-file "Cython-0.20.1.tar.gz")
- (delete-file "setuptools_cython-0.2.1-py2.7.egg")
- (delete-file "setuptools_cython-0.2.1.tar.gz")
- (delete-file "setup.cfg")
- (for-each delete-file
- (find-files "." "\\.so$"))
- ;; files should be writable for install phase
- (for-each (lambda (f) (chmod f #o755))
- (find-files "." "\\.py$")))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-after 'unpack 'enter-directory
+ (lambda _
+ (chdir "pbtranscript-tofu/pbtranscript/")
+ #t))
+ ;; With setuptools version 18.0 and later this setup.py hack causes
+ ;; a build error, so we disable it.
+ (add-after 'enter-directory 'patch-setuppy
+ (lambda _
+ (substitute* "setup.py"
+ (("if 'setuptools.extension' in sys.modules:")
+ "if False:"))
+ #t)))))
(inputs
- `(("python-cython" ,python2-cython)
- ("python-numpy" ,python2-numpy)
+ `(("python-numpy" ,python2-numpy)
("python-bx-python" ,python2-bx-python)
("python-networkx" ,python2-networkx)
("python-scipy" ,python2-scipy)
- ("python-pbcore" ,python2-pbcore)))
+ ("python-pbcore" ,python2-pbcore)
+ ("python-h5py" ,python2-h5py)))
(native-inputs
- `(("python-nose" ,python2-nose)
+ `(("python-cython" ,python2-cython)
+ ("python-nose" ,python2-nose)
("python-setuptools" ,python2-setuptools)))
(home-page "https://github.com/PacificBiosciences/cDNA_primer")
(synopsis "Analyze transcriptome data generated with the Iso-Seq protocol")
@@ -2149,10 +2284,57 @@ viewer.")
(string-append bin "/samtools")))))
(delete 'patch-tests)))))))
+(define-public mosaik
+ (let ((commit "5c25216d"))
+ (package
+ (name "mosaik")
+ (version "2.2.30")
+ (source (origin
+ ;; There are no release tarballs nor tags.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wanpinglee/MOSAIK.git")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "17gj3s07cm77r41z92awh0bim7w7q7fbn0sf5nkqmcm1vw052qgw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _ (chdir "src") #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out")
+ "/bin")))
+ (mkdir-p bin)
+ (copy-recursively "../bin" bin)
+ #t))))))
+ (inputs
+ `(("perl" ,perl)
+ ("zlib" ,zlib)))
+ (supported-systems '("x86_64-linux"))
+ (home-page "https://code.google.com/p/mosaik-aligner/")
+ (synopsis "Map nucleotide sequence reads to reference genomes")
+ (description
+ "MOSAIK is a program for mapping second and third-generation sequencing
+reads to a reference genome. MOSAIK can align reads generated by all the
+major sequencing technologies, including Illumina, Applied Biosystems SOLiD,
+Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
+ ;; MOSAIK is released under the GPLv2+ with the exception of third-party
+ ;; code released into the public domain:
+ ;; 1. fastlz by Ariya Hidayat - http://www.fastlz.org/
+ ;; 2. MD5 implementation - RSA Data Security, RFC 1321
+ (license (list license:gpl2+ license:public-domain)))))
+
(define-public ngs-sdk
(package
(name "ngs-sdk")
- (version "1.1.1")
+ (version "1.2.2")
(source
(origin
(method url-fetch)
@@ -2162,7 +2344,7 @@ viewer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1x58gpm574n0xmk2a98gmikbgycq78ia0bvnb42k5ck34fmd5v8y"))))
+ "0rvq61zfw2h9jcz6a33b9xrl20r7s5a9rldvv6rs2qy42khpmf5j"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
@@ -2206,26 +2388,8 @@ simultaneously.")
(srfi srfi-26))
,@(package-arguments ngs-sdk))
((#:phases phases)
- `(alist-cons-after
- 'enter-dir 'fix-java-symlink-installation
- (lambda _
- ;; Only replace the version suffix, not the version number in
- ;; the directory name. Reported here:
- ;; https://github.com/ncbi/ngs/pull/4
- (substitute* "Makefile.java"
- (((string-append "\\$\\(subst "
- "(\\$\\(VERSION[^\\)]*\\)),"
- "(\\$\\([^\\)]+\\)),"
- "(\\$\\([^\\)]+\\)|\\$\\@)"
- "\\)")
- _ pattern replacement target)
- (string-append "$(patsubst "
- "%" pattern ","
- "%" replacement ","
- target ")"))))
- (alist-replace
- 'enter-dir (lambda _ (chdir "ngs-java") #t)
- ,phases))))))
+ `(modify-phases ,phases
+ (replace 'enter-dir (lambda _ (chdir "ngs-java") #t)))))))
(inputs
`(("jdk" ,icedtea6 "jdk")
("ngs-sdk" ,ngs-sdk)))
@@ -2234,7 +2398,7 @@ simultaneously.")
(define-public ncbi-vdb
(package
(name "ncbi-vdb")
- (version "2.4.5-5")
+ (version "2.5.4")
(source
(origin
(method url-fetch)
@@ -2244,7 +2408,7 @@ simultaneously.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1cj8nk6if8sqagv20vx36v566fdvhcaadf0x1ycnbgql6chbs6vy"))))
+ "1rcnyc4xkdfcjww2i0s0qrbapys0cxbjcx2sy3qkpslf9f400fgj"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
@@ -2254,20 +2418,6 @@ simultaneously.")
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- ;; Only replace the version suffix, not the version number in the
- ;; directory name; fixed in commit 4dbba5c6a809 (no release yet).
- (substitute* "setup/konfigure.perl"
- (((string-append "\\$\\(subst "
- "(\\$\\(VERSION[^\\)]*\\)),"
- "(\\$\\([^\\)]+\\)),"
- "(\\$\\([^\\)]+\\)|\\$\\@)"
- "\\)")
- _ pattern replacement target)
- (string-append "$(patsubst "
- "%" pattern ","
- "%" replacement ","
- target ")")))
-
;; Override include path for libmagic
(substitute* "setup/package.prl"
(("name => 'magic', Include => '/usr/include'")
@@ -2383,49 +2533,95 @@ subsequent visualization, annotation and storage of results.")
;; LGPLv2.1+
(license (list license:gpl2 license:lgpl2.1+))))
+(define-public smithlab-cpp
+ (let ((revision "1")
+ (commit "728a097"))
+ (package
+ (name "smithlab-cpp")
+ (version (string-append "0." revision "." commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/smithlabcode/smithlab_cpp.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0d476lmj312xk77kr9fzrv7z1bv96yfyx0w7y62ycmnfbx32ll74"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:tests? #f ;no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'use-samtools-headers
+ (lambda _
+ (substitute* '("SAM.cpp"
+ "SAM.hpp")
+ (("sam.h") "samtools/sam.h"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (include (string-append out "/include/smithlab-cpp")))
+ (mkdir-p lib)
+ (mkdir-p include)
+ (for-each (cut install-file <> lib)
+ (find-files "." "\\.o$"))
+ (for-each (cut install-file <> include)
+ (find-files "." "\\.hpp$")))
+ #t))
+ (delete 'configure))))
+ (inputs
+ `(("samtools" ,samtools-0.1)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/smithlabcode/smithlab_cpp")
+ (synopsis "C++ helper library for functions used in Smith lab projects")
+ (description
+ "Smithlab CPP is a C++ library that includes functions used in many of
+the Smith lab bioinformatics projects, such as a wrapper around Samtools data
+structures, classes for genomic regions, mapped sequencing reads, etc.")
+ (license license:gpl3+))))
+
(define-public preseq
(package
(name "preseq")
- (version "1.0.2")
+ (version "2.0")
(source (origin
(method url-fetch)
- (uri
- (string-append "http://smithlabresearch.org/downloads/preseq-"
- version ".tar.bz2"))
+ (uri (string-append "https://github.com/smithlabcode/"
+ "preseq/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0r7sw07p6nv8ygvc17gd78lisbw5336v3vhs86b5wv8mw3pwqksc"))
- (patches (list (search-patch "preseq-1.0.2-install-to-PREFIX.patch")
- (search-patch "preseq-1.0.2-link-with-libbam.patch")))
+ (base32 "08r684l50pnxjpvmhzjgqq56yv9rfw90k8vx0nsrnrzk8mf9hsdq"))
(modules '((guix build utils)))
(snippet
;; Remove bundled samtools.
- '(delete-file-recursively "preseq-master/samtools"))))
+ '(delete-file-recursively "samtools"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
- (add-after
- 'unpack 'enter-dir
- (lambda _
- (chdir "preseq-master")
- #t))
- (add-after
- 'enter-dir 'use-samtools-headers
- (lambda _
- (substitute* '("smithlab_cpp/SAM.cpp"
- "smithlab_cpp/SAM.hpp")
- (("sam.h") "samtools/sam.h"))
- #t))
(delete 'configure))
- #:make-flags (list (string-append "PREFIX="
- (assoc-ref %outputs "out"))
- (string-append "LIBBAM="
- (assoc-ref %build-inputs "samtools")
- "/lib/libbam.a"))))
+ #:make-flags
+ (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "LIBBAM="
+ (assoc-ref %build-inputs "samtools")
+ "/lib/libbam.a")
+ (string-append "SMITHLAB_CPP="
+ (assoc-ref %build-inputs "smithlab-cpp")
+ "/lib")
+ "PROGS=preseq"
+ "INCLUDEDIRS=$(SMITHLAB_CPP)/../include/smithlab-cpp $(SAMTOOLS_DIR)")))
(inputs
`(("gsl" ,gsl)
("samtools" ,samtools-0.1)
+ ("smithlab-cpp" ,smithlab-cpp)
("zlib" ,zlib)))
(home-page "http://smithlabresearch.org/software/preseq/")
(synopsis "Program for analyzing library complexity")
@@ -2442,7 +2638,7 @@ complexity samples.")
(define-public sra-tools
(package
(name "sra-tools")
- (version "2.4.5-5")
+ (version "2.5.4")
(source
(origin
(method url-fetch)
@@ -2452,7 +2648,7 @@ complexity samples.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "11nrnvz7a012f4iryf0wiwrid0h111grsfxbxa9j51h3f2xbvgns"))))
+ "1rxxc8a34g70jcaa2j8sys2x93amlbc24k7az39wldhkzgi96825"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
@@ -2595,6 +2791,43 @@ BioPython in a convenient way. Instead of having a big mess of scripts, there
is one that takes arguments.")
(license license:gpl3)))
+(define-public snap-aligner
+ (package
+ (name "snap-aligner")
+ (version "1.0beta.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/amplab/snap/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vnsjwv007k1fl1q7d681kbwn6bc66cgw6h16hym6gvyy71qv2ly"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'check (lambda _ (zero? (system* "./unit_tests"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (mkdir-p bin)
+ (install-file "snap-aligner" bin)
+ (install-file "SNAPCommand" bin)
+ #t))))))
+ (native-inputs
+ `(("zlib" ,zlib)))
+ (home-page "http://snap.cs.berkeley.edu/")
+ (synopsis "Short read DNA sequence aligner")
+ (description
+ "SNAP is a fast and accurate aligner for short DNA reads. It is
+optimized for modern read lengths of 100 bases or higher, and takes advantage
+of these reads to align data quickly through a hash-based indexing scheme.")
+ (license license:asl2.0)))
+
(define-public star
(package
(name "star")
@@ -2657,7 +2890,24 @@ sequences.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
- #:make-flags '("-f" "Makefile.Linux")
+ ;; The CC and CCFLAGS variables are set to contain a lot of x86_64
+ ;; optimizations by default, so we override these flags such that x86_64
+ ;; flags are only added when the build target is an x86_64 system.
+ #:make-flags
+ (list (let ((system ,(or (%current-target-system)
+ (%current-system)))
+ (flags '("-ggdb" "-fomit-frame-pointer"
+ "-ffast-math" "-funroll-loops"
+ "-fmessage-length=0"
+ "-O9" "-Wall" "-DMAKE_FOR_EXON"
+ "-DMAKE_STANDALONE"
+ "-DSUBREAD_VERSION=\\\"${SUBREAD_VERSION}\\\""))
+ (flags64 '("-mmmx" "-msse" "-msse2" "-msse3")))
+ (if (string-prefix? "x86_64" system)
+ (string-append "CCFLAGS=" (string-join (append flags flags64)))
+ (string-append "CCFLAGS=" (string-join flags))))
+ "-f" "Makefile.Linux"
+ "CC=gcc ${CCFLAGS}")
#:phases
(alist-cons-after
'unpack 'enter-dir
diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index 13630b39dc..e2d6cf8f9e 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -40,12 +40,12 @@
"12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:phases
(alist-replace
- 'configure
+ 'configure
(lambda _ (zero? (system* "make" "defconfig")))
(alist-replace
- 'check
+ 'check
(lambda _
(substitute* '("testsuite/du/du-s-works"
"testsuite/du/du-works")
@@ -70,7 +70,7 @@
;; So mark it with SKIP_KNOWN_BUGS like the others.
;; Presumably it wasn't known at the time of release ...
;; (It is strange that they release software which they know to have bugs)
- (("testing \"grep -w \\^str doesn't match str not at the beginning\"")
+ (("testing \"grep -w \\^str doesn't match str not at the beginning\"")
"test x\"$SKIP_KNOWN_BUGS\" = x\"\" && testing \"grep -w ^str doesn't match str not at the beginning\""))
;; This test cannot possibly pass.
@@ -79,7 +79,7 @@
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
- (zero? (system* "make"
+ (zero? (system* "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 62a6040280..fec1fc9632 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -2,6 +2,8 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -124,14 +126,14 @@ libcdio.")
(define-public xorriso
(package
(name "xorriso")
- (version "1.4.0")
+ (version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
- "0mhfxn2idkrw1i65a5y4gnb1fig85zpnszb9ax7w4a2v062y1l8b"))))
+ "1cq4a0904lnz6nygbgarnlq49cz4qnfdyvz90s3nfk5as7gbwhr8"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
@@ -156,7 +158,8 @@ files.")
(version "10.2")
(source (origin
(method url-fetch)
- (uri (string-append "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-"
+ (uri (string-append "http://downloads.xiph.org/releases/"
+ "cdparanoia/cdparanoia-III-"
version ".src.tgz"))
(sha256
(base32
@@ -231,6 +234,25 @@ depend on the file system of the medium. The maximum error correction
capacity is user-selectable.")
(license gpl2+)))
+(define-public libcue
+ (package
+ (name "libcue")
+ (version "1.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libcue/libcue-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb"))))
+ (build-system gnu-build-system)
+ (home-page "http://libcue.sourceforge.net/")
+ (synopsis "C library to parse cue sheets")
+ (description "Libcue is a C library to parse so-called @dfn{cue sheets}
+which contain meta-data for CD/DVD tracks. It provides an API to manipulate
+the data.")
+ (license gpl2+)))
+
(define-public cd-discid
(package
(name "cd-discid")
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 128f0370dd..2efce6fd87 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -36,15 +36,15 @@
(define-public cmake
(package
(name "cmake")
- (version "3.3.1")
+ (version "3.3.2")
(source (origin
(method url-fetch)
- (uri (string-append
- "http://www.cmake.org/files/v"
- (version-major+minor version)
- "/cmake-" version ".tar.gz"))
+ (uri (string-append "https://www.cmake.org/files/v"
+ (version-major+minor version)
+ "/cmake-" version ".tar.gz"))
(sha256
- (base32 "1mp32dqywk4dfw7zmpgp31axszv7h74yk69g273z21q7d8n04rfd"))
+ (base32
+ "08pwy9ip9cgwgynhn5vrjw8drw29gijy1rmziq22n65zds6ifnp7"))
(patches (list (search-patch "cmake-fix-tests.patch")))))
(build-system gnu-build-system)
(arguments
@@ -66,7 +66,8 @@
"Source/cmExecProgramCommand.cxx"
"Utilities/cmbzip2/Makefile-libbz2_so"
"Utilities/Release/release_cmake.cmake"
- "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
+ "Utilities/cmlibarchive/libarchive/\
+archive_write_set_format_shar.c"
"Tests/CMakeLists.txt"
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
(("/bin/sh") (which "sh"))))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index b561d4cf6d..41d9b0d8d7 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +26,7 @@
(define-module (gnu packages compression)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -225,14 +227,46 @@ decompression.")
"See LICENSE in the distribution."))
(home-page "http://www.bzip.org/"))))
+(define-public pbzip2
+ (package
+ (name "pbzip2")
+ (version "1.1.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://launchpad.net/pbzip2/"
+ (version-major+minor version) "/" version
+ "/+download/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("bzip2", bzip2)))
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases (modify-phases %standard-phases
+ (delete 'configure))
+ #:make-flags (list (string-append "PREFIX=" %output))))
+ (home-page "http://compression.ca/pbzip2/")
+ (synopsis "Parallel bzip2 implementation")
+ (description
+ "Pbzip2 is a parallel implementation of the bzip2 block-sorting file
+compressor that uses pthreads and achieves near-linear speedup on SMP machines.
+The output of this version is fully compatible with bzip2 v1.0.2 (i.e. anything
+compressed with pbzip2 can be decompressed with bzip2).")
+ (license (license:non-copyleft "file://COPYING"
+ "See COPYING in the distribution."))))
+
(define-public xz
(package
(name "xz")
(version "5.2.2")
(source (origin
(method url-fetch)
- (uri (string-append "http://tukaani.org/xz/xz-" version
- ".tar.gz"))
+ (uri (list (string-append "http://tukaani.org/xz/xz-" version
+ ".tar.gz")
+ (string-append "http://multiprecision.org/guix/xz-"
+ version ".tar.gz")))
(sha256
(base32
"18h2k4jndhzjs8ln3a54qdnfv59y6spxiwh9gpaqniph6iflvpvk"))))
diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm
index 51bb1a260a..cfeb22e8c3 100644
--- a/gnu/packages/conkeror.scm
+++ b/gnu/packages/conkeror.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
-;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,46 +28,42 @@
(define-public conkeror
(package
(name "conkeror")
- (version "1.0pre1")
+ (version "1.0pre1.20150730")
(source (origin
(method url-fetch)
(uri
(string-append "http://repo.or.cz/w/conkeror.git/snapshot/"
- "8a26fff5896a3360549e2adfbf06b1d57e909266"
- ".tar.gz")) ; tag: debian-1.0--pre-1+git140616-1
+ "a1f7e879b129df5cf14ea4ce80a9c1407380ed58"
+ ".tar.gz")) ; tag: debian-1.0--pre-1+git150730-1
(sha256
(base32
- "1cgjzi7g3g22zcx6bpfnid4i12sb45w6icmxdzjn8d3c0m8qsyp1"))))
+ "1q45hc30733gz3ca2ixvw0rzzcbi7rlay7gx7kvzjv17a030nyk0"))))
(build-system gnu-build-system)
(inputs `(("icecat" ,icecat)))
(arguments
`(#:tests? #f ;no tests
- #:make-flags '("CC=gcc")
+ #:make-flags `("CC=gcc"
+ ,(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
- (alist-delete
- 'configure
- (alist-replace
- 'install
- (lambda _
- (begin
- (use-modules (guix build utils))
- (let* ((datadir (string-append %output "/share/conkeror"))
- (bindir (string-append %output "/bin"))
- (launcher (string-append bindir "/conkeror"))
- (spawn (string-append bindir "/conkeror-spawn-helper")))
- (copy-recursively "." datadir)
- (mkdir-p bindir)
- (copy-file "conkeror-spawn-helper" spawn)
- (call-with-output-file launcher
- (lambda (p)
- (format p "#!~a/bin/bash
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after
+ 'install 'install-app-launcher
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; This overwrites the installed launcher, which execs xulrunner,
+ ;; with one that execs 'icecat --app'
+ (let* ((out (assoc-ref outputs "out"))
+ (datadir (string-append out "/share/conkeror"))
+ (launcher (string-append out "/bin/conkeror")))
+ (call-with-output-file launcher
+ (lambda (p)
+ (format p "#!~a/bin/bash
exec ~a/bin/icecat --app ~a \"$@\"~%"
- (assoc-ref %build-inputs "bash") ;implicit input
- (assoc-ref %build-inputs "icecat")
- (string-append datadir
- "/application.ini"))))
- (chmod launcher #o555))))
- %standard-phases))))
+ (assoc-ref inputs "bash") ;implicit input
+ (assoc-ref inputs "icecat")
+ (string-append datadir
+ "/application.ini"))))
+ (chmod launcher #o555)))))))
(synopsis "Keyboard focused web browser with Emacs look and feel")
(description "Conkeror is a highly-programmable web browser based on
Mozilla XULRunner which is the base of all Mozilla products including Firefox.
@@ -80,7 +76,7 @@ services (Search, Gmail, Maps, Reader, etc.), Del.icio.us, Reddit, Last.fm and
YouTube. For easier editing of form fields, it can spawn external editors.")
(home-page "http://conkeror.org")
;; Conkeror is triple licensed.
- (license (list license:gpl2
- license:lgpl2.1
- ;; MPL 1.1 -- this license is not GPL compatible
- ))))
+ (license (list
+ ;; MPL 1.1 -- this license is not GPL compatible
+ license:gpl2
+ license:lgpl2.1))))
diff --git a/gnu/packages/cook.scm b/gnu/packages/cook.scm
index 4eb3096153..d0dd80dc40 100644
--- a/gnu/packages/cook.scm
+++ b/gnu/packages/cook.scm
@@ -35,17 +35,17 @@
(method url-fetch)
(uri (string-append
"http://miller.emu.id.au/pmiller/software/cook/cook-" version
- ".tar.gz"))
+ ".tar.gz"))
(sha256
(base32
"104saqnqql1l7zr2pm3f718fdky3ds8j07c6xvwrs1rfkhrw58yw"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
- #:phases
+ #:phases
(alist-cons-before
'configure 'pre-conf
- (lambda _
+ (lambda _
(substitute* (append '("common/env.c")
(find-files "test" "\\.sh"))
(("/bin/sh") (which "sh")))
@@ -57,7 +57,7 @@
;; which plays havoc with this test, for which correct timestamps
;; are very important. Adding the U flag undoes the effect of
;; --enable-deterministic-archives and allows this test to work
- ;; again.
+ ;; again.
(substitute* "test/00/t0077a.sh"
(("ar qc") "ar qcU"))
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index d3dbd28aac..d4742ca0e4 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index f7c9f083b7..16140f0f9c 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
@@ -39,14 +39,14 @@
(define-public curl
(package
(name "curl")
- (version "7.44.0")
+ (version "7.45.0")
(source (origin
(method url-fetch)
(uri (string-append "http://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
- "0gjnaav9vmwwwza451na1643br7i0kxgd4002pwqh3xk5ywvdap7"))))
+ "0bamqik0mi2rmai016iakwrwmsz0s5xad1ghkbwsd3zkv08rgkcn"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
@@ -95,8 +95,8 @@
;; test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)]
;;
;; 1510: output (log/stderr1510) FAILED:
- ;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000
- ;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000
+ ;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000
+ ;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000
;; @@ -1,5 +1,5 @@
;; * Connection #0 to host server1.example.com left intact[LF]
;; * Connection #1 to host server2.example.com left intact[LF]
diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm
index cd0f1bb401..8f3e1a1b70 100644
--- a/gnu/packages/cyrus-sasl.scm
+++ b/gnu/packages/cyrus-sasl.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
@@ -19,7 +19,7 @@
(define-module (gnu packages cyrus-sasl)
#:use-module (gnu packages)
- #:use-module (gnu packages gdbm)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages mit-krb5)
#:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 7e669d633e..f45e3a5f1b 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -55,6 +55,28 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
+(define-public gdbm
+ (package
+ (name "gdbm")
+ (version "1.11")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gdbm/gdbm-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd"))))
+ (arguments `(#:configure-flags '("--enable-libgdbm-compat")))
+ (build-system gnu-build-system)
+ (home-page "http://www.gnu.org/software/gdbm/")
+ (synopsis
+ "Hash library of database functions compatible with traditional dbm")
+ (description
+ "GDBM is a library for manipulating hashed databases. It is used to
+store key/value pairs in a file in a manner similar to the Unix dbm library
+and provides interfaces to the traditional file format.")
+ (license gpl3+)))
+
(define-public bdb
(package
(name "bdb")
@@ -602,6 +624,30 @@ columns, primary keys, unique constraints and relationships.")
(description "")
(license (package-license perl))))
+(define-public perl-dbd-mysql
+ (package
+ (name "perl-dbd-mysql")
+ (version "4.033")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/C/CA/CAPTTOFU/"
+ "DBD-mysql-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0769xakykps0cx368g4vaips4w3bjk383rianiavq7sq6g6bp66c"))))
+ (build-system perl-build-system)
+ ;; Tests require running MySQL server
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("perl-dbi" ,perl-dbi)
+ ("mysql" ,mysql)))
+ (home-page "http://search.cpan.org/dist/DBD-mysql")
+ (synopsis "DBI MySQL interface")
+ (description "This package provides a MySQL driver for the Perl5
+@dfn{Database Interface} (DBI).")
+ (license (package-license perl))))
+
(define-public perl-dbd-sqlite
(package
(name "perl-dbd-sqlite")
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
new file mode 100644
index 0000000000..361490000a
--- /dev/null
+++ b/gnu/packages/datastructures.scm
@@ -0,0 +1,49 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; 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 datastructures)
+ #:use-module (gnu packages)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public sparsehash
+ (package
+ (name "sparsehash")
+ (version "2.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/sparsehash/sparsehash/"
+ "archive/sparsehash-" version ".tar.gz"))
+ (sha256
+ (base32
+ "133szz0ldwch0kd91l0sa57qsnl020njn622szd9cxrjqyjqds85"))))
+ (build-system gnu-build-system)
+ (synopsis "Memory-efficient hashtable implementations")
+ (description
+ "This library contains several hash-map implementations, similar in API
+to SGI's @code{hash_map} class, but with different performance
+characteristics. @code{sparse_hash_map} uses very little space overhead, 1-2
+bits per entry. @code{dense_hash_map} is very fast, particulary on lookup.
+@code{sparse_hash_set} and @code{dense_hash_set} are the set versions of these
+routines. All these implementation use a hashtable with internal quadratic
+probing. This method is space-efficient -- there is no pointer overhead --
+and time-efficient for good hash functions.")
+ (home-page "https://github.com/sparsehash/sparsehash")
+ (license license:bsd-3)))
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index b098832681..dc94f97657 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -141,6 +141,24 @@ intended for use by people who discover and report bugs in compilers and other
tools that process C/C++ code.")
(license ncsa)))
+(define qemu-2.3.0
+ (package
+ (inherit qemu-minimal)
+ (version "2.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://wiki.qemu-project.org/download/qemu-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "120m53c3p28qxmfzllicjzr8syjv6v4d9rsyrgkp7gnmcgvvgfmn"))))
+ (arguments
+ ;; XXX: Disable tests because of GTester's rejection of duplicate test
+ ;; names, which wasn't addressed in this version of QEMU.
+ `(#:tests? #f
+ ,@(package-arguments qemu-minimal)))))
+
(define-public american-fuzzy-lop
(let ((machine (match (or (%current-target-system)
(%current-system))
@@ -164,11 +182,11 @@ tools that process C/C++ code.")
(inputs
`(("custom-qemu"
;; The afl-qemu tool builds qemu 2.3.0 with a few patches applied.
- ,(package (inherit qemu-headless)
+ ,(package (inherit qemu-2.3.0)
(name "afl-qemu")
(inputs
`(("afl-src" ,source)
- ,@(package-inputs qemu-headless)))
+ ,@(package-inputs qemu-2.3.0)))
;; afl only supports using a single afl-qemu-trace executable, so
;; we only build qemu for the native target.
(arguments
@@ -176,7 +194,7 @@ tools that process C/C++ code.")
(list (string-append "--target-list=" ,machine "-linux-user"))
#:modules ((srfi srfi-1)
,@%gnu-build-system-modules)
- ,@(substitute-keyword-arguments (package-arguments qemu-headless)
+ ,@(substitute-keyword-arguments (package-arguments qemu-2.3.0)
((#:phases qemu-phases)
`(modify-phases ,qemu-phases
(add-after
diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm
new file mode 100644
index 0000000000..317eeeebea
--- /dev/null
+++ b/gnu/packages/dico.scm
@@ -0,0 +1,80 @@
+;;; 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/>.
+
+(define-module (gnu packages dico)
+ #:use-module (guix packages)
+ #:use-module ((guix licenses) #:select (gpl3+))
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages m4)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages gsasl)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages wordnet))
+
+(define-public dico
+ (package
+ (name "dico")
+ (version "2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/dico/dico-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "04pjks075x20d19l623mj50bw64g8i41s63z4kzzqcbg9qg96x64"))
+ (patches (map search-patch
+ '("cpio-gets-undeclared.patch"
+ "dico-libtool-deterministic.patch")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
+ "/share/guile/site/2.0"))
+ #:make-flags '("V=1")
+ #:phases (modify-phases %standard-phases
+ (add-before 'check 'silence-guile
+ (lambda _
+ ;; Guile is too talkative, which disturbs the test
+ ;; infrastructure. Gag it.
+ (setenv "GUILE_AUTO_COMPILE" "0")
+ (setenv "GUILE_WARN_DEPRECATED" "no")
+ #t)))))
+ (inputs
+ `(("m4" ,m4) ;used at run time
+ ("pcre" ,pcre)
+ ;; ("python" ,python-2)
+ ("guile" ,guile-2.0)
+ ("gsasl" ,gsasl)
+ ("readline" ,readline-6.2)
+ ("zlib" ,zlib)
+ ;; ("wordnet" ,wordnet) ;FIXME: link failure
+ ("libltdl" ,libltdl)))
+ (home-page "http://www.gnu.org/software/dico/")
+ (synopsis "Implementation of DICT server (RFC 2229)")
+ (description
+ "GNU Dico implements a flexible dictionary server and client according to
+RFC 2229 (DICT Server). It is able to access any database available,
+regardless of format, thanks to its modular structure. New modules may be
+written in C, Guile or Python. Dico also includes a command-line client,
+which may be used to query remote dictionary databases.")
+ (license gpl3+)))
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 98b13ae110..9d3e2f9e32 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2015 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -22,9 +23,10 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages guile)
#:use-module ((gnu packages compression)
@@ -33,39 +35,35 @@
(define-public parted
(package
(name "parted")
- (version "3.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/parted/parted-"
- version ".tar.xz"))
- (sha256
- (base32
- "05fa4m1bky9d13hqv91jlnngzlyn7y4rnnyq6d86w0dg3vww372y"))))
+ (version "3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/parted/parted-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5"))))
(build-system gnu-build-system)
- (arguments `(#:configure-flags '("--disable-device-mapper")
- #:phases (alist-cons-before
- 'configure 'fix-mkswap
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((util-linux (assoc-ref inputs
- "util-linux")))
- (substitute*
- "tests/t9050-partition-table-types.sh"
- (("mkswap")
- (string-append util-linux "/sbin/mkswap")))))
- %standard-phases)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'fix-locales-and-python
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tests/t0251-gpt-unicode.sh"
+ (("C.UTF-8") "en_US.utf8")) ;not in Glibc locales
+ (substitute* "tests/msdos-overlap"
+ (("/usr/bin/python") (which "python"))))))))
(inputs
- ;; XXX: add 'lvm2'.
- `(("check" ,check)
-
- ;; With Readline 6.3, parted/ui.c fails to build because it uses the
- ;; now undefined 'CPPFunction' type.
- ("readline" ,readline-6.2)
-
+ `(("lvm2" ,lvm2)
+ ("readline" ,readline)
("util-linux" ,util-linux)))
(native-inputs
- `(("gettext" ,gnu-gettext)))
- (home-page "http://www.gnu.org/software/parted/")
+ `(("gettext" ,gnu-gettext)
+ ;; For the tests.
+ ("perl" ,perl)
+ ("python" ,python-2)))
+ (home-page "https://www.gnu.org/software/parted/")
(synopsis "Disk partition editor")
(description
"GNU Parted is a package for creating and manipulating disk partition
@@ -124,7 +122,7 @@ to recover data more efficiently by only reading the necessary blocks.")
(define-public dosfstools
(package
(name "dosfstools")
- (version "3.0.27")
+ (version "3.0.28")
(source
(origin
(method url-fetch)
@@ -133,7 +131,7 @@ to recover data more efficiently by only reading the necessary blocks.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1a2qs5g2zqbk1gzaaf4v3fw3yny6jgbzddpgcamkp3fjifn8wxl5"))))
+ "1qkya6lald91c8nsf29jwnk0k5v42wlj24gacfdp3wpc8hq935gf"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 3ec0377f57..9f5fbf1d96 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -134,8 +134,9 @@ by no means limited to these applications.) This package provides XML DTDs.")
(string-append xsl "/" name-version))
(substitute* (string-append xsl "/" name-version "/catalog.xml")
- (("rewritePrefix=\"./")
- (string-append "rewritePrefix=\"file://" xsl "/" name-version "/")))))
+ (("rewritePrefix=\"./")
+ (string-append "rewritePrefix=\"file://" xsl "/"
+ name-version "/")))))
#:modules ((guix build utils))))
(native-inputs `(("bzip2" ,bzip2)
("tar" ,tar)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 9751125113..947c7e282c 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -227,13 +227,14 @@ metadata.")
(define-public paredit
(package
(name "paredit")
- (version "23")
+ (version "24")
(source (origin
- (method url-fetch)
- (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
- version ".el"))
- (sha256
- (base32 "1np882jzvxckljx3cjz4absyzmc5hw65cs21sjmbic82163m9lf8"))))
+ (method url-fetch)
+ (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
+ version ".el"))
+ (sha256
+ (base32
+ "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
(build-system trivial-build-system)
(inputs `(("emacs" ,emacs-no-x)))
(arguments
@@ -317,7 +318,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public magit
(package
(name "magit")
- (version "2.2.2")
+ (version "2.3.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -325,7 +326,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1imkj4prprnivhbpdn1mdpiryxkckzy5hbnqaahv7gixwac1irh8"))))
+ "1wnx034adkwhbsydd10il2099hpzz351kp39sri8s1yd43f795gf"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-no-x)))
@@ -373,7 +374,7 @@ operations.")
(define-public magit-svn
(package
(name "magit-svn")
- (version "2.1.0")
+ (version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -382,7 +383,7 @@ operations.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "09sz93g7x7g9q75jsw8bdh7yr4jr1igfb4fpg5i302a7l2ahxfr8"))))
+ "04y88j7q9h8xjbx5dbick6n5nr1522sn9i1znp0qwk3vjb4b5mzz"))))
(build-system trivial-build-system)
(native-inputs `(("emacs" ,emacs-no-x)
("tar" ,tar)
@@ -574,13 +575,14 @@ provides an optional IDE-like error list.")
(define-public emacs-w3m
(package
(name "emacs-w3m")
- (version "1.4.483+0.20120614")
+ (version "1.4.538+0.20141022")
(source (origin
(method url-fetch)
(uri (string-append "mirror://debian/pool/main/w/w3m-el/w3m-el_"
version ".orig.tar.gz"))
(sha256
- (base32 "0ms181gjavnfk79hhv5xl9llik4c6kj0w3c04kgyif8lcy2sxljx"))))
+ (base32
+ "0zfxmq86pwk64yv0426gnjrvhjrgrjqn08sdcdhmmjmfpmqvm79y"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)))
(inputs `(("w3m" ,w3m)
@@ -597,43 +599,46 @@ provides an optional IDE-like error list.")
(list (string-append "--with-lispdir="
out "/share/emacs/site-lisp")
(string-append "--with-icondir="
- out "/share/images/emacs-w3m")))
+ out "/share/images/emacs-w3m")
+ ;; Leave .el files uncompressed, otherwise GC can't
+ ;; identify run-time dependencies. See
+ ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
+ "--without-compress-install"))
#:tests? #f ; no check target
#:phases
- (alist-cons-after
- 'unpack 'autoconf
- (lambda _
- (zero? (system* "autoconf")))
- (alist-cons-before
- 'build 'patch-exec-paths
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (w3m (assoc-ref inputs "w3m"))
- (imagemagick (assoc-ref inputs "imagemagick"))
- (coreutils (assoc-ref inputs "coreutils")))
- (emacs-substitute-variables "w3m.el"
- ("w3m-command" (string-append w3m "/bin/w3m"))
- ("w3m-touch-command" (string-append coreutils "/bin/touch"))
- ("w3m-image-viewer" (string-append imagemagick "/bin/display"))
- ("w3m-icon-directory" (string-append out
- "/share/images/emacs-w3m")))
- (emacs-substitute-variables "w3m-image.el"
- ("w3m-imagick-convert-program" (string-append imagemagick
- "/bin/convert"))
- ("w3m-imagick-identify-program" (string-append imagemagick
- "/bin/identify")))
- #t))
- (alist-replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (and (zero? (system* "make" "install" "install-icons"))
- (with-directory-excursion
- (string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp")
- (for-each delete-file '("ChangeLog" "ChangeLog.1"))
- (symlink "w3m-load.el" "w3m-autoloads.el")
- #t)))
- %standard-phases)))))
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autoconf
+ (lambda _
+ (zero? (system* "autoconf"))))
+ (add-before 'build 'patch-exec-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (w3m (assoc-ref inputs "w3m"))
+ (imagemagick (assoc-ref inputs "imagemagick"))
+ (coreutils (assoc-ref inputs "coreutils")))
+ (emacs-substitute-variables "w3m.el"
+ ("w3m-command" (string-append w3m "/bin/w3m"))
+ ("w3m-touch-command"
+ (string-append coreutils "/bin/touch"))
+ ("w3m-image-viewer"
+ (string-append imagemagick "/bin/display"))
+ ("w3m-icon-directory"
+ (string-append out "/share/images/emacs-w3m")))
+ (emacs-substitute-variables "w3m-image.el"
+ ("w3m-imagick-convert-program"
+ (string-append imagemagick "/bin/convert"))
+ ("w3m-imagick-identify-program"
+ (string-append imagemagick "/bin/identify")))
+ #t)))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (and (zero? (system* "make" "install" "install-icons"))
+ (with-directory-excursion
+ (string-append (assoc-ref outputs "out")
+ "/share/emacs/site-lisp")
+ (for-each delete-file '("ChangeLog" "ChangeLog.1"))
+ (symlink "w3m-load.el" "w3m-autoloads.el")
+ #t)))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
@@ -912,7 +917,7 @@ single buffer.")
(define-public emacs-pdf-tools
(package
(name "emacs-pdf-tools")
- (version "0.60")
+ (version "0.70")
(source (origin
(method url-fetch)
(uri (string-append
@@ -921,7 +926,7 @@ single buffer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1y8k5n2jbyaxby0j6f4m9xbm0ddpmbkrfj6rp6ll5sb97lcg3vrx"))))
+ "1m0api6wiawswyk46bdsyk6r5rg3b86a4paar6nassm6x6c6vr77"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
@@ -981,7 +986,7 @@ and stored in memory.")
(define-public emacs-dash
(package
(name "emacs-dash")
- (version "2.11.0")
+ (version "2.12.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -990,7 +995,7 @@ and stored in memory.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1piwcwilkxcbjxx832mhb7q3pz1fgwp203r581bpqcw6kd5x726q"))))
+ "082jl7mp4x063bpj5ad2pc5125k0d6p7rb89gcj7ny3lma9h2ij1"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -1024,7 +1029,7 @@ and stored in memory.")
(lambda _
(zero? (system* "./run-tests.sh")))))))
(home-page "https://github.com/magnars/s.el")
- (synopsis "Emacs string manipulation library.")
+ (synopsis "Emacs string manipulation library")
(description "This package provides an Emacs library for manipulating
strings.")
(license license:gpl3+)))
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 1c378f63a7..554399b049 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -140,7 +140,7 @@ plans and designs.")
(home-page "http://geda-project.org/")
(synopsis "Schematic capture, netlister, symbols, symbol checker, and utils")
(description
- "gaf stands for “gschem and friendsâ€. It is a subset of the entire tool
+ "Gaf stands for “gschem and friendsâ€. It is a subset of the entire tool
suite grouped together under the gEDA name. gEDA/gaf is a collection of tools
which currently includes: gschem, a schematic capture program; gnetlist, a
netlist generation program; gsymcheck, a syntax checker for schematic symbols;
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 0a91995a0a..6224a2a527 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -51,7 +52,7 @@
(define-public efl
(package
(name "efl")
- (version "1.15.2")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -59,7 +60,7 @@
version ".tar.xz"))
(sha256
(base32
- "1962wqx7gdnpzvnkbighyn4hj5vw8l4c1d7xl5zilqjlyhcqywyx"))))
+ "08w3hrjyz1yjqjq77px86fljxxi5xz5yfy79qwssypafjvcvpzky"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -134,7 +135,7 @@ removable devices or support for multimedia.")
(define-public elementary
(package
(name "elementary")
- (version "1.15.2")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri
@@ -142,7 +143,7 @@ removable devices or support for multimedia.")
"elementary/elementary-" version ".tar.xz"))
(sha256
(base32
- "0gqg98bglnl2jggdzxzrh9r7bv32i4sahspms0bihq8b45rk0g2j"))))
+ "1546b7pdpw6nx1hjxy674zr8dgpzwl7lq3hvnv4axkpd4zwkqgs8"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -159,7 +160,7 @@ full capabilities of EFL.")
(define-public evas-generic-loaders
(package
(name "evas-generic-loaders")
- (version "1.15.0")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri
@@ -169,7 +170,7 @@ full capabilities of EFL.")
version ".tar.xz"))
(sha256
(base32
- "0zzx06j20x580xqnnsxp7gb7rv279zcgvdxfbhs905af9m6rwlqy"))))
+ "1il3i3rii6ddpj7cw2mdqnb0q2wmhwnvs6qi9janna1n5hhrqyfm"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -191,7 +192,7 @@ files in Evas (EFL canvas library).")
(define-public emotion-generic-players
(package
(name "emotion-generic-players")
- (version "1.15.0")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri
@@ -200,7 +201,7 @@ files in Evas (EFL canvas library).")
"-" version ".tar.xz"))
(sha256
(base32
- "0pszwmcygxnv1sfx0m79md2jmi4sng8mdb1xcr6h2z5c8685wvcz"))))
+ "163ay26c6dx49m1am7vsxxn0gy877zhayxq0yxn9zkbq2srzvjym"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -270,16 +271,18 @@ Libraries with some extra bells and whistles.")
(define-public enlightenment
(package
(name "enlightenment")
- (version "0.19.12")
+ (version "0.20.0")
(source (origin
(method url-fetch)
(uri
(string-append "https://download.enlightenment.org/rel/apps/"
name "/" name "-" version ".tar.xz"))
(sha256
- (base32
- "098bdx9qmv1yqqwfydrzs7fvbnhsf3vaib9pmqsyg4ihgqrkrwjm"))))
+ (base32
+ "0mwiim0nv640v3af7qxc5ajfk702qkl5c1cnqlhz6rqzr5yjapxv"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--enable-mount-eeze")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 97f2975e51..271fb49dd7 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -38,6 +38,7 @@
(sha256
(base32
"16jbj8avg5jkgvq5lxm0hdxxn4c3zn7fx8b4nxllvr024apk9w23"))
+ (file-name (string-append name "-" version "-checkout"))
(patches (list (search-patch "ath9k-htc-firmware-objcopy.patch")))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm
index 94e418a8b1..6392efe308 100644
--- a/gnu/packages/fish.scm
+++ b/gnu/packages/fish.scm
@@ -20,6 +20,7 @@
#:use-module (guix licenses)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages python)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@@ -45,7 +46,8 @@
(native-inputs
`(("doxygen" ,doxygen)))
(inputs
- `(("ncurses" ,ncurses)))
+ `(("ncurses" ,ncurses)
+ ("python" ,python-wrapper))) ;for fish_config and manpage completions
(arguments
'(#:tests? #f ; no check target
#:configure-flags '("--sysconfdir=/etc")))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 4ce8addceb..cfdcac8f7f 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -390,17 +390,17 @@ for long (8 and more hours per day) work with computers.")
(define-public font-adobe-source-han-sans
(package
(name "font-adobe-source-han-sans")
- (version "1.001R")
+ (version "1.004")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/adobe-fonts/source-han-sans/archive/"
- version ".tar.gz"))
- (file-name (string-append "source-han-sans-" version ".tar.gz"))
+ version "R.tar.gz"))
+ (file-name (string-append "source-han-sans-" version "R.tar.gz"))
(sha256
(base32
- "0cwz3d8jancl0a7vbjxhnh1vgwsjba62lahfjya9yrjkp1ndxlap"))))
- (outputs '("out" ; OpenType/CFF Collection (OTC), 119 MiB.
+ "1ssx0fw90sy6mj8fv8fv4dgzszpqwbmwpjnlx16g4pvaqzdmybbz"))))
+ (outputs '("out" ; OpenType/CFF Collection (OTC), 121 MiB.
"cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF.
(build-system trivial-build-system)
(arguments
@@ -421,12 +421,13 @@ for long (8 and more hours per day) work with computers.")
"/share/fonts/opentype")))))
(setenv "PATH" PATH)
(system* tar "xvf" (assoc-ref %build-inputs "source"))
- (chdir (string-append "source-han-sans-" ,version))
+ (chdir (string-append "source-han-sans-" ,version "R"))
(install-opentype-fonts "OTC" "out")
(install-opentype-fonts "SubsetOTF/CN" "cn")
(install-opentype-fonts "SubsetOTF/JP" "jp")
(install-opentype-fonts "SubsetOTF/KR" "kr")
- (install-opentype-fonts "SubsetOTF/TW" "tw")))))
+ (install-opentype-fonts "SubsetOTF/TW" "tw")
+ (for-each delete-file (find-files %output "\\.zip$"))))))
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
@@ -439,7 +440,7 @@ And in several OpenType/CFF-based deployment configurations to accommodate
various system requirements or limitations. As the name suggests, Pan-CJK
fonts are intended to support the characters necessary to render or display
text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
- (license license:asl2.0)))
+ (license license:silofl1.1)))
(define-public font-wqy-zenhei
(package
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 3db8f9f11d..f31b905156 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -203,7 +203,7 @@ applications should be.")
(define-public graphite2
(package
(name "graphite2")
- (version "1.3.1")
+ (version "1.3.3")
(source
(origin
(method url-fetch)
@@ -212,7 +212,7 @@ applications should be.")
version ".tgz"))
(sha256
(base32
- "0xvhmlyyxg2qmbwyl8k2f9w7mrbjyl59823pnjd8xmxpyl6976d5"))))
+ "1n22vvi4jl83m4sqhvd7v31bhyhyd8j6c3yjgh4zjfyrvid16jrg"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-2) ; because of "import imap" in tests
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 0f836d3c01..3db7ff7835 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -157,7 +157,10 @@ the freedesktop.org XDG Base Directory specification.")
(assoc-ref %build-inputs "libcap"))
(string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
- "/lib/udev/rules.d"))
+ "/lib/udev/rules.d")
+ ;; XXX: fail with:
+ ;; src/shared/clean-ipc.c:315: undefined reference to `mq_unlink'
+ "LDFLAGS=-lrt")
#:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")))
(native-inputs
`(("intltool" ,intltool)
@@ -236,14 +239,14 @@ Python.")
(define-public wayland
(package
(name "wayland")
- (version "1.8.1")
+ (version "1.9.0")
(source (origin
(method url-fetch)
(uri (string-append "http://wayland.freedesktop.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1j3gfzn8i0xhk3j34mwb2srrscjxfyi279jhyq80mz943j6r6z7i"))))
+ "1yhy62vkbq8j8c9zaa6yzvn75cd99kfa8n2zfdwl80x019r711ww"))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@@ -340,12 +343,19 @@ Analysis and Reporting Technology) functionality.")
`(("acl" ,acl)
("libatasmart" ,libatasmart)
("libgudev" ,libgudev)
- ("polkit" ,polkit)))
+ ("polkit" ,polkit)
+ ("util-linux" ,util-linux)))
+ (outputs '("out"
+ "doc")) ;5 MiB of gtk-doc HTML
(arguments
`(#:tests? #f ; requiring system message dbus
#:configure-flags
(list "--disable-man"
"--localstatedir=/var"
+ "--enable-fhs-media" ;mount devices in /media, not /run/media
+ (string-append "--with-html-dir="
+ (assoc-ref %outputs "doc")
+ "/share/doc/udisks/html")
(string-append "--with-udevdir=" %output "/lib/udev"))
#:phases
(modify-phases %standard-phases
@@ -357,7 +367,18 @@ Analysis and Reporting Technology) functionality.")
(("girdir = .*")
"girdir = $(datadir)/gir-1.0\n")
(("typelibsdir = .*")
- "typelibsdir = $(libdir)/girepository-1.0\n")))))))
+ "typelibsdir = $(libdir)/girepository-1.0\n"))))
+ (add-after 'install 'set-mount-file-name
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ ;; Tell 'udisksd' where to find the 'mount' command.
+ (let ((out (assoc-ref outputs "out"))
+ (utils (assoc-ref inputs "util-linux")))
+ (wrap-program (string-append out "/libexec/udisks2/udisksd")
+ `("PATH" ":" prefix
+ (,(string-append utils "/bin") ;for 'mount'
+ "/run/current-system/profile/bin"
+ "/run/current-system/profile/sbin")))
+ #t))))))
(home-page "http://www.freedesktop.org/wiki/Software/udisks/")
(synopsis "Disk manager service")
(description
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index badecc60ba..6cbad6b1b6 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,14 +28,14 @@
(define-public freeipmi
(package
(name "freeipmi")
- (version "1.4.10")
+ (version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
- "1l98l8g8lha85q1d288wr7dyx00x36smh9g5wza15n4wm35c9wqs"))))
+ "0lhjxlha4j5rx11d81y1rgp9j18rlpxsjc0flsmj6bm60awmm627"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline) ("libgcrypt" ,libgcrypt)))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index fcebf2b548..1e3854aab1 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -48,7 +48,9 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages sdl)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages xiph))
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages lua)
+ #:use-module (gnu packages mp3))
(define-public bullet
(package
@@ -260,3 +262,35 @@ files can be accessed in the same way as you access files directly on a disk,
and it makes it easy to ship a new archive that will override a previous
archive on a per-file basis.")
(license license:zlib)))
+
+(define-public love
+ (package
+ (name "love")
+ (version "0.9.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://bitbucket.org/rude/love/downloads/"
+ "love-" version "-linux-src.tar.gz"))
+ (sha256
+ (base32
+ "0wn1npr5gal5b1idh4a5fwc3f5c36lsbjd4r4d699rqlviid15d9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("devil" ,devil)
+ ("freetype" ,freetype)
+ ("libmodplug" ,libmodplug)
+ ("libvorbis" ,libvorbis)
+ ("luajit" ,luajit)
+ ("mesa" ,mesa)
+ ("mpg123" ,mpg123)
+ ("openal" ,openal)
+ ("physfs" ,physfs)
+ ("sdl2" ,sdl2)
+ ("zlib" ,zlib)))
+ (synopsis "2D game framework for Lua")
+ (description "LÖVE is a framework for making 2D games in the Lua
+programming language.")
+ (home-page "https://love2d.org/")
+ (license license:zlib)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3023794218..f7a7636a86 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1,17 +1,19 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
+;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,7 +36,11 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix svn-download)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
@@ -49,6 +55,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libunwind)
+ #:use-module (gnu packages haskell)
#:use-module (gnu packages mp3)
#:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
@@ -78,6 +85,7 @@
#:use-module (gnu packages fribidi)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system haskell)
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial))
@@ -151,8 +159,8 @@ scriptable with Guile.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://abbaye-for-linux.googlecode.com/files/abbaye-for-linux-src-"
- version ".tar.gz"))
+ (uri (string-append "http://abbaye-for-linux.googlecode.com/files/"
+ "abbaye-for-linux-src-" version ".tar.gz"))
(sha256
(base32
"1wgvckgqa2084rbskxif58wbb83xbas8s1i8s7d57xbj08ryq8rk"))))
@@ -1048,6 +1056,48 @@ experience and advance levels, and are carried over from one scenario to the
next campaign.")
(license license:gpl2+)))
+(define-public dosbox
+ (package
+ (name "dosbox")
+ (version "0.74.svn3947")
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/")
+ (revision 3947)))
+ (file-name (string-append name "-" version "-checkout"))
+ ;; Use SVN head, since the last release (2010) is incompatible
+ ;; with GCC 4.8+ (see
+ ;; <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624976>).
+ (sha256
+ (base32
+ "1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after
+ 'unpack 'autogen.sh
+ (lambda _
+ (zero? (system* "sh" "autogen.sh")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (inputs
+ `(("sdl" ,sdl)
+ ("libpng" ,libpng)
+ ("zlib" ,zlib)
+ ("alsa-lib" ,alsa-lib)
+ ("glu" ,glu)
+ ("mesa" ,mesa)))
+ (home-page "http://www.dosbox.com")
+ (synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound")
+ (description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox
+also emulates CPU:286/386 realmode/protected mode, Directory
+FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a
+SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with
+older games.")
+ (license license:gpl2+)))
+
(define-public gamine
(package
(name "gamine")
@@ -1094,10 +1144,43 @@ on the screen and keyboard to display letters.")
;; Most files under gpl2+ or gpl3+, but eat.wav under gpl3
(license license:gpl3)))
+(define-public raincat
+ (package
+ (name "raincat")
+ (version "1.1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/Raincat/Raincat-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1aalh68h6799mv4vyg30zpskl5jkn6x2j1jza7p4lrflyifxzar8"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-random" ,ghc-random)
+ ("ghc-glut" ,ghc-glut)
+ ("ghc-opengl" ,ghc-opengl)
+ ("ghc-sdl" ,ghc-sdl)
+ ("ghc-sdl-image" ,ghc-sdl-image)
+ ("ghc-sdl-mixer" ,ghc-sdl-mixer)))
+ (home-page "http://raincat.bysusanlin.com/")
+ (synopsis "Puzzle game with a cat in lead role")
+ (description "Project Raincat is a game developed by Carnegie Mellon
+students through GCS during the Fall 2008 semester. Raincat features game
+play inspired from classics Lemmings and The Incredible Machine. The project
+proved to be an excellent learning experience for the programmers. Everything
+is programmed in Haskell.")
+ (license license:bsd-3)))
+
(define-public manaplus
(package
(name "manaplus")
- (version "1.5.9.26")
+ (version "1.5.12.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1105,7 +1188,7 @@ on the screen and keyboard to display letters.")
version "/manaplus-" version ".tar.xz"))
(sha256
(base32
- "070ms1cv7q88284pqh66lfhacckgv7m9s8z9009k2laypibx7vs6"))))
+ "0kmd743q40v82221wj8b09n30lqiwl7096v3m7ki3ynsgszkm326"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -1132,3 +1215,641 @@ world}, @uref{http://evolonline.org, Evol Online} and
;; "data/themes/{golden-delicious,jewelry}/*" are under CC-BY-SA.
;; The rest is under GPL2+.
(license (list license:gpl2+ license:zlib license:cc-by-sa4.0))))
+
+(define-public mupen64plus-core
+ (package
+ (name "mupen64plus-core")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-core/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("freetype" ,freetype)
+ ("glu" ,glu)
+ ("libpng" ,libpng)
+ ("mesa" ,mesa)
+ ("sdl2" ,sdl2)
+ ("zlib" ,zlib)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags (let ((out (assoc-ref %outputs "out")))
+ (list "all" (string-append "PREFIX=" out)))
+ ;; There are no tests.
+ #:tests? #f))
+ ;; As per the Makefile (in projects/unix/Makefile):
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Nintendo 64 emulator core library")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+core library.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-audio-sdl
+ (package
+ (name "mupen64plus-audio-sdl")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("mupen64plus-core" ,mupen64plus-core)
+ ("sdl2" ,sdl2)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus SDL input plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+SDL audio plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-input-sdl
+ (package
+ (name "mupen64plus-input-sdl")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-input-sdl/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("which" ,which)))
+ (inputs
+ `(("mupen64plus-core" ,mupen64plus-core)
+ ("sdl2" ,sdl2)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus SDL input plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+SDL input plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-rsp-hle
+ (package
+ (name "mupen64plus-rsp-hle")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("mupen64plus-core" ,mupen64plus-core)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus SDL input plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+high-level emulation (HLE) RSP processor plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-rsp-z64
+ (package
+ (name "mupen64plus-rsp-z64")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("mupen64plus-core" ,mupen64plus-core)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus SDL input plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+Z64 RSP processor plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-video-arachnoid
+ (package
+ (name "mupen64plus-video-arachnoid")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("mesa" ,mesa)
+ ("mupen64plus-core" ,mupen64plus-core)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus Rice Video plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+Arachnoid video plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-video-glide64
+ (package
+ (name "mupen64plus-video-glide64")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-video-glide64/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("mesa" ,mesa)
+ ("mupen64plus-core" ,mupen64plus-core)
+ ("sdl2" ,sdl2)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix")))
+ ;; XXX Should be unnecessary with the next release.
+ (add-before
+ 'build 'use-sdl2
+ (lambda _
+ (substitute* "Makefile"
+ (("SDL_CONFIG = (.*)sdl-config" all prefix)
+ (string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus Rice Video plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+Glide64 video plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-video-glide64mk2
+ (package
+ (name "mupen64plus-video-glide64mk2")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("boost" ,boost)
+ ("libpng" ,libpng)
+ ("mesa" ,mesa)
+ ("mupen64plus-core" ,mupen64plus-core)
+ ("sdl2" ,sdl2)
+ ("zlib" ,zlib)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus Rice Video plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+Glide64MK2 video plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-video-rice
+ (package
+ (name "mupen64plus-video-rice")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-video-rice/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("libpng" ,libpng)
+ ("mesa" ,mesa)
+ ("mupen64plus-core" ,mupen64plus-core)
+ ("sdl2" ,sdl2)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus Rice Video plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+Rice Video plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-video-z64
+ (package
+ (name "mupen64plus-video-z64")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-video-z64/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("glew" ,glew)
+ ("mupen64plus-core" ,mupen64plus-core)
+ ("sdl2" ,sdl2)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix")))
+ ;; XXX Should be unnecessary with the next release.
+ (add-before
+ 'build 'use-sdl2
+ (lambda _
+ (substitute* "Makefile"
+ (("SDL_CONFIG = (.*)sdl-config" all prefix)
+ (string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus Z64 video plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+Z64 video plugin.")
+ (license license:gpl2+)))
+
+(define-public mupen64plus-ui-console
+ (package
+ (name "mupen64plus-ui-console")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mupen64plus/mupen64plus-ui-console/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2"))
+ (patches
+ (list (search-patch "mupen64plus-ui-console-notice.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("sdl2" ,sdl2)))
+ ;; Mupen64Plus supports a single data directory and a single plugin
+ ;; directory in its configuration, yet we need data and plugin files from
+ ;; a variety of packages. The best way to deal with this is to install
+ ;; all packages from which data and plugin files are needed into one's
+ ;; profile, and point the configuration there. Hence, propagate the most
+ ;; important packages here to save the user from the bother. The patch
+ ;; mupen64plus-ui-console-notice also gives users instructions on what
+ ;; they need to do in order to point the configuration to their profile.
+ (propagated-inputs
+ `(("mupen64plus-core" ,mupen64plus-core)
+ ("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl)
+ ("mupen64plus-input-sdl" ,mupen64plus-input-sdl)
+ ("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle)
+ ("mupen64plus-video-glide64" ,mupen64plus-video-glide64)
+ ("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2)
+ ("mupen64plus-video-rice" ,mupen64plus-video-rice)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The mupen64plus build system has no configure phase.
+ (delete 'configure)
+ ;; Makefile is in a subdirectory.
+ (add-before
+ 'build 'cd-to-project-dir
+ (lambda _
+ (chdir "projects/unix"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (m64p (assoc-ref %build-inputs "mupen64plus-core")))
+ (list "all"
+ (string-append "PREFIX=" out)
+ (string-append "APIDIR=" m64p "/include/mupen64plus")
+ ;; Trailing slash matters here.
+ (string-append "COREDIR=" m64p "/lib/")))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://www.mupen64plus.org/")
+ (synopsis "Mupen64Plus SDL input plugin")
+ (description
+ "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
+which is capable of accurately playing many games. This package contains the
+command line user interface. Installing this package is the easiest way
+towards a working Mupen64Plus for casual users.")
+ (license license:gpl2+)))
+
+(define-public nestopia-ue
+ (package
+ (name "nestopia-ue")
+ (version "1.46.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/rdanbrook/nestopia/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07h49xwvg61dx20rk5p4r3ax2ar5y0ppvm60cqwqljyi9rdfbh7p"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; We don't need libretro for the GNU/Linux build.
+ (delete-file-recursively "libretro")
+ ;; Use system zlib.
+ (delete-file-recursively "source/zlib")
+ (substitute* "source/core/NstZlib.cpp"
+ (("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("ao" ,ao)
+ ("glu" ,glu)
+ ("gtk+" ,gtk+)
+ ("libarchive" ,libarchive)
+ ("mesa" ,mesa)
+ ("sdl2" ,sdl2)
+ ("zlib" ,zlib)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; The Nestopia build system consists solely of a Makefile.
+ (delete 'configure)
+ ;; XXX Should be unnecessary with the next release.
+ (add-before
+ 'build 'patch-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("@mkdir \\$@") "@mkdir -p $@")
+ (("CC =") "CC ?=")
+ (("CXX =") "CXX ?=")
+ (("PREFIX =") "PREFIX ?=")
+ (("^install:\n$") "install:\n\tmkdir -p $(BINDIR)\n"))))
+ (add-before
+ 'build 'remove-xdg-desktop-menu-call
+ (lambda _
+ (substitute* "Makefile"
+ (("xdg-desktop-menu install .*") "")))))
+ #:make-flags (let ((out (assoc-ref %outputs "out")))
+ (list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out)))
+ ;; There are no tests.
+ #:tests? #f))
+ (home-page "http://0ldsk00l.ca/nestopia/")
+ (synopsis "Nintendo Entertainment System (NES/Famicom) emulator")
+ (description
+ "Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment
+System (NES/Famicom) emulator Nestopia, with enhancements from members of the
+emulation community. It provides highly accurate emulation.")
+ (license license:gpl2+)))
+
+(define-public emulation-station
+ (package
+ (name "emulation-station")
+ (version "2.0.1")
+ (source (origin
+ (method git-fetch) ; no tarball available
+ (uri (git-reference
+ (url "https://github.com/Aloshi/EmulationStation.git")
+ (commit "646bede"))) ; no version tag
+ (sha256
+ (base32
+ "0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f)) ; no tests
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("boost" ,boost)
+ ("curl" ,curl)
+ ("eigin" ,eigen)
+ ("freeimage" ,freeimage)
+ ("freetype" ,freetype)
+ ("mesa" ,mesa)
+ ("sdl2" ,sdl2)))
+ (synopsis "Video game console emulator front-end")
+ (description "EmulationStation provides a graphical front-end to a large
+number of video game console emulators. It features an interface that is
+usable with any game controller that has at least 4 buttons, theming support,
+and a game metadata scraper.")
+ (home-page "http://www.emulationstation.org")
+ (license license:expat)))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index d7ffc5c40f..178ea20420 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014, 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
@@ -27,6 +27,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages dejagnu)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages xml)
#:use-module (gnu packages docbook)
@@ -436,6 +437,9 @@ using compilers other than GCC."
(define-public gfortran
(custom-gcc gcc "gfortran" '("fortran")))
+(define-public gfortran-5
+ (custom-gcc gcc-5 "gfortran" '("fortran")))
+
(define-public gccgo-4.8
(custom-gcc gcc-4.8 "gccgo" '("go")
;; Suppress the separate "lib" output, because otherwise the
@@ -461,6 +465,9 @@ using compilers other than GCC."
("javac.in" ,javac.in)
("ecj-bootstrap" ,ecj-bootstrap)
,@(package-inputs gcc)))
+ (native-inputs
+ `(("dejagnu" ,dejagnu)
+ ,@(package-native-inputs gcc)))
;; Suppress the separate "lib" output, because otherwise the
;; "lib" and "out" outputs would refer to each other, creating
;; a cyclic dependency. <http://debbugs.gnu.org/18101>
@@ -472,7 +479,9 @@ using compilers other than GCC."
(ice-9 regex)
(srfi srfi-1)
(srfi srfi-26))
- ,@(package-arguments gcc))
+ #:test-target "check-target-libjava"
+ ,@(package-arguments gcc))
+ ((#:tests? _) #t)
((#:configure-flags flags)
`(let ((ecj (assoc-ref %build-inputs "ecj-bootstrap")))
`("--enable-java-home"
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index f17b398048..81d6a8950d 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -1,6 +1,7 @@
;;; 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>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,14 +37,14 @@
(define-public gdb
(package
(name "gdb")
- (version "7.10")
+ (version "7.10.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
- "1a08c9svaihqmz2mm44il1gwa810gmwkckns8b0y0v3qz52amgby"))))
+ "1mfnjcwnwm5cg4rc9pncs9v356a0bz6ymjyac56mbj6784yjzir5"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; FIXME "make check" fails on single-processor systems.
diff --git a/gnu/packages/gdbm.scm b/gnu/packages/gdbm.scm
deleted file mode 100644
index 62d02001c8..0000000000
--- a/gnu/packages/gdbm.scm
+++ /dev/null
@@ -1,46 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012 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 gdbm)
- #:use-module (guix licenses)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system gnu))
-
-(define-public gdbm
- (package
- (name "gdbm")
- (version "1.11")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/gdbm/gdbm-"
- version ".tar.gz"))
- (sha256
- (base32
- "1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd"))))
- (arguments `(#:configure-flags '("--enable-libgdbm-compat")))
- (build-system gnu-build-system)
- (home-page "http://www.gnu.org/software/gdbm/")
- (synopsis
- "Hash library of database functions compatible with traditional dbm")
- (description
- "GDBM is a library for manipulating hashed databases. It is used to
-store key/value pairs in a file in a manner similar to the Unix dbm library
-and provides interfaces to the traditional file format.")
- (license gpl3+)))
diff --git a/gnu/packages/geeqie.scm b/gnu/packages/geeqie.scm
index a192c4b009..9cc8f74255 100644
--- a/gnu/packages/geeqie.scm
+++ b/gnu/packages/geeqie.scm
@@ -53,7 +53,8 @@ and XMP metadata of images in various formats.")
;; Files under `xmpsdk' are a copy of Adobe's XMP SDK, licensed under the
;; 3-clause BSD license: <http://www.adobe.com/devnet/xmp/sdk/eula.html>.
- ;; The core is GPLv2+: <https://launchpad.net/ubuntu/precise/+source/exiv2/+copyright>.
+ ;; The core is GPLv2+:
+ ;; <https://launchpad.net/ubuntu/precise/+source/exiv2/+copyright>.
(license l:gpl2+)))
(define-public geeqie
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 35c55dc2f9..ebf66d478e 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -68,7 +68,7 @@ provided as well as the framework to add new color models and data types.")
(version "0.2.0")
(source (origin
(method url-fetch)
- (uri (list (string-append "http://download.gimp.org/pub/gegl/"
+ (uri (list (string-append "http://download.gimp.org/pub/gegl/"
(string-take version 3)
"/" name "-" version ".tar.bz2")))
(sha256
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index e8003f88a3..33312ba127 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -26,6 +26,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
@@ -48,14 +49,15 @@
(name "glu")
(version "9.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-"
- version ".tar.gz"))
- (sha256
- (base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
(build-system gnu-build-system)
(propagated-inputs
- `(("mesa" ,mesa))) ; according to glu.pc
+ `(("mesa" ,mesa))) ; according to glu.pc
(home-page "http://www.opengl.org/archives/resources/faq/technical/glu.htm")
(synopsis "Mesa OpenGL Utility library")
(description
@@ -74,21 +76,24 @@ as ASCII text.")
(define-public freeglut
(package
(name "freeglut")
- (version "2.8.1")
+ (version "3.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/project/freeglut/freeglut/"
- version "/freeglut-" version ".tar.gz"))
- (sha256
- (base32 "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x"))))
- (build-system gnu-build-system)
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/project/freeglut/freeglut/"
+ version "/freeglut-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra"))))
+ (build-system cmake-build-system)
+ (arguments '(#:tests? #f)) ; no test target
(inputs `(("mesa" ,mesa)
- ("libx11" ,libx11)
- ("libxi" ,libxi)
- ("libxrandr" ,libxrandr)
- ("libxxf86vm" ,libxxf86vm)
- ("inputproto" ,inputproto)
- ("xinput" ,xinput)))
+ ("libx11" ,libx11)
+ ("libxi" ,libxi)
+ ("libxrandr" ,libxrandr)
+ ("libxxf86vm" ,libxxf86vm)
+ ("inputproto" ,inputproto)
+ ("xinput" ,xinput)))
(propagated-inputs
;; Headers from Mesa and GLU are needed.
`(("glu" ,glu)
@@ -114,17 +119,19 @@ the X-Consortium license.")
(name "ftgl")
(version "2.1.3-rc5")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/project/ftgl/FTGL%20Source/2.1.3~rc5/ftgl-"
- version ".tar.gz"))
- (sha256
- (base32 "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l"))))
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/project/ftgl/FTGL%20Source/2.1.3~rc5/"
+ "ftgl-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l"))))
(build-system gnu-build-system)
;; The pkg-config file lists "freetype2" as Requires.private.
(propagated-inputs `(("freetype" ,freetype)))
(inputs `(("libx11" ,libx11)
- ("mesa" ,mesa)
- ("glu" ,glu)))
+ ("mesa" ,mesa)
+ ("glu" ,glu)))
(home-page "http://ftgl.sourceforge.net")
(synopsis "Font rendering library for OpenGL applications")
(description
@@ -185,7 +192,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "10.5.4")
+ (version "11.0.3")
(source
(origin
(method url-fetch)
@@ -193,7 +200,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz"))
(sha256
(base32
- "00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm"))))
+ "1mikw0biw0wxq0fn3cp18bm6kjrkd66fy84774yc5b91rvp94adb"))))
(build-system gnu-build-system)
(propagated-inputs
`(("glproto" ,glproto)
@@ -257,12 +264,10 @@ also known as DXTn or DXTC) for Mesa.")
"src/mesa/main/texcompress_s3tc.c")
(("\"libtxc_dxtn\\.so")
(string-append "\"" s2tc "/lib/libtxc_dxtn.so")))
- (substitute* "src/gallium/targets/egl-static/egl_st.c"
- (("\"libglapi\"")
- (string-append "\"" out "/lib/libglapi\"")))
(substitute* "src/loader/loader.c"
- (("dlopen\\(\"libudev\\.so")
- (string-append "dlopen(\"" udev "/lib/libudev.so")))
+ (("udev_handle = dlopen\\(name")
+ (string-append "udev_handle = dlopen(\""
+ udev "/lib/libudev.so\"")))
(substitute* "src/glx/dri_common.c"
(("dlopen\\(\"libGL\\.so")
(string-append "dlopen(\"" out "/lib/libGL.so")))
@@ -327,7 +332,12 @@ emulation to complete hardware acceleration for modern GPUs.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
- '(#:phases
+ '(;; XXX: fails to build against latest mesa:
+ ;; eglut.c: error: 'EGL_SCREEN_BIT_MESA' undeclared
+ ;;
+ ;; <https://bugs.freedesktop.org/show_bug.cgi?id=91643>
+ #:configure-flags '("--disable-egl")
+ #:phases
(modify-phases %standard-phases
(replace
'install
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 46a568631a..c5eea22845 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -57,36 +57,44 @@
(define dbus
(package
(name "dbus")
- (version "1.8.16")
+ (version "1.10.0")
(source (origin
- (method url-fetch)
- (uri
- (string-append "http://dbus.freedesktop.org/releases/dbus/dbus-"
- version ".tar.gz"))
- (sha256
- (base32
- "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz"))
- (patches (list (search-patch "dbus-localstatedir.patch")))))
+ ;; TODO: Apply patch from DBUS/ACTIVATION below.
+ (method url-fetch)
+ (uri (string-append
+ "http://dbus.freedesktop.org/releases/dbus/dbus-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags (list ;; Install the system bus socket under /var.
- "--localstatedir=/var"
-
- ;; XXX: Fix the following to allow system-wide
- ;; config.
- ;; "--sysconfdir=/etc"
-
- "--with-session-socket-dir=/tmp")
- #:phases (alist-cons-after
- 'install 'post-install
- (lambda* (#:key outputs #:allow-other-keys)
- ;; 'dbus-launch' bails out if the 'session.d' directory
- ;; below is missing, so create it along with its companion.
- (let ((out (assoc-ref outputs "out")))
- (mkdir (string-append out "/etc/dbus-1/session.d"))
- (mkdir (string-append out "/etc/dbus-1/system.d"))
- #t))
- %standard-phases)))
+ '(#:configure-flags
+ (list
+ ;; Install the system bus socket under /var.
+ "--localstatedir=/var"
+
+ ;; Install the session bus socket under /tmp.
+ "--with-session-socket-dir=/tmp"
+
+ ;; Use /etc/dbus-1 for system-wide config.
+ ;; Look for configuration file under
+ ;; /etc/dbus-1. This is notably required by
+ ;; 'dbus-daemon-launch-helper', which looks for
+ ;; the 'system.conf' file in that place,
+ ;; regardless of what '--config-file' was
+ ;; passed to 'dbus-daemon' on the command line;
+ ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
+ "--sysconfdir=/etc")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ ;; Don't try to create /var and /etc.
+ (system* "make"
+ "localstatedir=/tmp/dummy"
+ "sysconfdir=/tmp/dummy"
+ "install"))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@@ -116,10 +124,21 @@ or through unencrypted TCP/IP suitable for use behind a firewall with
shared NFS home directories.")
(license license:gpl2+))) ; or Academic Free License 2.1
+(define-public dbus/activation
+ ;; D-Bus with a patch to fix service activation.
+ ;; TODO: Merge with DBUS above.
+ (package
+ (inherit dbus)
+ (version (string-append (package-version dbus) ".a"))
+ (source (origin
+ (inherit (package-source dbus))
+ (patches
+ (list (search-patch "dbus-helper-search-path.patch")))))))
+
(define glib
(package
(name "glib")
- (version "2.44.1")
+ (version "2.46.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
@@ -127,7 +146,7 @@ shared NFS home directories.")
name "-" version ".tar.xz"))
(sha256
(base32
- "01yabrfp64i11mrks3p1gcks99lw0zm7f5vhkc53sl4amyndw4c8"))
+ "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
(patches (list (search-patch "glib-tests-homedir.patch")
(search-patch "glib-tests-desktop.patch")
(search-patch "glib-tests-prlimit.patch")
@@ -169,7 +188,8 @@ shared NFS home directories.")
;; Disable a test that requires dbus.
(substitute* "gio/tests/gdbus-serialization.c"
- (("g_test_add_func \\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
+ (("g_test_add_func \
+\\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
(string-append "/* " all " */"))))
%standard-phases)
@@ -207,14 +227,18 @@ dynamic loading, and an object system.")
(define gobject-introspection
(package
(name "gobject-introspection")
- (version "1.44.0")
+ (version "1.46.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
- (base32 "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g"))
+ (base32 "0cs27r18fga44ypp8icy62fwx6nh70r1bvhi4lzfn4w85cybsn36"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "tools/g-ir-tool-template.in"
+ (("#!/usr/bin/env @PYTHON@") "#!@PYTHON@")))
(patches (list
(search-patch "gobject-introspection-cc.patch")
(search-patch
@@ -258,7 +282,7 @@ bindings to call into the C library.")
(define intltool
(package
(name "intltool")
- (version "0.50.2")
+ (version "0.51.0")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/intltool/trunk/"
@@ -266,7 +290,7 @@ bindings to call into the C library.")
version ".tar.gz"))
(sha256
(base32
- "01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7"))))
+ "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7"))))
(build-system gnu-build-system)
(inputs
`(("file" ,file)))
@@ -382,7 +406,7 @@ by GDBus included in Glib.")
(define libsigc++
(package
(name "libsigc++")
- (version "2.4.1")
+ (version "2.6.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsigc++/"
@@ -390,7 +414,7 @@ by GDBus included in Glib.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1v0rvkzglzmf67y9nkcppwjwi68j1cy5yhldvcq7xrv8594l612l"))))
+ "06xyvxaaxh3nbpjg86gcq5zcc2qnpx354wcfrqlhbndkq5kj2vqq"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("m4" ,m4)))
@@ -409,7 +433,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm
(package
(name "glibmm")
- (version "2.44.0")
+ (version "2.46.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@@ -417,7 +441,7 @@ has an ease of use unmatched by other C++ callback libraries.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
- "1a1fczy7hcpn24fglyn4i79f4yjc8s50is70q03mb294bm1c02hv"))))
+ "1an4v1yk06svlmcyp1psk2a3bsn29s1a4gdx0ai2w788q6bfaiwn"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
@@ -491,7 +515,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
- (version "3.16.1")
+ (version "3.18.0")
(source
(origin
(method url-fetch)
@@ -500,7 +524,7 @@ useful for C++.")
"/pygobject-" version ".tar.xz"))
(sha256
(base32
- "1hqyma73w0lnjcgx68kawhnq84aq92xlkdqphrlc2ppia38dm5kx"))))
+ "1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
@@ -551,18 +575,30 @@ useful for C++.")
"telepathy-glib-" version ".tar.gz"))
(sha256
(base32
- "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"))))
+ "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"))
+ (patches
+ (list
+ ;; Don't use the same test name for multiple tests.
+ ;; <https://bugs.freedesktop.org/show_bug.cgi?id=92245>
+ (origin
+ (method url-fetch)
+ (uri "https://bugs.freedesktop.org/attachment.cgi?id=118608")
+ (file-name (string-append "telepathy-glib-duplicate-tests.patch"))
+ (sha256
+ (base32
+ "0z261fwrszxb28ccg3hsg9rizig4s84zvwmx6y31a4pyv7bvs5w3")))))))
(build-system gnu-build-system)
(native-inputs
`(("glib" ,glib "bin") ; uses glib-mkenums
+ ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
- ("python" ,python-2)))
- (inputs
+ ("python" ,python-2)
+ ("xsltproc" ,libxslt)))
+ (propagated-inputs
+ ;; There are all in the Requires.private field of telepathy-glib.pc.
`(("dbus" ,dbus)
("dbus-glib" ,dbus-glib)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)
- ("libxslt" ,libxslt)))
+ ("glib" ,glib)))
(home-page "http://telepathy.freedesktop.org/wiki/")
(synopsis "GLib Real-time communications framework over D-Bus")
(description "Telepathy is a flexible, modular communications framework
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5440433402..c17dd19802 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,22 +36,27 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages calendar)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages djvu)
+ #:use-module (gnu packages dns)
#:use-module (gnu packages flex)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages enchant)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages guile)
#:use-module (gnu packages pdf)
#:use-module (gnu packages polkit)
@@ -64,6 +70,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages image)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
@@ -90,6 +97,7 @@
#:use-module (gnu packages video)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages samba)
+ #:use-module (gnu packages readline)
#:use-module (srfi srfi-1))
(define-public brasero
@@ -104,7 +112,7 @@
(sha256
(base32
"09vi2hyhl0bz7imv3ky6h7x5m3d546n968wcghydwrkvwm9ylpls"))))
- (build-system gnu-build-system)
+ (build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list
(string-append "--with-girdir="
@@ -166,7 +174,7 @@ commonly used macros.")
(define-public gnome-desktop
(package
(name "gnome-desktop")
- (version "3.16.2")
+ (version "3.18.1")
(source
(origin
(method url-fetch)
@@ -175,18 +183,21 @@ commonly used macros.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1l3v48i2w90i2cc056j4km9jb23axxgzpf5gl8xvv7gb8rmik3rs"))))
+ "0avpmyhzz5b3pyfpkp8iq5ym5r5w7zs3a396hqkdpdsiym0vrazc"))))
(build-system gnu-build-system)
(native-inputs
- `(("itstool" ,itstool)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("itstool" ,itstool)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)))
+ (propagated-inputs
+ ;; Required by gnome-desktop-3.0.pc.
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)))
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
("iso-codes" ,iso-codes)
("libx11" ,libx11)
("libxext" ,libxext)
@@ -240,7 +251,7 @@ and keep up to date translations of documentation.")
(define-public gcr
(package
(name "gcr")
- (version "3.16.0")
+ (version "3.18.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -248,7 +259,7 @@ and keep up to date translations of documentation.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0xfhi0w358lvca1jjx24x2gm67mif33dsnmi9cv5i0f83ks8vzpc"))))
+ "006f6xbd3jppkf9avg83mpqdld5d0z6mr0sm81lql52mmyjnvlfl"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
@@ -267,7 +278,9 @@ and keep up to date translations of documentation.")
`(("python" ,python-2) ;for tests
("pkg-config" ,pkg-config)
("glib" ,glib "bin")
- ("intltool" ,intltool)))
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("xsltproc" ,libxslt)))
;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
(propagated-inputs
`(("p11-kit" ,p11-kit)
@@ -284,7 +297,7 @@ GNOME Desktop.")
(define-public libgnome-keyring
(package
(name "libgnome-keyring")
- (version "3.6.0")
+ (version "3.12.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -292,7 +305,7 @@ GNOME Desktop.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
+ "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
(build-system gnu-build-system)
(inputs
`(("libgcrypt" ,libgcrypt)
@@ -382,7 +395,7 @@ forgotten when the session ends.")
(define-public evince
(package
(name "evince")
- (version "3.16.1")
+ (version "3.18.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -390,7 +403,7 @@ forgotten when the session ends.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0c31pwfzfm5x036f018q31k33vl8xb96nbs0iiccsc1abc37bzq6"))))
+ "0cccmbvl1b6d2976642iyfr8g3r69zf3mzl2ln6vjvvdbrv26l3v"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus")
@@ -446,7 +459,7 @@ on the GNOME Desktop with a single simple application.")
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
- (version "3.16.0")
+ (version "3.18.0")
(source
(origin
(method url-fetch)
@@ -455,7 +468,7 @@ on the GNOME Desktop with a single simple application.")
name "-" version ".tar.xz"))
(sha256
(base32
- "02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16"))))
+ "1szc857f46spdhrbnq9ci3kwfqg5vwpikbf0hprq6vd94rr369xs"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)))
@@ -669,7 +682,7 @@ some form of information without getting in the user's way.")
(define-public libpeas
(package
(name "libpeas")
- (version "1.12.1")
+ (version "1.16.0")
(source
(origin
(method url-fetch)
@@ -678,7 +691,7 @@ some form of information without getting in the user's way.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1mjjjjwphc83bjznmbsm7x0jg7ql261nys6qnl7mi0nkr4qvw476"))))
+ "0kj5n5hz93xq7qdb2r7n86nibzwqjr88jxaih1fdbxv5rn7014xh"))))
(build-system gnu-build-system)
(inputs
`(("atk" ,atk)
@@ -732,14 +745,15 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(define-public glade3
(package
(name "glade")
- (version "3.8.4")
+ (version "3.8.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "3-" version ".tar.xz"))
(sha256
- (base32 "021xgq2l18w3rvwms9aq2idm0fk66vwb4f777gs0qh3ap5shgbn7"))))
+ (base32
+ "0d97df5pfkrh5670a98r3d3w8zlbh1jcax6cvq6j6a20vzjgd9aq"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+-2)
@@ -821,7 +835,7 @@ dealing with different structured file formats.")
(define-public librsvg
(package
(name "librsvg")
- (version "2.40.10")
+ (version "2.40.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -829,7 +843,9 @@ dealing with different structured file formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0y9lvnb9ij9mjg8cyp7xysi0c5ms5v4q1zrhx42b546f71s80p4n"))))
+ "00ifd9wjjjsw0ybk5j6qs4yyh66jj34hjmggy6dhrgfy8ksw06k1"))
+ (patches
+ (list (search-patch "librsvg-tests.patch")))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -919,23 +935,26 @@ functionality was designed to be as reusable and portable as possible.")
(source (origin
(method url-fetch)
(uri (let ((upstream-name "ORBit2"))
- (string-append "mirror://gnome/sources/" upstream-name "/"
+ (string-append "mirror://gnome/sources/" upstream-name "/"
(version-major+minor version) "/"
upstream-name "-" version ".tar.bz2")))
(sha256
- (base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
+ (base32
+ "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
(build-system gnu-build-system)
(arguments
- ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
- `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
- ;; ... which they then completly ignore !!
- #:phases
- (alist-cons-before
- 'configure 'ignore-deprecations
- (lambda _
- (substitute* "linc2/src/Makefile.in"
- (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
- %standard-phases)))
+ `(#:configure-flags
+ ;; The programmer kindly gives us a hook to turn off deprecation
+ ;; warnings ...
+ '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
+ ;; ... which they then completly ignore !!
+ #:phases
+ (alist-cons-before
+ 'configure 'ignore-deprecations
+ (lambda _
+ (substitute* "linc2/src/Makefile.in"
+ (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
+ %standard-phases)))
(inputs `(("glib" ,glib)
("libidl" ,libidl)))
(native-inputs
@@ -944,9 +963,9 @@ functionality was designed to be as reusable and portable as possible.")
(synopsis "CORBA 2.4-compliant Object Request Broker")
(description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
featuring mature C, C++ and Python bindings.")
- ;; Licence notice is unclear. The Web page simply say "GPL" without giving a version.
- ;; SOME of the code files have licence notices for GPLv2+
- ;; The tarball contains files of the text of GPLv2 and LGPLv2
+ ;; Licence notice is unclear. The Web page simply say "GPL" without giving
+ ;; a version. SOME of the code files have licence notices for GPLv2+.
+ ;; The tarball contains files of the text of GPLv2 and LGPLv2.
(license license:gpl2+)))
@@ -1003,9 +1022,9 @@ use in GNOME applications, built on top of CORBA.")
(version "3.2.6")
(source (origin
(method url-fetch)
- (uri
- (let ((upstream-name "GConf"))
- (string-append "mirror://gnome/sources/" upstream-name "/"
+ (uri
+ (let ((upstream-name "GConf"))
+ (string-append "mirror://gnome/sources/" upstream-name "/"
(version-major+minor version) "/"
upstream-name "-" version ".tar.xz")))
(sha256
@@ -1204,6 +1223,8 @@ creating interactive structured graphics.")
(base32
"0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
(propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
(native-inputs
`(("gtkmm-2" ,gtkmm-2)
@@ -1437,14 +1458,14 @@ Hints specification (EWMH).")
(define-public goffice
(package
(name "goffice")
- (version "0.10.14")
+ (version "0.10.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "0kj0iwng6w4axm7yv2zy7myn5dhw5ilrlq2pzrjlm9i852ikqy60"))))
+ (base32 "0nmghi26dpjcw7knkviq031crhm0zjy4k650pv1jj3hb1fmhx9yd"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+)
@@ -1494,7 +1515,7 @@ Hints specification (EWMH).")
(define-public gnumeric
(package
(name "gnumeric")
- (version "1.12.17")
+ (version "1.12.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1502,31 +1523,36 @@ Hints specification (EWMH).")
name "-" version ".tar.xz"))
(sha256
(base32
- "18bvc3phghr4p5440fp8hm6gvp53d3mqs9cyc637zpmk0b6bcp7c"))))
+ "0lcm8k0jb8rd5y4ii803f21nv8rx6gc3mmdlrj5h0rkkn9qm57f5"))))
(build-system gnu-build-system)
(arguments
`(;; The gnumeric developers don't worry much about failing tests.
;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
#:tests? #f
#:phases
- (alist-cons-before
- 'configure 'pre-conf
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make install tries to write into the directory of goffice
- ;; I am informed that this only affects the possibility to embed a
- ;; spreadsheet inside an Abiword document. So presumably when we
- ;; package Abiword we'll have to refer it to this directory.
- (substitute* "configure"
- (("^GOFFICE_PLUGINS_DIR=.*")
- (string-append "GOFFICE_PLUGINS_DIR="
- (assoc-ref outputs "out") "/goffice/plugins"))))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'pre-conf
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make install tries to write into the directory of goffice
+ ;; I am informed that this only affects the possibility to embed a
+ ;; spreadsheet inside an Abiword document. So presumably when we
+ ;; package Abiword we'll have to refer it to this directory.
+ (substitute* "configure"
+ (("^GOFFICE_PLUGINS_DIR=.*")
+ (string-append "GOFFICE_PLUGINS_DIR="
+ (assoc-ref outputs "out")
+ "/goffice/plugins"))))))))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
("goffice" ,goffice)
("libgsf" ,libgsf)
+ ("librsvg" ,librsvg)
("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("python" ,python-2)
+ ("python2-pygobject", python2-pygobject-2)
("zlib" ,zlib)))
(native-inputs
`(("intltool" ,intltool)
@@ -1547,9 +1573,7 @@ engineering.")
(define-public gnome-themes-standard
(package
(name "gnome-themes-standard")
- ;; The version of this package should be the same as the version of
- ;; gnome-desktop.
- (version (package-version gnome-desktop))
+ (version "3.18.0")
(source
(origin
(method url-fetch)
@@ -1558,7 +1582,7 @@ engineering.")
version ".tar.xz"))
(sha256
(base32
- "17sbcpc9df1cnz84g3npvh1na65mkxaygqcdma6wvda4knjpkssr"))))
+ "1jxss8kxszhf66vic9n1sagczm5amm0mgxpzyxyjna15q82fnip6"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+)
@@ -1625,7 +1649,7 @@ passwords in the GNOME keyring.")
(define-public vala
(package
(name "vala")
- (version "0.28.0")
+ (version "0.30.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1633,14 +1657,16 @@ passwords in the GNOME keyring.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0zwpzhkhfk3piya14m7p2hl2vaabahprphppfm46ci91z39kp7hd"))))
+ "1pyyhfw3zzbhxfscbn8xz70dg6vx0kh8gshzikpxczhg01xk7w31"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-before 'check 'set-cc
+ (add-before 'check 'pre-check
(lambda _
(setenv "CC" "gcc")
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1663,7 +1689,7 @@ libraries written in C.")
(define-public vte
(package
(name "vte")
- (version "0.40.0")
+ (version "0.42.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1671,7 +1697,7 @@ libraries written in C.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0lnq0bgkmsixjwmfacb2ch9qfjqjxa8zkk1hiv3l29kgca0n3nal"))))
+ "0d4xzjq6mxrlhnh4i12a1yy90n41m03z8wf8g6wh4hjgx7ly404y"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1692,6 +1718,27 @@ gnome-terminal, but can also be used to embed a console/terminal in games,
editors, IDEs, etc.")
(license license:lgpl2.1+)))
+;; provides vte 2.90, required for some terminal emulators
+;; tilda bug: https://github.com/lanoxx/tilda/issues/94
+;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
+;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
+;; pantheon-terminal, roxterm are not currently packaged
+(define-public vte-0.36
+ (package (inherit vte)
+ (name "vte")
+ (version "0.36.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
+ (propagated-inputs
+ `(("gtk" ,gtk+)
+ ("ncurses" ,ncurses)))))
+
;; stable version for gtk2, required by xfce4-terminal.
(define-public vte/gtk+-2
(package (inherit vte)
@@ -1771,7 +1818,7 @@ configuration storage systems.")
(define-public json-glib
(package
(name "json-glib")
- (version "1.0.2")
+ (version "1.0.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1779,7 +1826,14 @@ configuration storage systems.")
name "-" version ".tar.xz"))
(sha256
(base32
- "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8"))))
+ "1k85vvb2prmk8aa8hmr2rp9rnbhffjgnmr18b13g24xxnqy5kww0"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Don't duplicate test names.
+ ;; <https://bugzilla.gnome.org/show_bug.cgi?id=755977>.
+ '(substitute* "json-glib/tests/builder.c"
+ (("\"/builder/complex\", test_builder_empty")
+ "\"/builder/empty\", test_builder_empty")))))
(build-system gnu-build-system)
(native-inputs
`(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
@@ -1871,7 +1925,7 @@ library.")
(define-public glib-networking
(package
(name "glib-networking")
- (version "2.44.0")
+ (version "2.46.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glib-networking/"
@@ -1879,7 +1933,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg"))
+ "1cchmi08jpjypgmm9i7xzh5qfg2q5k61kry9ns8mhw3z44a440ym"))
(patches
(list (search-patch "glib-networking-ssl-cert-file.patch")))))
(build-system gnu-build-system)
@@ -1953,7 +2007,7 @@ libxml to ease remote use of the RESTful API.")
(define-public libsoup
(package
(name "libsoup")
- (version "2.50.0")
+ (version "2.52.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsoup/"
@@ -1961,18 +2015,14 @@ libxml to ease remote use of the RESTful API.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y"))))
+ "0j6cnnpqqgnb9nj2r0j8j6898np4z503hrnpis7b4l5d8yhbq68f"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
`(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
- "/share/gtk-doc/html")
- ;; To find GIO modules from glib-networking.
- (string-append "GIO_EXTRA_MODULES="
- (assoc-ref %build-inputs "glib-networking")
- "/lib/gio/modules"))
+ "/share/gtk-doc/html"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'disable-unconnected-socket-test
@@ -1990,13 +2040,22 @@ libxml to ease remote use of the RESTful API.")
;; The ca-certificates.crt is not available in the build
;; environment.
(setenv "SSL_CERT_FILE" "/dev/null")
- #t)))))
+ #t))
+ (replace 'install
+ (lambda _
+ (zero?
+ (system* "make"
+ ;; Install vala bindings into $out.
+ (string-append "vapidir=" %output
+ "/share/vala/vapi")
+ "install")))))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
+ ("vala" ,vala)
;; These are needed for the tests.
;; FIXME: Add PHP once available.
("curl" ,curl)
@@ -2018,15 +2077,16 @@ and the GLib main loop, to integrate well with GNOME applications.")
(define-public libsecret
(package
(name "libsecret")
- (version "0.18")
+ (version "0.18.3")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://gnome/sources/libsecret/" version "/"
+ "mirror://gnome/sources/libsecret/"
+ (version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1qq29c01xxjyx5sl6y5h22w8r0ff4c73bph3gfx3h7mx5mvalwqc"))))
+ "1jc4pw6pb5igwasj0ms1zx80w63c11myziz3ydj0cr5lb861vgzj"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -2210,6 +2270,7 @@ keyboard shortcuts.")
("lcms" ,lcms)))
(inputs
`(("dbus-glib" ,dbus-glib)
+ ("libgudev" ,libgudev)
("libusb" ,libusb)
("sqlite" ,sqlite)
("polkit" ,polkit)
@@ -2282,8 +2343,7 @@ permission from user.")
(arguments
`(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
;; work for the builder. Punt.
- #:tests? #f
- ))
+ #:tests? #f))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
@@ -2306,14 +2366,14 @@ faster results and to avoid unnecessary server load.")
(define-public upower
(package
(name "upower")
- (version "0.99.2")
+ (version "0.99.3")
(source (origin
(method url-fetch)
(uri (string-append "http://upower.freedesktop.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79"))
+ "0f6x9mi1jzgqdpycaikyhjljnw3aacsl3gxndyg0dfqkq6y9jwb9"))
(patches (list (search-patch "upower-builddir.patch")))))
(build-system glib-or-gtk-build-system)
(arguments
@@ -2336,7 +2396,8 @@ faster results and to avoid unnecessary server load.")
(substitute* "src/linux/integration-test"
(("/usr/bin/python3") (which "python3"))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
("intltool" ,intltool)
("python" ,python)))
(inputs
@@ -2355,7 +2416,7 @@ service via the system message bus.")
(define-public libgweather
(package
(name "libgweather")
- (version "3.16.0")
+ (version "3.18.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2363,22 +2424,26 @@ service via the system message bus.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0x1z6wv7hdw2ivlkifcbd940zyrnvqvc4zh2drgvd2r6jmd7bjza"))))
+ "1l3sra84k5dnavbdbjyf1ar84xmjszpnnldih6mf45kniwpjkcll"))))
(build-system gnu-build-system)
(arguments
- `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
- ;; work for the builder. Punt.
- #:tests? #f
- #:configure-flags
- `(;; No introspection for now, as it wants to install to
- ;; gobject-introspection's own directory and I don't know how to easily
- ;; override this.
- "--enable-introspection=no"
- ,(string-append "--with-zoneinfo-dir="
- (assoc-ref %build-inputs "tzdata")
- "/share/zoneinfo"))))
+ `(#:configure-flags
+ `(,(string-append "--with-zoneinfo-dir="
+ (assoc-ref %build-inputs "tzdata")
+ "/share/zoneinfo"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "data/check-timezones.sh"
+ (("/usr/share/zoneinfo/zone.tab")
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo/zone.tab")))
+ #t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(propagated-inputs
@@ -2555,7 +2620,7 @@ throughout GNOME for API documentation).")
(define-public cogl
(package
(name "cogl")
- (version "1.20.0")
+ (version "1.22.0")
(source
(origin
(method url-fetch)
@@ -2564,7 +2629,7 @@ throughout GNOME for API documentation).")
name "-" version ".tar.xz"))
(sha256
(base32
- "0aqrj7gc0x7v536vdycgn2i23fj3nx3qwdd3mwgx7rr9b14kb7kj"))))
+ "14daxqrid5039xmq9yl4pk86awng1n9zgl6ysblhc4gw2ifzp7b8"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
@@ -2622,7 +2687,7 @@ without stepping on each others toes.")
(define-public clutter
(package
(name "clutter")
- (version "1.22.2")
+ (version "1.24.2")
(source
(origin
(method url-fetch)
@@ -2631,7 +2696,7 @@ without stepping on each others toes.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1b0ikh9q3c3qnny3kbvhqih35449q8ajcbh7zkm8k3kykwfx4scf"))))
+ "0qyd0cw17wi8gl6y9z2j2lh2gwghxskfmsdvw4ayrgxwnj6cjccn"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;9 MiB of gtk-doc HTML pages
@@ -3176,7 +3241,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
(define-public gvfs
(package
(name "gvfs")
- (version "1.24.1")
+ (version "1.26.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3184,7 +3249,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1ygiknnd24qgzds8wif3jns981mqr65lgjlxs5pw65cl3376g0yk"))))
+ "064dsjrdjcbi38zl38jhh4r9jcpiygg7x4c8s6s2rb757l7nwnv9"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; XXX: requiring `pidof'
@@ -3199,6 +3264,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
("docbook-xsl" ,docbook-xsl)
("dbus" ,dbus)
("fuse" ,fuse)
+ ("gcr" ,gcr)
("glib" ,glib)
("libarchive" ,libarchive)
("libbluray" ,libbluray)
@@ -3262,7 +3328,7 @@ DAV, and others.")
(and (zero? (system* "gtkdocize"))
(zero? (system* "autoreconf" "-vif"))))))))
(home-page "https://github/hughsie/libgusb")
- (synopsis "A GLib binding for libusb1")
+ (synopsis "GLib binding for libusb1")
(description
"GUsb is a GObject wrapper for libusb1 that makes it easy to do
asynchronous control, bulk and interrupt transfers with proper cancellation
@@ -3659,3 +3725,537 @@ environment that allows users to view, unpack, and create compressed archives
such as gzip tarballs.")
(home-page "http://fileroller.sourceforge.net/")
(license license:gpl2+)))
+
+(define-public gnome-session
+ (package
+ (name "gnome-session")
+ (version "3.18.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0icajbzqf5llvp5s8nafwkhwz6a6jmwn4hhs81bk0bpzawyq4zdk"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ ("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)
+ ("xsltproc" ,libxslt)))
+ (inputs
+ `(("gnome-desktop" ,gnome-desktop)
+ ("gtk+" ,gtk+)
+ ("json-glib" ,json-glib)
+ ("libsm" ,libsm)
+ ("libxcomposite" ,libxcomposite)
+ ("libxtst" ,libxtst)
+ ("mesa" ,mesa)
+ ("upower" ,upower)
+ ("xtrans" ,xtrans)))
+ (synopsis "Session manager for GNOME")
+ (description
+ "This package contains the GNOME session manager, as well as a
+configuration program to choose applications starting on login.")
+ (home-page "https://wiki.gnome.org/Projects/SessionManagement")
+ (license license:gpl2+)))
+
+(define-public gjs
+ (package
+ (name "gjs")
+ (version "1.44.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "106fgpr4y99sj68l72pnfa2za11ps4bn6p9z28fr79j7mpv61jc8"))
+ (modules '((guix build utils)))
+ (snippet '(substitute* "test/run-with-dbus"
+ (("/bin/rm") "rm")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'check 'pre-check
+ (lambda _
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t)))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-resources
+ ("pkg-config" ,pkg-config)
+ ("xmllint" ,libxml2)
+ ;; For testing
+ ("dbus-launch" ,dbus)
+ ("uuidgen" ,util-linux)
+ ("xvfb" ,xorg-server)))
+ (propagated-inputs
+ ;; These are all in the Requires.private field of gjs-1.0.pc.
+ `(("gobject-introspection" ,gobject-introspection)
+ ("mozjs" ,mozjs-24)))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("readline" ,readline)))
+ (synopsis "Javascript bindings for GNOME")
+ (home-page "http://live.gnome.org/Gjs")
+ (description
+ "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
+javascript engine and the GObject introspection framework.")
+ (license license:gpl2+)))
+
+(define-public gedit
+ (package
+ (name "gedit")
+ (version "3.18.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1kb3hglcppap7fdy7i7w2wk746kfz77jzs2lq6vrna8a3fqaxmas"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'install 'wrap-gedit
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gtksourceview (assoc-ref inputs "gtksourceview"))
+ (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+ (wrap-program (string-append out "/bin/gedit")
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+ ;; For language-specs.
+ `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
+ "/share")))))
+ #t)))))
+ (propagated-inputs
+ `(("dconf" ,dconf)))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("itstool", itstool)
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("libpeas" ,libpeas)
+ ("libxml2" ,libxml2)
+ ("enchant" ,enchant)
+ ("iso-codes" ,iso-codes)
+ ("python-pygobject" ,python-pygobject)
+ ("python" ,python)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("libx11" ,libx11)
+ ("vala" ,vala)
+ ("adwaita-icon-theme" ,adwaita-icon-theme)
+ ("libsoup" ,libsoup)
+ ("gnome-desktop" ,gnome-desktop)))
+ (home-page "https://wiki.gnome.org/Apps/Gedit")
+ (synopsis "GNOME text editor")
+ (description "While aiming at simplicity and ease of use, gedit is a
+powerful general purpose text editor.")
+ (license license:gpl2+)))
+
+(define-public zenity
+ (package
+ (name "zenity")
+ (version "3.18.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "02m88dfm1rziqk2ywakwib06wl1rxangbzih6cp8wllbyl1plcg6"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gnu-gettext)
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libnotify" ,libnotify)
+ ("webkitgtk" ,webkitgtk)))
+ (synopsis "Display graphical dialog boxes from shell scripts")
+ (home-page "http://www.gnome.org")
+ (description
+ "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
+to display dialog boxes from the commandline and shell scripts.")
+ (license license:lgpl2.0+)))
+
+(define-public mutter
+ (package
+ (name "mutter")
+ (version "3.18.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1ab959z5fgi4rq0ifxdqvpdbv99a2b1lfgvj327s9crdvk4ygpjg"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; XXX: build fails with [-Werror]:
+ ;; backends/meta-cursor-renderer.c:112:5: error:
+ ;; implicit declaration of function ?roundf?
+ '("--enable-compile-warnings=minimum")))
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ ;; libmutter.pc refers to all these.
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("clutter" ,clutter)))
+ (inputs
+ `(("gnome-desktop" ,gnome-desktop)
+ ("libcanberra-gtk" ,libcanberra)
+ ("libice" ,libice)
+ ("libsm" ,libsm)
+ ("libxkbcommon" ,libxkbcommon)
+ ("libxkbfile" ,libxkbfile)
+ ("mesa-headers" ,mesa-headers)
+ ("startup-notification" ,startup-notification)
+ ("upower-glib" ,upower)
+ ("xkeyboard-config" ,xkeyboard-config)
+ ("zenity" ,zenity)))
+ (synopsis "Window and compositing manager")
+ (home-page "http://www.gnome.org")
+ (description
+ "Mutter is a window and compositing manager that displays and manages your
+desktop via OpenGL. Mutter combines a sophisticated display engine using the
+Clutter toolkit with solid window-management logic inherited from the Metacity
+window manager.")
+ (license license:gpl2+)))
+
+(define-public gnome-online-accounts
+ (package
+ (name "gnome-online-accounts")
+ (version "3.18.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1hn2fvkr1f4qh4gix03avnvk7pklvv5272ns8ws56v4kcq4nppkc"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
+ (propagated-inputs
+ `(("glib" ,glib) ; required by goa-1.0.pc
+ ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
+ (inputs
+ `(("docbook-xsl" ,docbook-xsl)
+ ("json-glib" ,json-glib)
+ ("libsecret" ,libsecret)
+ ("rest" ,rest)
+ ("telepathy-glib" ,telepathy-glib)
+ ("webkitgtk" ,webkitgtk)))
+ (synopsis "Single sign-on framework for GNOME")
+ (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
+ (description
+ "GNOME Online Accounts provides interfaces so that applications and
+libraries in GNOME can access the user's online accounts. It has providers for
+Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
+Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
+ (license license:lgpl2.0+)))
+
+(define-public evolution-data-server
+ (package
+ (name "evolution-data-server")
+ (version "3.18.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "16yfd2a00xqxikyf6pi2awfd0qfq4hwdhfar88axrb4mycfgqhjr"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(;; XXX: fails with:
+ ;; /Fixture/Calendar0: cleaning up pid xxxx
+ ;; t status: 139)
+ #:tests? #f
+ #:configure-flags
+ (let ((nss (assoc-ref %build-inputs "nss"))
+ (nspr (assoc-ref %build-inputs "nspr")))
+ (list "--disable-uoa" ; disable Ubuntu Online Accounts support
+ "--disable-google" ; disable Google Contacts support
+ (string-append "--with-nspr-includes=" nspr "/include/nspr")
+ (string-append "--with-nss-includes=" nss "/include/nss")
+ (string-append "--with-nss-libs=" nss "/lib/nss")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (substitute* "tests/test-server-utils/e-test-server-utils.c"
+ (("/bin/rm") (which "rm")))
+ #t)))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
+ ("gobject-introspection" ,gobject-introspection)
+ ("gperf" ,gperf)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)))
+ (propagated-inputs
+ ;; These are all in the Requires field of .pc files.
+ `(("gtk+" ,gtk+)
+ ("libical" ,libical)
+ ("libsecret" ,libsecret)
+ ("libsoup" ,libsoup)
+ ("nss" ,nss)
+ ("sqlite" ,sqlite)))
+ (inputs
+ `(("bdb" ,bdb)
+ ("gcr" ,gcr)
+ ("gnome-online-accounts" ,gnome-online-accounts)
+ ("libgweather" ,libgweather)))
+ (synopsis "Store address books and calendars")
+ (home-page "https://wiki.gnome.org/Apps/Evolution")
+ (description
+ "This package provides a unified backend for programs that work with
+contacts, tasks, and calendar information. It was originally developed for
+Evolution (hence the name), but is now used by other packages as well.")
+ (license license:lgpl2.0)))
+
+(define-public caribou
+ (package
+ (name "caribou")
+ (version "0.4.19")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0i2s2xy9ami3wslam15cajhggpcsj4c70qm7qddcz52z9k0x02rg"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'build 'pre-build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Use absolute shared library path in Caribou-1.0.typelib.
+ (substitute* "libcaribou/Makefile"
+ (("--shared-library=libcaribou.so")
+ (string-append "--shared-library="
+ out "/lib/libcaribou.so")))
+ #t)))
+ (add-after 'install 'wrap-programs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (python-path (getenv "PYTHONPATH"))
+ (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+ (for-each
+ (lambda (prog)
+ (wrap-program prog
+ `("PYTHONPATH" ":" prefix (,python-path))
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
+ (list (string-append out "/bin/caribou-preferences")
+ (string-append out "/libexec/antler-keyboard"))))
+ #t)))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-2) ; incompatible with Python 3 (print syntax)
+ ("vala" ,vala)
+ ("xsltproc" ,libxslt)))
+ (propagated-inputs
+ ;; caribou-1.0.pc refers to all these.
+ `(("libgee" ,libgee)
+ ("libxklavier" ,libxklavier)
+ ("libxtst" ,libxtst)
+ ("gtk+" ,gtk+)))
+ (inputs
+ `(("clutter" ,clutter)
+ ("dconf" ,dconf)
+ ("gtk+-2" ,gtk+-2)
+ ("python-pygobject" ,python2-pygobject)))
+ (synopsis "Text entry and UI navigation application")
+ (home-page "https://wiki.gnome.org/Projects/Caribou")
+ (description
+ "Caribou is an input assistive technology intended for switch and pointer
+users.")
+ (license license:lgpl2.1)))
+
+(define %network-manager-glib-duplicate-test-patch
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://cgit.freedesktop.org/NetworkManager/NetworkManager/"
+ "patch/libnm-core/tests/test-general.c"
+ "?id=874f455d6d47c5a34ed9861a6710f4b78202e0d6"))
+ (file-name "network-manager-glib-duplicate-test.patch")
+ (sha256
+ (base32
+ "1v0vpxzf0p0b1y5lmq8w7rjndp216gr60nbf2dpdz5rgxx3p3ml6"))))
+
+(define-public network-manager
+ (package
+ (name "network-manager")
+ (version "1.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/NetworkManager/"
+ (version-major+minor version) "/"
+ "NetworkManager-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1galh9j95yw33iv1jj8zz0h88ahx8gm5mqmam7zq9f730cj01siq"))
+ (patches (list %network-manager-glib-duplicate-test-patch))))
+ (build-system gnu-build-system)
+ (outputs '("out"
+ "doc")) ; 8 MiB of gtk-doc HTML
+ (arguments
+ '(#:configure-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (doc (assoc-ref %outputs "doc"))
+ (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
+ "/sbin/dhclient")))
+ (list "--with-crypto=gnutls"
+ "--disable-config-plugin-ibft"
+ "--sysconfdir=/etc"
+ "--localstatedir=/var"
+ (string-append "--with-udev-dir="
+ out "/lib/udev")
+ (string-append "--with-dbus-sys-dir="
+ out "/etc/dbus-1/system.d")
+ (string-append "--with-html-dir="
+ doc "/share/gtk-doc/html")
+ (string-append "--with-dhclient=" dhclient)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))
+ (replace 'install
+ (lambda _
+ (zero? (system* "make"
+ "sysconfdir=/tmp"
+ "localstatedir=/tmp"
+ "install")))))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for gdbus-codegen
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ;; For testing.
+ ("python" ,python-wrapper)
+ ("python-dbus" ,python-dbus)
+ ("python-pygobject" ,python-pygobject)))
+ (inputs
+ `(("dbus-glib" ,dbus-glib)
+ ("dnsmasq" ,dnsmasq)
+ ("gnutls" ,gnutls)
+ ("iptables" ,iptables)
+ ("isc-dhcp" ,isc-dhcp)
+ ("libgcrypt" ,libgcrypt)
+ ("libgudev" ,libgudev)
+ ("libndp" ,libndp)
+ ("libnl" ,libnl)
+ ("libsoup" ,libsoup)
+ ("polkit" ,polkit)
+ ("ppp" ,ppp)
+ ("readline" ,readline)
+ ("util-linux" ,util-linux)))
+ (synopsis "Network connection manager")
+ (home-page "http://www.gnome.org/projects/NetworkManager/")
+ (description
+ "NetworkManager is a system network service that manages your network
+devices and connections, attempting to keep active network connectivity when
+available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
+devices, and provides VPN integration with a variety of different VPN
+services.")
+ (license license:gpl2+)))
+
+(define-public network-manager-applet
+ (package
+ (name "network-manager-applet")
+ (version "1.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1yj0m6fb9v12d0di0rfmk3hx1vmygjkiff2c476rf792sbh56kax"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments '(#:configure-flags '("--disable-migration")))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ ;; libnm-gtk.pc refers to all these.
+ `(("dbus-glib" ,dbus-glib)
+ ("gtk+" ,gtk+)
+ ("network-manager" ,network-manager)))
+ (inputs
+ `(("iso-codes" ,iso-codes)
+ ("libgudev" ,libgudev)
+ ("libnotify" ,libnotify)
+ ("libsecret" ,libsecret)))
+ (synopsis "Applet for managing network connections")
+ (home-page "http://www.gnome.org/projects/NetworkManager/")
+ (description
+ "This package contains a systray applet for NetworkManager. It displays
+the available networks and allows users to easily switch between them.")
+ (license license:gpl2+)))
+
+(define-public libxml++
+ (package
+ (name "libxml++")
+ (version "2.91.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0h4h7hhh9lg8h34py116517m3wqbzhd5v63k1c6pp1p2a43s18fs"))))
+ (build-system gnu-build-system)
+ ;; libxml++-3.0.pc refers to all these.
+ (propagated-inputs
+ `(("libxml2" ,libxml2)
+ ("glibmm" ,glibmm)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://libxmlplusplus.sourceforge.net/")
+ (synopsis "C++ wrapper for XML parser library libxml2")
+ (description
+ "This package provides a C++ wrapper for the XML parser library
+libxml2.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 42d19af8f4..e252f98f94 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -37,7 +37,7 @@
(define-public gnucash
(package
(name "gnucash")
- (version "2.6.6")
+ (version "2.6.9")
(source
(origin
(method url-fetch)
@@ -45,7 +45,7 @@
version ".tar.bz2"))
(sha256
(base32
- "103ir5qg6k8m2mmg9b99c3gn8myxh1gsqyr0mfhmrhqya68wfdr3"))
+ "0iw25l1kv60cg6fd2vg11mcvzmjqnc5p9lp3rjy06ghkjfrn3and"))
(patches (list (search-patch "gnucash-price-quotes-perl.patch")))))
(build-system gnu-build-system)
(inputs
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 9b273ace7b..2a4c5cfeed 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +30,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages groff)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages libidn)
#:use-module (gnu packages image)
@@ -45,6 +47,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define-public libextractor
@@ -111,14 +114,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
- (version "0.9.44")
+ (version "0.9.47")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
- "07j1p21rvbrrfpxngk8xswzkmjkh94bp1971xfjh1p0ja709qwzj"))))
+ "1335kznai5ih3kmavl1707sr4sakk0cc0srl5aax77x0a91spgcn"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@@ -250,3 +253,36 @@ applications. In particular, GNUnet now includes the GNU Name System, a
privacy-preserving, decentralized public key infrastructure.")
(license license:gpl3+)
(home-page "https://gnunet.org/")))
+
+(define-public guile-gnunet ;GSoC 2015!
+ (let ((commit "383eac2"))
+ (package
+ (name "guile-gnunet")
+ (version (string-append "0.0." commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.sv.gnu.org/guix/gnunet.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0k6mn28isjlxrnvbnblab3nh2xqx1b7san8k98kc35ap9lq0iz8w"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi")))))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("autoconf" ,(autoconf-wrapper))
+ ("automake" ,automake)))
+ (inputs `(("guile" ,guile-2.0)
+ ("gnunet" ,gnunet)))
+ (synopsis "Guile bindings for GNUnet services")
+ (description
+ "This package provides Guile bindings to the client libraries of various
+GNUnet services, including the @dfn{identity} and @dfn{file sharing}
+services.")
+ (home-page "http://gnu.org/software/guix")
+ (license license:gpl3+))))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 333e88362b..af01749545 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
(define-module (gnu packages gnupg)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages adns)
#:use-module (gnu packages curl)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
@@ -31,6 +33,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages tls)
@@ -110,7 +113,7 @@ generation.")
(define-public libassuan
(package
(name "libassuan")
- (version "2.2.1")
+ (version "2.4.2")
(source
(origin
(method url-fetch)
@@ -118,7 +121,7 @@ generation.")
version ".tar.bz2"))
(sha256
(base32
- "1pp2kl5gc2vja41g3wk03h1hgh7gxy6pj354fb5n4lrlg6xqb4ll"))))
+ "086bbcdnvs48qq5g4iac7dpk76j0q3jrp16mchdvyx0b720xq1mv"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error) ("pth" ,pth)))
@@ -193,19 +196,20 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
- (version "2.1.9")
+ (version "2.1.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "1dpp555glln6fldk72ad7lkrn8h3cr2bg714z5kfn2qrawx67dqw"))))
+ "1ybcsazjm21i2ys1wh49cz4azmqz7ghx5rb6hm4gm93i2zc5igck"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("bzip2" ,bzip2)
+ `(("adns" ,adns)
+ ("bzip2" ,bzip2)
("curl" ,curl)
("gnutls" ,gnutls)
("libassuan" ,libassuan)
@@ -237,17 +241,18 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gnupg-2.0
(package (inherit gnupg)
- (version "2.0.28")
+ (version "2.0.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "0k2k399fnhfhhr4dvm8d6vs4ihq6gg06191lzfwikzaqmgj2w2ff"))))
+ "1jaakn0mi6pi2b3g3imxj3qzxw2zg0ifxs30baq2b157dcw6pvb8"))))
(native-inputs '())
(inputs
- `(("bzip2" ,bzip2)
+ `(("adns" ,adns)
+ ("bzip2" ,bzip2)
("curl" ,curl)
("libassuan" ,libassuan)
("libgcrypt" ,libgcrypt)
@@ -294,7 +299,7 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gpgme
(package
(name "gpgme")
- (version "1.5.5")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
@@ -302,7 +307,7 @@ libskba (working with X.509 certificates and CMS data).")
".tar.bz2"))
(sha256
(base32
- "01y28fkq52wwf4p470wscaxd2vgzl615irmafx3mj3380x8ksg8b"))))
+ "17892sclz3yg45wbyqqrzzpq3l0icbnfl28f101b3062g8cy97dh"))))
(build-system gnu-build-system)
(propagated-inputs
;; Needs to be propagated because gpgme.h includes gpg-error.h.
@@ -371,14 +376,15 @@ and signature functionality from Python programs.")
(define-public pius
(package
(name "pius")
- (version "2.1.1")
+ (version "2.2.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/pgpius/pius/"
- version "/pius-"
- version ".tar.bz2"))
- (sha256 (base32
- "0ry3kc3x1qjmvb581ja2z2v32r1rl1g8rhfj7iqvs8nzq4ca512i"))))
+ (uri (string-append
+ "https://github.com/jaymzh/pius/releases/download/v"
+ version "/pius-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "003dwpamq0c7w8q9zpgi4h03rs8rwjm0czkn9s60m91p6aql5f42"))))
(build-system python-build-system)
(inputs `(("perl" ,perl) ;for 'pius-party-worksheet'
("gpg" ,gnupg-2.0))) ;2.1 fails to talk to gpg-agent 2.0
@@ -393,7 +399,7 @@ and signature functionality from Python programs.")
(let* ((gpg (string-append (assoc-ref inputs "gpg")
"/bin/gpg2")))
(substitute* "libpius/constants.py"
- (("/usr/bin/gpg") gpg))))))))
+ (("/usr/bin/gpg2") gpg))))))))
(synopsis "Programs to simplify GnuPG key signing")
(description
"Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
@@ -510,18 +516,19 @@ including tools for signing keys, keyring analysis, and party preparation.
(define-public pinentry
(package
(name "pinentry")
- (version "0.9.5")
+ (version "0.9.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/pinentry/pinentry-"
version ".tar.bz2"))
(sha256
(base32
- "1338hj1h3sh34897120y30x12b64wyj3xjzzk5asm2hdzhxgsmva"))))
+ "0rhyw1vk28kgasjp22myf7m2q8kycw82d65pr9kgh93z17lj849a"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
("libassuan" ,libassuan)
+ ("libsecret" ,libsecret "out")
("gtk+" ,gtk+-2)
("glib" ,glib)))
(native-inputs
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 3e933e7ec5..6d134a89c7 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -92,10 +92,48 @@
in C/C++.")
(license license:mpl2.0))) ; and others for some files
+(define-public mozjs-24
+ (package (inherit mozjs)
+ (name "mozjs")
+ (version "24.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.mozilla.org/pub/mozilla.org/js/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6"))))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (chdir "js/src")
+ ;; configure fails if it is follwed by SHELL and CONFIG_SHELL
+ (setenv "SHELL" (which "sh"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (zero? (system* "./configure"
+ (string-append "--prefix=" out)
+ "--with-system-nspr"
+ "--enable-system-ffi"
+ "--enable-threadsafe"))))))))
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-2)))
+ (propagated-inputs
+ `(("nspr" ,nspr))) ; in the Requires.private field of mozjs-24.pc
+ (inputs
+ `(("libffi" ,libffi)
+ ("zlib" ,zlib)))))
+
(define-public nspr
(package
(name "nspr")
- (version "4.10.8")
+ (version "4.10.10")
(source (origin
(method url-fetch)
(uri (string-append
@@ -103,7 +141,7 @@ in C/C++.")
version "/src/nspr-" version ".tar.gz"))
(sha256
(base32
- "05aaakz24ba2hdzlqx8qamwrsp7gni1acms8mr6m432wa9yaazjh"))))
+ "01ria9wk6329hxqsy75p9dkxiqkq4nkz0jjzll7hslih3jbi8dil"))))
(build-system gnu-build-system)
(native-inputs
`(("perl", perl)))
@@ -129,18 +167,18 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
- (version "3.19.2")
+ (version "3.20.1")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
(string-join (string-split version #\.) "_")))
(string-append
- "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/"
+ "https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
"releases/NSS_" version-with-underscores "_RTM/src/"
"nss-" version ".tar.gz")))
(sha256
(base32
- "1bn9wbf52z4423134hpkyvcxq1568fvzmkybv2d49n31iwz6c1hk"))
+ "15wcbqd2b911hxafbjfn63zd1gf2yxg0s5560hnhqmyrvw8qyg5d"))
;; Create nss.pc and nss-config.
(patches (list (search-patch "nss-pkgconfig.patch")))))
(build-system gnu-build-system)
@@ -228,7 +266,7 @@ standards.")
(define-public icecat
(package
(name "icecat")
- (version "38.3.0-gnu1")
+ (version "38.4.0-gnu1")
(source
(origin
(method url-fetch)
@@ -237,7 +275,7 @@ standards.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0vm6f7f1i5vkq2713mgzjdfnm8rpz9l0q8sv4s123vsam0j9gzh8"))
+ "0rcaa19rfgclwd2qvcz8798m57jjzra6kaxg5dniysajvx7qndfp"))
(patches (map search-patch '("icecat-avoid-bundled-includes.patch"
"icecat-freetype-2.6.patch")))
(modules '((guix build utils)))
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index b1da394835..79fc2f0aca 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -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 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,8 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages linux)
#:use-module (gnu packages qemu)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages cdrom)
#:use-module (srfi srfi-1))
@@ -38,7 +41,7 @@
;; <https://bugs.launchpad.net/bugs/947597> and fixed at
;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
;; Work around it by using an older QEMU.
- (package (inherit qemu-headless)
+ (package (inherit qemu-minimal)
(version "1.3.1")
(source (origin
(method url-fetch)
@@ -52,7 +55,7 @@
;; ERROR:tests/rtc-test.c:176:check_time: assertion failed (ABS(t - s) <= wiggle): (382597824 <= 2)
;; Simply disable the tests.
(arguments `(#:tests? #f
- ,@(package-arguments qemu)))
+ ,@(package-arguments qemu-minimal)))
;; The manual fails to build with Texinfo 5.x.
(native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
@@ -84,30 +87,35 @@
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-werror")
- #:phases (alist-cons-before
- 'patch-source-shebangs 'patch-stuff
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "grub-core/Makefile.in"
- (("/bin/sh") (which "sh")))
+ #:phases (modify-phases %standard-phases
+ (add-after
+ 'unpack 'patch-stuff
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "grub-core/Makefile.in"
+ (("/bin/sh") (which "sh")))
- ;; Make the font visible.
- (copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
- (system* "gunzip" "unifont.bdf.gz")
+ ;; Make the font visible.
+ (copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
+ (system* "gunzip" "unifont.bdf.gz")
- ;; TODO: Re-enable this test when we have Parted.
- (substitute* "tests/partmap_test.in"
- (("set -e") "exit 77")))
- %standard-phases)))
+ ;; TODO: Re-enable this test when we have Parted.
+ (substitute* "tests/partmap_test.in"
+ (("set -e") "exit 77"))
+
+ #t)))))
(inputs
`(;; ("lvm2" ,lvm2)
("gettext" ,gnu-gettext)
("freetype" ,freetype)
;; ("libusb" ,libusb)
+ ;; ("fuse" ,fuse)
("ncurses" ,ncurses)))
(native-inputs
`(("unifont" ,unifont)
("bison" ,bison)
("flex" ,flex)
+ ("texinfo" ,texinfo)
+ ("help2man" ,help2man)
;; Dependencies for the test suite. The "real" QEMU is needed here,
;; because several targets are used.
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 0ac9783550..1235b3185a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -83,20 +83,20 @@ arrays of data.")
(define-public gstreamer
(package
(name "gstreamer")
- (version "1.4.5")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
- (uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
- version ".tar.xz"))
+ (uri (string-append
+ "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
+ version ".tar.xz"))
(sha256
(base32
- "1bmhbhak6i5wmmb6w86jyyv8lax4gdq983la4lk4a0krz6kim020"))))
+ "172w1bpnkn6mm1wi37n03apdbb6cdkykhzjf1vfxchcd7hhkyflp"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
- `(#:make-flags '("CC=gcc") ; for g-ir-scanner.
- #:configure-flags
+ `(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))))
@@ -131,15 +131,15 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
- (version "1.4.5")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
- (uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
- version ".tar.xz"))
+ (uri (string-append "http://gstreamer.freedesktop.org/src/" name "/"
+ name "-" version ".tar.xz"))
(sha256
(base32
- "07ampnfa6p41s0lhia62l9h8bdx3c7vxvdz93pbx64m3wycq3gbp"))))
+ "18sbyjcp281zb3bsqji3pglsdsxi0s6ai7rx90sx8cpflkxdqcwm"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(propagated-inputs
@@ -162,7 +162,8 @@ This package provides the core library and elements.")
("gobject-introspection" ,gobject-introspection)
("python-wrapper" ,python-wrapper)))
(arguments
- `(#:configure-flags
+ `(#:parallel-tests? #f ; 'pipelines/tcp' fails in parallel
+ #:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))
@@ -171,9 +172,7 @@ This package provides the core library and elements.")
'configure 'patch
(lambda _
(substitute* "tests/check/libs/pbutils.c"
- (("/bin/sh") (which "sh")))
- ;; for g-ir-scanner.
- (setenv "CC" "gcc"))
+ (("/bin/sh") (which "sh"))))
%standard-phases)))
(home-page "http://gstreamer.freedesktop.org/")
(synopsis
@@ -186,7 +185,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
(package
(name "gst-plugins-good")
- (version "1.4.5")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
@@ -195,7 +194,7 @@ for the GStreamer multimedia library.")
version ".tar.xz"))
(sha256
(base32
- "0hg6qzdpib9nwn3hdxv0d4rvivi1c4bmxsq2a9hqmamwyzrvbcbr"))))
+ "0darc3058kbnql3mnlpizl0sq0hhli7vkm0rpqb7nywz14abim46"))))
(build-system gnu-build-system)
(inputs
`(("aalib" ,aalib)
@@ -229,7 +228,7 @@ for the GStreamer multimedia library.")
'unpack 'disable-failing-rtprtx-tests
(lambda _
;; Disable rtprtx tests that frequently fail.
- ;; XXX FIXME: Try removing this for version > 1.4.5.
+ ;; XXX FIXME: Try removing this for version > 1.6.1.
(substitute* "tests/check/elements/rtprtx.c"
(("tcase_add_test \\(tc_chain,\
(test_rtxsender_max_size_packets|test_rtxreceive_data_reconstruction)\\);" all)
@@ -246,7 +245,7 @@ developers consider to have good quality code and correct functionality.")
(define-public gst-plugins-ugly
(package
(name "gst-plugins-ugly")
- (version "1.4.5")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
@@ -254,7 +253,7 @@ developers consider to have good quality code and correct functionality.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
- "0rwhljn3f8mp2pfchzfcx4pvps1546dndw9mr56lz50qyqffimaw"))))
+ "0mvasl1pwq70w2kmrkcrg77kggl5q7jqybi7fkvy3vr28c7gkhqc"))))
(build-system gnu-build-system)
(inputs
`(("gst-plugins-base" ,gst-plugins-base)
@@ -284,7 +283,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
(define-public gst-libav
(package
(name "gst-libav")
- (version "1.4.5")
+ (version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -292,7 +291,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1g7vg9amh3cc3nmc415h6g2rqxqi4wgwqi08hxfbpwq48ri64p30"))))
+ "1a9pc7zp5rg0cvpx8gqkr21w73i6p9xa505a34day9f8p3lfim94"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-system-libav")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a01e6d0dd3..c0c0794f4a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
+;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,7 +61,7 @@
(define-public atk
(package
(name "atk")
- (version "2.16.0")
+ (version "2.18.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -68,7 +69,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
- "0qp5i91kfk6rhrlam3s8ha0cz88lkyp89vsyn4pb5856c1h9hpq9"))))
+ "0ay9s137x49f0akx658p7kznz0rdapfrd8ym54q0hlgrggblhv6f"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -144,7 +145,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz
(package
(name "harfbuzz")
- (version "1.0.3")
+ (version "1.0.5")
(source (origin
(method url-fetch)
(uri (string-append "http://www.freedesktop.org/software/"
@@ -152,7 +153,7 @@ affine transformation (scale, rotation, shear, etc.).")
version ".tar.bz2"))
(sha256
(base32
- "1xrxlrvgyr6mm9qjxmkif2kvcah082y94gf1vqi0f0bdl1g8gp7b"))))
+ "0h2l362qzkck5dnnj7zlz593hf1ni3k25dfaii9mbjwflp3d56ad"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
@@ -182,7 +183,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public pango
(package
(name "pango")
- (version "1.36.8")
+ (version "1.38.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
@@ -190,7 +191,7 @@ affine transformation (scale, rotation, shear, etc.).")
name "-" version ".tar.xz"))
(sha256
(base32
- "01rdzjh68w8l5zn0648yibyarj8p6g7yfn59nw5awaz1i8dvbnqq"))))
+ "1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k"))))
(build-system gnu-build-system)
(propagated-inputs
`(("cairo" ,cairo)
@@ -253,8 +254,10 @@ functions which were removed.")
(build-system waf-build-system)
(arguments
`(#:phases (alist-cons-before
- 'configure 'set-ldflags
+ 'configure 'set-flags
(lambda* (#:key outputs #:allow-other-keys)
+ ;; Compile with C++11, required by gtkmm.
+ (setenv "CXXFLAGS" "-std=c++11")
;; Allow 'bin/ganv_bench' to find libganv-1.so.
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
@@ -275,7 +278,7 @@ graph-like environments, e.g. modular synths or finite state machine
diagrams.")
(license license:gpl3+)))
-(define-public gtksourceview
+(define-public gtksourceview-2
(package
(name "gtksourceview")
(version "2.10.5") ; This is the last version which builds against gtk+2
@@ -290,7 +293,6 @@ diagrams.")
(build-system gnu-build-system)
(inputs
`(("gtk" ,gtk+-2)
- ("libxml2" ,libxml2)
;; These two are needed only to allow the tests to run successfully.
("xorg-server" ,xorg-server)
("shared-mime-info" ,shared-mime-info)))
@@ -298,6 +300,9 @@ diagrams.")
`(("intltool" ,intltool)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ ;; As per the pkg-config file.
+ `(("libxml2" ,libxml2)))
(arguments
`(#:phases
;; Unfortunately, some of the tests in "make check" are highly dependent
@@ -329,6 +334,54 @@ printing and other features typical of a source code editor.")
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/gtksourceview/")))
+(define-public gtksourceview
+ (package
+ (name "gtksourceview")
+ (version "3.18.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1rpdg8rcjlqv8yk13vsh5148mads0zbfih8cak3hm7wb0spmzsbv"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xorg-server (assoc-ref inputs "xorg-server")))
+ ;; Tests require a running X server.
+ (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
+ ("intltool" ,intltool)
+ ("itstool", itstool)
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)
+ ;; For testing.
+ ("xorg-server" ,xorg-server)
+ ("shared-mime-info" ,shared-mime-info)))
+ (propagated-inputs
+ ;; gtksourceview-3.0.pc refers to all these.
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("libxml2" ,libxml2)))
+ (home-page "https://wiki.gnome.org/Projects/GtkSourceView")
+ (synopsis "GNOME source code widget")
+ (description "GtkSourceView is a text widget that extends the standard
+GTK+ text widget GtkTextView. It improves GtkTextView by implementing syntax
+highlighting and other features typical of a source code editor.")
+ (license license:lgpl2.1+)))
+
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
@@ -381,7 +434,7 @@ in the GNOME project.")
(define-public at-spi2-core
(package
(name "at-spi2-core")
- (version "2.16.0")
+ (version "2.18.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -389,7 +442,7 @@ in the GNOME project.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw"))))
+ "1kq17w4fm51d49vzmglkxqdm6s0yvjvrpgw78r2hajf69jz5bmap"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -402,6 +455,8 @@ in the GNOME project.")
(replace 'check
;; Run test-suite under a dbus session.
(lambda _
+ ;; Don't fail on missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "make" "check")))))))
(propagated-inputs
;; atspi-2.pc refers to all these.
@@ -424,7 +479,7 @@ is part of the GNOME accessibility project.")
(define-public at-spi2-atk
(package
(name "at-spi2-atk")
- (version "2.16.0")
+ (version "2.18.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -432,7 +487,7 @@ is part of the GNOME accessibility project.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq"))))
+ "0bf1g5cj84rmx7p1q547vwbc0hlpcs2wrxnmv96lckfkhs9mzcf4"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -440,6 +495,7 @@ is part of the GNOME accessibility project.")
(replace 'check
;; Run test-suite under a dbus session.
(lambda _
+ (setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "make" "check")))))))
(propagated-inputs
`(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
@@ -514,7 +570,7 @@ application suites.")
(define-public gtk+
(package (inherit gtk+-2)
(name "gtk+")
- (version "3.16.6")
+ (version "3.18.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -522,12 +578,13 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1gpzlnfrifc17yfk0zki6b2vmsfpf5cmrbh232s6iaan11np44jd"))))
+ "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))))
(propagated-inputs
`(("at-spi2-atk" ,at-spi2-atk)
("atk" ,atk)
("gdk-pixbuf" ,gdk-pixbuf)
("libepoxy" ,libepoxy)
+ ("libxcursor" ,libxcursor)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("libxdamage" ,libxdamage)
@@ -535,7 +592,13 @@ application suites.")
(inputs
`(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg
("libxml2" ,libxml2)
- ("cups" ,cups))) ;for printing support
+ ;; XXX: colord depends on mozjs (through polkit), which fails on
+ ;; on non-intel systems now.
+ ;;("colord" ,colord)
+ ("cups" ,cups) ;for printing support
+ ;; XXX: rest depends on p11-kit, which fails on mips64el now.
+ ;;("rest" ,rest)
+ ("json-glib" ,json-glib)))
(native-inputs
`(("perl" ,perl)
("glib" ,glib "bin")
@@ -731,14 +794,15 @@ documents.")
(define-public cairomm
(package
(name "cairomm")
- (version "1.11.2")
+ (version "1.12.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://cairographics.org/releases/cairomm-"
- version ".tar.gz"))
- (sha256
- (base32
- "138052ybc58q5yl92m2p0br0k0a9g1pi9gfhmn4y220yih4pgxnc"))))
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/cairomm/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1rmgs6zjj2vaxh9hsa0944m23fdn1psycqh7bi984qd8jj1xljm5"))))
(build-system gnu-build-system)
(arguments
;; The examples lack -lcairo.
@@ -759,7 +823,7 @@ library.")
(define-public pangomm
(package
(name "pangomm")
- (version "2.36.0")
+ (version "2.38.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -767,7 +831,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1w11d05nkxglzg67rfa81vqghm75xhy6j396xmmp5mq8qx96knd8"))))
+ "12xwjvqfxhqblcv7641k0l6r8n3qifnrx8w9571izn1nbd81iyzg"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
@@ -785,7 +849,7 @@ library.")
(define-public atkmm
(package
(name "atkmm")
- (version "2.22.7")
+ (version "2.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -793,7 +857,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz"))))
+ "08zd6s5c1q90wm8310mdrb5f2lj8v63wxihrybwyw13xlf6ivi16"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
@@ -808,7 +872,7 @@ toolkit.")
(define-public gtkmm
(package
(name "gtkmm")
- (version "3.16.0")
+ (version "3.18.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -816,9 +880,10 @@ toolkit.")
name "-" version ".tar.xz"))
(sha256
(base32
- "036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv"))))
+ "0sxq700invkjpksn790gbnl8px8751kvgwn39663jx7dv89s37w2"))))
(build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("glib" ,glib "bin"))) ;for 'glib-compile-resources'
(propagated-inputs
`(("pangomm" ,pangomm)
("cairomm" ,cairomm)
@@ -849,6 +914,9 @@ extensive documentation, including API reference and a tutorial.")
(sha256
(base32
"1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4"))))
+ (arguments
+ '(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++
+ (native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("pangomm" ,pangomm)
("cairomm" ,cairomm)
@@ -1040,7 +1108,7 @@ information.")
(home-page "http://www.gtk.org/gtk-doc/")
(synopsis "Documentation generator from C source code")
(description
- "GTK-Doc generates API documentation from comments added to C code. It is
+ "GTK-Doc generates API documentation from comments added to C code. It is
typically used to document the public API of GTK+ and GNOME libraries, but it
can also be used to document application code.")
(license license:gpl2+)))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index e778bf0f6e..a4203f0f3b 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -29,6 +29,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages flex)
#:use-module (gnu packages libunistring)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
@@ -38,8 +39,12 @@
#:use-module (gnu packages base)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages gettext)
- #:use-module (gnu packages gdbm)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages python)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages image)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -189,21 +194,33 @@ without requiring the source code to be rewritten.")
(define-public guile-next
(package (inherit guile-2.0)
(name "guile-next")
- (version "20150815.00884bb")
+ (version "2.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0nixmx7as79g8rr8bvznh59pwcc2jd22cfk17v309p57zp2c255r"))))
+ (synopsis "Snapshot of what will become version 2.2 of GNU Guile")))
+
+(define-public guile-for-guile-emacs
+ (package (inherit guile-next)
+ (name "guile-for-guile-emacs")
+ (version "20150510.d8d9a8d")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "git://git.sv.gnu.org/guile.git")
- (commit "00884bb79fff41fdf5f22f24a74e366a94a14c9b")))
+ (url "git://git.hcoop.net/git/bpt/guile.git")
+ (commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
(sha256
(base32
- "0qk8m9aq3i7pzw6npim58xmsvjqfz5kl1pkyb6b43awn2vydydi5"))))
-
+ "00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
(arguments
(substitute-keyword-arguments `(;; Tests aren't passing for now.
;; Obviously we should re-enable this!
#:tests? #f
- ,@(package-arguments guile-2.0))
+ ,@(package-arguments guile-next))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'autogen
@@ -214,7 +231,6 @@ without requiring the source code to be rewritten.")
(substitute* "build-aux/git-version-gen"
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))))))
- (synopsis "Snapshot of what will become version 2.2 of GNU Guile")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -222,26 +238,63 @@ without requiring the source code to be rewritten.")
("flex" ,flex)
("texinfo" ,texinfo)
("gettext" ,gnu-gettext)
- ,@(package-native-inputs guile-2.0)))))
-
-(define-public guile-for-guile-emacs
- (package (inherit guile-next)
- (name "guile-for-guile-emacs")
- (version "20150510.d8d9a8d")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.hcoop.net/git/bpt/guile.git")
- (commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
- (sha256
- (base32
- "00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))))
+ ,@(package-native-inputs guile-next)))))
;;;
;;; Extensions.
;;;
+(define-public artanis
+ (package
+ (name "artanis")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1mc2zy6n9wnn4hzi3zp3jd6b5rlr0lv7fvh800xf4fyrxg0zia4g"))))
+ (build-system gnu-build-system)
+ ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
+ (inputs `(("guile" ,guile-2.0)))
+ (native-inputs `(("bash" ,bash) ;for the `source' builtin
+ ("pkgconfig" ,pkg-config)
+ ("util-linux" ,util-linux))) ;for the `script' command
+ (arguments
+ '(#:make-flags
+ ;; TODO: The documentation must be built with the `docs' target.
+ (let* ((out (assoc-ref %outputs "out"))
+ (dir (string-append out "/share/guile/site/2.0")))
+ ;; Don't use (%site-dir) for site paths.
+ (list (string-append "MOD_PATH=" dir)
+ (string-append "MOD_COMPILED_PATH=" dir)))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'install 'substitute-root-dir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile" ;ignore the execution of bash.bashrc
+ ((" /etc/bash.bashrc") " /dev/null"))
+ (substitute* "Makefile" ;set the root of config files to OUT
+ ((" /etc") (string-append " " out "/etc")))
+ (mkdir-p (string-append out "/bin")) ;for the `art' executable
+ #t))))))
+ (synopsis "Web application framework written in Guile")
+ (description "GNU Artanis is a web application framework written in Guile
+Scheme. A web application framework (WAF) is a software framework that is
+designed to support the development of dynamic websites, web applications, web
+services and web resources. The framework aims to alleviate the overhead
+associated with common activities performed in web development. Artanis
+provides several tools for web development: database access, templating
+frameworks, session management, URL-remapping for RESTful, page caching, and
+more.")
+ (home-page "https://www.gnu.org/software/artanis/")
+ (license (list gpl3+ lgpl3+)))) ;dual license
+
(define-public guile-reader
(package
(name "guile-reader")
@@ -296,6 +349,10 @@ many readers as needed).")
(string-append "--with-guilesitedir="
(assoc-ref %outputs "out")
"/share/guile/site/2.0"))
+
+ ;; Work around <http://bugs.gnu.org/21677>.
+ #:make-flags '("XFAIL_TESTS=curses_034_util.test")
+
#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
@@ -412,6 +469,7 @@ http:://json.org specification. These are the main features:
(uri (git-reference
(url "https://github.com/ijp/minikanren.git")
(commit "e844d85512f8c055d3f96143ee506007389a25e3")))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6"))))
@@ -478,6 +536,84 @@ slightly from miniKanren mainline.
See http://minikanren.org/ for more on miniKanren generally.")
(license expat)))
+(define-public guile-irregex
+ (package
+ (name "guile-irregex")
+ (version "0.9.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://synthcode.com/scheme/irregex/irregex-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1b8jl7bycyl2ssp6sb1j24pp9hvqyxm85ki9bmwd50glyyjs5zay"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (ice-9 match)
+ (guix build gnu-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let* ((out (assoc-ref outputs "out"))
+ (module-dir (string-append out "/share/guile/site/2.0"))
+ (source (assoc-ref inputs "source"))
+ (doc (string-append out "/share/doc/guile-irregex/"))
+ (guild (string-append (assoc-ref %build-inputs "guile")
+ "/bin/guild")))
+ ;; Make installation directories.
+ (mkdir-p (string-append module-dir "/rx/source"))
+ (mkdir-p doc)
+
+ ;; Compile .scm files and install.
+ (setenv "GUILE_AUTO_COMPILE" "0")
+
+ (for-each (lambda (copy-info)
+ (match copy-info
+ ((src-file dest-file-basis)
+ (let* ((dest-file (string-append
+ module-dir dest-file-basis
+ ".scm"))
+ (go-file (string-append
+ module-dir dest-file-basis
+ ".go")))
+ ;; Install source module.
+ (copy-file src-file
+ dest-file)
+ ;; Install compiled module.
+ (unless (zero? (system* guild "compile"
+ "-L" (getcwd)
+ "-o" go-file
+ src-file))
+ (error (format #f "Failed to compile ~s to ~s!"
+ src-file dest-file)))))))
+ '(("irregex-guile.scm" "/rx/irregex")
+ ("irregex.scm" "/rx/source/irregex")
+ ;; Not really reachable via guile's packaging system,
+ ;; but nice to have around
+ ("irregex-utils.scm" "/rx/source/irregex-utils")))
+
+ ;; Also copy over the README.
+ (install-file "irregex.html" doc)
+ #t)))))))
+ (inputs
+ `(("guile" ,guile-2.0)))
+ (home-page "http://synthcode.com/scheme/irregex")
+ (synopsis "S-expression based regular expressions")
+ (description
+ "Irregex is an s-expression based alternative to your classic
+string-based regular expressions. It implements SRFI 115 and is deeply
+inspired by the SCSH regular expression system.")
+ (license bsd-3)))
;; There are two guile-gdbm packages, one using the FFI and one with
;; direct C bindings, hence the verbose name.
@@ -491,6 +627,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
(uri (git-reference
(url "https://github.com/ijp/guile-gdbm.git")
(commit "fa1d5b6231d0e4d096687b378c025f2148c5f246")))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1j8wrsw7v9w6qkl47xz0rdikg50v16nn6kbs3lgzcymjzpa7babj"))))
@@ -663,10 +800,45 @@ key-value cache and store.")
(inputs
`(("guile" ,guile-2.0)
("python" ,python)))
- (synopsis "wisp is a whitespace to lisp syntax for Guile")
- (description "wisp is a syntax for Guile which provides a Python-like
+ (synopsis "Whitespace to lisp syntax for Guile")
+ (description "Wisp is a syntax for Guile which provides a Python-like
whitespace-significant language. It may be easier on the eyes for some
users and in some situations.")
(license gpl3+)))
+(define-public guile-sly
+ (package
+ (name "guile-sly")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://files.dthompson.us/sly/sly-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1svzlbz2vripmyq2kjh0rig16bsrnbkwbsm558pjln9l65mcl4qq"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append "--with-libfreeimage-prefix="
+ (assoc-ref %build-inputs "freeimage"))
+ (string-append "--with-libgslcblas-prefix="
+ (assoc-ref %build-inputs "gsl")))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("guile" ,guile-2.0)
+ ("guile-sdl" ,guile-sdl)
+ ("guile-opengl" ,guile-opengl)))
+ (inputs
+ `(("gsl" ,gsl)
+ ("freeimage" ,freeimage)
+ ("mesa" ,mesa)))
+ (synopsis "2D/3D game engine for GNU Guile")
+ (description "Sly is a 2D/3D game engine written in Guile Scheme. Sly
+features a functional reactive programming interface and live coding
+capabilities.")
+ (home-page "http://dthompson.us/pages/software/sly.html")
+ (license gpl3+)))
+
;;; guile.scm ends here
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 652409b963..c0e968ba38 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,7 +21,10 @@
(define-module (gnu packages haskell)
#:use-module (ice-9 regex)
- #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1))
+ #:use-module ((guix licenses) #:select (bsd-3
+ lgpl2.1 lgpl2.1+ gpl2+ gpl3+
+ public-domain
+ expat))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@@ -29,13 +34,20 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages compression)
#:use-module (gnu packages elf)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages bootstrap)
+ #:use-module (gnu packages zip)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libedit)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
+ #:use-module (gnu packages pcre)
+ #:use-module ((gnu packages xml) #:select (libxml2))
#:use-module (gnu packages xorg))
(define ghc-bootstrap-x86_64-7.8.4
@@ -73,7 +85,7 @@
(define-public ghc
(package
(name "ghc")
- (version "7.8.4")
+ (version "7.10.2")
(source
(origin
(method url-fetch)
@@ -81,7 +93,7 @@
version "/" name "-" version "-src.tar.xz"))
(sha256
(base32
- "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3"))))
+ "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(outputs '("out" "doc"))
@@ -98,7 +110,7 @@
version "/" name "-" version "-testsuite.tar.xz"))
(sha256
(base32
- "0q95whf87y4mxjzwzy899g7z7l9pazq4si6iciyhxkcdhqq2ycyh"))))))
+ "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b"))))))
(native-inputs
`(("perl" ,perl)
("python" ,python-2) ; for tests (fails with python-3)
@@ -203,7 +215,7 @@
(string-append ghc-bootstrap-prefix
"/lib/ghc-7.8.4/terminfo-0.4.0.0")))
(with-directory-excursion
- (string-append ghc-bootstrap-path "/" ,name "-" ,version)
+ (string-append ghc-bootstrap-path "/ghc-7.8.4")
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "LD_LIBRARY_PATH" gmp-lib)
;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
@@ -231,7 +243,7 @@
'configure 'install-bin
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion
- (string-append ghc-bootstrap-path "/" ,name "-" ,version)
+ (string-append ghc-bootstrap-path "/ghc-7.8.4")
(zero? (system* "make" "install"))))
%standard-phases)))))))
(native-search-paths (list (search-path-specification
@@ -247,6 +259,74 @@
interactive environment for the functional language Haskell.")
(license bsd-3)))
+(define-public ghc-hostname
+ (package
+ (name "ghc-hostname")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/hostname/"
+ "hostname-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/hostname")
+ (synopsis "Hostname in Haskell")
+ (description "Network.HostName is a simple package providing a means to
+determine the hostname.")
+ (license bsd-3)))
+
+(define-public ghc-libxml
+ (package
+ (name "ghc-libxml")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/libxml/"
+ "libxml-" version ".tar.gz"))
+ (sha256
+ (base32
+ "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("libxml2" ,libxml2)))
+ (arguments
+ `(#:configure-flags
+ `(,(string-append "--extra-include-dirs="
+ (assoc-ref %build-inputs "libxml2")
+ "/include/libxml2"))))
+ (home-page "http://hackage.haskell.org/package/libxml")
+ (synopsis "Haskell bindings to libxml2")
+ (description
+ "This library provides minimal Haskell binding to libxml2.")
+ (license bsd-3)))
+
+(define-public ghc-prelude-extras
+ (package
+ (name "ghc-prelude-extras")
+ (version "0.4.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/prelude-extras/prelude-extras-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1q7mj9hysy747vimnlyrwsk1wb2axymxixa76fwcbcnmz3fi4llp"))))
+ (build-system haskell-build-system)
+ (home-page "http://github.com/ekmett/prelude-extras")
+ (synopsis "Higher order versions of Prelude classes")
+ (description "This library provides higher order versions of
+@code{Prelude} classes to ease programming with polymorphic recursion and
+reduce @code{UndecidableInstances}.")
+ (license bsd-3)))
+
(define-public ghc-data-default
(package
(name "ghc-data-default")
@@ -367,6 +447,821 @@ package.")
package.")
(license bsd-3)))
+(define-public ghc-haddock-library
+ (package
+ (name "ghc-haddock-library")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/haddock-library/haddock-library-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0mhh2ppfhrvvi9485ipwbkv2fbgj35jvz3la02y3jlvg5ffs1c8g"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "http://www.haskell.org/haddock/")
+ (synopsis
+ "Library exposing some functionality of Haddock")
+ (description
+ "Haddock is a documentation-generation tool for Haskell libraries. These
+modules expose some functionality of it without pulling in the GHC dependency.
+Please note that the API is likely to change so specify upper bounds in your
+project if you can't release often. For interacting with Haddock itself, see
+the ‘haddock’ package.")
+ (license bsd-3)))
+
+(define-public ghc-haddock-api
+ (package
+ (name "ghc-haddock-api")
+ (version "2.16.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/haddock-api/haddock-api-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1spd5axg1pdjv4dkdb5gcwjsc8gg37qi4mr2k2db6ayywdkis1p2"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-paths" ,ghc-paths)
+ ("ghc-haddock-library" ,ghc-haddock-library)))
+ (home-page "http://www.haskell.org/haddock/")
+ (synopsis "API for documentation-generation tool Haddock")
+ (description "This package provides an API to Haddock, the
+documentation-generation tool for Haskell libraries.")
+ (license bsd-3)))
+
+(define-public ghc-haddock
+ (package
+ (name "ghc-haddock")
+ (version "2.16.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/haddock/haddock-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1mnnvc5jqp6n6rj7xw8wdm0z2xp9fndkz11c8p3vbljsrcqd3v26"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests break with GHC 7.10.2, fixed
+ ; upstream. See
+ ; <https://github.com/haskell/haddock/issues/427>
+ (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
+ (home-page "http://www.haskell.org/haddock/")
+ (synopsis
+ "Documentation-generation tool for Haskell libraries")
+ (description
+ "Haddock is a documentation-generation tool for Haskell libraries.")
+ (license bsd-3)))
+
+(define-public ghc-simple-reflect
+ (package
+ (name "ghc-simple-reflect")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/simple-reflect/simple-reflect-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
+ (synopsis
+ "Simple reflection of expressions containing variables")
+ (description
+ "This package allows simple reflection of expressions containing
+variables. Reflection here means that a Haskell expression is turned into a
+string. The primary aim of this package is teaching and understanding; there
+are no options for manipulating the reflected expressions beyond showing
+them.")
+ (license bsd-3)))
+
+(define-public ghc-multipart
+ (package
+ (name "ghc-multipart")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/multipart/multipart-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-parsec" ,ghc-parsec)))
+ (home-page
+ "http://www.github.com/silkapp/multipart")
+ (synopsis
+ "HTTP multipart library")
+ (description
+ "HTTP multipart split out of the cgi package, for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-html
+ (package
+ (name "ghc-html")
+ (version "1.0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/html/html-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://hackage.haskell.org/package/html")
+ (synopsis "HTML combinator library")
+ (description
+ "This package contains a combinator library for constructing HTML
+documents.")
+ (license bsd-3)))
+
+(define-public ghc-xhtml
+ (package
+ (name "ghc-xhtml")
+ (version "3000.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/xhtml/xhtml-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1n6wgzxbj8xf0wf1il827qidphnffb5vzhwzqlxhh70c2y10f0ik"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/haskell/xhtml")
+ (synopsis "XHTML combinator library")
+ (description
+ "This package provides combinators for producing XHTML 1.0, including the
+Strict, Transitional and Frameset variants.")
+ (license bsd-3)))
+
+(define-public ghc-haskell-src
+ (package
+ (name "ghc-haskell-src")
+ (version "1.0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/haskell-src/haskell-src-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-happy" ,ghc-happy)
+ ("ghc-syb" ,ghc-syb)))
+ (home-page
+ "http://hackage.haskell.org/package/haskell-src")
+ (synopsis
+ "Support for manipulating Haskell source code")
+ (description
+ "The 'haskell-src' package provides support for manipulating Haskell
+source code. The package provides a lexer, parser and pretty-printer, and a
+definition of a Haskell abstract syntax tree (AST). Common uses of this
+package are to parse or generate Haskell 98 code.")
+ (license bsd-3)))
+
+(define-public ghc-alex
+ (package
+ (name "ghc-alex")
+ (version "3.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/alex/alex-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "17x13nbbr79xgdlzywjqw19vcl6iygjnssjnxnajgijkv764wknn"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests broken for GHC 7.10. Fixed
+ ; upstream, see
+ ; <https://github.com/simonmar/alex/issues/62>
+ (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "http://www.haskell.org/alex/")
+ (synopsis
+ "Tool for generating lexical analysers in Haskell")
+ (description
+ "Alex is a tool for generating lexical analysers in Haskell. It takes a
+description of tokens based on regular expressions and generates a Haskell
+module containing code for scanning text efficiently. It is similar to the
+tool lex or flex for C/C++.")
+ (license bsd-3)))
+
+(define-public ghc-cgi
+ (package
+ (name "ghc-cgi")
+ (version "3001.2.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/cgi/cgi-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0q1pxpa8gi42c0hsidcdkhk5xr5anfrvhqsn3iksr9c0rllhz193"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-parsec" ,ghc-parsec)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-old-time" ,ghc-old-time)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-multipart" ,ghc-multipart)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)
+ ("ghc-mtl" ,ghc-mtl)))
+ (home-page
+ "https://github.com/cheecheeo/haskell-cgi")
+ (synopsis "Library for writing CGI programs")
+ (description
+ "This is a Haskell library for writing CGI programs.")
+ (license bsd-3)))
+
+(define-public ghc-cmdargs
+ (package
+ (name "ghc-cmdargs")
+ (version "0.10.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/cmdargs/cmdargs-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0vmz7f0ssrqlp6wzmc0mjqj4qczfgk58g0lr0yz7jamamlgpq4b6"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://community.haskell.org/~ndm/cmdargs/")
+ (synopsis "Command line argument processing")
+ (description
+ "This library provides an easy way to define command line parsers.")
+ (license bsd-3)))
+
+(define-public ghc-happy
+ (package
+ (name "ghc-happy")
+ (version "1.19.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/happy/happy-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1nj353q4z1g186fpjzf0dnsg71qhxqpamx8jy89rjjvv3p0kmw32"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ;; cannot satisfy -package mtl. Possible Cabal
+ ;; issue.
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)))
+ (home-page "https://hackage.haskell.org/package/happy")
+ (synopsis "Parser generator for Haskell")
+ (description "Happy is a parser generator for Haskell. Given a grammar
+specification in BNF, Happy generates Haskell code to parse the grammar.
+Happy works in a similar way to the yacc tool for C.")
+ (license bsd-3)))
+
+(define-public ghc-haskell-src-exts
+ (package
+ (name "ghc-haskell-src-exts")
+ (version "1.16.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1h8gjw5g92rvvzadqzpscg73x7ajvs1wlphrh27afim3scdd8frz"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("cpphs" ,cpphs)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-happy" ,ghc-happy)
+ ("ghc-syb" ,ghc-syb)))
+ (native-inputs
+ `(("ghc-smallcheck" ,ghc-smallcheck)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
+ ("ghc-tasty-golden" ,ghc-tasty-golden)))
+ (home-page "https://github.com/haskell-suite/haskell-src-exts")
+ (synopsis "Library for manipulating Haskell source")
+ (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
+extension of the standard @code{haskell-src} package, and handles most
+registered syntactic extensions to Haskell. All extensions implemented in GHC
+are supported. Apart from these standard extensions, it also handles regular
+patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
+ (license bsd-3)))
+
+(define-public hlint
+ (package
+ (name "hlint")
+ (version "1.9.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14v3rdjjlml9nimdk7d5dvir2bw78ai49yylvms9lnzmw29s3546"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("cpphs" ,cpphs)
+ ("ghc-cmdargs" ,ghc-cmdargs)
+ ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
+ ("ghc-uniplate" ,ghc-uniplate)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-extra" ,ghc-extra)
+ ("hscolour" ,hscolour)))
+ (home-page "http://community.haskell.org/~ndm/hlint/")
+ (synopsis "Suggest improvements for Haskell source code")
+ (description "HLint reads Haskell programs and suggests changes that
+hopefully make them easier to read. HLint also makes it easy to disable
+unwanted suggestions, and to add your own custom suggestions.")
+ (license bsd-3)))
+
+(define-public ghc-resourcet
+ (package
+ (name "ghc-resourcet")
+ (version "1.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/resourcet/resourcet-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0zhsaaa4n8ry76vjih519a8npm2hrzk10d5asrgllcwpzmifl41y"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-mmorph" ,ghc-mmorph)
+ ("ghc-exceptions" ,ghc-exceptions)))
+ (inputs
+ `(("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-hspec" ,ghc-hspec)))
+ (home-page "http://github.com/snoyberg/conduit")
+ (synopsis "Deterministic allocation and freeing of scarce resources")
+ (description "ResourceT is a monad transformer which creates a region of
+code where you can safely allocate resources.")
+ (license bsd-3)))
+
+(define-public ghc-xss-sanitize
+ (package
+ (name "ghc-xss-sanitize")
+ (version "0.3.5.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/xss-sanitize/xss-sanitize-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1j2qrn2dbfx01m7zyk9ilgnp9zjwq9mk62b0rdal4zkg4vh212h0"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-tagsoup" ,ghc-tagsoup)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-css-text" ,ghc-css-text)
+ ("ghc-network-uri" ,ghc-network-uri)))
+ (inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit" ,ghc-hunit)))
+ (home-page "http://github.com/yesodweb/haskell-xss-sanitize")
+ (synopsis "Sanitize untrusted HTML to prevent XSS attacks")
+ (description "This library provides @code{sanitizeXSS}. Run untrusted
+HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS
+attacks.")
+ (license bsd-3)))
+
+(define-public ghc-objectname
+ (package
+ (name "ghc-objectname")
+ (version "1.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/ObjectName/ObjectName-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0kh5fb9ykag6rfsm3f0bx3w323s18w2cyry34w5xgli5ncqimadg"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/ObjectName")
+ (synopsis "Helper library for Haskell OpenGL")
+ (description "This tiny package contains the class ObjectName, which
+corresponds to the general notion of explicitly handled identifiers for API
+objects, e.g. a texture object name in OpenGL or a buffer object name in
+OpenAL.")
+ (license bsd-3)))
+
+(define-public ghc-sdl
+ (package
+ (name "ghc-sdl")
+ (version "0.6.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/SDL/SDL-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1sa3zx3vrs1gbinxx33zwq0x2bsf3i964bff7419p7vzidn36k46"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("sdl" ,sdl)))
+ (home-page "https://hackage.haskell.org/package/SDL")
+ (synopsis "LibSDL for Haskell")
+ (description "Simple DirectMedia Layer (libSDL) is a cross-platform
+multimedia library designed to provide low level access to audio, keyboard,
+mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
+by MPEG playback software, emulators, and many popular games, including the
+award winning Linux port of \"Civilization: Call To Power.\"")
+ (license bsd-3)))
+
+(define-public ghc-sdl-mixer
+ (package
+ (name "ghc-sdl-mixer")
+ (version "0.6.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0md3238hx79mxb9a7l43kg3b3d28x4mqvj0hjsbsh15ajnvy9x2z"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:configure-flags
+ (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
+ (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
+ (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
+ (propagated-inputs
+ `(("ghc-sdl" ,ghc-sdl)))
+ (inputs
+ `(("sdl-mixer" ,sdl-mixer)))
+ (home-page "http://hackage.haskell.org/package/SDL-mixer")
+ (synopsis "Haskell bindings to libSDL_mixer")
+ (description "SDL_mixer is a sample multi-channel audio mixer library. It
+supports any number of simultaneously playing channels of 16 bit stereo audio,
+plus a single channel of music, mixed by the popular MikMod MOD, Timidity
+MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
+ (license bsd-3)))
+
+(define-public ghc-sdl-image
+ (package
+ (name "ghc-sdl-image")
+ (version "0.6.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/SDL-image/SDL-image-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1m02q2426qp8m8pzz2jkk4srk2vb3j3ickiaga5jx9rkkhz732zq"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:configure-flags
+ (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
+ (sdl-image-include (string-append sdl-image "/include/SDL")))
+ (list (string-append "--extra-include-dirs=" sdl-image-include)))))
+ (propagated-inputs
+ `(("ghc-sdl" ,ghc-sdl)))
+ (inputs
+ `(("sdl-image" ,sdl-image)))
+ (home-page "http://hackage.haskell.org/package/SDL-image")
+ (synopsis "Haskell bindings to libSDL_image")
+ (description "SDL_image is an image file loading library. It loads images
+as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
+PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
+ (license bsd-3)))
+
+(define-public ghc-half
+ (package
+ (name "ghc-half")
+ (version "0.2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/half/half-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0zhwc6ps5w4ccnxl8sy623z4rjsafmnry69jpkw4hrbq11l402f1"))))
+ (build-system haskell-build-system)
+ (home-page "http://github.com/ekmett/half")
+ (synopsis "Half-precision floating-point computations")
+ (description "This library provides a half-precision floating-point
+computation library for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-openglraw
+ (package
+ (name "ghc-openglraw")
+ (version "2.5.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1kfq24mxg922ml3kkmym2qfpc56jbmrfbiix4rc2cxlwv05i191k"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-half" ,ghc-half)
+ ("glu" ,glu)
+ ("ghc-text" ,ghc-text)))
+ (home-page "http://www.haskell.org/haskellwiki/Opengl")
+ (synopsis "Raw Haskell bindings for the OpenGL graphics system")
+ (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
+graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
+of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
+offers access to all necessary functions, tokens and types plus a general
+facility for loading extension entries. The module hierarchy closely mirrors
+the naming structure of the OpenGL extensions, making it easy to find the
+right module to import. All API entries are loaded dynamically, so no special
+C header files are needed for building this package. If an API entry is not
+found at runtime, a userError is thrown.")
+ (license bsd-3)))
+
+(define-public ghc-glut
+ (package
+ (name "ghc-glut")
+ (version "2.7.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/GLUT/GLUT-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1qfilpc10jm47anan44c20y8mh76f2dv09m5d22gk0f7am7hg4k2"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-statevar" ,ghc-statevar)
+ ("ghc-openglraw" ,ghc-openglraw)
+ ("freeglut" ,freeglut)))
+ (inputs
+ `(("ghc-opengl" ,ghc-opengl)))
+ (home-page "http://www.haskell.org/haskellwiki/Opengl")
+ (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
+ (description "This library provides Haskell bindings for the OpenGL
+Utility Toolkit, a window system-independent toolkit for writing OpenGL
+programs.")
+ (license bsd-3)))
+
+(define-public ghc-gluraw
+ (package
+ (name "ghc-gluraw")
+ (version "1.5.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/GLURaw/GLURaw-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0gscd9lhp9mb10q8s716nx26m8qng9xbb4h6b3f48zzgkc1sy96x"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-openglraw" ,ghc-openglraw)))
+ (home-page "http://www.haskell.org/haskellwiki/Opengl")
+ (synopsis "Raw Haskell bindings GLU")
+ (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
+utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
+basis for a nicer interface.")
+ (license bsd-3)))
+
+(define-public ghc-opengl
+ (package
+ (name "ghc-opengl")
+ (version "2.12.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/OpenGL/OpenGL-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1mcfb167jl75qc2hgylh83vf2jqizvyvkvhhb72adi2crc3zqz4b"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-objectname" ,ghc-objectname)
+ ("ghc-gluraw" ,ghc-gluraw)
+ ("ghc-statevar" ,ghc-statevar)
+ ("ghc-openglraw" ,ghc-openglraw)))
+ (home-page "http://www.haskell.org/haskellwiki/Opengl")
+ (synopsis "Haskell bindings for the OpenGL graphics system")
+ (description "This package provides Haskell bindings for the OpenGL
+graphics system (GL, version 4.5) and its accompanying utility library (GLU,
+version 1.3).")
+ (license bsd-3)))
+
+(define-public ghc-streaming-commons
+ (package
+ (name "ghc-streaming-commons")
+ (version "0.1.14.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/streaming-commons/streaming-commons-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "12nw9bwvy6zrabkgvbp371klca3ds6qjlfncg1b8pbwx1y7m8c8h"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-random" ,ghc-random)))
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-async" ,ghc-async)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-text" ,ghc-text)
+ ("ghc-network" ,ghc-network)
+ ("ghc-zlib" ,ghc-zlib)))
+ (home-page "https://hackage.haskell.org/package/streaming-commons")
+ (synopsis "Conduit and pipes needed by some streaming data libraries")
+ (description "Provides low-dependency functionality commonly needed by
+various Haskell streaming data libraries, such as @code{conduit} and
+@code{pipe}s.")
+ (license bsd-3)))
+
+(define-public cpphs
+ (package
+ (name "cpphs")
+ (version "1.19.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/" name "/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1njpmxgpah5pcqppcl1cxb5xicf6xlqrd162qm12khp9hainlm72"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-polyparse" ,ghc-polyparse)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-old-time" ,ghc-old-time)))
+ (home-page "http://projects.haskell.org/cpphs/")
+ (synopsis "Liberalised re-implementation of cpp, the C pre-processor")
+ (description "Cpphs is a re-implementation of the C pre-processor that is
+both more compatible with Haskell, and itself written in Haskell so that it
+can be distributed with compilers. This version of the C pre-processor is
+pretty-much feature-complete and compatible with traditional (K&R)
+pre-processors. Additional features include: a plain-text mode; an option to
+unlit literate code files; and an option to turn off macro-expansion.")
+ (license (list lgpl2.1+ gpl3+))))
+
+(define-public ghc-reflection
+ (package
+ (name "ghc-reflection")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/reflection/reflection-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "10w3m6v3g6am203wbrikdbp57x9vw6b4jsh7bxdzsss4nmpm81zg"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-tagged" ,ghc-tagged)))
+ (home-page "http://github.com/ekmett/reflection")
+ (synopsis "Reify arbitrary terms into types that can be reflected back
+into terms")
+ (description "This package addresses the 'configuration problem' which is
+propogating configurations that are available at run-time, allowing multiple
+configurations to coexist without resorting to mutable global variables or
+@code{System.IO.Unsafe.unsafePerformIO}.")
+ (license bsd-3)))
+
+(define-public ghc-old-locale
+ (package
+ (name "ghc-old-locale")
+ (version "1.0.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/old-locale/old-locale-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
+ (build-system haskell-build-system)
+ (home-page "http://hackage.haskell.org/package/old-locale")
+ (synopsis "Adapt to locale conventions")
+ (description
+ "This package provides the ability to adapt to locale conventions such as
+date and time formats.")
+ (license bsd-3)))
+
+(define-public ghc-old-time
+ (package
+ (name "ghc-old-time")
+ (version "1.1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/old-time/old-time-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-old-locale" ,ghc-old-locale)))
+ (home-page "http://hackage.haskell.org/package/old-time")
+ (synopsis "Time compatibility library for Haskell")
+ (description "Old-time is a package for backwards compatibility with the
+old @code{time} library. For new projects, the newer
+@uref{http://hackage.haskell.org/package/time, time library} is recommended.")
+ (license bsd-3)))
+
(define-public ghc-data-default-instances-old-locale
(package
(name "ghc-data-default-instances-old-locale")
@@ -382,7 +1277,8 @@ package.")
(base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
(build-system haskell-build-system)
(propagated-inputs
- `(("ghc-data-default-class" ,ghc-data-default-class)))
+ `(("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-old-locale" ,ghc-old-locale)))
(home-page
"http://hackage.haskell.org/package/data-default-instances-old-locale")
(synopsis "Default instances for types in old-locale")
@@ -393,7 +1289,7 @@ package.")
(define-public ghc-dlist
(package
(name "ghc-dlist")
- (version "0.7.1.1")
+ (version "0.7.1.2")
(source
(origin
(method url-fetch)
@@ -402,9 +1298,10 @@ package.")
version
".tar.gz"))
(sha256
- (base32 "1zayvxvkan2s2ixajdr3f5rn1gzhprzv6cww4cbpwjhzw0l7zc08"))))
- (arguments `(#:tests? #f))
+ (base32 "10rp96rryij7d8gz5kv8ygc6chm1624ck5mbnqs2a3fkdzqj2b9k"))))
(build-system haskell-build-system)
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "https://github.com/spl/dlist")
(synopsis "Difference lists")
(description
@@ -436,7 +1333,7 @@ versions of GHC (i.e., < 6.10).")
(define-public cabal-install
(package
(name "cabal-install")
- (version "1.18.1.0")
+ (version "1.22.6.0")
(source
(origin
(method url-fetch)
@@ -445,7 +1342,7 @@ versions of GHC (i.e., < 6.10).")
version
".tar.gz"))
(sha256
- (base32 "1r1shhvnpgxf91rmbv3wa1rkd24plbgr6bpz3aj80ir0z3zbdayn"))))
+ (base32 "1d5h7h2wjwc2s3dvsvzjgmmfrfl2312ym2h6kyjgm9wnaqw9w8wx"))))
(arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
(build-system haskell-build-system)
(propagated-inputs
@@ -467,7 +1364,7 @@ installation of Haskell libraries and programs.")
(define-public ghc-mtl
(package
(name "ghc-mtl")
- (version "2.1.3.1")
+ (version "2.2.1")
(outputs '("out" "doc"))
(source
(origin
@@ -478,18 +1375,17 @@ installation of Haskell libraries and programs.")
".tar.gz"))
(sha256
(base32
- "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp"))))
+ "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa"))))
(build-system haskell-build-system)
(home-page "http://github.com/ekmett/mtl")
(synopsis
"Monad classes, using functional dependencies")
- (description
- "Monad classes using functional dependencies, with instances
-for various monad transformers, inspired by the paper
-'Functional Programming with Overloading and Higher-Order Polymorphism',
-by Mark P Jones, in 'Advanced School of Functional Programming', 1995
-http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.")
- (license bsd-3)))
+ (description "Monad classes using functional dependencies, with instances
+for various monad transformers, inspired by the paper 'Functional Programming
+with Overloading and Higher-Order Polymorphism', by Mark P Jones, in 'Advanced
+School of Functional Programming', 1995. See
+@uref{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html, the paper}.")
+ (license bsd-3)))
(define-public ghc-paths
(package
@@ -517,7 +1413,7 @@ http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.")
(define-public ghc-utf8-string
(package
(name "ghc-utf8-string")
- (version "0.3.8")
+ (version "1.0.1.1")
(source
(origin
(method url-fetch)
@@ -526,16 +1422,37 @@ http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.")
version
".tar.gz"))
(sha256
- (base32 "1h29dn0scsfkhmkg14ywq9178lw40ah1r36w249zfzqr02y7qxc0"))))
+ (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
(build-system haskell-build-system)
(home-page "http://github.com/glguy/utf8-string/")
(synopsis "Support for reading and writing UTF8 Strings")
(description
- "A UTF8 layer for Strings. The utf8-string package provides operations
+ "A UTF8 layer for Strings. The utf8-string package provides operations
for encoding UTF8 strings to Word8 lists and back, and for reading and writing
UTF8 without truncation.")
(license bsd-3)))
+(define-public ghc-setenv
+ (package
+ (name "ghc-setenv")
+ (version "0.1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/setenv/setenv-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
+ (build-system haskell-build-system)
+ (home-page "http://hackage.haskell.org/package/setenv")
+ (synopsis "Library for setting environment variables")
+ (description "This package provides a Haskell library for setting
+environment variables.")
+ (license expat)))
+
(define-public ghc-x11
(package
(name "ghc-x11")
@@ -547,12 +1464,6 @@ UTF8 without truncation.")
"X11-" version ".tar.gz"))
(sha256
(base32 "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj"))))
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'configure 'set-sh
- (lambda _
- (setenv "CONFIG_SHELL" "sh")
- #t)))))
(build-system haskell-build-system)
(inputs
`(("libx11" ,libx11)
@@ -596,6 +1507,29 @@ bindings are a direct translation of the C bindings.")
parts.")
(license lgpl2.1)))
+(define-public ghc-stringbuilder
+ (package
+ (name "ghc-stringbuilder")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/stringbuilder/stringbuilder-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
+ ; enabled
+ (home-page "http://hackage.haskell.org/package/stringbuilder")
+ (synopsis "Writer monad for multi-line string literals")
+ (description "This package provides a writer monad for multi-line string
+literals.")
+ (license expat)))
+
(define-public ghc-zlib
(package
(name "ghc-zlib")
@@ -672,7 +1606,7 @@ access to the full zlib feature set.")
(define-public ghc-text
(package
(name "ghc-text")
- (version "1.2.0.4")
+ (version "1.2.1.3")
(outputs '("out" "doc"))
(source
(origin
@@ -683,7 +1617,7 @@ access to the full zlib feature set.")
".tar.gz"))
(sha256
(base32
- "004p1c74crs8wmjafwsmw3mmycspq1j8fpm1lvfpq6acha7bnpc6"))))
+ "0gzqx5cpkdhshbz9xss51mpyq23pnf8dwjz4h3irbv2ryaa4qdlq"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
@@ -702,7 +1636,7 @@ in terms of large data quantities and high speed.")
(define-public ghc-hashable
(package
(name "ghc-hashable")
- (version "1.2.3.2")
+ (version "1.2.3.3")
(outputs '("out" "doc"))
(source
(origin
@@ -713,7 +1647,7 @@ in terms of large data quantities and high speed.")
".tar.gz"))
(sha256
(base32
- "0h9295pv2sgbaqlwpwbx2bap6nngm0jcdhkqham1wpjwyxqgqrlc"))))
+ "0kp4aj0x1iicz9qirpqxxqd8x5g1njbapxk1d90n406w3xykz4pw"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
@@ -777,7 +1711,7 @@ library, including the ability to split random number generators.")
(define-public ghc-primitive
(package
(name "ghc-primitive")
- (version "0.5.4.0")
+ (version "0.6.1.0")
(outputs '("out" "doc"))
(source
(origin
@@ -788,7 +1722,7 @@ library, including the ability to split random number generators.")
".tar.gz"))
(sha256
(base32
- "05gdgj383xdrdkhxh26imlvs8ji0z28ny38ms9snpvv5i8l2lg10"))))
+ "1j1q7l21rdm8kfs93vibr3xwkkhqis181w2k6klfhx5g5skiywwk"))))
(build-system haskell-build-system)
(home-page
"https://github.com/haskell/primitive")
@@ -797,6 +1731,98 @@ library, including the ability to split random number generators.")
"This package provides various primitive memory-related operations.")
(license bsd-3)))
+(define-public ghc-test-framework
+ (package
+ (name "ghc-test-framework")
+ (version "0.8.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/test-framework/"
+ "test-framework-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-libxml" ,ghc-libxml)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (propagated-inputs
+ `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+ ("ghc-hostname" ,ghc-hostname)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-random" ,ghc-random)
+ ("ghc-regex-posix" ,ghc-regex-posix)
+ ("ghc-xml" ,ghc-xml)))
+ (home-page "https://batterseapower.github.io/test-framework/")
+ (synopsis "Framework for running and organising tests")
+ (description
+ "This package allows tests such as QuickCheck properties and HUnit test
+cases to be assembled into test groups, run in parallel (but reported in
+deterministic order, to aid diff interpretation) and filtered and controlled
+by command line options. All of this comes with colored test output, progress
+reporting and test statistics output.")
+ (license bsd-3)))
+
+(define-public ghc-test-framework-hunit
+ (package
+ (name "ghc-test-framework-hunit")
+ (version "0.3.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "test-framework-hunit/test-framework-hunit-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1h0h55kf6ff25nbfx1mhliwyknc0glwv3zi78wpzllbjbs7gvyfk"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)))
+ (home-page "https://batterseapower.github.io/test-framework/")
+ (synopsis "HUnit support for test-framework")
+ (description
+ "This package provides HUnit support for the test-framework package.")
+ (license bsd-3)))
+
+(define-public ghc-test-framework-quickcheck2
+ (package
+ (name "ghc-test-framework-quickcheck2")
+ (version "0.3.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "test-framework-quickcheck2/"
+ "test-framework-quickcheck2-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12p1zwrsz35r3j5gzbvixz9z1h5643rhihf5gqznmc991krwd5nc"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; The Hackage page and the cabal file linked there for this package
+ ;; both list 2.9 as the upper version limit, but the source tarball
+ ;; specifies 2.8. Assume the Hackage page is correct.
+ '(substitute* "test-framework-quickcheck2.cabal"
+ (("QuickCheck >= 2.4 && < 2.8") "QuickCheck >= 2.4 && < 2.9")))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-test-framework" ,ghc-test-framework)))
+ (home-page "https://batterseapower.github.io/test-framework/")
+ (synopsis "QuickCheck2 support for test-framework")
+ (description
+ "This packages provides QuickCheck2 support for the test-framework
+package.")
+ (license bsd-3)))
+
(define-public ghc-tf-random
(package
(name "ghc-tf-random")
@@ -825,10 +1851,1047 @@ the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
Hashing\" by Claessen, Pałka for details and the rationale of the design.")
(license bsd-3)))
+(define-public ghc-transformers-base
+ (package
+ (name "ghc-transformers-base")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/transformers-base/transformers-base-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-stm" ,ghc-stm)))
+ (inputs
+ `(("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page
+ "http://hackage.haskell.org/package/transformers-compat")
+ (synopsis
+ "Backported transformer library")
+ (description
+ "Backported versions of types that were added to transformers in
+transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
+compatibility to run on old versions of the platform.")
+ (license bsd-3)))
+
+(define-public ghc-transformers-compat
+ (package
+ (name "ghc-transformers-compat")
+ (version "0.4.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/transformers-compat"
+ "/transformers-compat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0lmg8ry6bgigb0v2lg0n74lxi8z5m85qq0qi4h1k9llyjb4in8ym"))))
+ (build-system haskell-build-system)
+ (home-page "http://github.com/ekmett/transformers-compat/")
+ (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
+ (description "This package includes backported versions of types that were
+added to transformers in transformers 0.3 and 0.4 for users who need strict
+transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
+but also need those types.")
+ (license bsd-3)))
+
+(define-public ghc-unix-time
+ (package
+ (name "ghc-unix-time")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/unix-time/unix-time-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0dyvyxwaffb94bgri1wc4b9wqaasy32pyjn0lww3dqblxv8fn5ax"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
+ ; is weird, that should be provided by GHC 7.10.2.
+ (propagated-inputs
+ `(("ghc-old-time" ,ghc-old-time)
+ ("ghc-old-locale" ,ghc-old-locale)))
+ (home-page "http://hackage.haskell.org/package/unix-time")
+ (synopsis "Unix time parser/formatter and utilities")
+ (description "This library provides fast parsing and formatting utilities
+for Unix time in Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-unix-compat
+ (package
+ (name "ghc-unix-compat")
+ (version "0.4.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/unix-compat/unix-compat-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0jxk7j5pz2kgfpqr4hznndjg31pqj5xg2qfc5308fcn9xyg1myps"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://github.com/jystic/unix-compat")
+ (synopsis "Portable POSIX-compatibility layer")
+ (description
+ "This package provides portable implementations of parts of the unix
+package. This package re-exports the unix package when available. When it
+isn't available, portable implementations are used.")
+ (license bsd-3)))
+
+(define-public ghc-http-types
+ (package
+ (name "ghc-http-types")
+ (version "0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/http-types/http-types-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0ny15jgm5skhs2yx6snr13lrnw19hwjgfygrpsmhib8wqa8cz8cc"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests cannot find
+ ; Blaze.Bytestring.Builder, which should be
+ ; provided by ghc-blaze-builder.
+ (propagated-inputs
+ `(("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)))
+ (inputs
+ `(("ghc-text" ,ghc-text)))
+ (home-page "https://github.com/aristidb/http-types")
+ (synopsis "Generic HTTP types for Haskell")
+ (description "This package provides generic HTTP types for Haskell (for
+both client and server code).")
+ (license bsd-3)))
+
+(define-public ghc-iproute
+ (package
+ (name "ghc-iproute")
+ (version "1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/iproute/iproute-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1ply0i110c2sppjbfyysgw48jfjnsbam5zwil8xws0hp20rh1pb5"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
+ ; exported by ghc-byteorder. Doctest issue.
+ (propagated-inputs
+ `(("ghc-appar" ,ghc-appar)
+ ("ghc-byteorder" ,ghc-byteorder)))
+ (inputs
+ `(("ghc-network" ,ghc-network)
+ ("ghc-safe" ,ghc-safe)))
+ (home-page "http://www.mew.org/~kazu/proj/iproute/")
+ (synopsis "IP routing table")
+ (description "IP Routing Table is a tree of IP ranges to search one of
+them on the longest match base. It is a kind of TRIE with one way branching
+removed. Both IPv4 and IPv6 are supported.")
+ (license bsd-3)))
+
+(define-public ghc-regex-base
+ (package
+ (name "ghc-regex-base")
+ (version "0.93.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/regex-base/regex-base-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)))
+ (home-page
+ "http://sourceforge.net/projects/lazy-regex")
+ (synopsis "Replaces/Enhances Text.Regex")
+ (description "@code{Text.Regex.Base} provides the interface API for
+regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
+ (license bsd-3)))
+
+(define-public ghc-regex-posix
+ (package
+ (name "ghc-regex-posix")
+ (version "0.95.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/regex-posix/regex-posix-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-regex-base" ,ghc-regex-base)))
+ (home-page "http://sourceforge.net/projects/lazy-regex")
+ (synopsis "POSIX regular expressions for Haskell")
+ (description "This library provides the POSIX regex backend used by the
+Haskell library @code{regex-base}.")
+ (license bsd-3)))
+
+(define-public ghc-regex-compat
+ (package
+ (name "ghc-regex-compat")
+ (version "0.95.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/regex-compat/regex-compat-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-regex-base" ,ghc-regex-base)
+ ("ghc-regex-posix" ,ghc-regex-posix)))
+ (home-page "http://sourceforge.net/projects/lazy-regex")
+ (synopsis "Replaces/Enhances Text.Regex")
+ (description "This library provides one module layer over
+@code{regex-posix} to replace @code{Text.Regex}.")
+ (license bsd-3)))
+
+(define-public ghc-regex-tdfa-rc
+ (package
+ (name "ghc-regex-tdfa-rc")
+ (version "1.1.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-regex-base" ,ghc-regex-base)
+ ("ghc-parsec" ,ghc-parsec)))
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)))
+ (home-page
+ "http://hackage.haskell.org/package/regex-tdfa")
+ (synopsis "Tagged DFA regex engine for Haskell")
+ (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
+@code{libtre} (fork by Roman Cheplyaka).")
+ (license bsd-3)))
+
+(define-public ghc-parsers
+ (package
+ (name "ghc-parsers")
+ (version "0.12.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/parsers/parsers-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "18wzmp8y3py4qa8hdsxqm0jfzmwy744dw7xa48r5s8ynhpimi462"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
+ ; -package attoparsec-0.13.0.1"
+ (propagated-inputs
+ `(("ghc-base-orphans" ,ghc-base-orphans)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-charset" ,ghc-charset)))
+ (inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (home-page "http://github.com/ekmett/parsers/")
+ (synopsis "Parsing combinators")
+ (description "This library provides convenient combinators for working
+with and building parsing combinator libraries. Given a few simple instances,
+you get access to a large number of canned definitions. Instances exist for
+the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
+@code{Text.Read}.")
+ (license bsd-3)))
+
+(define-public ghc-trifecta
+ (package
+ (name "ghc-trifecta")
+ (version "1.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/trifecta/trifecta-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0fjhnsbafl3yw34pyhcsvrqy6a2mnhyqys6gna3rrlygs8ck7hpb"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
+ ; -package ansi-terminal-0.6.2.3"
+ (propagated-inputs
+ `(("ghc-charset" ,ghc-charset)
+ ("ghc-comonad" ,ghc-comonad)
+ ("ghc-lens" ,ghc-lens)
+ ("ghc-profunctors" ,ghc-profunctors)
+ ("ghc-reducers" ,ghc-reducers)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (inputs
+ `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-fingertree" ,ghc-fingertree)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-parsers" ,ghc-parsers)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (home-page "http://github.com/ekmett/trifecta/")
+ (synopsis "Parser combinator library with convenient diagnostics")
+ (description "Trifecta is a modern parser combinator library for Haskell,
+with slicing and Clang-style colored diagnostics.")
+ (license bsd-3)))
+
+(define-public ghc-attoparsec
+ (package
+ (name "ghc-attoparsec")
+ (version "0.13.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/attoparsec/attoparsec-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0cprkr7bl4lrr80pz8mryb4rbfwdgpsrl7g0fbcaybhl8p5hm26f"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-scientific" ,ghc-scientific)))
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-text" ,ghc-text)
+ ("ghc-vector" ,ghc-vector)))
+ (home-page "https://github.com/bos/attoparsec")
+ (synopsis "Fast combinator parsing for bytestrings and text")
+ (description "This library provides a fast parser combinator library,
+aimed particularly at dealing efficiently with network protocols and
+complicated text/binary file formats.")
+ (license bsd-3)))
+
+(define-public ghc-css-text
+ (package
+ (name "ghc-css-text")
+ (version "0.1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/css-text/css-text-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1xi1n2f0g8y43p95lynhcg50wxbq7hqfzbfzm7fy8mn7gvd920nw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "http://www.yesodweb.com/")
+ (synopsis "CSS parser and renderer")
+ (description "This package provides a CSS parser and renderer for
+Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-zip-archive
+ (package
+ (name "ghc-zip-archive")
+ (version "0.2.3.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/zip-archive/zip-archive-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "169nkxr5zlbymiz1ydlhlqr66vqiycmg85xh559phpkr64w3nqj1"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-old-time" ,ghc-old-time)
+ ("ghc-digest" ,ghc-digest)))
+ (inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-mtl" ,ghc-mtl)
+ ("zip" ,zip)
+ ("ghc-text" ,ghc-text)
+ ("ghc-zlib" ,ghc-zlib)))
+ (home-page "https://hackage.haskell.org/package/zip-archive")
+ (synopsis "Zip archive library for Haskell")
+ (description "The zip-archive library provides functions for creating,
+modifying, and extracting files from zip archives in Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-distributive
+ (package
+ (name "ghc-distributive")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/distributive/distributive-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0s2ln9jv7bh4ri2y31178pvjl8x6nik5d0klx7j2b77yjlsgblc2"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: fails with "cannot satisfy -package
+ ; tagged-0.8.1". Suspected Cabal issue.
+ (propagated-inputs
+ `(("ghc-tagged" ,ghc-tagged)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page "http://github.com/ekmett/distributive/")
+ (synopsis "Distributive functors for Haskell")
+ (description "This package provides distributive functors for Haskell.
+Dual to @code{Traversable}.")
+ (license bsd-3)))
+
+(define-public ghc-cereal
+ (package
+ (name "ghc-cereal")
+ (version "0.4.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/cereal/cereal-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "15rhfn9hrjm01ksh9xpz9syxsp9vkvpp6b736iqq38wv2wb7416z"))))
+ (build-system haskell-build-system)
+ (home-page "http://hackage.haskell.org/package/cereal")
+ (synopsis "Binary serialization library")
+ (description "This package provides a binary serialization library,
+similar to @code{binary}, that introduces an @code{isolate} primitive for
+parser isolation, and labeled blocks for better error messages.")
+ (license bsd-3)))
+
+(define-public ghc-comonad
+ (package
+ (name "ghc-comonad")
+ (version "4.2.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/comonad/comonad-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0arvbaxgkawzdp38hh53akkahjg2aa3kj2b4ns0ni8a5ylg2cqmp"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-distributive" ,ghc-distributive)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-contravariant" ,ghc-contravariant)))
+ (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
+ ; -package contravariant-1.3.3"
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-contravariant" ,ghc-contravariant)))
+ (home-page "http://github.com/ekmett/comonad/")
+ (synopsis "Comonads for Haskell")
+ (description "This library provides @code{Comonad}s for Haskell.")
+ (license bsd-3)))
+
+(define-public hscolour
+ (package
+ (name "hscolour")
+ (version "1.23")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/hscolour/hscolour-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1c4i2zpami8g3w9949nm3f92g7xwh5c94vkx658zz7ihrjp7w5lp"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/hscolour")
+ (synopsis "Script to colourise Haskell code")
+ (description "HSColour is a small Haskell script to colourise Haskell
+code. It currently has six output formats: ANSI terminal codes (optionally
+XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
+with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
+and mIRC chat codes.")
+ (license bsd-3)))
+
+(define-public ghc-polyparse
+ (package
+ (name "ghc-polyparse")
+ (version "1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/polyparse/polyparse-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1z417f80b0jm4dgv25fk408p3d9mmcd1dlbya3ry0zdx4md09vrh"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)))
+ (home-page
+ "http://code.haskell.org/~malcolm/polyparse/")
+ (synopsis
+ "Alternative parser combinator libraries")
+ (description
+ "This package provides a variety of alternative parser combinator
+libraries, including the original HuttonMeijer set. The Poly sets have
+features like good error reporting, arbitrary token type, running state, lazy
+parsing, and so on. Finally, Text.Parse is a proposed replacement for the
+standard Read class, for better deserialisation of Haskell values from
+Strings.")
+ (license lgpl2.1)))
+
+(define-public ghc-extra
+ (package
+ (name "ghc-extra")
+ (version "1.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/extra/extra-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1h9hxkrqrqscx420yz1lmivbrhi6jc3a5ap61vkxd2mhdgark9hf"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/ndmitchell/extra")
+ (synopsis "Extra Haskell functions")
+ (description "This library provides extra functions for the standard
+Haskell libraries. Most functions are simple additions, filling out missing
+functionality. A few functions are available in later versions of GHC, but
+this package makes them available back to GHC 7.2.")
+ (license bsd-3)))
+
+(define-public ghc-profunctors
+ (package
+ (name "ghc-profunctors")
+ (version "5.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/profunctors/profunctors-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0lw2ipacpnp9yqmi8zsp01pzpn5hwj8af3y0f3079mddrmw48gw7"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-distributive" ,ghc-distributive)))
+ (inputs
+ `(("ghc-comonad" ,ghc-comonad)
+ ("ghc-tagged" ,ghc-tagged)))
+ (home-page "http://github.com/ekmett/profunctors/")
+ (synopsis "Profunctors for Haskell")
+ (description "This library provides profunctors for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-reducers
+ (package
+ (name "ghc-reducers")
+ (version "3.12.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/reducers/reducers-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0pkddg0s3cn759miq0nfrq7lnp3imk5sx784ihsilsbjh9kvffz4"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-semigroupoids" ,ghc-semigroupoids)))
+ (inputs
+ `(("ghc-fingertree" ,ghc-fingertree)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-text" ,ghc-text)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (home-page "http://github.com/ekmett/reducers/")
+ (synopsis "Semigroups, specialized containers and a general map/reduce framework")
+ (description "This library provides various semigroups, specialized
+containers and a general map/reduce framework for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-appar
+ (package
+ (name "ghc-appar")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/appar/appar-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://hackage.haskell.org/package/appar")
+ (synopsis "Simple applicative parser")
+ (description "This package provides a simple applicative parser in Parsec
+style.")
+ (license bsd-3)))
+
+(define-public ghc-safe
+ (package
+ (name "ghc-safe")
+ (version "0.3.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/safe/safe-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1jdnp5zhvalf1xy8i872n29nljfjz6lnl9ghj80ffisrnnkrwcfh"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/ndmitchell/safe#readme")
+ (synopsis "Library of safe (exception free) functions")
+ (description "This library provides wrappers around @code{Prelude} and
+@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
+exceptions.")
+ (license bsd-3)))
+
+(define-public ghc-generic-deriving
+ (package
+ (name "ghc-generic-deriving")
+ (version "1.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/generic-deriving/generic-deriving-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1kc6lhdanls6kgpk8xv5xi14lz1sngcd8xn930hkf7ilq4kxkcr6"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/generic-deriving")
+ (synopsis "Generalise the deriving mechanism to arbitrary classes")
+ (description "This package provides functionality for generalising the
+deriving mechanism in Haskell to arbitrary classes.")
+ (license bsd-3)))
+
+(define-public ghc-pcre-light
+ (package
+ (name "ghc-pcre-light")
+ (version "0.4.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/pcre-light/pcre-light-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0l1df2sk5qwf424bvb8mbdkr2xjg43fi92n5r22yd7vm1zz0jqvf"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("pcre" ,pcre)))
+ (home-page "https://github.com/Daniel-Diaz/pcre-light")
+ (synopsis "Haskell library for Perl 5 compatible regular expressions")
+ (description "This package provides a small, efficient, and portable regex
+library for Perl 5 compatible regular expressions. The PCRE library is a set
+of functions that implement regular expression pattern matching using the same
+syntax and semantics as Perl 5.")
+ (license bsd-3)))
+
+(define-public ghc-logict
+ (package
+ (name "ghc-logict")
+ (version "0.6.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/logict/logict-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-mtl" ,ghc-mtl)))
+ (home-page "http://code.haskell.org/~dolio/")
+ (synopsis "Backtracking logic-programming monad")
+ (description "This library provides a continuation-based, backtracking,
+logic programming monad. An adaptation of the two-continuation implementation
+found in the paper \"Backtracking, Interleaving, and Terminating Monad
+Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
+online}.")
+ (license bsd-3)))
+
+(define-public ghc-xml
+ (package
+ (name "ghc-xml")
+ (version "1.3.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/xml/xml-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)))
+ (home-page "http://code.galois.com")
+ (synopsis "Simple XML library for Haskell")
+ (description "This package provides a simple XML library for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-exceptions
+ (package
+ (name "ghc-exceptions")
+ (version "0.8.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/exceptions/exceptions-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1x1bk1jf42k1gigiqqmkkh38z2ffhx8rsqiszdq3f94m2h6kw2h7"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Missing test-framework package.
+ (propagated-inputs
+ `(("ghc-stm" ,ghc-stm)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page "http://github.com/ekmett/exceptions/")
+ (synopsis "Extensible optionally-pure exceptions")
+ (description "This library provides extensible optionally-pure exceptions
+for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-temporary
+ (package
+ (name "ghc-temporary")
+ (version "1.2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/temporary/temporary-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a"))))
+ (build-system haskell-build-system)
+ (propagated-inputs `(("ghc-exceptions" ,ghc-exceptions)))
+ (home-page "http://www.github.com/batterseapower/temporary")
+ (synopsis "Temporary file and directory support")
+ (description "The functions for creating temporary files and directories
+in the Haskelll base library are quite limited. This library just repackages
+the Cabal implementations of its own temporary file and folder functions so
+that you can use them without linking against Cabal or depending on it being
+installed.")
+ (license bsd-3)))
+
+(define-public ghc-temporary-rc
+ (package
+ (name "ghc-temporary-rc")
+ (version "1.2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/temporary-rc/temporary-rc-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
+ (build-system haskell-build-system)
+ (propagated-inputs `(("ghc-exceptions" ,ghc-exceptions)))
+ (home-page
+ "http://www.github.com/feuerbach/temporary")
+ (synopsis
+ "Portable temporary file and directory support")
+ (description
+ "The functions for creating temporary files and directories in the base
+library are quite limited. The unixutils package contains some good ones, but
+they aren't portable to Windows. This library just repackages the Cabal
+implementations of its own temporary file and folder functions so that you can
+use them without linking against Cabal or depending on it being installed.
+This is a better maintained fork of the \"temporary\" package.")
+ (license bsd-3)))
+
+(define-public ghc-smallcheck
+ (package
+ (name "ghc-smallcheck")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/smallcheck/smallcheck-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1ygrabxh40bym3grnzqyfqn96lirnxspb8cmwkkr213239y605sd"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-logict" ,ghc-logict)))
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)))
+ (home-page
+ "https://github.com/feuerbach/smallcheck")
+ (synopsis "Property-based testing library")
+ (description "SmallCheck is a testing library that allows to verify
+properties for all test cases up to some depth. The test cases are generated
+automatically by SmallCheck.")
+ (license bsd-3)))
+
+(define-public ghc-tasty-ant-xml
+ (package
+ (name "ghc-tasty-ant-xml")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0pgz2lclg2hp72ykljcbxd88pjanfdfk8m5vb2qzcyjr85kwrhxv"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-generic-deriving" ,ghc-generic-deriving)
+ ("ghc-xml" ,ghc-xml)))
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-tasty" ,ghc-tasty)))
+ (home-page
+ "http://github.com/ocharles/tasty-ant-xml")
+ (synopsis
+ "Render tasty output to XML for Jenkins")
+ (description
+ "A tasty ingredient to output test results in XML, using the Ant
+schema. This XML can be consumed by the Jenkins continuous integration
+framework.")
+ (license bsd-3)))
+
+(define-public ghc-tasty-smallcheck
+ (package
+ (name "ghc-tasty-smallcheck")
+ (version "0.8.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0yckfbz8na8ccyw2911i3a4hd3fdncclk3ng5343hs5cylw6y4sm"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-smallcheck" ,ghc-smallcheck)
+ ("ghc-async" ,ghc-async)
+ ("ghc-tagged" ,ghc-tagged)))
+ (home-page "http://documentup.com/feuerbach/tasty")
+ (synopsis "SmallCheck support for the Tasty test framework")
+ (description "This package provides SmallCheck support for the Tasty
+Haskell test framework.")
+ (license bsd-3)))
+
+(define-public ghc-silently
+ (package
+ (name "ghc-silently")
+ (version "1.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/silently/silently-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ;; circular dependency with nanospec
+ ;; (inputs
+ ;; `(("ghc-temporary" ,ghc-temporary)))
+ (home-page "https://github.com/hspec/silently")
+ (synopsis "Prevent writing to stdout")
+ (description "This package provides functions to prevent or capture
+writing to stdout and other handles.")
+ (license bsd-3)))
+
+(define-public ghc-quickcheck-instances
+ (package
+ (name "ghc-quickcheck-instances")
+ (version "0.3.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/"
+ "quickcheck-instances/quickcheck-instances-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "041s6963czs1pz0fc9cx17lgd6p83czqy2nxji7bhxqxwl2j15h2"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-old-time" ,ghc-old-time)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (inputs
+ `(("ghc-hashable" ,ghc-hashable)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-text" ,ghc-text)))
+ (home-page
+ "https://github.com/aslatter/qc-instances")
+ (synopsis "Common quickcheck instances")
+ (description "This package provides QuickCheck instances for types
+provided by the Haskell Platform.")
+ (license bsd-3)))
+
+(define-public ghc-quickcheck-unicode
+ (package
+ (name "ghc-quickcheck-unicode")
+ (version "1.0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/quickcheck-unicode/quickcheck-unicode-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1a8nl6x7l9b22yx61wm0bh2n1xzb1hd5i5zgg1w4fpaivjnrrhi4"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page
+ "https://github.com/bos/quickcheck-unicode")
+ (synopsis "Generator functions Unicode-related tests")
+ (description "This package provides generator and shrink functions for
+testing Unicode-related software.")
+ (license bsd-3)))
+
+(define-public ghc-quickcheck-io
+ (package
+ (name "ghc-quickcheck-io")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/quickcheck-io/quickcheck-io-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1kf1kfw9fsmly0rvzvdf6jvdw10qhkmikyj0wcwciw6wad95w9sh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)))
+ (home-page
+ "https://github.com/hspec/quickcheck-io#readme")
+ (synopsis "Use HUnit assertions as QuickCheck properties")
+ (description "This package provides an orphan instance that allows you to
+use HUnit assertions as QuickCheck properties.")
+ (license expat)))
+
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
- (version "2.8")
+ (version "2.8.1")
(outputs '("out" "doc"))
(source
(origin
@@ -839,7 +2902,7 @@ Hashing\" by Claessen, Pałka for details and the rationale of the design.")
".tar.gz"))
(sha256
(base32
- "04xs6mq22bcnkpi616qrbm7jlivh9csnhmvjgp1ifq52an1wr4rx"))))
+ "0fvnfl30fxmj5q920l13641ar896d53z0z6z66m7c1366lvalwvh"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f ; FIXME: currently missing libraries used for tests.
@@ -892,7 +2955,7 @@ to cases.")
(define-public ghc-syb
(package
(name "ghc-syb")
- (version "0.4.4")
+ (version "0.6")
(outputs '("out" "doc"))
(source
(origin
@@ -903,7 +2966,7 @@ to cases.")
".tar.gz"))
(sha256
(base32
- "11sc9kmfvcn9bfxf227fgmny502z2h9xs3z0m9ak66lk0dw6f406"))))
+ "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)
@@ -911,43 +2974,12 @@ to cases.")
(home-page
"http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
(synopsis "Scrap Your Boilerplate")
- (description
- "This package contains the generics system described in the
+ (description "This package contains the generics system described in the
/Scrap Your Boilerplate/ papers (see
-<http://www.cs.uu.nl/wiki/GenericProgramming/SYB>).
-It defines the 'Data' class of types permitting folding and unfolding
-of constructor applications, instances of this class for primitive
-types, and a variety of traversals.")
- (license bsd-3)))
-
-(define-public ghc-containers
- (package
- (name "ghc-containers")
- (version "0.5.6.3")
- (outputs '("out" "doc"))
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://hackage.haskell.org/package/containers/containers-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "1kcd55nl0vzi99i8sr8fmc5j25fv7m0a9hd3nihnq1pd64pfciqn"))))
- (build-system haskell-build-system)
- (inputs
- `(("ghc-hunit" ,ghc-hunit)
- ("ghc-quickcheck" ,ghc-quickcheck)))
- (arguments
- `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
- (home-page "http://hackage.haskell.org/package/containers")
- (synopsis "Assorted concrete container types")
- (description
- "This package contains efficient general-purpose implementations of
-various basic immutable container types. The declared cost of each operation
-is either worst-case or amortized, but remains valid even if structures are
-shared.")
+@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
+defines the 'Data' class of types permitting folding and unfolding of
+constructor applications, instances of this class for primitive types, and a
+variety of traversals.")
(license bsd-3)))
(define-public ghc-fgl
@@ -976,6 +3008,44 @@ is an inductive definition of graphs in the style of algebraic data types that
encourages inductive, recursive definitions of graph algorithms.")
(license bsd-3)))
+(define-public ghc-chasingbottoms
+ (package
+ (name "ghc-chasingbottoms")
+ (version "1.3.0.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/ChasingBottoms/"
+ "ChasingBottoms-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fb86jd6cdz4rx3fj3r9n8d60kx824ywwy7dw4qnrdran46ja3pl"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; The Hackage page and the cabal file linked there for this package
+ ;; both list 0.7 as the upper version limit, but the source tarball
+ ;; specifies 0.6. Assume the Hackage page is correct.
+ '(substitute* "ChasingBottoms.cabal"
+ (("syb >= 0.1.0.2 && < 0.6") "syb >= 0.1.0.2 && < 0.7")))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-syb" ,ghc-syb)))
+ (home-page "http://hackage.haskell.org/package/ChasingBottoms")
+ (synopsis "Testing of partial and infinite values in Haskell")
+ (description
+ ;; FIXME: There should be a @comma{} in the uref text, but it is not
+ ;; rendered properly.
+ "This is a library for testing code involving bottoms or infinite values.
+For the underlying theory and a larger example involving use of QuickCheck,
+see the article
+@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
+\"Chasing Bottoms A Case Study in Program Verification in the Presence of
+Partial and Infinite Values\"}.")
+ (license expat)))
+
(define-public ghc-unordered-containers
(package
(name "ghc-unordered-containers")
@@ -985,20 +3055,21 @@ encourages inductive, recursive definitions of graph algorithms.")
(origin
(method url-fetch)
(uri (string-append
- "http://hackage.haskell.org/package/unordered-containers/unordered-containers-"
- version
- ".tar.gz"))
+ "http://hackage.haskell.org/package/unordered-containers"
+ "/unordered-containers-" version ".tar.gz"))
(sha256
(base32
"06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-hunit" ,ghc-hunit)
- ("ghc-quickcheck" ,ghc-quickcheck)))
+ `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
;; these inputs are necessary to use this library
(propagated-inputs `(("ghc-hashable" ,ghc-hashable)))
- (arguments
- `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page
"https://github.com/tibbe/unordered-containers")
(synopsis
@@ -1009,6 +3080,103 @@ optimized for performance critical use, both in terms of large data quantities
and high speed.")
(license bsd-3)))
+(define-public ghc-uniplate
+ (package
+ (name "ghc-uniplate")
+ (version "1.6.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/uniplate/uniplate-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-syb" ,ghc-syb)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (home-page "http://community.haskell.org/~ndm/uniplate/")
+ (synopsis "Simple, concise and fast generic operations")
+ (description "Uniplate is a library for writing simple and concise generic
+operations. Uniplate has similar goals to the original Scrap Your Boilerplate
+work, but is substantially simpler and faster.")
+ (license bsd-3)))
+
+(define-public ghc-base64-bytestring
+ (package
+ (name "ghc-base64-bytestring")
+ (version "1.0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
+ (home-page "https://github.com/bos/base64-bytestring")
+ (synopsis "Base64 encoding and decoding for ByteStrings")
+ (description "This library provides fast base64 encoding and decoding for
+Haskell @code{ByteString}s.")
+ (license bsd-3)))
+
+(define-public ghc-annotated-wl-pprint
+ (package
+ (name "ghc-annotated-wl-pprint")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/annotated-wl-pprint"
+ "/annotated-wl-pprint-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/david-christiansen/annotated-wl-pprint")
+ (synopsis
+ "The Wadler/Leijen Pretty Printer, with annotation support")
+ (description "This is a modified version of wl-pprint, which was based on
+Wadler's paper \"A Prettier Printer\". This version allows the library user
+to annotate the text with semantic information, which can later be rendered in
+a variety of ways.")
+ (license bsd-3)))
+
+(define-public ghc-ansi-wl-pprint
+ (package
+ (name "ghc-ansi-wl-pprint")
+ (version "0.6.7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "025pyphsjf0dnbrmj5nscbi6gzyigwgp3ifxb3psn7kji6mfr29p"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
+ (home-page "http://github.com/ekmett/ansi-wl-pprint")
+ (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
+ (description "This is a pretty printing library based on Wadler's paper
+\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
+colored output using the ansi-terminal package.")
+ (license bsd-3)))
+
(define-public ghc-split
(package
(name "ghc-split")
@@ -1023,15 +3191,22 @@ and high speed.")
".tar.gz"))
(sha256
(base32
- "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"))))
+ "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; The Cabal file on Hackage is updated, but the tar.gz does not
+ ;; include it. See
+ ;; <https://hackage.haskell.org/package/split-0.2.2/revisions/>.
+ '(substitute* "split.cabal"
+ (("base <4.8") "base <4.9")))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "http://hackage.haskell.org/package/split")
- (synopsis
- "Combinator library for splitting lists")
- (description "A collection of various methods for splitting lists into
-parts, akin to the 'split' function found in several mainstream languages.")
+ (synopsis "Combinator library for splitting lists")
+ (description "This package provides a collection of Haskell functions for
+splitting lists into parts, akin to the @code{split} function found in several
+mainstream languages.")
(license bsd-3)))
(define-public ghc-parsec
@@ -1069,7 +3244,7 @@ is also parametric in the input stream type.")
(define-public ghc-vector
(package
(name "ghc-vector")
- (version "0.10.12.2")
+ (version "0.11.0.0")
(outputs '("out" "doc"))
(source
(origin
@@ -1080,7 +3255,7 @@ is also parametric in the input stream type.")
".tar.gz"))
(sha256
(base32
- "01hc71k1z9m0g0dv4zsvq5d2dvbgyc5p01hryw5c53792yi2fm25"))))
+ "1r1jlksy7b0kb0fy00g64isk6nyd9wzzdq31gx5v1wn38knj0lqa"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
@@ -1088,17 +3263,46 @@ is also parametric in the input stream type.")
(propagated-inputs
`(("ghc-primitive" ,ghc-primitive)))
(arguments
- `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
+ `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page "https://github.com/haskell/vector")
(synopsis "Efficient Arrays")
- (description "An efficient implementation of Int-indexed arrays (both
-mutable and immutable), with a powerful loop optimisation framework.")
- (license bsd-3)))
+ (description "This library provides an efficient implementation of
+Int-indexed arrays (both mutable and immutable), with a powerful loop
+optimisation framework.")
+ (license bsd-3)))
+
+(define-public ghc-vector-binary-instances
+ (package
+ (name "ghc-vector-binary-instances")
+ (version "0.2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/"
+ "vector-binary-instances/vector-binary-instances-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "028rsf2w193rhs1gic5yvvrwidw9sblczcn10aw64npfc6502l4l"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-cereal" ,ghc-cereal)))
+ (inputs
+ `(("ghc-vector" ,ghc-vector)))
+ (home-page "https://github.com/bos/vector-binary-instances")
+ (synopsis "Instances of Data.Binary and Data.Serialize for vector")
+ (description "This library provides instances of @code{Binary} for the
+types defined in the @code{vector} package, making it easy to serialize
+vectors to and from disk. We use the generic interface to vectors, so all
+vector types are supported. Specific instances are provided for unboxed,
+boxed and storable vectors.")
+ (license bsd-3)))
(define-public ghc-network
(package
(name "ghc-network")
- (version "2.6.0.2")
+ (version "2.6.2.1")
(outputs '("out" "doc"))
(source
(origin
@@ -1109,16 +3313,12 @@ mutable and immutable), with a powerful loop optimisation framework.")
".tar.gz"))
(sha256
(base32
- "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4"))))
+ "1yhvpd4wigz165jvyvw9zslx7lgqdj63jh3zv5s74b5ykdfa3zd3"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)))
(arguments
- `(#:tests? #f ; FIXME: currently missing libraries used for tests.
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-sh
- (lambda _ (setenv "CONFIG_SHELL" "sh"))))))
+ `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page "https://github.com/haskell/network")
(synopsis "Low-level networking interface")
(description
@@ -1128,7 +3328,7 @@ mutable and immutable), with a powerful loop optimisation framework.")
(define-public ghc-network-uri
(package
(name "ghc-network-uri")
- (version "2.6.0.1")
+ (version "2.6.0.3")
(outputs '("out" "doc"))
(source
(origin
@@ -1139,7 +3339,7 @@ mutable and immutable), with a powerful loop optimisation framework.")
".tar.gz"))
(sha256
(base32
- "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37"))))
+ "1pwbqb2rk4rnvllvdch42p5368xcvpkanp7bxckdhxya8zzwvhhg"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)
@@ -1156,10 +3356,32 @@ mutable and immutable), with a powerful loop optimisation framework.")
package into this package.")
(license bsd-3)))
+(define-public ghc-ansi-terminal
+ (package
+ (name "ghc-ansi-terminal")
+ (version "0.6.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/feuerbach/ansi-terminal")
+ (synopsis "ANSI terminal support for Haskell")
+ (description "This package provides ANSI terminal support for Haskell. It
+allows cursor movement, screen clearing, color output showing or hiding the
+cursor, and changing the title.")
+ (license bsd-3)))
+
(define-public ghc-http
(package
(name "ghc-http")
- (version "4000.2.19")
+ (version "4000.2.20")
(outputs '("out" "doc"))
(source
(origin
@@ -1170,12 +3392,13 @@ package into this package.")
".tar.gz"))
(sha256
(base32
- "1yzm8gimh8g0wwbixcbxg60v4l3vgi63w9v55ms0x9qnm6vrgysz"))))
+ "0nyqdxr5ls2dxkf4a1f3x15xzwdm46ppn99nkcbhswlr6s3cq1s4"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)))
(propagated-inputs
- `(("ghc-parsec" ,ghc-parsec)
+ `(("ghc-old-time" ,ghc-old-time)
+ ("ghc-parsec" ,ghc-parsec)
("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
("ghc-network-uri" ,ghc-network-uri)))
@@ -1189,4 +3412,2898 @@ lets you set up HTTP connections, transmitting requests and processing the
responses coming back.")
(license bsd-3)))
+(define-public ghc-hspec
+ (package
+ (name "ghc-hspec")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/hspec/hspec-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0zqisxznlbszivsgy3irvf566zhcr6ipqqj3x9i7pj5hy913jwqf"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-hspec-core" ,ghc-hspec-core)
+ ("hspec-discover" ,hspec-discover)
+ ("ghc-hspec-expectations" ,ghc-hspec-expectations)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)))
+ (inputs
+ `(("ghc-stringbuilder" ,ghc-stringbuilder)
+ ("ghc-hspec-meta" ,ghc-hspec-meta)))
+ (home-page "http://hspec.github.io/")
+ (synopsis "Testing Framework for Haskell")
+ (description "This library provides the Hspec testing framework for
+Haskell, inspired by the Ruby library RSpec.")
+ (license expat)))
+
+(define-public ghc-hspec-contrib
+ (package
+ (name "ghc-hspec-contrib")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "hspec-contrib/hspec-contrib-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "006syw8xagfhsx06ws9ywig1qx5lk4cgl7sq6pbid1s64c72mxn4"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-hspec-core" ,ghc-hspec-core)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "http://hspec.github.io/")
+ (synopsis "Contributed functionality for Hspec")
+ (description
+ "This package provides contributed Hspec extensions.")
+ (license expat)))
+
+(define-public ghc-hspec-expectations
+ (package
+ (name "ghc-hspec-expectations")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/hspec-expectations/hspec-expectations-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1w56jiqfyl237sr207gh3b0l8sr9layy0mdsgd5wknzb49mif6ip"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/sol/hspec-expectations")
+ (synopsis "Catchy combinators for HUnit")
+ (description "This library provides catchy combinators for HUnit, see
+@uref{https://github.com/sol/hspec-expectations#readme, the README}.")
+ (license expat)))
+
+(define-public hspec-discover
+ (package
+ (name "hspec-discover")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/hspec-discover/hspec-discover-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0w3awzbljf4hqhxrjrxqa1lfcclg92bhmq641gz2q80vycspapzx"))))
+ (build-system haskell-build-system)
+ (arguments `(#:haddock? #f)) ; Haddock phase fails because there are no
+ ; documentation files.
+ (inputs `(("ghc-hspec-meta" ,ghc-hspec-meta)))
+ (home-page "http://hspec.github.io/")
+ (synopsis "Automatically discover and run Hspec tests")
+ (description "hspec-discover is a tool which automatically discovers and
+runs Hspec tests.")
+ (license expat)))
+
+(define-public ghc-hspec-core
+ (package
+ (name "ghc-hspec-core")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/hspec-core/hspec-core-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1wgd55k652jaf81nkvciyqi67ycj7zamr4nd9z1cqf8nr9fc3sa4"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
+ (propagated-inputs
+ `(("ghc-setenv" ,ghc-setenv)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-async" ,ghc-async)
+ ("ghc-quickcheck-io" ,ghc-quickcheck-io)))
+ (inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hspec-expectations" ,ghc-hspec-expectations)
+ ("ghc-silently" ,ghc-silently)))
+ (home-page "http://hspec.github.io/")
+ (synopsis "Testing framework for Haskell")
+ (description "This library exposes internal types and functions that can
+be used to extend Hspec's functionality.")
+ (license expat)))
+
+(define-public ghc-hspec-meta
+ (package
+ (name "ghc-hspec-meta")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/hspec-meta/hspec-meta-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1fmqmgrzp135cxhmxxbaswkk4bqbpgfml00cmcz0d39n11vzpa5z"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-async" ,ghc-async)
+ ("ghc-hspec-expectations" ,ghc-hspec-expectations)
+ ("ghc-setenv" ,ghc-setenv)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck-io" ,ghc-quickcheck-io)))
+ (home-page "http://hspec.github.io/")
+ (synopsis "Version of Hspec to test Hspec itself")
+ (description "This library provides a stable version of Hspec which is
+used to test the in-development version of Hspec.")
+ (license expat)))
+
+(define-public ghc-vault
+ (package
+ (name "ghc-vault")
+ (version "0.3.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/vault/vault-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0ah6qrg71krc87f4vjy4b4shdd0mgyil8fikb3j6fl4kfwlg67jn"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-hashable" ,ghc-hashable)))
+ (home-page
+ "https://github.com/HeinrichApfelmus/vault")
+ (synopsis "Persistent store for arbitrary values")
+ (description "This package provides vaults for Haskell. A vault is a
+persistent store for values of arbitrary types. It's like having first-class
+access to the storage space behind @code{IORefs}. The data structure is
+analogous to a bank vault, where you can access different bank boxes with
+different keys; hence the name. Also provided is a @code{locker} type,
+representing a store for a single element.")
+ (license bsd-3)))
+
+(define-public ghc-mmorph
+ (package
+ (name "ghc-mmorph")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/mmorph/mmorph-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://hackage.haskell.org/package/mmorph")
+ (synopsis "Monad morphisms")
+ (description
+ "This library provides monad morphism utilities, most commonly used for
+manipulating monad transformer stacks.")
+ (license bsd-3)))
+
+(define-public ghc-monad-control
+ (package
+ (name "ghc-monad-control")
+ (version "1.0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/monad-control"
+ "/monad-control-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07pn1p4m80wdd7gw62s4yny8rbvm60ka1q8qx5y1plznd8sbg179"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-stm" ,ghc-stm)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page "https://github.com/basvandijk/monad-control")
+ (synopsis "Monad transformers to lift control operations like exception
+catching")
+ (description "This package defines the type class @code{MonadBaseControl},
+a subset of @code{MonadBase} into which generic control operations such as
+@code{catch} can be lifted from @code{IO} or any other base monad.")
+ (license bsd-3)))
+
+(define-public ghc-byteorder
+ (package
+ (name "ghc-byteorder")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/byteorder/byteorder-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://community.haskell.org/~aslatter/code/byteorder")
+ (synopsis
+ "Exposes the native endianness of the system")
+ (description
+ "This package is for working with the native byte-ordering of the
+system.")
+ (license bsd-3)))
+
+(define-public ghc-base-compat
+ (package
+ (name "ghc-base-compat")
+ (version "0.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/base-compat/base-compat-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "02m93hzgxg4bcnp7xcc2fdh2hrsc2h6fwl8hix5nx9k864kwf41q"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://hackage.haskell.org/package/base-compat")
+ (synopsis "Haskell compiler compatibility library")
+ (description "This library provides functions available in later versions
+of base to a wider range of compilers, without requiring the use of CPP
+pragmas in your code.")
+ (license bsd-3)))
+
+(define-public ghc-blaze-builder
+ (package
+ (name "ghc-blaze-builder")
+ (version "0.4.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/blaze-builder/blaze-builder-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1id3w33x9f7q5m3xpggmvzw03bkp94bpfyz81625bldqgf3yqdn1"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (home-page "http://github.com/lpsmith/blaze-builder")
+ (synopsis "Efficient buffered output")
+ (description "This library provides an implementation of the older
+@code{blaze-builder} interface in terms of the new builder that shipped with
+@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
+bridge to the new builder, so that code that uses the old interface can
+interoperate with code that uses the new implementation.")
+ (license bsd-3)))
+
+(define-public ghc-blaze-markup
+ (package
+ (name "ghc-blaze-markup")
+ (version "0.7.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/blaze-markup/blaze-markup-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "080vlhd8dwjxrma4bb524lh8gxs5lm3xh122icy6lnnyipla0s9y"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
+ (propagated-inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-text" ,ghc-text)))
+ (home-page "http://jaspervdj.be/blaze")
+ (synopsis "Fast markup combinator library for Haskell")
+ (description "This library provides core modules of a markup combinator
+library for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-blaze-html
+ (package
+ (name "ghc-blaze-html")
+ (version "0.8.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/blaze-html/blaze-html-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1dnw50kh0s405cg9i2y4a8awanhj3bqzk21jwgfza65kcjby7lpq"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
+ (propagated-inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-text" ,ghc-text)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)))
+ (home-page "http://jaspervdj.be/blaze")
+ (synopsis "Fast HTML combinator library")
+ (description "This library provides HTML combinators for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-easy-file
+ (package
+ (name "ghc-easy-file")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/easy-file/easy-file-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://github.com/kazu-yamamoto/easy-file")
+ (synopsis "File handling library for Haskell")
+ (description "This library provides file handling utilities for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-async
+ (package
+ (name "ghc-async")
+ (version "2.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/async/async-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0azx4qk65a9a2gvqsfmz3w89m6shzr2iz0i5lly2zvly4n2d6m6v"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (propagated-inputs
+ `(("ghc-stm" ,ghc-stm)))
+ (home-page "https://github.com/simonmar/async")
+ (synopsis "Library to run IO operations asynchronously")
+ (description "Async provides a library to run IO operations
+asynchronously, and wait for their results. It is a higher-level interface
+over threads in Haskell, in which @code{Async a} is a concurrent thread that
+will eventually deliver a value of type @code{a}.")
+ (license bsd-3)))
+
+(define-public ghc-fingertree
+ (package
+ (name "ghc-fingertree")
+ (version "0.1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/fingertree/fingertree-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1w6x3kp3by5yjmam6wlrf9vap5l5rrqaip0djbrdp0fpf2imn30n"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
+ (home-page "http://hackage.haskell.org/package/fingertree")
+ (synopsis "Generic finger-tree structure")
+ (description "This library provides finger trees, a general sequence
+representation with arbitrary annotations, for use as a base for
+implementations of various collection types. It includes examples, as
+described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
+simple general-purpose data structure\".")
+ (license bsd-3)))
+
+(define-public ghc-optparse-applicative
+ (package
+ (name "ghc-optparse-applicative")
+ (version "0.11.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/optparse-applicative"
+ "/optparse-applicative-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ni52ii9555jngljvzxn1ngicr6i2w647ww3rzhdrmng04y95iii"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
+ (home-page "https://github.com/pcapriotti/optparse-applicative")
+ (synopsis "Utilities and combinators for parsing command line options")
+ (description "This package provides utilities and combinators for parsing
+command line options in Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-base-orphans
+ (package
+ (name "ghc-base-orphans")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/base-orphans/base-orphans-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0hhgpwjvx7jhvlhsygmmf0q5hv2ymijzz4bjilicw99bmv13qcpl"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://hackage.haskell.org/package/base-orphans")
+ (synopsis "Orphan instances for backwards compatibility")
+ (description "This package defines orphan instances that mimic instances
+available in later versions of base to a wider (older) range of compilers.")
+ (license bsd-3)))
+
+(define-public ghc-auto-update
+ (package
+ (name "ghc-auto-update")
+ (version "0.1.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/auto-update/auto-update-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1ns4c5mqhnm7hsiqxf1ivjs5fflyq92b16ldzrcl0p85631h0c3v"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/yesodweb/wai")
+ (synopsis "Efficiently run periodic, on-demand actions")
+ (description "This library provides mechanisms to efficiently run
+periodic, on-demand actions in Haskell.")
+ (license expat)))
+
+(define-public ghc-tagged
+ (package
+ (name "ghc-tagged")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tagged/tagged-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1hc2qzhhz5p1xd8k03sklrdnhcflkwhgpl82k6fam8yckww9ipav"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/tagged")
+ (synopsis "Haskell phantom types to avoid passing dummy arguments")
+ (description "This library provides phantom types for Haskell 98, to avoid
+having to unsafely pass dummy arguments.")
+ (license bsd-3)))
+
+(define-public ghc-unbounded-delays
+ (package
+ (name "ghc-unbounded-delays")
+ (version "0.1.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/basvandijk/unbounded-delays")
+ (synopsis "Unbounded thread delays and timeouts")
+ (description "The @code{threadDelay} and @code{timeout} functions from the
+Haskell base library use the bounded @code{Int} type for specifying the delay
+or timeout period. This package provides alternative functions which use the
+unbounded @code{Integer} type.")
+ (license bsd-3)))
+
+;; This package builds `clock` without tests, since the tests rely on tasty
+;; and tasty-quickcheck, which in turn require clock to build. When tasty and
+;; tasty-quickcheck are added, we will add ghc-clock with tests enabled.
+(define ghc-clock-bootstrap
+ (package
+ (name "ghc-clock-bootstrap")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/"
+ "clock/"
+ "clock-" version ".tar.gz"))
+ (sha256
+ (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and
+ ;; tasty-quickcheck, which need clock to build.
+ (home-page "https://hackage.haskell.org/package/clock")
+ (synopsis "High-resolution clock for Haskell")
+ (description "A package for convenient access to high-resolution clock and
+timer functions of different operating systems via a unified API.")
+ (license bsd-3)))
+
+(define-public ghc-clock
+ (package
+ (name "ghc-clock")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/"
+ "clock/"
+ "clock-" version ".tar.gz"))
+ (sha256
+ (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (home-page "https://hackage.haskell.org/package/clock")
+ (synopsis "High-resolution clock for Haskell")
+ (description "A package for convenient access to high-resolution clock and
+timer functions of different operating systems via a unified API.")
+ (license bsd-3)))
+
+(define-public ghc-charset
+ (package
+ (name "ghc-charset")
+ (version "0.3.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/charset/charset-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-semigroups" ,ghc-semigroups)))
+ (inputs
+ `(("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (home-page "http://github.com/ekmett/charset")
+ (synopsis "Fast unicode character sets for Haskell")
+ (description "This package provides fast unicode character sets for
+Haskell, based on complemented PATRICIA tries.")
+ (license bsd-3)))
+
+(define-public ghc-bytestring-builder
+ (package
+ (name "ghc-bytestring-builder")
+ (version "0.10.6.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/bytestring-builder"
+ "/bytestring-builder-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1mkg24zl0rapb3gqzkyj5ibp07wx3yzd72hmfczssl0is63rjhww"))))
+ (build-system haskell-build-system)
+ (arguments `(#:haddock? #f)) ; Package contains no documentation.
+ (home-page "http://hackage.haskell.org/package/bytestring-builder")
+ (synopsis "The new bytestring builder, packaged outside of GHC")
+ (description "This package provides the bytestring builder that is
+debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
+Compatibility package for older packages.")
+ (license bsd-3)))
+
+(define-public ghc-nats
+ (package
+ (name "ghc-nats")
+ (version "1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/nats/nats-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0r6s8l4s0yq3x2crrkv0b8zac13magfasr9v8hnq6rn1icsfhic0"))))
+ (build-system haskell-build-system)
+ (arguments `(#:haddock? #f))
+ (inputs
+ `(("ghc-hashable" ,ghc-hashable)))
+ (home-page "https://hackage.haskell.org/package/nats")
+ (synopsis "Natural numbers")
+ (description "This library provides the natural numbers for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-void
+ (package
+ (name "ghc-void")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/void/void-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-semigroups" ,ghc-semigroups)))
+ (inputs
+ `(("ghc-hashable" ,ghc-hashable)))
+ (home-page "http://github.com/ekmett/void")
+ (synopsis
+ "Logically uninhabited data type")
+ (description
+ "A Haskell 98 logically uninhabited data type, used to indicate that a
+given term should not exist.")
+ (license bsd-3)))
+
+(define-public ghc-kan-extensions
+ (package
+ (name "ghc-kan-extensions")
+ (version "4.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/kan-extensions/kan-extensions-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0iywbadpy8s3isfzlx9dlz3apaywhqq4gdbxkwygksq8pzdhwkrk"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-adjunctions" ,ghc-adjunctions)))
+ (inputs
+ `(("ghc-comonad" ,ghc-comonad)
+ ("ghc-contravariant" ,ghc-contravariant)
+ ("ghc-distributive" ,ghc-distributive)
+ ("ghc-free" ,ghc-free)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-semigroupoids" ,ghc-semigroupoids)
+ ("ghc-tagged" ,ghc-tagged)))
+ (home-page "http://github.com/ekmett/kan-extensions/")
+ (synopsis "Kan extensions library")
+ (description "This library provides Kan extensions, Kan lifts, various
+forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-statevar
+ (package
+ (name "ghc-statevar")
+ (version "1.1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/StateVar/StateVar-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1ap51cvwq61xckx5hw44l82ihbxvsq3263xr5hqg42c5qp67kbhf"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-stm" ,ghc-stm)))
+ (home-page "http://hackage.haskell.org/package/StateVar")
+ (synopsis "State variables for Haskell")
+ (description "This package provides state variables, which are references
+in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
+ (license bsd-3)))
+
+(define-public ghc-lens
+ (package
+ (name "ghc-lens")
+ (version "4.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/lens/lens-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0g4g0xksrb2m8wgsmraaq8qnk1sssb42kr65fc7clgyid6zyfmim"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
+ (propagated-inputs
+ `(("ghc-base-orphans" ,ghc-base-orphans)
+ ("ghc-bifunctors" ,ghc-bifunctors)
+ ("ghc-distributive" ,ghc-distributive)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-free" ,ghc-free)
+ ("ghc-kan-extensions" ,ghc-kan-extensions)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-reflection" ,ghc-reflection)
+ ("ghc-semigroupoids" ,ghc-semigroupoids)
+ ("ghc-vector" ,ghc-vector)))
+ (inputs
+ `(("ghc-comonad" ,ghc-comonad)
+ ("ghc-contravariant" ,ghc-contravariant)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-profunctors" ,ghc-profunctors)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-text" ,ghc-text)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-void" ,ghc-void)
+ ("ghc-generic-deriving" ,ghc-generic-deriving)
+ ("ghc-nats" ,ghc-nats)
+ ("ghc-simple-reflect" ,ghc-simple-reflect)
+ ("hlint" ,hlint)))
+ (home-page "http://github.com/ekmett/lens/")
+ (synopsis "Lenses, Folds and Traversals")
+ (description "This library provides @code{Control.Lens}. The combinators
+in @code{Control.Lens} provide a highly generic toolbox for composing families
+of getters, folds, isomorphisms, traversals, setters and lenses and their
+indexed variants.")
+ (license bsd-3)))
+
+(define-public ghc-tagsoup
+ (package
+ (name "ghc-tagsoup")
+ (version "0.13.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tagsoup/tagsoup-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "13b6zy6346r3cxhaivys84fnxarg8wbv7r2znazfjdkqil8n5a1j"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-text" ,ghc-text)))
+ (home-page
+ "http://community.haskell.org/~ndm/tagsoup/")
+ (synopsis
+ "Parsing and extracting information from (possibly malformed) HTML/XML
+documents")
+ (description
+ "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
+specification, and can be used to parse either well-formed XML, or
+unstructured and malformed HTML from the web. The library also provides
+useful functions to extract information from an HTML document, making it ideal
+for screen-scraping.")
+ (license bsd-3)))
+
+(define-public ghc-digest
+ (package
+ (name "ghc-digest")
+ (version "0.0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/digest/digest-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("zlib" ,zlib)))
+ (home-page
+ "http://hackage.haskell.org/package/digest")
+ (synopsis
+ "Various cryptographic hashes for bytestrings")
+ (description
+ "This package provides efficient cryptographic hash implementations for
+strict and lazy bytestrings. For now, CRC32 and Adler32 are supported; they
+are implemented as FFI bindings to efficient code from zlib.")
+ (license bsd-3)))
+
+(define-public ghc-cheapskate
+ (package
+ (name "ghc-cheapskate")
+ (version "0.1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/cheapskate/cheapskate-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0drx1hlqvdcrij4097q6bxhbfcqm73jsqv1wwhd3hsnjdmr46ch2"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-xss-sanitize" ,ghc-xss-sanitize)
+ ("ghc-data-default" ,ghc-data-default)))
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-text" ,ghc-text)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-syb" ,ghc-syb)
+ ("ghc-uniplate" ,ghc-uniplate)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-wai-extra" ,ghc-wai-extra)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-http-types" ,ghc-http-types)))
+ (home-page "http://github.com/jgm/cheapskate")
+ (synopsis "Experimental markdown processor")
+ (description "Cheapskate is an experimental Markdown processor in pure
+Haskell. It aims to process Markdown efficiently and in the most forgiving
+possible way. It is designed to deal with any input, including garbage, with
+linear performance. Output is sanitized by default for protection against XSS
+attacks.")
+ (license bsd-3)))
+
+(define-public ghc-bifunctors
+ (package
+ (name "ghc-bifunctors")
+ (version "5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/bifunctors/bifunctors-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "13990xdgx0n23qgi18ghhmsywj5zkr0a5bim0g8a4nzi0cx95ps1"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-tagged" ,ghc-tagged)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (home-page "http://github.com/ekmett/bifunctors/")
+ (synopsis "Bifunctors for Haskell")
+ (description "This package provides bifunctors for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-semigroupoids
+ (package
+ (name "ghc-semigroupoids")
+ (version "5.0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/semigroupoids/semigroupoids-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1jf7jnfhdvl6p18wdr21yi2fim1xb8alcn6szhrdswj0dkilgq6d"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-base-orphans" ,ghc-base-orphans)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-bifunctors" ,ghc-bifunctors)
+ ("ghc-comonad" ,ghc-comonad)
+ ("ghc-contravariant" ,ghc-contravariant)
+ ("ghc-distributive" ,ghc-distributive)))
+ (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-tagged" ,ghc-tagged)))
+ (home-page "http://github.com/ekmett/semigroupoids")
+ (synopsis "Semigroupoids operations for Haskell")
+ (description "This library provides a wide array of (semi)groupoids and
+operations for working with them. A @code{Semigroupoid} is a @code{Category}
+without the requirement of identity arrows for every object in the category.
+A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
+Finally, to work with these weaker structures it is beneficial to have
+containers that can provide stronger guarantees about their contents, so
+versions of @code{Traversable} and @code{Foldable} that can be folded with
+just a @code{Semigroup} are added.")
+ (license bsd-3)))
+
+(define-public ghc-contravariant
+ (package
+ (name "ghc-contravariant")
+ (version "1.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/contravariant/contravariant-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "184hcmhsznqrkmqlc1kza9pb5p591anva574ry8wrh81vqmhwfb5"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-void" ,ghc-void)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-statevar" ,ghc-statevar)))
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)))
+ (home-page
+ "http://github.com/ekmett/contravariant/")
+ (synopsis "Contravariant functors")
+ (description "Contravariant functors for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-semigroups
+ (package
+ (name "ghc-semigroups")
+ (version "0.17.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/semigroups/semigroups-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0gvpfi7s6ys4qha3y9a1zl1a15gf9cgg33wjb94ghg82ivcxnc3r"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-nats" ,ghc-nats)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-hashable" ,ghc-hashable)))
+ (home-page "http://github.com/ekmett/semigroups/")
+ (synopsis "Semigroup operations for Haskell")
+ (description "This package provides semigroups for Haskell. In
+mathematics, a semigroup is an algebraic structure consisting of a set
+together with an associative binary operation. A semigroup generalizes a
+monoid in that there might not exist an identity element. It
+also (originally) generalized a group (a monoid with all inverses) to a type
+where every element did not have to have an inverse, thus the name
+semigroup.")
+ (license bsd-3)))
+
+(define-public ghc-free
+ (package
+ (name "ghc-free")
+ (version "4.12.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/free/free-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0sr8phvrb4ny8j1wzq55rdn8q4br23q4pw2j276npr844825jr9p"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-prelude-extras" ,ghc-prelude-extras)
+ ("ghc-profunctors" ,ghc-profunctors)
+ ("ghc-exceptions" ,ghc-exceptions)))
+ (inputs
+ `(("ghc-bifunctors" ,ghc-bifunctors)
+ ("ghc-comonad" ,ghc-comonad)
+ ("ghc-distributive" ,ghc-distributive)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-semigroupoids" ,ghc-semigroupoids)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (home-page "http://github.com/ekmett/free/")
+ (synopsis "Unrestricted monads for Haskell")
+ (description "This library provides free monads, which are useful for many
+tree-like structures and domain specific languages. If @code{f} is a
+@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
+whose nodes are labeled with the constructors of @code{f}. The word \"free\"
+is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
+f} makes no constraining assumptions beyond those given by @code{f} and the
+definition of @code{Monad}.")
+ (license bsd-3)))
+
+(define-public ghc-adjunctions
+ (package
+ (name "ghc-adjunctions")
+ (version "4.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/adjunctions/adjunctions-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "00p030iypjzjib8pxz1x6mxfi59wvyrwjj11zv9bh766dgkdbwjq"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-profunctors" ,ghc-profunctors)))
+ (inputs
+ `(("ghc-comonad" ,ghc-comonad)
+ ("ghc-contravariant" ,ghc-contravariant)
+ ("ghc-distributive" ,ghc-distributive)
+ ("ghc-free" ,ghc-free)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-semigroupoids" ,ghc-semigroupoids)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-void" ,ghc-void)))
+ (home-page "http://github.com/ekmett/adjunctions/")
+ (synopsis "Adjunctions and representable functors")
+ (description "This library provides adjunctions and representable functors
+for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-fast-logger
+ (package
+ (name "ghc-fast-logger")
+ (version "2.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/fast-logger/fast-logger-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0kjk1861qcls8m8y7i55msfpprws5wk6c5mxzi35g2qbl2sih4p5"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-auto-update" ,ghc-auto-update)))
+ (inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-text" ,ghc-text)))
+ (home-page "https://hackage.haskell.org/package/fast-logger")
+ (synopsis "Fast logging system")
+ (description "This library provides a fast logging system for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-doctest
+ (package
+ (name "ghc-doctest")
+ (version "0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/doctest/doctest-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1jbyhzbi2hfrfg7vbkpj6vriaap8cn99nnmzwcfscwaijz09jyrm"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: missing test framework
+ (propagated-inputs
+ `(("ghc-syb" ,ghc-syb)
+ ("ghc-paths" ,ghc-paths)))
+ (inputs
+ `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-stringbuilder" ,ghc-stringbuilder)
+ ("ghc-silently" ,ghc-silently)
+ ("ghc-setenv" ,ghc-setenv)))
+ (home-page
+ "https://github.com/sol/doctest#readme")
+ (synopsis "Test interactive Haskell examples")
+ (description "The doctest program checks examples in source code comments.
+It is modeled after doctest for Python, see
+@uref{http://docs.python.org/library/doctest.html, the Doctest website}.")
+ (license expat)))
+
+(define-public ghc-lifted-base
+ (package
+ (name "ghc-lifted-base")
+ (version "0.2.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/lifted-base/lifted-base-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1yz14a1rsgknwyl08n4kxrlc26hfwmb95a3c2drbnsgmhdyq7iap"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
+ (propagated-inputs
+ `(("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-monad-control" ,ghc-monad-control)))
+ (inputs
+ `(("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/basvandijk/lifted-base")
+ (synopsis "Lifted IO operations from the base library")
+ (description "Lifted-base exports IO operations from the @code{base}
+library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
+Note that not all modules from @code{base} are converted yet. The package
+includes a copy of the @code{monad-peel} test suite written by Anders
+Kaseorg.")
+ (license bsd-3)))
+
+(define-public ghc-word8
+ (package
+ (name "ghc-word8")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/word8/word8-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1pbn8ra3qhwvw07p375cdmp7jzlg07hgdcr4cpscz3h7b9sy7fiw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "http://hackage.haskell.org/package/word8")
+ (synopsis "Word8 library for Haskell")
+ (description "Word8 library to be used with @code{Data.ByteString}.")
+ (license bsd-3)))
+
+(define-public ghc-stringsearch
+ (package
+ (name "ghc-stringsearch")
+ (version "0.3.6.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/stringsearch/stringsearch-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
+ (build-system haskell-build-system)
+ (home-page "https://bitbucket.org/dafis/stringsearch")
+ (synopsis "Fast searching, splitting and replacing of ByteStrings")
+ (description "This package provides several functions to quickly search
+for substrings in strict or lazy @code{ByteStrings}. It also provides
+functions for breaking or splitting on substrings and replacing all
+occurrences of a substring (the first in case of overlaps) with another.")
+ (license bsd-3)))
+
+(define-public ghc-tasty-quickcheck
+ (package
+ (name "ghc-tasty-quickcheck")
+ (version "0.8.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tasty-quickcheck/"
+ "tasty-quickcheck-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15rjxib5jmjq0hzj47x15kgp3awc73va4cy1pmpf7k3hvfv4qprn"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (inputs
+ `(("ghc-tagged" ,ghc-tagged)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-random" ,ghc-random)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-pcre-light" ,ghc-pcre-light)))
+ (home-page "http://documentup.com/feuerbach/tasty")
+ (synopsis "QuickCheck support for the Tasty test framework")
+ (description "This package provides QuickCheck support for the Tasty
+Haskell test framework.")
+ (license expat)))
+
+(define-public ghc-tasty-golden
+ (package
+ (name "ghc-tasty-golden")
+ (version "2.3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tasty-golden/tasty-golden-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0n7nll1sx75n3lffwhgnjrxdn0jz1g0921z9mj193fxqw0wz8axh"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-temporary" ,ghc-temporary)))
+ (inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-async" ,ghc-async)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-temporary-rc" ,ghc-temporary-rc)))
+ (home-page
+ "https://github.com/feuerbach/tasty-golden")
+ (synopsis "Golden tests support for tasty")
+ (description
+ "This package provides support for 'golden testing'. A golden test is an
+IO action that writes its result to a file. To pass the test, this output
+file should be identical to the corresponding 'golden' file, which contains
+the correct result for the test.")
+ (license expat)))
+
+(define-public ghc-tasty
+ (package
+ (name "ghc-tasty")
+ (version "0.11.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tasty/tasty-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1chapivmmwsb1ghwagvdm80bfj3hdk75m94z4p212ng2i4ghpjkx"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-stm" ,ghc-stm)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-regex-tdfa-rc" ,ghc-regex-tdfa-rc)
+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+ ("ghc-unbounded-delays" ,ghc-unbounded-delays)
+ ("ghc-async" ,ghc-async)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-clock-bootstrap" ,ghc-clock-bootstrap)))
+ (home-page "http://documentup.com/feuerbach/tasty")
+ (synopsis "Modern and extensible testing framework")
+ (description "Tasty is a modern testing framework for Haskell. It lets
+you combine your unit tests, golden tests, QuickCheck/SmallCheck properties,
+and any other types of tests into a single test suite.")
+ (license expat)))
+
+(define-public ghc-tasty-hunit
+ (package
+ (name "ghc-tasty-hunit")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/tasty-hunit/tasty-hunit-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-tasty" ,ghc-tasty)))
+ (home-page "http://documentup.com/feuerbach/tasty")
+ (synopsis "HUnit support for the Tasty test framework")
+ (description "This package provides HUnit support for the Tasty Haskell
+test framework.")
+ (license expat)))
+
+(define-public ghc-cookie
+ (package
+ (name "ghc-cookie")
+ (version "0.4.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/cookie/cookie-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0b6ym6fn29p5az4dwydy036lxj131kagrmgb93w4bbkqfkds8b9s"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-old-locale" ,ghc-old-locale)))
+ (inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-text" ,ghc-text)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (home-page "http://github.com/snoyberg/cookie")
+ (synopsis "HTTP cookie parsing and rendering")
+ (description "HTTP cookie parsing and rendering library for Haskell.")
+ (license bsd-3)))
+
+(define-public ghc-scientific
+ (package
+ (name "ghc-scientific")
+ (version "0.3.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/scientific/scientific-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0mimdkva0cgzaychr6whv9if29z0r5wwhkss9bmd4rz8kq1kgngn"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-hashable" ,ghc-hashable)
+ ("ghc-vector" ,ghc-vector)))
+ (inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-smallcheck" ,ghc-smallcheck)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/basvandijk/scientific")
+ (synopsis "Numbers represented using scientific notation")
+ (description "This package provides @code{Data.Scientific}, which provides
+the number type @code{Scientific}. Scientific numbers are arbitrary precision
+and space efficient. They are represented using
+@uref{http://en.wikipedia.org/wiki/Scientific_notation, scientific
+notation}.")
+ (license bsd-3)))
+
+(define-public ghc-aeson
+ (package
+ (name "ghc-aeson")
+ (version "0.10.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/aeson/aeson-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "19kp33rfivr4d3myyr8xn803wd7p8x5nc4wb3qvlgjwgyqjaxvrz"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
+ (propagated-inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-syb" ,ghc-syb)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)))
+ (inputs
+ `(("ghc-hashable" ,ghc-hashable)
+ ("ghc-text" ,ghc-text)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/bos/aeson")
+ (synopsis "Fast JSON parsing and encoding")
+ (description "This package provides a JSON parsing and encoding library
+for Haskell, optimized for ease of use and high performance. (A note on
+naming: in Greek mythology, Aeson was the father of Jason.)")
+ (license bsd-3)))
+
+(define-public ghc-wai
+ (package
+ (name "ghc-wai")
+ (version "3.0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/wai/wai-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1551n0g0n22vml33v0jz5xgjcy6j79algvsdqg11a1z5ljjrjlqf"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-vault" ,ghc-vault)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-network" ,ghc-network)))
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-text" ,ghc-text)
+ ("ghc-http-types" ,ghc-http-types)))
+ (home-page "https://hackage.haskell.org/package/wai")
+ (synopsis "Web application interface for Haskell")
+ (description "This package provides a Web Application Interface (WAI)
+library for the Haskell language. It defines a common protocol for
+communication between web applications and web servers.")
+ (license bsd-3)))
+
+(define-public ghc-wai-logger
+ (package
+ (name "ghc-wai-logger")
+ (version "2.2.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/wai-logger/wai-logger-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1s6svvy3ci4j1dj1jaw8hg628miwj8f5gpy9n8d8hpsaxav6nzgk"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
+ ; by propagated-inputs.
+ (propagated-inputs
+ `(("ghc-auto-update" ,ghc-auto-update)
+ ("ghc-byteorder" ,ghc-byteorder)
+ ("ghc-easy-file" ,ghc-easy-file)
+ ("ghc-unix-time" ,ghc-unix-time)))
+ (inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-network" ,ghc-network)
+ ("ghc-wai" ,ghc-wai)))
+ (home-page "http://hackage.haskell.org/package/wai-logger")
+ (synopsis "Logging system for WAI")
+ (description "This package provides the logging system for WAI.")
+ (license bsd-3)))
+
+(define-public ghc-wai-extra
+ (package
+ (name "ghc-wai-extra")
+ (version "3.0.11.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hackage.haskell.org/package/wai-extra/wai-extra-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1kr2s5qyx1dvnwr372h7pca4sgxjv0pdx96xkgsfi180h3mb0vq8"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-cookie" ,ghc-cookie)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-network" ,ghc-network)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-stringsearch" ,ghc-stringsearch)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-zlib" ,ghc-zlib)
+ ("ghc-word8" ,ghc-word8)
+ ("ghc-iproute" ,ghc-iproute)
+ ("ghc-void" ,ghc-void)))
+ (inputs
+ `(("ghc-wai" ,ghc-wai)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-text" ,ghc-text)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-vault" ,ghc-vault)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit" ,ghc-hunit)))
+ (home-page "http://github.com/yesodweb/wai")
+ (synopsis "Some basic WAI handlers and middleware")
+ (description "This library provides basic WAI handlers and middleware
+functionality.")
+ (license expat)))
+
+(define-public ghc-deepseq-generics
+ (package
+ (name "ghc-deepseq-generics")
+ (version "0.1.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "deepseq-generics/deepseq-generics-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "01pvigx8n9p8hwbzp2qiq6kzf7cxiam843jz2sjgliacmmp1v7l3"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-ghc-prim-dependency
+ (lambda _
+ (substitute* "deepseq-generics.cabal"
+ (("< 0.4") "< 0.5"))
+ #t)))))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (home-page "https://github.com/hvr/deepseq-generics")
+ (synopsis "Generic RNF implementation")
+ (description
+ "This package provides a @code{GHC.Generics}-based
+@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
+providing an 'rnf' implementation.")
+ (license bsd-3)))
+
+(define-public ghc-pandoc-types
+ (package
+ (name "ghc-pandoc-types")
+ (version "1.12.4.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "pandoc-types/pandoc-types-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "108n11kbdaj2ii3cyf0xczhsx90p1gjbxwqp1f0wyn2m3cls632n"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-syb" ,ghc-syb)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-deepseq-generics" ,ghc-deepseq-generics)))
+ (home-page "http://johnmacfarlane.net/pandoc")
+ (synopsis "Types for representing a structured document")
+ (description
+ "This module defines the @code{Pandoc} data structure, which is used by
+pandoc to represent structured documents. It also provides functions for
+building up, manipulating and serialising @code{Pandoc} structures.")
+ (license bsd-3)))
+
+(define-public ghc-texmath
+ (package
+ (name "ghc-texmath")
+ (version "0.8.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "texmath/texmath-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15821jg64fbr4rwaglp5ksah6q8qqz1vkjxlqp6d3bbb1rj8v2ri"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-syb" ,ghc-syb)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-split" ,ghc-split)
+ ("ghc-temporary" ,ghc-temporary)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-xml" ,ghc-xml)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-pandoc-types" ,ghc-pandoc-types)))
+ (home-page "http://github.com/jgm/texmath")
+ (synopsis "Conversion between formats used to represent mathematics")
+ (description
+ "The texmath library provides functions to read and write TeX math,
+presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
+Office). Support is also included for converting math formats to pandoc's
+native format (allowing conversion, via pandoc, to a variety of different
+markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
+it can parse and apply LaTeX macros.")
+ (license gpl2+)))
+
+(define-public ghc-regex-pcre-builtin
+ (package
+ (name "ghc-regex-pcre-builtin")
+ (version "0.94.4.8.8.35")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "regex-pcre-builtin/regex-pcre-builtin-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-regex-base" ,ghc-regex-base)))
+ (home-page "http://hackage.haskell.org/package/regex-pcre")
+ (synopsis "Enhancement of the builtin Text.Regex library")
+ (description
+ "This package is an enhancement of the @code{Text.Regex} library,
+providing the PCRE backend to accompany regex-base, with bundled code from
+@url{http://www.pcre.org}.")
+ (license bsd-3)))
+
+(define-public ghc-diff
+ (package
+ (name "ghc-diff")
+ (version "0.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "Diff/Diff-" version ".tar.gz"))
+ (sha256
+ (base32
+ "13iqqmpadcm7fvqwbfrz94w030rvjh66w2bdls1253128ac2n0vz"))))
+ (build-system haskell-build-system)
+ (home-page "http://hub.darcs.net/sterlingclover/Diff")
+ (synopsis "O(ND) diff algorithm in Haskell")
+ (description
+ "This package provides an implementation of the standard diff algorithm,
+and utilities for pretty printing.")
+ (license bsd-3)))
+
+(define-public ghc-highlighting-kate
+ (package
+ (name "ghc-highlighting-kate")
+ (version "0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "highlighting-kate/highlighting-kate-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16334fbiyq6017zbgc59qc00h0bk24xh4dcrbqx63dvf72ac37dk"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-diff" ,ghc-diff)
+ ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
+ (native-inputs
+ `(("ghc-parsec" ,ghc-parsec)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-mtl" ,ghc-mtl)))
+ (home-page "http://github.com/jgm/highlighting-kate")
+ (synopsis "Syntax highlighting library")
+ (description
+ "Highlighting-kate is a syntax highlighting library with support for
+nearly one hundred languages. The syntax parsers are automatically generated
+from @uref{http://kate-editor.org/, Kate syntax descriptions}, so any syntax
+supported by Kate can be added. An (optional) command-line program is
+provided, along with a utility for generating new parsers from Kate XML syntax
+descriptions.")
+ (license gpl2+)))
+
+(define-public ghc-cmark
+ (package
+ (name "ghc-cmark")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "cmark/cmark-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0c134qh65viaq4q6pv7bnnr5wchzivg94nv0dj8pc1326sx0dw12"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/jgm/commonmark-hs")
+ (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
+ (description
+ "This package provides Haskell bindings for
+@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
+CommonMark, a fully specified variant of Markdown. It includes sources for
+libcmark (0.21.0) and does not require prior installation of the C library.")
+ (license bsd-3)))
+
+(define-public ghc-executable-path
+ (package
+ (name "ghc-executable-path")
+ (version "0.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "executable-path/executable-path-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc"))))
+ (build-system haskell-build-system)
+ (home-page "http://hackage.haskell.org/package/executable-path")
+ (synopsis "Find out the full path of the executable")
+ (description
+ "The documentation of @code{System.Environment.getProgName} says that
+\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
+instead, for maximum portability, we just return the leafname of the program
+as invoked.\" This library tries to provide the missing path.")
+ (license public-domain)))
+
+(define-public ghc-enclosed-exceptions
+ (package
+ (name "ghc-enclosed-exceptions")
+ (version "1.0.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "enclosed-exceptions/enclosed-exceptions-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16ax1kqdsk4apg642qxkm2hf9vb5hzmkd14zmkxra8ssp8rn28z5"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-async" ,ghc-async)
+ ("ghc-transformers-base" ,ghc-transformers-base)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/jcristovao/enclosed-exceptions")
+ (synopsis "Catch all exceptions from within an enclosed computation")
+ (description
+ "This library implements a technique to catch all exceptions raised
+within an enclosed computation, while remaining responsive to (external)
+asynchronous exceptions.")
+ (license expat)))
+
+(define-public ghc-packedstring
+ (package
+ (name "ghc-packedstring")
+ (version "0.1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "packedstring/packedstring-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'enable-extension
+ (lambda _
+ ;; This package won't compile without the StandaloneDeriving
+ ;; extension.
+ (substitute* "packedstring.cabal"
+ (("CPP") "CPP, StandaloneDeriving"))
+ #t)))))
+ (home-page "http://hackage.haskell.org/package/packedstring")
+ (synopsis "Library for packed strings")
+ (description
+ "This deprecated library provides an implementation of packed strings.")
+ (license bsd-3)))
+
+(define-public ghc-th-lift
+ (package
+ (name "ghc-th-lift")
+ (version "0.7.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "th-lift/th-lift-" version ".tar.gz"))
+ (sha256
+ (base32
+ "13xdkk1chdghf059sfx8d3d8r0mj1dbzdi5kf2zf0mjmz3qq7m7k"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-packedstring" ,ghc-packedstring)))
+ (home-page "http://github.com/mboes/th-lift")
+ (synopsis "Derive Template Haskell's Lift class for datatypes")
+ (description
+ "This is a Haskell library to derive Template Haskell's Lift class for
+datatypes.")
+ (license bsd-3)))
+
+(define-public ghc-th-expand-syns
+ (package
+ (name "ghc-th-expand-syns")
+ (version "0.3.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "th-expand-syns/th-expand-syns-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "03qv93pyqk8all39knsf0mzmbfdck5x61kqnyn8rbisw5c1ymx6j"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-syb" ,ghc-syb)))
+ (home-page "http://hackage.haskell.org/package/th-expand-syns")
+ (synopsis "Expands type synonyms in Template Haskell ASTs")
+ (description
+ "This package enables users to expand type synonyms in Template Haskell
+@dfn{abstract syntax trees} (ASTs).")
+ (license bsd-3)))
+
+(define-public ghc-th-reify-many
+ (package
+ (name "ghc-th-reify-many")
+ (version "0.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "th-reify-many/th-reify-many-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "00hryljcs434wcv1vaamfdbjk857f46djxv7mlwplkl3zsmfhlfx"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
+ (home-page "http://github.com/mgsloan/th-reify-many")
+ (synopsis "Recurseively reify template haskell datatype info")
+ (description
+ "th-reify-many provides functions for recursively reifying top level
+declarations. The main intended use case is for enumerating the names of
+datatypes reachable from an initial datatype, and passing these names to some
+function which generates instances.")
+ (license bsd-3)))
+
+(define-public ghc-th-orphans
+ (package
+ (name "ghc-th-orphans")
+ (version "0.13.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "th-orphans/th-orphans-" version ".tar.gz"))
+ (sha256
+ (base32
+ "105y03bxh0a2r69l603i7md17gg1vxs1jj1n40pn5q486lmfxbmx"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-th-lift" ,ghc-th-lift)
+ ("ghc-th-reify-many" ,ghc-th-reify-many)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-generic-deriving" ,ghc-generic-deriving)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "http://hackage.haskell.org/package/th-orphans")
+ (synopsis "Orphan instances for TH datatypes")
+ (description
+ "This package provides orphan instances for Template Haskell datatypes. In particular,
+instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
+and @code{Eq} instances. These instances used to live in the haskell-src-meta
+package, and that's where the version number started.")
+ (license bsd-3)))
+
+(define-public ghc-haskell-src-meta
+ (package
+ (name "ghc-haskell-src-meta")
+ (version "0.6.0.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "haskell-src-meta/haskell-src-meta-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1mzbfrfvl6pj8068w3m6alzry1403ir1gmz3czg66n5z198l4dql"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
+ ("ghc-syb" ,ghc-syb)
+ ("ghc-th-orphans" ,ghc-th-orphans)))
+ (home-page "http://hackage.haskell.org/package/haskell-src-meta")
+ (synopsis "Parse source to template-haskell abstract syntax")
+ (description
+ "This package provides tools to parse Haskell sources to the
+template-haskell abstract syntax.")
+ (license bsd-3)))
+
+(define-public ghc-aeson-qq
+ (package
+ (name "ghc-aeson-qq")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "aeson-qq/aeson-qq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z8kh3qjc4khadz1ijdqm7fbk7dh17sisqhpwd3c9aibj2927k9d"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-text" ,ghc-text)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "http://github.com/zalora/aeson-qq")
+ (synopsis "JSON quasiquoter for Haskell")
+ (description
+ "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
+the function @code{aesonQQ} that compile-time converts a string representation
+of a JSON value into a @code{Data.Aeson.Value}.")
+ (license expat)))
+
+(define-public ghc-conduit
+ (package
+ (name "ghc-conduit")
+ (version "1.2.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "conduit/conduit-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0aq6wswd5dkhdmy7sjhd99mldpq33dqpgbdcwpm94ahvckqxs7v5"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-mmorph" ,ghc-mmorph)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-void" ,ghc-void)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-safe" ,ghc-safe)))
+ (home-page "https://github.com/snoyberg/conduit")
+ (synopsis "Streaming data library ")
+ (description
+ "conduit is a solution to the streaming data problem, allowing for
+production, transformation, and consumption of streams of data in constant
+memory. It is an alternative to lazy I/O which guarantees deterministic
+resource handling, and fits in the same general solution space as
+enumerator/iteratee and pipes." )
+ (license expat)))
+
+(define-public ghc-logging-facade
+ (package
+ (name "ghc-logging-facade")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "logging-facade/logging-facade-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0zhdbjyj0j9by19rma9alxysrxnnl3s4kks4zk4bx0dg5xa0264y"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "http://hackage.haskell.org/package/logging-facade")
+ (synopsis "Simple logging abstraction that allows multiple back-ends")
+ (description
+ "This package provides a simple logging abstraction that allows multiple
+back-ends.")
+ (license expat)))
+
+(define-public ghc-mockery
+ (package
+ (name "ghc-mockery")
+ (version "0.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "mockery/mockery-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0m0lp2z63sgkylz5318j53r5hnrkp705qh7nqbb149ir4gy7g1bg"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-temporary" ,ghc-temporary)
+ ("ghc-logging-facade" ,ghc-logging-facade)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "http://hackage.haskell.org/package/mockery")
+ (synopsis "Support functions for automated testing")
+ (description
+ "The mockery package provides support functions for automated testing.")
+ (license expat)))
+
+(define-public ghc-yaml
+ (package
+ (name "ghc-yaml")
+ (version "0.8.15.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "yaml/yaml-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0v6c435xmgm99zxb30pqr7lhkb2a56wxqp70g4hjz8p7rj0vichx"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-text" ,ghc-text)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
+ ("ghc-aeson-qq" ,ghc-aeson-qq)
+ ("ghc-base-compat" ,ghc-base-compat)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-mockery" ,ghc-mockery)))
+ (home-page "http://github.com/snoyberg/yaml/")
+ (synopsis "Parsing and rendering YAML documents")
+ (description
+ "This package provides a library to parse and render YAML documents.")
+ (license bsd-3)))
+
+(define-public ghc-filemanip
+ (package
+ (name "ghc-filemanip")
+ (version "0.3.6.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "filemanip/filemanip-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-unix-compat" ,ghc-unix-compat)))
+ (home-page "https://github.com/bos/filemanip")
+ (synopsis "File and directory manipulation for Haskell")
+ (description
+ "This package provides a Haskell library for working with files and
+directories. It includes code for pattern matching, finding files, modifying
+file contents, and more.")
+ (license bsd-3)))
+
+(define-public ghc-mmap
+ (package
+ (name "ghc-mmap")
+ (version "0.5.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "mmap/mmap-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
+ (build-system haskell-build-system)
+ (home-page "http://hackage.haskell.org/package/mmap")
+ (synopsis "Memory mapped files for Haskell")
+ (description
+ "This library provides a wrapper to @code{mmap}, allowing files or
+devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
+@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
+do on-demand loading.")
+ (license bsd-3)))
+
+(define-public ghc-juicypixels
+ (package
+ (name "ghc-juicypixels")
+ (version "3.2.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "JuicyPixels/JuicyPixels-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hxa57cdknz86zywpjwfbdhac5lmk7j0wd5hy4mcnb8mw6r2m592"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-zlib" ,ghc-zlib)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-mmap" ,ghc-mmap)))
+ (home-page "https://github.com/Twinside/Juicy.Pixels")
+ (synopsis "Picture loading and serialization library")
+ (description
+ "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
+TIFF and GIF formats.")
+ (license bsd-3)))
+
+(define-public ghc-sha
+ (package
+ (name "ghc-sha")
+ (version "1.6.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "SHA/SHA-" version ".tar.gz"))
+ (sha256
+ (base32
+ "134ajm87fm4lpsw86m9q8apv20dw4bpk46raa389zr6bcdpifw64"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (home-page "http://hackage.haskell.org/package/SHA")
+ (synopsis "SHA suite of message digest functions")
+ (description
+ "This library implements the SHA suite of message digest functions,
+according to NIST FIPS 180-2 (with the SHA-224 addendum), as well as the
+SHA-based HMAC routines. The functions have been tested against most of the
+NIST and RFC test vectors for the various functions. While some attention has
+been paid to performance, these do not presently reach the speed of well-tuned
+libraries, like OpenSSL.")
+ (license bsd-3)))
+
+(define-public ghc-hslua
+ (package
+ (name "ghc-hslua")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "hslua/hslua-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:configure-flags '("-fsystem-lua")))
+ (inputs
+ `(("lua" ,lua-5.1)))
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hspec-contrib" ,ghc-hspec-contrib)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
+ (home-page "http://hackage.haskell.org/package/hslua")
+ (synopsis "Lua language interpreter embedding in Haskell")
+ (description
+ "The Scripting.Lua module is a wrapper of the Lua language interpreter as
+described in @url{http://www.lua.org/}.")
+ (license expat)))
+
+(define-public ghc-mime-types
+ (package
+ (name "ghc-mime-types")
+ (version "0.1.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "mime-types/mime-types-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "090z3dp928243amnc6s8g10rk2h2bprk9y138q6wj3cpflzr72pw"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)))
+ (home-page "https://github.com/yesodweb/wai")
+ (synopsis "Basic MIME type handling types and functions")
+ (description
+ "This library provides basic MIME type handling types and functions.")
+ (license expat)))
+
+(define-public ghc-http-client
+ (package
+ (name "ghc-http-client")
+ (version "0.4.24")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "http-client/http-client-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0xz133kdfiyy2rm6z95bmvjj6y2540xzd86cfmdv9s6kz4p1ir4k"))))
+ (build-system haskell-build-system)
+ ;; Tests require access to the web.
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("ghc-text" ,ghc-text)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-network" ,ghc-network)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-cookie" ,ghc-cookie)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-random" ,ghc-random)
+ ("ghc-mime-types" ,ghc-mime-types)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-zlib" ,ghc-zlib)
+ ("ghc-async" ,ghc-async)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://github.com/snoyberg/http-client")
+ (synopsis "HTTP client engine")
+ (description
+ "This package provides an HTTP client engine, intended as a base layer
+for more user-friendly packages.")
+ (license expat)))
+
+(define-public ghc-byteable
+ (package
+ (name "ghc-byteable")
+ (version "0.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "byteable/byteable-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
+ (build-system haskell-build-system)
+ (home-page "http://github.com/vincenthz/hs-byteable")
+ (synopsis "Type class for sequence of bytes")
+ (description
+ "This package provides an abstract class to manipulate sequence of bytes.
+The use case of this class is abstracting manipulation of types that are just
+wrapping a bytestring with stronger and more meaniful name.")
+ (license bsd-3)))
+
+(define-public ghc-hourglass
+ (package
+ (name "ghc-hourglass")
+ (version "0.2.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "hourglass/hourglass-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xha17nwzxdjizbcp63d2142c6q051y77facs7xribgcl5iz2m4v"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-old-locale" ,ghc-old-locale)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+ (home-page "https://github.com/vincenthz/hs-hourglass")
+ (synopsis "Simple time-related library for Haskell")
+ (description
+ "This is a simple time library providing a simple but powerful and
+performant API. The backbone of the library are the @code{Timeable} and
+@code{Time} type classes. Each @code{Timeable} instances can be converted to
+a type that has a @code{Time} instances, and thus are different
+representations of current time.")
+ (license bsd-3)))
+
+(define-public ghc-pem
+ (package
+ (name "ghc-pem")
+ (version "0.2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "pem/pem-" version ".tar.gz"))
+ (sha256
+ (base32
+ "162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)))
+ (native-inputs
+ `(("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "http://github.com/vincenthz/hs-pem")
+ (synopsis "Privacy Enhanced Mail (PEM) format reader and writer")
+ (description
+ "This library provides readers and writers for the @dfn{Privacy Enhanced
+Mail} (PEM) format.")
+ (license bsd-3)))
+
+(define-public ghc-asn1-types
+ (package
+ (name "ghc-asn1-types")
+ (version "0.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "asn1-types/asn1-types-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1iif9yrh4mmj249gyvam0zb2vb3jnlz777gahh2z9sx00dsx9rja"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-memory" ,ghc-memory)
+ ("ghc-hourglass" ,ghc-hourglass)))
+ (home-page "http://github.com/vincenthz/hs-asn1-types")
+ (synopsis "ASN.1 types for Haskell")
+ (description
+ "The package provides the standard types for dealing with the ASN.1
+format.")
+ (license bsd-3)))
+
+(define-public ghc-asn1-encoding
+ (package
+ (name "ghc-asn1-encoding")
+ (version "0.9.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "asn1-encoding/asn1-encoding-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "01ki5msrpccgdbdiaaa5a9zw0icp1hki4hca8qx6hzlp0rcf1mwh"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-hourglass" ,ghc-hourglass)
+ ("ghc-asn1-types" ,ghc-asn1-types)
+ ("ghc-text" ,ghc-text)
+ ("ghc-mtl" ,ghc-mtl)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (home-page "http://github.com/vincenthz/hs-asn1")
+ (synopsis "ASN1 data reader and writer in RAW, BER and DER forms")
+ (description
+ "This package provides a reader and writer for ASN1 data in raw form with
+supports for high level forms of ASN1 (BER, and DER).")
+ (license bsd-3)))
+
+(define-public ghc-asn1-parse
+ (package
+ (name "ghc-asn1-parse")
+ (version "0.9.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "asn1-parse/asn1-parse-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "025prsihk5g6rdv9xlfmj0zpa0wa3qjzj5i4ilzvg7f6f3sji8y6"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-asn1-types" ,ghc-asn1-types)
+ ("ghc-asn1-encoding" ,ghc-asn1-encoding)))
+ (home-page "https://github.com/vincenthz/hs-asn1")
+ (synopsis "Simple monadic parser for ASN1 stream types")
+ (description
+ "This package provides a simple monadic parser for ASN1 stream types,
+when ASN1 pattern matching is not convenient.")
+ (license bsd-3)))
+
+(define-public ghc-tasty-kat
+ (package
+ (name "ghc-tasty-kat")
+ (version "0.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "tasty-kat/tasty-kat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+ (home-page "https://github.com/vincenthz/tasty-kat")
+ (synopsis "Known Answer Tests (KAT) framework for tasty")
+ (description
+ "This package provides a @dfn{Known Answer Tests} (KAT) framework for
+tasty.")
+ (license expat)))
+
+(define-public ghc-cryptonite
+ (package
+ (name "ghc-cryptonite")
+ (version "0.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "cryptonite/cryptonite-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1h22x22lq2m8h456v5j50xm0l25bcm3h1pchsk83br909hjxql4z"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-memory" ,ghc-memory)
+ ("ghc-byteable" ,ghc-byteable)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-kat" ,ghc-tasty-kat)))
+ (home-page "https://github.com/haskell-crypto/cryptonite")
+ (synopsis "Cryptography primitives")
+ (description
+ "This package is a repository of cryptographic primitives for Haskell.
+It supports a wide range of symmetric ciphers, cryptographic hash functions,
+public key algorithms, key derivation numbers, cryptographic random number
+generators, and more.")
+ (license bsd-3)))
+
+(define-public ghc-memory
+ (package
+ (name "ghc-memory")
+ (version "0.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "memory/memory-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xqs9zmjbjihb7gfbk25f2q00m2lsi4kc3jv672175ac8a36pgag"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+ (home-page "https://github.com/vincenthz/hs-memory")
+ (synopsis "Memory abstractions for Haskell")
+ (description
+ "This package provides memory abstractions, such as chunk of memory,
+polymorphic byte array management and manipulation functions. It contains a
+polymorphic byte array abstraction and functions similar to strict ByteString,
+different type of byte array abstraction, raw memory IO operations (memory
+set, memory copy, ..) and more")
+ (license bsd-3)))
+
+(define-public ghc-x509
+ (package
+ (name "ghc-x509")
+ (version "1.6.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "x509/x509-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1pmsby29abn485fvnymsgipvb3p1ch9c591xj5ncszkf0ivjiiin"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-memory" ,ghc-memory)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-hourglass" ,ghc-hourglass)
+ ("ghc-pem" ,ghc-pem)
+ ("ghc-asn1-types" ,ghc-asn1-types)
+ ("ghc-asn1-encoding" ,ghc-asn1-encoding)
+ ("ghc-asn1-parse" ,ghc-asn1-parse)
+ ("ghc-cryptonite" ,ghc-cryptonite)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (home-page "http://github.com/vincenthz/hs-certificate")
+ (synopsis "X509 reader and writer")
+ (description
+ "This library provides functions to read and write X509 certificates.")
+ (license bsd-3)))
+
+(define-public ghc-x509-store
+ (package
+ (name "ghc-x509-store")
+ (version "1.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "x509-store/x509-store-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "01abx528i9f7djq2772xyna8x2mykrnwqkcfrapcx7z3bhprvml3"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-pem" ,ghc-pem)
+ ("ghc-asn1-types" ,ghc-asn1-types)
+ ("ghc-asn1-encoding" ,ghc-asn1-encoding)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-x509" ,ghc-x509)))
+ (home-page "http://github.com/vincenthz/hs-certificate")
+ (synopsis "X.509 collection accessing and storing methods")
+ (description
+ "This package provides functions for accessing and storing X.509
+collections, certificates, revocation lists, and exception lists.")
+ (license bsd-3)))
+
+(define-public ghc-x509-validation
+ (package
+ (name "ghc-x509-validation")
+ (version "1.6.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "x509-validation/x509-validation-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1qr1v561hdlhjgqjv9pj9mbk0q1xf2mr1j67ghy93nlxxyzd7dw0"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-memory" ,ghc-memory)
+ ("ghc-byteable" ,ghc-byteable)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-hourglass" ,ghc-hourglass)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-pem" ,ghc-pem)
+ ("ghc-asn1-types" ,ghc-asn1-types)
+ ("ghc-asn1-encoding" ,ghc-asn1-encoding)
+ ("ghc-x509" ,ghc-x509)
+ ("ghc-x509-store" ,ghc-x509-store)
+ ("ghc-cryptonite" ,ghc-cryptonite)))
+ (home-page "http://github.com/vincenthz/hs-certificate")
+ (synopsis "X.509 certificate and revocation list validation")
+ (description
+ "This package provides functions for X.509 certificate and revocation
+list validation.")
+ (license bsd-3)))
+
+(define-public ghc-x509-system
+ (package
+ (name "ghc-x509-system")
+ (version "1.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "x509-system/x509-system-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "10qf60d2f9jqwnbrhsb2cwpi86xg66m6dxndlxw967v1cdb3h6gf"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-pem" ,ghc-pem)
+ ("ghc-x509" ,ghc-x509)
+ ("ghc-x509-store" ,ghc-x509-store)))
+ (home-page "http://github.com/vincenthz/hs-certificate")
+ (synopsis "Handle system X.509 accessors and storage")
+ (description
+ "This package provides a library to handle system accessors and storage
+for X.509 certificates.")
+ (license bsd-3)))
+
+(define-public ghc-tls
+ (package
+ (name "ghc-tls")
+ (version "1.3.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "tls/tls-" version ".tar.gz"))
+ (sha256
+ (base32
+ "096ay54bwy6qi9z8ypncww3ls853zj37yaficvcg7qcqj42zn0wz"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-cereal" ,ghc-cereal)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-memory" ,ghc-memory)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-asn1-types" ,ghc-asn1-types)
+ ("ghc-asn1-encoding" ,ghc-asn1-encoding)
+ ("ghc-x509" ,ghc-x509)
+ ("ghc-x509-store" ,ghc-x509-store)
+ ("ghc-x509-validation" ,ghc-x509-validation)
+ ("ghc-async" ,ghc-async)
+ ("ghc-network" ,ghc-network)
+ ("ghc-hourglass" ,ghc-hourglass)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "http://github.com/vincenthz/hs-tls")
+ (synopsis
+ "TLS/SSL protocol native implementation (Server and Client)")
+ (description
+ "Native Haskell TLS and SSL protocol implementation for server and client.
+This provides a high-level implementation of a sensitive security protocol,
+eliminating a common set of security issues through the use of the advanced
+type system, high level constructions and common Haskell features. Currently
+implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and
+Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
+extensions.")
+ (license bsd-3)))
+
+(define-public ghc-socks
+ (package
+ (name "ghc-socks")
+ (version "0.5.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "socks/socks-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nmldlwxqasmg359i2aa3a903gi3lmnlspvf12xk49jrg3mf3dg9"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-cereal" ,ghc-cereal)
+ ("ghc-network" ,ghc-network)))
+ (home-page "http://github.com/vincenthz/hs-socks")
+ (synopsis "SOCKS proxy (version 5) implementation.")
+ (description
+ "This library provides a SOCKS proxy (version 5) implementation.")
+ (license bsd-3)))
+
+(define-public ghc-connection
+ (package
+ (name "ghc-connection")
+ (version "0.2.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "connection/connection-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "090il95jnm7ihwvcx3s9v6iwnp37nnsdx15q7722l845g51d95c8"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-byteable" ,ghc-byteable)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-network" ,ghc-network)
+ ("ghc-tls" ,ghc-tls)
+ ("ghc-socks" ,ghc-socks)
+ ("ghc-x509" ,ghc-x509)
+ ("ghc-x509-store" ,ghc-x509-store)
+ ("ghc-x509-system" ,ghc-x509-system)
+ ("ghc-x509-validation" ,ghc-x509-validation)))
+ (home-page "http://github.com/vincenthz/hs-connection")
+ (synopsis "Simple and easy network connections API")
+ (description
+ "This package provides a simple network library for all your connection
+needs. It provides a very simple API to create sockets to a destination with
+the choice of SSL/TLS, and SOCKS.")
+ (license bsd-3)))
+
+(define-public ghc-http-client-tls
+ (package
+ (name "ghc-http-client-tls")
+ (version "0.2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/"
+ "http-client-tls/http-client-tls-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0a01r05h5fxswyn6k6cgqgak4scqjan72hyy5wbdqzzhl4rmh7j5"))))
+ (build-system haskell-build-system)
+ ;; Tests require Internet access
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-connection" ,ghc-connection)
+ ("ghc-network" ,ghc-network)
+ ("ghc-tls" ,ghc-tls)
+ ("ghc-http-types" ,ghc-http-types)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://github.com/snoyberg/http-client")
+ (synopsis "Backend for http-client using the TLS library")
+ (description
+ "This package provides a backend for the http-client package using the
+connection and TLS libraries. It is intended for use by higher-level
+libraries, such as http-conduit.")
+ (license expat)))
+
+(define-public ghc-pandoc
+ (package
+ (name "ghc-pandoc")
+ (version "1.15.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/pandoc/pandoc-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0nfzwsdvrvg9zypgyqk0246p10yzlpqsqnkds8yraqybbvkb1g30"))))
+ (build-system haskell-build-system)
+ (propagated-inputs
+ `(("ghc-syb" ,ghc-syb)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-text" ,ghc-text)
+ ("ghc-zip-archive" ,ghc-zip-archive)
+ ("ghc-http" ,ghc-http)
+ ("ghc-texmath" ,ghc-texmath)
+ ("ghc-xml" ,ghc-xml)
+ ("ghc-random" ,ghc-random)
+ ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
+ ("ghc-pandoc-types" ,ghc-pandoc-types)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-tagsoup" ,ghc-tagsoup)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-zlib" ,ghc-zlib)
+ ("ghc-highlighting-kate" ,ghc-highlighting-kate)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-temporary" ,ghc-temporary)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-yaml" ,ghc-yaml)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-hslua" ,ghc-hslua)
+ ("ghc-sha" ,ghc-sha)
+ ("ghc-haddock-library" ,ghc-haddock-library)
+ ("ghc-old-time" ,ghc-old-time)
+ ("ghc-deepseq-generics" ,ghc-deepseq-generics)
+ ("ghc-juicypixels" ,ghc-juicypixels)
+ ("ghc-filemanip" ,ghc-filemanip)
+ ("ghc-cmark" ,ghc-cmark)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-http-client-tls" ,ghc-http-client-tls)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-diff" ,ghc-diff)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-executable-path" ,ghc-executable-path)))
+ (native-inputs
+ `(("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)))
+ (home-page "http://pandoc.org")
+ (synopsis "Conversion between markup formats")
+ (description
+ "Pandoc is a Haskell library for converting from one markup format to
+another, and a command-line tool that uses this library. It can read and
+write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
+LaTeX, DocBook, and many more.
+
+Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
+definition lists, tables, and other features. A compatibility mode is
+provided for those who need a drop-in replacement for Markdown.pl.")
+ (license gpl2+)))
+
+(define-public idris
+ (package
+ (name "idris")
+ (version "0.9.19.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/idris-"
+ version "/idris-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10641svdsjlxbxmbvylpia04cz5nn9486lpiay8ibqcrc1792qgc"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "idris.cabal"
+ ;; Package description file has a too-tight version restriction,
+ ;; rendering it incompatible with GHC 7.10.2. This is fixed
+ ;; upstream. See
+ ;; <https://github.com/idris-lang/Idris-dev/issues/2734>.
+ (("vector < 0.11") "vector < 0.12")))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'patch-cc-command
+ (lambda _
+ (setenv "CC" "gcc"))))))
+ (inputs
+ `(("gmp" ,gmp)
+ ("ncurses" ,ncurses)
+ ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-cheapskate" ,ghc-cheapskate)
+ ("ghc-fingertree" ,ghc-fingertree)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-network" ,ghc-network)
+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+ ("ghc-parsers" ,ghc-parsers)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-split" ,ghc-split)
+ ("ghc-text" ,ghc-text)
+ ("ghc-trifecta" ,ghc-trifecta)
+ ("ghc-uniplate" ,ghc-uniplate)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-zip-archive" ,ghc-zip-archive)
+ ("ghc-zlib" ,ghc-zlib)))
+ (home-page "http://www.idris-lang.org")
+ (synopsis "General purpose language with full dependent types")
+ (description "Idris is a general purpose language with full dependent
+types. It is compiled, with eager evaluation. Dependent types allow types to
+be predicated on values, meaning that some aspects of a program's behaviour
+can be specified precisely in the type. The language is closely related to
+Epigram and Agda.")
+ (license bsd-3)))
+
;;; haskell.scm ends here
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 3867b4d7ec..ff29aee489 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -32,7 +32,7 @@
(define-public gnumach-headers
(package
(name "gnumach-headers")
- (version "1.5")
+ (version "1.6")
(source
(origin
(method url-fetch)
@@ -40,7 +40,7 @@
version ".tar.gz"))
(sha256
(base32
- "0wsf57q4h6xl2jn28d423qx7zplmhpnf9ssm4f1c0sf8513xm81j"))))
+ "1m7xwsrv6x6gk9xi5phs104rdn9q3lr63p348vyv0dzd6r3zyncb"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace
@@ -66,7 +66,7 @@
(define-public mig
(package
(name "mig")
- (version "1.5")
+ (version "1.6")
(source
(origin
(method url-fetch)
@@ -74,7 +74,7 @@
version ".tar.gz"))
(sha256
(base32
- "13r1pg8icyc0pl082z7k36i440pr1f3nr7ahig3rrc0r7qndqmk9"))))
+ "1i9qd6j5g8wsv9k9n6vpdqflyw0284wyayb2s2h7pp4yyi2jsksk"))))
(build-system gnu-build-system)
;; Flex is needed both at build and run time.
(inputs `(("gnumach-headers" ,gnumach-headers)
@@ -97,14 +97,14 @@ communication.")
(define-public hurd-headers
(package
(name "hurd-headers")
- (version "0.6")
+ (version "0.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hurd/hurd-"
version ".tar.gz"))
(sha256
(base32
- "059lbspbpcjpcq5jf98f47jw9sm0ngs3x6phxax53m3rwca1fk7y"))))
+ "1q2pyc16vb5plqi8hlwnnc9jk8zlifm91cavz6x7vhbwy0nh2yvh"))))
(build-system gnu-build-system)
(native-inputs
`(;; Autoconf shouldn't be necessary but there seems to be a bug in the
@@ -182,6 +182,6 @@ Library and other user programs.")
(home-page "http://www.gnu.org/software/hurd/hurd.html")
(synopsis "GNU Hurd libraries")
(description
- "This package provides libihash, needed to build the GNU C
+ "This package provides libihash, needed to build the GNU C
Library for GNU/Hurd.")
(license gpl2+)))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 58338af5c6..f3f89f6be6 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -49,7 +50,7 @@
(define-public libpng
(package
(name "libpng")
- (version "1.5.21")
+ (version "1.5.24")
(source (origin
(method url-fetch)
@@ -60,7 +61,7 @@
"ftp://ftp.simplesystems.org/pub/libpng/png/src"
"/libpng15/libpng-" version ".tar.xz")))
(sha256
- (base32 "19yvzw6sf9gf7v25ha9bla8bw1nijh82wj8ag6brjj3hpij1q5dm"))))
+ (base32 "1qhvfk1ypsaf6q6xkspyqqzmghpbahhq54ms8fa5ssqkyds38bmr"))))
(build-system gnu-build-system)
;; libpng.la says "-lz", so propagate it.
@@ -104,6 +105,29 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
(sha256 (base32
"1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))
+(define-public jpegoptim
+ (package
+ (name "jpegoptim")
+ (version "1.4.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-"
+ version ".tar.gz"))
+ (sha256 (base32
+ "0k53q7dc8w5ashz8v261x2b5vvz7gdvg8w962rz9gjvkjbh4lg93"))))
+ (build-system gnu-build-system)
+ (inputs `(("libjpeg" ,libjpeg)))
+ (arguments
+ ;; no tests
+ '(#:tests? #f))
+ (synopsis "Optimize JPEG images")
+ (description
+ "jpegoptim provides lossless optimization (based on optimizing
+the Huffman tables) and \"lossy\" optimization based on setting
+maximum quality factor.")
+ (license license:gpl2+)
+ (home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim")))
+
(define-public libtiff
(package
(name "libtiff")
@@ -184,14 +208,14 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
(define-public leptonica
(package
(name "leptonica")
- (version "1.71")
+ (version "1.72")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.leptonica.com/source/leptonica-"
version ".tar.gz"))
(sha256
- (base32 "0j5qgrff6im5n9waflbi7w643q1p6mahyf2z35gb4vj9h5p76pfc"))
+ (base32 "0mhzvqs0im04y1cpcc1yma70hgdac1frf33h73m9z3356bfymmbr"))
(modules '((guix build utils)))
;; zlib and openjpg should be under Libs, not Libs.private. See:
;; https://code.google.com/p/tesseract-ocr/issues/detail?id=1436
@@ -216,7 +240,8 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
`(("openjpeg" ,openjpeg)
("zlib" ,zlib)))
(arguments
- '(#:phases
+ '(#:parallel-tests? #f ; XXX: cause fpix1_reg to fail
+ #:phases
(modify-phases %standard-phases
;; Prevent make from trying to regenerate config.h.in.
(add-after
@@ -228,7 +253,15 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
(lambda _
(substitute* "prog/reg_wrapper.sh"
((" /bin/sh ")
- (string-append " " (which "sh") " "))))))))
+ (string-append " " (which "sh") " "))
+ (("which gnuplot") (which "gnuplot")))))
+ (add-before
+ 'check 'disable-failing-tests
+ ;; XXX: 2 of 9 tests from webpio_reg fails.
+ (lambda _
+ (substitute* "prog/webpio_reg.c"
+ ((".*DoWebpTest2.* 90.*") "")
+ ((".*DoWebpTest2.* 100.*") "")))))))
(home-page "http://www.leptonica.com/")
(synopsis "Library and tools for image processing and analysis")
(description
@@ -337,14 +370,14 @@ error-resilience, a Java-viewer for j2k-images, ...")
(define-public giflib
(package
(name "giflib")
- (version "4.2.3")
+ (version "5.1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/giflib/giflib-"
(first (string-split version #\.))
".x/giflib-" version ".tar.bz2"))
(sha256
- (base32 "0rmp7ipzk42r841bggd7bfqk4p8qsssbp4wcck4qnz7p4rkxbj0a"))))
+ (base32 "1z1gzq16sdya8xnl5qjc07634kkwj5m0n3bvvj4v9j11xfn1841r"))))
(build-system gnu-build-system)
(outputs '("bin" ; utility programs
"out")) ; library
@@ -618,3 +651,77 @@ channels.")
(description
"Libmng is the MNG (Multiple-image Network Graphics) reference library.")
(license license:bsd-3)))
+
+(define-public devil
+ (package
+ (name "devil")
+ (version "1.7.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://downloads.sourceforge.net/openil/"
+ "DevIL-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zd850nn7nvkkhasrv7kn17kzgslr5ry933v6db62s4lr0zzlbv8"))
+ ;; Backported from upstream:
+ ;; https://github.com/DentonW/DevIL/commit/724194d7a9a91221a564579f64bdd6f0abd64219.patch
+ (patches (list (search-patch "devil-fix-libpng.patch")))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Fix old lcms include directives and lib flags.
+ '(substitute* '("configure" "src-IL/src/il_profiles.c")
+ (("-llcms") "-llcms2")
+ (("lcms/lcms\\.h") "lcms2/lcms2.h")
+ (("lcms\\.h") "lcms2.h")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--enable-ILUT=yes") ; build utility library
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Fix hard-coded /bin/bash reference.
+ (substitute* '("test/Makefile")
+ (("TESTS_ENVIRONMENT = /bin/bash")
+ (string-append "TESTS_ENVIRONMENT = "
+ (assoc-ref inputs "bash")
+ "/bin/bash")))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("lcms" ,lcms)
+ ("libjpeg" ,libjpeg)
+ ("libmng" ,libmng)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("openexr" ,openexr)
+ ("zlib" ,zlib)))
+ (synopsis "Library for manipulating many image formats")
+ (description "Developer's Image Library (DevIL) is a library to develop
+applications with support for many types of images. DevIL can load, save,
+convert, manipulate, filter and display a wide variety of image formats.")
+ (home-page "http://openil.sourceforge.net")
+ (license license:lgpl2.1+)))
+
+(define-public jasper
+ (package
+ (name "jasper")
+ (version "1.900.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.ece.uvic.ca/~frodo/jasper"
+ "/software/jasper-" version ".zip"))
+ (sha256
+ (base32
+ "154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b"))
+ (patches (list (search-patch "jasper-CVE-2008-3522.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (synopsis "JPEG-2000 library")
+ (description "The JasPer Project is an initiative to provide a reference
+implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e.,
+ISO/IEC 15444-1).")
+ (home-page "https://www.ece.uvic.ca/~frodo/jasper/")
+ (license (license:x11-style "file://LICENSE"))))
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index f154e19d35..a68e9aa159 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,7 +23,8 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix download)
- #:use-module ((guix licenses) #:select (fsf-free))
+ #:use-module (guix utils)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages compression)
@@ -104,7 +106,7 @@ including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG,
and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and
transform images, adjust image colors, apply various special effects, or draw
text, lines, polygons, ellipses and Bézier curves.")
- (license (fsf-free "http://www.imagemagick.org/script/license.php"))))
+ (license (license:fsf-free "http://www.imagemagick.org/script/license.php"))))
(define-public perl-image-magick
(package
@@ -149,3 +151,50 @@ Use it to create, edit, compose, or convert bitmap images from within a Perl
script.")
;; See Magick.pm
(license (package-license imagemagick))))
+
+(define-public graphicsmagick
+ (package
+ (name "graphicsmagick")
+ (version "1.3.23")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.graphicsmagick.org/pub/"
+ "GraphicsMagick/" (version-major+minor version)
+ "/GraphicsMagick-" version ".tar.xz"))
+ (sha256
+ (base32
+ "03g6l2h8cmf231y1vma0z7x85070jm1ysgs9ppqcd3jj56jka9gx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--with-frozenpaths"
+ "--enable-shared=yes"
+ "--with-x=yes"
+ (string-append "--with-gs-font-dir="
+ (assoc-ref %build-inputs "gs-fonts")
+ "/share/fonts/type1/ghostscript"))))
+ (inputs
+ `(("graphviz" ,graphviz)
+ ("ghostscript" ,ghostscript)
+ ("gs-fonts" ,gs-fonts)
+ ("lcms" ,lcms)
+ ("libx11" ,libx11)
+ ("libxml2" ,libxml2)
+ ("libtiff" ,libtiff)
+ ("libpng" ,libpng)
+ ("libjpeg" ,libjpeg)
+ ("freetype" ,freetype)
+ ("bzip2" ,bzip2)
+ ("xz" ,xz)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (outputs '("out" ; 13 MiB
+ "doc")) ; ~7 MiB
+ (home-page "http://www.graphicsmagick.org")
+ (synopsis "Create, edit, compose, or convert bitmap images")
+ (description
+ "GraphicsMagick provides a comprehensive collection of utilities,
+programming interfaces, and GUIs, to support file format conversion, image
+processing, and 2D vector rendering.")
+ (license license:expat)))
diff --git a/gnu/packages/inklingreader.scm b/gnu/packages/inklingreader.scm
new file mode 100644
index 0000000000..6cdc4b3330
--- /dev/null
+++ b/gnu/packages/inklingreader.scm
@@ -0,0 +1,59 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Roel Janssen <roel@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 inklingreader)
+ #: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 autotools)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages pkg-config))
+
+(define-public inklingreader
+ (package
+ (name "inklingreader")
+ (version "0.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://alpha.gnu.org/gnu/inklingreader/inklingreader-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ikg95mgwfqh0bq4dzvkfmdiycacqvv27g91hl6adwk5y3gzl96g"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("glib" ,glib)
+ ("cairo" ,cairo)
+ ("gtk+" ,gtk+)
+ ("librsvg" ,librsvg)
+ ("libusb" ,libusb)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.gnu.org/software/inklingreader/")
+ (synopsis "Wacom Inkling sketch format conversion and manipulation")
+ (description
+ "GNU InklingReader is a package to support the Wacom Inkling device,
+including data conversion to various free formats, basic editing features,
+and an Inkscape plugin.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index 76102fab05..b09e84ee08 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -74,7 +74,11 @@
("perl" ,perl)
("pkg-config" ,pkg-config)))
(arguments
- `(#:phases (alist-cons-after
+ `(;; Add '-std=c++11', required by recent versions of GLibmm & co.
+ ;; Use '-g0' to reduce disk usage during the build.
+ #:configure-flags '("CXXFLAGS=-g0 -O2 -fopenmp -std=c++11")
+
+ #:phases (alist-cons-after
'unpack 'fix-test-includes
(lambda _
(substitute* "src/cxxtests.cpp"
diff --git a/gnu/packages/irssi.scm b/gnu/packages/irssi.scm
index c97fd07e05..44bc6bd3a2 100644
--- a/gnu/packages/irssi.scm
+++ b/gnu/packages/irssi.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,7 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages irssi)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -25,19 +26,20 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages tls))
(define-public irssi
(package
(name "irssi")
- (version "0.8.15")
+ (version "0.8.17")
(source (origin
(method url-fetch)
(uri (string-append "http://www.irssi.org/files/irssi-"
version ".tar.bz2"))
(sha256
(base32
- "19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1"))))
+ "01v82q2pfiimx6lh271kdvgp8hl4pahc3srg04fqzxgdsb5015iw"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -54,7 +56,8 @@
%standard-phases)))
(inputs
`(("glib" ,glib)
- ("ncurses" ,ncurses)))
+ ("ncurses" ,ncurses)
+ ("openssl" ,openssl)))
(native-inputs
`(("pkg-config" ,pkg-config)
("perl" ,perl)))
@@ -63,4 +66,4 @@
(description
"Irssi is a terminal based IRC client for UNIX systems. It also supports
SILC and ICB protocols via plugins.")
- (license gpl2+)))
+ (license license:gpl2+)))
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5fa546a98c..f00a3d720c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -135,7 +135,7 @@ is implemented.")
(define-public ant
(package
(name "ant")
- (version "1.9.4")
+ (version "1.9.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -143,7 +143,7 @@ is implemented.")
version "-src.tar.gz"))
(sha256
(base32
- "09kf5s1ir0rdrclsy174bsvbdcbajza9fja490w4mmvcpkw3zpak"))))
+ "1396wflczyxjxl603dhxjvd559f289lha9y2f04f71c7hapjl3am"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@@ -576,7 +576,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
(license license:gpl2+)))
(define-public icedtea7
- (let* ((version "2.6.1")
+ (let* ((version "2.6.2")
(drop (lambda (name hash)
(origin
(method url-fetch)
@@ -594,7 +594,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
version ".tar.xz"))
(sha256
(base32
- "0s107vi1530a5dyxacysc4m64zshgg2d3xpndsc0ws99wz0zmr6c"))
+ "0xi0w8gpxx3r68hyi7fb991hxb3rqfp7895nfsl4wj3sa1f5ds5y"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
@@ -728,24 +728,24 @@ build process and its dependencies, whereas Make uses Makefile format.")
(native-inputs
`(("openjdk-drop"
,(drop "openjdk"
- "0gs6vbj5c09516r460r68i7vm652sb25h973kq9hfx749qbs0s01"))
+ "0jabxc8iw7ciz6f2qshcpla66qniy686vnxnfx3h2yw7syvas4a9"))
("corba-drop"
,(drop "corba"
- "1y7nf6hqry1az28i3b6ln5cs82cww1jj4r61jk54ab8s2xydj0yd"))
+ "1bw22djg8mfqqn8kp8mpbj9vi4pl8dk67qwwrny67d0fvirixylj"))
("jaxp-drop"
,(drop "jaxp"
- "1szs2w0p496k1qi3yl1fymj0g10lgq31am35zlalcz7pi4l4q360"))
+ "1h3g2dwbj8ihicl73qbr4cvvc3i5bs5ckrpja1nx6g5b56xa7kcl"))
("jaxws-drop"
,(drop "jaxws"
- "17xfy9q2zdpap7m2prbf937x55jm3pwrqpp1fdlridraqrfzjprd"))
+ "1m1h7455qn4pdhb5yamdl9965iz9260lzwl3njcs35vi14v7fihl"))
("jdk-drop"
,(drop "jdk"
- "0qskhwr4nml49zhbppnq8ldj0x001bl37mrcpxslbnsdw5skw258"))
+ "1wcaxf2chnlpk34q04c23im6z32dy8fr6f9giz3ih65nyvah3n3s"))
("langtools-drop"
,(drop "langtools"
- "0hyxrrb0zrx1pq1s90bmim94hwfligr0ajzs1874da4gclbbvfbd"))
+ "0da3cmm8nwz7dk2sqnywvidaa0kjnyzzi33p2lkdi4415f8yhgx5"))
("hotspot-drop"
,(drop "hotspot"
- "1cv8df2s89mnjzg4rja4i89d4fr8n0c3v5y2cqbww1ma1463n100"))
+ "0fn3cjhqsgbkfzychkvvw6whxil2n9dr6q0196ywxzkinny1hjcq"))
,@(fold alist-delete (package-native-inputs icedtea6)
'("openjdk6-src")))))))
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
new file mode 100644
index 0000000000..f0c372bc29
--- /dev/null
+++ b/gnu/packages/kodi.scm
@@ -0,0 +1,223 @@
+;;; 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 kodi)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages algebra)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages avahi)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages cdrom)
+ #:use-module (gnu packages cmake)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages doxygen)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages fribidi)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages gawk)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gperf)
+ #:use-module (gnu packages gnunet)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages mp3)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages samba)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages swig)
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages yasm)
+ #:use-module (gnu packages zip))
+
+(define-public kodi
+ (package
+ (name "kodi")
+ (version "15.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://mirrors.kodi.tv/releases/source/"
+ version "-Isengard.tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "043i0f1crx9glwxil4xm45z5kxpkrx316gi4ir4d3rbd5safp2nx"))
+ (snippet
+ ;; Delete bundled ffmpeg.
+ ;; TODO: Delete every other bundled library.
+ '(begin
+ (use-modules (guix build utils))
+ (delete-file-recursively "tools/depends/target/ffmpeg")))
+ (modules '((guix build utils)))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--with-ffmpeg=shared") ; don't use bundled ffmpeg
+ #:phases
+ (modify-phases %standard-phases
+ ;; JsonSchemaBuilder is a small tool needed by the build system that
+ ;; comes bundled with the source. The build system tries to build it
+ ;; during the bootstrapping phase, which causes serious issues
+ ;; because there's no time for shebangs to be patched. So, we
+ ;; bootstrap it on our own instead.
+ (add-after 'unpack 'bootstrap-jsonschemabuilder
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((dir "tools/depends/native/JsonSchemaBuilder/src"))
+ (with-directory-excursion dir
+ (zero? (system* "sh" "autogen.sh"))))))
+ ;; Now we can do the regular bootstrapping process, but only after
+ ;; the first round of shebang patching. We must repeat the patching
+ ;; after bootstrapping so that all of the files generated by the
+ ;; Autotools et al. are patched appropriately.
+ (add-after 'patch-source-shebangs 'bootstrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; We bootstrapped JsonSchemaBuilder in the previous phase, so we
+ ;; need to make sure it isn't done a second time. Otherwise, it
+ ;; would undo the shebang patching that we worked so hard for.
+ (substitute* '("tools/depends/native/JsonSchemaBuilder/Makefile")
+ (("\\./autogen\\.sh") ""))
+ ;; This essentially does what their 'bootstrap' script does, but
+ ;; additionally passes the correct CONFIG_SHELL.
+ (let ((bash (string-append (assoc-ref inputs "bash") "/bin/sh")))
+ (define (run-make makefile)
+ (zero? (system* "make" "-f" makefile
+ "BOOTSTRAP_STANDALONE=1"
+ (string-append "CONFIG_SHELL=" bash))))
+ (and (run-make "bootstrap.mk")
+ (run-make "codegenerator.mk")))))
+ (add-after 'bootstrap 'patch-source-shebangs-again
+ (assoc-ref %standard-phases 'patch-source-shebangs))
+ ;; 3 tests fail that appear harmless, so we disable them.
+ (add-before 'check 'disable-some-tests
+ (lambda _
+ (substitute* '("xbmc/utils/test/TestSystemInfo.cpp")
+ (("TEST_F\\(TestSystemInfo, GetOsPrettyNameWithVersion\\)")
+ "TEST_F(TestSystemInfo, DISABLED_GetOsPrettyNameWithVersion)")
+ (("TEST_F\\(TestSystemInfo, GetOsName\\)")
+ "TEST_F(TestSystemInfo, DISABLED_GetOsName)")
+ (("TEST_F\\(TestSystemInfo, GetOsVersion\\)")
+ "TEST_F(TestSystemInfo, DISABLED_GetOsVersion)")))))))
+ ;; TODO: Add dependencies for:
+ ;; - vdpau
+ ;; - nfs
+ ;;
+ ;; FIXME: libusb detection fails.
+ ;;
+ ;; FIXME: As you can see, we use a lot of external libraries, but it seems
+ ;; that a few bundled ones are still being used.
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("cmake" ,cmake)
+ ("doxygen" ,doxygen)
+ ("gawk" ,gawk)
+ ("gettext" ,gnu-gettext)
+ ("icedtea7" ,icedtea7) ; needed at build-time only, mandatory
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("swig" ,swig)
+ ("which" ,which)
+ ("yasm" ,yasm)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("avahi" ,avahi)
+ ("bluez" ,bluez)
+ ("boost" ,boost)
+ ("bzip2" ,bzip2)
+ ("curl" ,curl)
+ ("dbus" ,dbus)
+ ("enca" ,enca)
+ ("eudev" ,eudev)
+ ("ffmpeg" ,ffmpeg)
+ ("flac" ,flac)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("fribidi" ,fribidi)
+ ("glew" ,glew)
+ ("gnutls" ,gnutls)
+ ("gperf" ,gperf)
+ ("jasper" ,jasper)
+ ("lame" ,lame)
+ ("libass" ,libass)
+ ("libbluray" ,libbluray)
+ ("libcap" ,libcap)
+ ("libcdio" ,libcdio)
+ ("libgcrypt" ,libgcrypt)
+ ("libjpeg" ,libjpeg)
+ ("libltdl" ,libltdl)
+ ("libmad" ,libmad)
+ ("libmicrohttpd" ,libmicrohttpd)
+ ("libmodplug" ,libmodplug)
+ ("libmpeg2" ,libmpeg2)
+ ("libogg" ,libogg)
+ ("libpng" ,libpng)
+ ("libsamplerate" ,libsamplerate)
+ ("libssh" ,libssh)
+ ("libtiff" ,libtiff)
+ ("libva" ,libva)
+ ("libvorbis" ,libvorbis)
+ ("libxml2" ,libxml2)
+ ("libxmu" ,libxmu)
+ ("libxrandr" ,libxrandr)
+ ("libxrender" ,libxrender)
+ ("libxslt" ,libxslt)
+ ("libxt" ,libxt)
+ ("libyajl" ,libyajl)
+ ("lzo" ,lzo)
+ ("mesa-utils" ,mesa-utils)
+ ("mysql" ,mysql)
+ ("openssl" ,openssl)
+ ("pcre" ,pcre)
+ ("pulseaudio" ,pulseaudio)
+ ("python" ,python-2)
+ ("samba" ,samba)
+ ("sdl2" ,sdl2)
+ ("sqlite" ,sqlite)
+ ("taglib" ,taglib)
+ ("tinyxml" ,tinyxml)
+ ("unzip" ,unzip)
+ ("zip" ,zip)
+ ("zlib" ,zlib)))
+ (synopsis "Media center for home theater computers")
+ (description "Kodi is a media center application for playing videos,
+music, games, etc. Kodi is highly customizable and features a theme and
+plug-in system.")
+ (home-page "http://kodi.tv")
+ (license license:gpl2+)))
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index da7e275e55..7496a6c8b9 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -676,7 +676,7 @@ and to return information on pronunciations, meanings and synonyms.")
(define-public libreoffice
(package
(name "libreoffice")
- (version "5.0.0.2")
+ (version "5.0.3.2")
(source
(origin
(method url-fetch)
@@ -685,7 +685,7 @@ and to return information on pronunciations, meanings and synonyms.")
"http://download.documentfoundation.org/libreoffice/src/"
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256 (base32
- "0mzvxc4i5999xzmhgwrfvpvyx5772jylx5mary86drrld8klq7py"))))
+ "1gflcsnw7bx02jbb2x5darf56x0qgia03ylaycadk68ikibckybp"))))
(build-system gnu-build-system)
(native-inputs
`(;; autoreconf is run by the LibreOffice build system, since after
diff --git a/gnu/packages/links.scm b/gnu/packages/links.scm
index 04abf06991..41fac8c305 100644
--- a/gnu/packages/links.scm
+++ b/gnu/packages/links.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright 2014 John Darrington <jmd@gnu.org>
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages image)
+ #:use-module (gnu packages libevent)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg)
#:use-module (guix download)
@@ -31,21 +33,21 @@
(define-public links
(package
(name "links")
- (version "2.8")
+ (version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "http://links.twibright.com/download/"
name "-" version ".tar.bz2"))
(sha256
- (base32 "15h07498z52jfdahzgvkphg1f7qvxnpbyfn2xmsls0d2dwwdll3r"))))
+ (base32 "0knq15yrp60s4jh92aacw8yfc2pcv3bqsw7dba7h5s6ivq8ihhcq"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
- ;; The tarball uses a very old version of autconf. It doesn't understand
- ;; extra flags like `--enable-fast-install', so we need to
- ;; invoke it with just what it understand.
+ ;; The tarball uses a very old version of autconf. It doesn't
+ ;; understand extra flags like `--enable-fast-install', so
+ ;; we need to invoke it with just what it understands.
(let ((out (assoc-ref outputs "out")))
;; 'configure' doesn't understand '--host'.
,@(if (%current-target-system)
@@ -55,28 +57,25 @@
(zero?
(system* "./configure"
(string-append "--prefix=" out)
- "--enable-graphics"
- ))))
+ "--enable-graphics"))))
%standard-phases)))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("zlib" ,zlib)
("openssl" ,openssl)
("libjpeg" ,libjpeg)
("libtiff" ,libtiff)
+ ("libevent" ,libevent)
("libpng" ,libpng)
("libxt" ,libxt)))
(synopsis "Text and graphics mode web browser")
(description "Links is a graphics and text mode web browser, with many
features including, tables, builtin image display, bookmarks, SSL and more.")
(home-page "http://links.twibright.com")
- ;; The distribution contains a copy of GPLv2
- ;; However, the copyright notices simply say:
+ ;; The distribution contains a copy of GPLv2
+ ;; However, the copyright notices simply say:
;; "This file is a part of the Links program, released under GPL."
;; Therefore, under the provisions of Section 9, we can choose
- ;; any version ever published by the FSF
- ;; One file (https.c) contains an exception permitting
- ;; linking of the program with openssl
- (license license:gpl1+)))
-
-
-
+ ;; any version ever published by the FSF.
+ ;; One file (https.c) contains an exception permitting
+ ;; linking of the program with openssl.
+ (license license:gpl1+)))
diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf
index 7b17f7b7c3..aae4dfe61c 100644
--- a/gnu/packages/linux-libre-i686.conf
+++ b/gnu/packages/linux-libre-i686.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.2.0-gnu Kernel Configuration
+# Linux/x86 4.3.0-gnu Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -131,16 +131,17 @@ CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
@@ -206,7 +207,9 @@ CONFIG_BPF_SYSCALL=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
+CONFIG_USERFAULTFD=y
CONFIG_PCI_QUIRKS=y
+CONFIG_MEMBARRIER=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
@@ -222,15 +225,17 @@ CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLUB_CPU_PARTIAL=y
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
+# CONFIG_SYSTEM_DATA_VERIFICATION is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
+CONFIG_KEXEC_CORE=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
@@ -297,6 +302,11 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_SIG_SHA1 is not set
+# CONFIG_MODULE_SIG_SHA224 is not set
+# CONFIG_MODULE_SIG_SHA256 is not set
+# CONFIG_MODULE_SIG_SHA384 is not set
+# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_COMPRESS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_STOP_MACHINE=y
@@ -389,7 +399,6 @@ CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PVHVM=y
-CONFIG_XEN_MAX_DOMAIN_MEMORY=64
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_KVM_GUEST=y
@@ -462,7 +471,8 @@ CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
+# CONFIG_X86_LEGACY_VM86 is not set
+# CONFIG_VM86 is not set
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX32=y
# CONFIG_TOSHIBA is not set
@@ -538,6 +548,9 @@ CONFIG_PGTABLE_MAPPING=y
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+CONFIG_IDLE_PAGE_TRACKING=y
+CONFIG_FRAME_VECTOR=y
+CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_HIGHPTE=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
@@ -552,7 +565,7 @@ CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
-# CONFIG_X86_INTEL_MPX is not set
+CONFIG_X86_INTEL_MPX=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_SECCOMP=y
@@ -576,6 +589,7 @@ CONFIG_HOTPLUG_CPU=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
+CONFIG_MODIFY_LDT_SYSCALL=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
@@ -584,6 +598,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
+# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
@@ -617,6 +632,8 @@ CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_CPU_FREQ_PSS=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
@@ -872,7 +889,6 @@ CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_GENEVE_CORE=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@@ -912,6 +928,7 @@ CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
@@ -1133,6 +1150,7 @@ CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
@@ -1160,7 +1178,9 @@ CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_REJECT_IPV4=m
@@ -1203,6 +1223,8 @@ CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
@@ -1433,6 +1455,7 @@ CONFIG_NETLINK_DIAG=m
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=m
CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
CONFIG_HSR=m
# CONFIG_NET_SWITCHDEV is not set
CONFIG_RPS=y
@@ -1591,6 +1614,7 @@ CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
+CONFIG_BT_HS=y
CONFIG_BT_LE=y
CONFIG_BT_6LOWPAN=m
# CONFIG_BT_SELFTEST is not set
@@ -1602,6 +1626,7 @@ CONFIG_BT_DEBUGFS=y
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
+CONFIG_BT_QCA=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
@@ -1614,6 +1639,7 @@ CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -1712,8 +1738,12 @@ CONFIG_NFC_ST21NFCA=m
CONFIG_NFC_ST21NFCA_I2C=m
CONFIG_NFC_ST_NCI=m
CONFIG_NFC_ST_NCI_I2C=m
+CONFIG_NFC_ST_NCI_SPI=m
CONFIG_NFC_NXP_NCI=m
CONFIG_NFC_NXP_NCI_I2C=m
+CONFIG_NFC_S3FWRN5=m
+CONFIG_NFC_S3FWRN5_I2C=m
+CONFIG_LWTUNNEL=y
#
# Device Drivers
@@ -2073,6 +2103,7 @@ CONFIG_VMWARE_VMCI=m
CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_KERNEL_API is not set
+# CONFIG_CXL_EEH is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -2213,6 +2244,7 @@ CONFIG_SCSI_PAS16=m
CONFIG_SCSI_QLOGIC_FAS=m
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
@@ -2240,7 +2272,7 @@ CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_NINJA_SCSI=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
@@ -2454,6 +2486,7 @@ CONFIG_TUN=y
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=m
+CONFIG_NET_VRF=m
CONFIG_SUNGEM_PHY=m
CONFIG_ARCNET=m
CONFIG_ARCNET_1201=m
@@ -2560,9 +2593,10 @@ CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
+CONFIG_BNX2X_VXLAN=y
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
-CONFIG_NET_VENDOR_CAVIUM=m
+CONFIG_NET_VENDOR_CAVIUM=y
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
@@ -2614,13 +2648,11 @@ CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGB_HWMON=y
-CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
CONFIG_IXGBE_VXLAN=y
CONFIG_IXGBE_HWMON=y
-CONFIG_IXGBE_DCA=y
CONFIG_IXGBE_DCB=y
CONFIG_IXGBEVF=m
CONFIG_I40E=m
@@ -2648,6 +2680,8 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX5_CORE=m
CONFIG_MLX5_CORE_EN=y
+CONFIG_MLXSW_CORE=m
+CONFIG_MLXSW_PCI=m
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=m
CONFIG_KS8851=m
@@ -2658,7 +2692,6 @@ CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
@@ -2731,6 +2764,7 @@ CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
+CONFIG_NET_VENDOR_SYNOPSYS=y
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
@@ -2759,6 +2793,7 @@ CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
+CONFIG_AQUANTIA_PHY=m
CONFIG_AT803X_PHY=m
CONFIG_AMD_PHY=m
CONFIG_MARVELL_PHY=m
@@ -2767,6 +2802,7 @@ CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
+CONFIG_TERANETICS_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_BCM7XXX_PHY=m
@@ -2777,7 +2813,9 @@ CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
+# CONFIG_DP83848_PHY is not set
CONFIG_DP83867_PHY=m
+CONFIG_MICROCHIP_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_GPIO=m
@@ -2807,6 +2845,7 @@ CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_AX88179_178A=m
@@ -2842,6 +2881,7 @@ CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
+CONFIG_USB_NET_CH9200=m
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
CONFIG_LIBERTAS_THINFIRM=m
@@ -3123,6 +3163,7 @@ CONFIG_IEEE802154_ATUSB=m
CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
+CONFIG_FUJITSU_ES=m
CONFIG_HYPERV_NET=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
@@ -3388,6 +3429,7 @@ CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_TOUCHSCREEN_88PM860X=m
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
@@ -3479,7 +3521,6 @@ CONFIG_INPUT_BMA150=m
CONFIG_INPUT_E3X0_BUTTON=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_MAX77693_HAPTIC=m
-CONFIG_INPUT_MAX77843_HAPTIC=m
CONFIG_INPUT_MAX8925_ONKEY=m
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
@@ -3722,6 +3763,7 @@ CONFIG_I2C_MUX_GPIO=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
CONFIG_I2C_MUX_PINCTRL=m
+CONFIG_I2C_MUX_REG=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
@@ -3765,6 +3807,7 @@ CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_DESIGNWARE_PCI=m
CONFIG_I2C_EG20T=m
+CONFIG_I2C_EMEV2=m
CONFIG_I2C_GPIO=m
CONFIG_I2C_KEMPLD=m
CONFIG_I2C_OCORES=m
@@ -3958,6 +4001,7 @@ CONFIG_GPIO_RDC321X=m
CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MCP23S08=m
CONFIG_GPIO_MC33880=m
+CONFIG_GPIO_ZX=y
#
# USB GPIO expanders
@@ -4156,6 +4200,7 @@ CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
CONFIG_SENSORS_TPS40422=m
@@ -4232,10 +4277,7 @@ CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INT340X_THERMAL=m
CONFIG_ACPI_THERMAL_REL=m
-
-#
-# Texas Instruments thermal drivers
-#
+CONFIG_INTEL_PCH_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -4247,6 +4289,7 @@ CONFIG_SOFT_WATCHDOG=m
CONFIG_DA9052_WATCHDOG=m
CONFIG_DA9055_WATCHDOG=m
CONFIG_DA9063_WATCHDOG=m
+CONFIG_DA9062_WATCHDOG=m
CONFIG_MENF21BMC_WATCHDOG=m
CONFIG_WM831X_WATCHDOG=m
CONFIG_WM8350_WATCHDOG=m
@@ -4368,6 +4411,7 @@ CONFIG_PMIC_DA9052=y
CONFIG_MFD_DA9052_SPI=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_DA9055=y
+CONFIG_MFD_DA9062=m
CONFIG_MFD_DA9063=y
CONFIG_MFD_DA9150=m
CONFIG_MFD_DLN2=m
@@ -4380,6 +4424,9 @@ CONFIG_MFD_INTEL_QUARK_I2C_GPIO=m
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
CONFIG_INTEL_SOC_PMIC=y
+CONFIG_MFD_INTEL_LPSS=m
+CONFIG_MFD_INTEL_LPSS_ACPI=m
+CONFIG_MFD_INTEL_LPSS_PCI=m
CONFIG_MFD_INTEL_MSIC=y
CONFIG_MFD_JANZ_CMODIO=m
CONFIG_MFD_KEMPLD=m
@@ -4448,6 +4495,7 @@ CONFIG_MFD_ARIZONA_SPI=m
CONFIG_MFD_WM5102=y
CONFIG_MFD_WM5110=y
CONFIG_MFD_WM8997=y
+CONFIG_MFD_WM8998=y
CONFIG_MFD_WM8400=y
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
@@ -4474,6 +4522,7 @@ CONFIG_REGULATOR_BCM590XX=m
CONFIG_REGULATOR_DA903X=m
CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_DA9055=m
+CONFIG_REGULATOR_DA9062=m
CONFIG_REGULATOR_DA9063=m
CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
@@ -4498,10 +4547,10 @@ CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MAX8998=m
CONFIG_REGULATOR_MAX77693=m
-CONFIG_REGULATOR_MAX77843=m
CONFIG_REGULATOR_MC13XXX_CORE=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_MT6311=m
CONFIG_REGULATOR_MT6397=m
CONFIG_REGULATOR_PALMAS=m
CONFIG_REGULATOR_PCAP=m
@@ -4772,13 +4821,8 @@ CONFIG_MEDIA_PCI_SUPPORT=y
# Media capture support
#
CONFIG_VIDEO_MEYE=m
-
-#
-# Media capture/analog TV support
-#
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_IVTV_ALSA=m
-CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_SOLO6X10=m
+CONFIG_VIDEO_TW68=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -4787,11 +4831,16 @@ CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_SOLO6X10=m
-CONFIG_VIDEO_TW68=m
CONFIG_VIDEO_DT3155=m
#
@@ -4843,6 +4892,7 @@ CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
CONFIG_DVB_SMIPCIE=m
+CONFIG_DVB_NETUP_UNIDVB=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_VIA_CAMERA=m
@@ -4855,6 +4905,7 @@ CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVID=m
CONFIG_VIDEO_VIM2M=m
+CONFIG_DVB_PLATFORM_DRIVERS=y
#
# Supported MMC/SDIO adapters
@@ -5139,6 +5190,7 @@ CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_CXD2841ER=m
CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
@@ -5193,6 +5245,7 @@ CONFIG_DVB_TUNER_DIB0090=m
# SEC control devices for DVB-S
#
CONFIG_DVB_DRX39XYJ=m
+CONFIG_DVB_LNBH25=m
CONFIG_DVB_LNBP21=m
CONFIG_DVB_LNBP22=m
CONFIG_DVB_ISL6405=m
@@ -5206,6 +5259,8 @@ CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_M88RS2000=m
CONFIG_DVB_AF9033=m
+CONFIG_DVB_HORUS3A=m
+CONFIG_DVB_ASCOT2E=m
#
# Tools to develop new frontends
@@ -5230,14 +5285,11 @@ CONFIG_INTEL_GTT=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
-
-#
-# Direct Rendering Manager
-#
CONFIG_DRM=m
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
@@ -5262,8 +5314,6 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I810=m
CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_I915_FBDEV=y
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
@@ -5288,6 +5338,11 @@ CONFIG_DRM_PANEL=y
#
# Display Panels
#
+CONFIG_DRM_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
#
# Frame buffer Devices
@@ -5406,6 +5461,7 @@ CONFIG_FB_AUO_K1900=m
CONFIG_FB_AUO_K1901=m
CONFIG_FB_HYPERV=m
CONFIG_FB_SIMPLE=y
+CONFIG_FB_SM712=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_L4F00242T03=m
@@ -5430,6 +5486,7 @@ CONFIG_BACKLIGHT_DA903X=m
CONFIG_BACKLIGHT_DA9052=m
CONFIG_BACKLIGHT_MAX8925=m
CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_PM8941_WLED=m
CONFIG_BACKLIGHT_SAHARA=m
CONFIG_BACKLIGHT_WM831X=m
CONFIG_BACKLIGHT_ADP5520=m
@@ -5724,7 +5781,6 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
-CONFIG_SND_SOC_QCOM=m
CONFIG_SND_SOC_XTFPGA_I2S=m
CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -5751,8 +5807,10 @@ CONFIG_SND_SOC_CS4271_I2C=m
CONFIG_SND_SOC_CS4271_SPI=m
CONFIG_SND_SOC_CS42XX8=m
CONFIG_SND_SOC_CS42XX8_I2C=m
+CONFIG_SND_SOC_CS4349=m
CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_GTM601=m
CONFIG_SND_SOC_MAX98090=m
CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PCM1792A=m
@@ -5780,6 +5838,7 @@ CONFIG_SND_SOC_SSM2602_I2C=m
CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_STA32X=m
CONFIG_SND_SOC_STA350=m
+CONFIG_SND_SOC_STI_SAS=m
CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
CONFIG_SND_SOC_TAS571X=m
@@ -5844,6 +5903,7 @@ CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EZKEY=m
+CONFIG_HID_GEMBIRD=m
CONFIG_HID_HOLTEK=m
CONFIG_HOLTEK_FF=y
CONFIG_HID_GT683R=m
@@ -6032,6 +6092,10 @@ CONFIG_USB_MUSB_DUAL_ROLE=y
#
# Platform Glue Layer
#
+
+#
+# MUSB DMA mode
+#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_ULPI=y
@@ -6043,11 +6107,6 @@ CONFIG_USB_DWC3_DUAL_ROLE=y
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=m
-
-#
-# Debugging features
-#
-# CONFIG_USB_DWC3_DEBUG is not set
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y
@@ -6386,7 +6445,6 @@ CONFIG_LEDS_MENF21BMC=m
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
CONFIG_LEDS_BLINKM=m
-CONFIG_LEDS_PM8941_WLED=m
#
# LED Triggers
@@ -6414,8 +6472,6 @@ CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
@@ -6438,7 +6494,6 @@ CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MCE_INJ=m
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD64=m
# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
@@ -6588,25 +6643,23 @@ CONFIG_DMADEVICES=y
#
# DMA Devices
#
-CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=m
+CONFIG_DMA_ACPI=y
+CONFIG_IDMA64=m
+CONFIG_PCH_DMA=m
+CONFIG_TIMB_DMA=m
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
CONFIG_HSU_DMA=m
CONFIG_HSU_DMA_PCI=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-CONFIG_DMA_VIRTUAL_CHANNELS=m
-CONFIG_DMA_ACPI=y
#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
-CONFIG_DMA_ENGINE_RAID=y
-CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_KS0108=m
CONFIG_KS0108_PORT=0x378
@@ -6675,6 +6728,8 @@ CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
+CONFIG_XEN_SYMS=y
+CONFIG_XEN_HAVE_VPMU=y
CONFIG_STAGING=y
CONFIG_SLICOSS=m
CONFIG_PRISM2_USB=m
@@ -6933,7 +6988,6 @@ CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
CONFIG_IIO_SIMPLE_DUMMY=m
# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
-CONFIG_FB_SM7XX=m
CONFIG_FB_SM750=m
CONFIG_FB_XGI=m
CONFIG_FT1000=m
@@ -6974,11 +7028,13 @@ CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_SIR=m
CONFIG_LIRC_ZILOG=m
+CONFIG_STAGING_RDMA=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
#
# Android
#
-CONFIG_USB_WPAN_HCD=m
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
CONFIG_WIMAX_GDM72XX_K_MODE=y
@@ -7028,11 +7084,21 @@ CONFIG_FB_TFT_SSD1351=m
CONFIG_FB_TFT_ST7735R=m
CONFIG_FB_TFT_TINYLCD=m
CONFIG_FB_TFT_TLS8204=m
+CONFIG_FB_TFT_UC1611=m
CONFIG_FB_TFT_UC1701=m
CONFIG_FB_TFT_UPD161704=m
CONFIG_FB_TFT_WATTEROTT=m
CONFIG_FB_FLEX=m
CONFIG_FB_TFT_FBTFT_DEVICE=m
+CONFIG_MOST=m
+CONFIG_MOSTCORE=m
+CONFIG_AIM_CDEV=m
+CONFIG_AIM_NETWORK=m
+CONFIG_AIM_SOUND=m
+CONFIG_AIM_V4L2=m
+CONFIG_HDM_DIM2=m
+CONFIG_HDM_I2C=m
+CONFIG_HDM_USB=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -7093,6 +7159,7 @@ CONFIG_INTEL_RST=m
CONFIG_INTEL_SMARTCONNECT=m
CONFIG_PVPANIC=m
CONFIG_INTEL_PMC_IPC=m
+CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
@@ -7212,8 +7279,8 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_KXSD9=m
-CONFIG_MMA8452=m
CONFIG_KXCJK1013=m
+CONFIG_MMA8452=m
CONFIG_MMA9551_CORE=m
CONFIG_MMA9551=m
CONFIG_MMA9553=m
@@ -7356,8 +7423,11 @@ CONFIG_ISL29125=m
CONFIG_HID_SENSOR_ALS=m
CONFIG_HID_SENSOR_PROX=m
CONFIG_JSA1212=m
+CONFIG_RPR0521=m
CONFIG_SENSORS_LM3533=m
CONFIG_LTR501=m
+CONFIG_OPT3001=m
+CONFIG_PA12203001=m
CONFIG_STK3310=m
CONFIG_TCS3414=m
CONFIG_TCS3472=m
@@ -7444,6 +7514,7 @@ CONFIG_VME_USER=m
CONFIG_VME_PIO2=m
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
+CONFIG_PWM_CRC=y
CONFIG_PWM_LP3943=m
CONFIG_PWM_LPSS=m
CONFIG_PWM_LPSS_PCI=m
@@ -7476,7 +7547,12 @@ CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL=m
CONFIG_MCB=m
CONFIG_MCB_PCI=m
+
+#
+# Performance monitor support
+#
CONFIG_RAS=y
+CONFIG_AMD_MCE_INJ=m
CONFIG_THUNDERBOLT=m
#
@@ -7486,8 +7562,10 @@ CONFIG_THUNDERBOLT=m
CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=m
CONFIG_ND_BLK=m
+CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=m
CONFIG_BTT=y
+CONFIG_NVMEM=m
#
# Firmware Drivers
@@ -7522,7 +7600,7 @@ CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_ENCRYPTION=m
@@ -7883,7 +7961,7 @@ CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#
-# CONFIG_PAGE_EXTENSION is not set
+CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
@@ -7955,7 +8033,6 @@ CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_TORTURE_TEST=m
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
@@ -8038,6 +8115,7 @@ CONFIG_TEST_BPF=m
CONFIG_TEST_FIRMWARE=m
CONFIG_TEST_UDELAY=m
CONFIG_MEMTEST=y
+CONFIG_TEST_STATIC_KEYS=m
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
@@ -8118,7 +8196,6 @@ CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_YAMA=y
-CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
@@ -8145,7 +8222,6 @@ CONFIG_EVM_EXTRA_SMACK_XATTRS=y
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
CONFIG_DEFAULT_SECURITY_APPARMOR=y
-# CONFIG_DEFAULT_SECURITY_YAMA is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="apparmor"
CONFIG_XOR_BLOCKS=m
@@ -8181,6 +8257,7 @@ CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
@@ -8305,12 +8382,20 @@ CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
+CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_PUBLIC_KEY_ALGO_RSA=y
CONFIG_X509_CERTIFICATE_PARSER=y
-CONFIG_PKCS7_MESSAGE_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=m
+CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+
+#
+# Certificates for signature checking
+#
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
@@ -8346,7 +8431,6 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
-CONFIG_PERCPU_RWSEM=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
@@ -8399,6 +8483,7 @@ CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
CONFIG_INTERVAL_TREE=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
@@ -8412,7 +8497,6 @@ CONFIG_GLOB=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
CONFIG_DDR=y
@@ -8424,5 +8508,6 @@ CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
+# CONFIG_SG_SPLIT is not set
CONFIG_ARCH_HAS_SG_CHAIN=y
-CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_ARCH_HAS_MMIO_FLUSH=y
diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf
index e22b651f37..6c233c079a 100644
--- a/gnu/packages/linux-libre-x86_64.conf
+++ b/gnu/packages/linux-libre-x86_64.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.2.0-gnu Kernel Configuration
+# Linux/x86 4.3.0-gnu Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -136,10 +136,6 @@ CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_RCU_NOCB_CPU=y
-# CONFIG_RCU_NOCB_CPU_NONE is not set
-# CONFIG_RCU_NOCB_CPU_ZERO is not set
-CONFIG_RCU_NOCB_CPU_ALL=y
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
# CONFIG_IKCONFIG is not set
@@ -147,12 +143,14 @@ CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
@@ -218,7 +216,9 @@ CONFIG_BPF_SYSCALL=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
+CONFIG_USERFAULTFD=y
CONFIG_PCI_QUIRKS=y
+CONFIG_MEMBARRIER=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
@@ -234,15 +234,17 @@ CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLUB_CPU_PARTIAL=y
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
+# CONFIG_SYSTEM_DATA_VERIFICATION is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
+CONFIG_KEXEC_CORE=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
@@ -313,6 +315,11 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_SIG_SHA1 is not set
+# CONFIG_MODULE_SIG_SHA224 is not set
+# CONFIG_MODULE_SIG_SHA256 is not set
+# CONFIG_MODULE_SIG_SHA384 is not set
+# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_COMPRESS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_STOP_MACHINE=y
@@ -404,7 +411,7 @@ CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PVHVM=y
-CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_512GB=y
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
@@ -453,6 +460,7 @@ CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
+# CONFIG_VM86 is not set
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
@@ -536,6 +544,9 @@ CONFIG_PGTABLE_MAPPING=y
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+CONFIG_IDLE_PAGE_TRACKING=y
+CONFIG_FRAME_VECTOR=y
+CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
@@ -548,7 +559,7 @@ CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
-# CONFIG_X86_INTEL_MPX is not set
+CONFIG_X86_INTEL_MPX=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
@@ -562,6 +573,7 @@ CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y
CONFIG_KEXEC_VERIFY_SIG=y
+CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
@@ -575,6 +587,7 @@ CONFIG_HOTPLUG_CPU=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
+CONFIG_MODIFY_LDT_SYSCALL=y
CONFIG_HAVE_LIVEPATCH=y
CONFIG_LIVEPATCH=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -587,6 +600,7 @@ CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
+# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
@@ -620,6 +634,8 @@ CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_CPU_FREQ_PSS=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
@@ -849,7 +865,6 @@ CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_GENEVE_CORE=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@@ -889,6 +904,7 @@ CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
@@ -1110,6 +1126,7 @@ CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
@@ -1137,7 +1154,9 @@ CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_REJECT_IPV4=m
@@ -1180,6 +1199,8 @@ CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
@@ -1406,6 +1427,7 @@ CONFIG_NETLINK_DIAG=m
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=m
CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
CONFIG_HSR=m
# CONFIG_NET_SWITCHDEV is not set
CONFIG_RPS=y
@@ -1558,6 +1580,7 @@ CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
+CONFIG_BT_HS=y
CONFIG_BT_LE=y
CONFIG_BT_6LOWPAN=m
# CONFIG_BT_SELFTEST is not set
@@ -1569,6 +1592,7 @@ CONFIG_BT_DEBUGFS=y
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
+CONFIG_BT_QCA=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
@@ -1581,6 +1605,7 @@ CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -1679,8 +1704,12 @@ CONFIG_NFC_ST21NFCA=m
CONFIG_NFC_ST21NFCA_I2C=m
CONFIG_NFC_ST_NCI=m
CONFIG_NFC_ST_NCI_I2C=m
+CONFIG_NFC_ST_NCI_SPI=m
CONFIG_NFC_NXP_NCI=m
CONFIG_NFC_NXP_NCI_I2C=m
+CONFIG_NFC_S3FWRN5=m
+CONFIG_NFC_S3FWRN5_I2C=m
+CONFIG_LWTUNNEL=y
CONFIG_HAVE_BPF_JIT=y
#
@@ -2040,6 +2069,7 @@ CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_KERNEL_API is not set
+# CONFIG_CXL_EEH is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -2168,6 +2198,7 @@ CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
@@ -2185,7 +2216,7 @@ CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
@@ -2391,6 +2422,7 @@ CONFIG_TUN=y
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=m
+CONFIG_NET_VRF=m
CONFIG_SUNGEM_PHY=m
CONFIG_ARCNET=m
CONFIG_ARCNET_1201=m
@@ -2492,9 +2524,10 @@ CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
+CONFIG_BNX2X_VXLAN=y
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
-CONFIG_NET_VENDOR_CAVIUM=m
+CONFIG_NET_VENDOR_CAVIUM=y
CONFIG_THUNDER_NIC_PF=m
CONFIG_THUNDER_NIC_VF=m
CONFIG_THUNDER_NIC_BGX=m
@@ -2581,6 +2614,8 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX5_CORE=m
CONFIG_MLX5_CORE_EN=y
+CONFIG_MLXSW_CORE=m
+CONFIG_MLXSW_PCI=m
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=m
CONFIG_KS8851=m
@@ -2659,6 +2694,7 @@ CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
+CONFIG_NET_VENDOR_SYNOPSYS=y
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
@@ -2687,6 +2723,7 @@ CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
+CONFIG_AQUANTIA_PHY=m
CONFIG_AT803X_PHY=m
CONFIG_AMD_PHY=m
CONFIG_MARVELL_PHY=m
@@ -2695,6 +2732,7 @@ CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
+CONFIG_TERANETICS_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_BCM7XXX_PHY=m
@@ -2705,10 +2743,13 @@ CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
+# CONFIG_DP83848_PHY is not set
CONFIG_DP83867_PHY=m
+CONFIG_MICROCHIP_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_GPIO=m
+CONFIG_MDIO_OCTEON=m
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MICREL_KS8995MA=m
CONFIG_PLIP=m
@@ -2735,6 +2776,7 @@ CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_AX88179_178A=m
@@ -2770,6 +2812,7 @@ CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
+CONFIG_USB_NET_CH9200=m
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
CONFIG_LIBERTAS_THINFIRM=m
@@ -3045,6 +3088,7 @@ CONFIG_IEEE802154_ATUSB=m
CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
+CONFIG_FUJITSU_ES=m
CONFIG_HYPERV_NET=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
@@ -3291,6 +3335,7 @@ CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_TOUCHSCREEN_88PM860X=m
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
@@ -3380,7 +3425,6 @@ CONFIG_INPUT_BMA150=m
CONFIG_INPUT_E3X0_BUTTON=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_MAX77693_HAPTIC=m
-CONFIG_INPUT_MAX77843_HAPTIC=m
CONFIG_INPUT_MAX8925_ONKEY=m
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
@@ -3510,6 +3554,7 @@ CONFIG_SERIAL_8250_FINTEK=m
CONFIG_SERIAL_KGDB_NMI=y
CONFIG_SERIAL_MAX3100=m
CONFIG_SERIAL_MAX310X=y
+CONFIG_SERIAL_UARTLITE=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
@@ -3608,6 +3653,7 @@ CONFIG_I2C_MUX_GPIO=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
CONFIG_I2C_MUX_PINCTRL=m
+CONFIG_I2C_MUX_REG=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
@@ -3650,6 +3696,7 @@ CONFIG_I2C_CBUS_GPIO=m
CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EMEV2=m
CONFIG_I2C_GPIO=m
CONFIG_I2C_KEMPLD=m
CONFIG_I2C_OCORES=m
@@ -3835,6 +3882,7 @@ CONFIG_GPIO_RDC321X=m
CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MCP23S08=m
CONFIG_GPIO_MC33880=m
+CONFIG_GPIO_ZX=y
#
# USB GPIO expanders
@@ -4032,6 +4080,7 @@ CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
CONFIG_SENSORS_TPS40422=m
@@ -4108,10 +4157,7 @@ CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INT340X_THERMAL=m
CONFIG_ACPI_THERMAL_REL=m
-
-#
-# Texas Instruments thermal drivers
-#
+CONFIG_INTEL_PCH_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -4123,6 +4169,7 @@ CONFIG_SOFT_WATCHDOG=m
CONFIG_DA9052_WATCHDOG=m
CONFIG_DA9055_WATCHDOG=m
CONFIG_DA9063_WATCHDOG=m
+CONFIG_DA9062_WATCHDOG=m
CONFIG_MENF21BMC_WATCHDOG=m
CONFIG_WM831X_WATCHDOG=m
CONFIG_WM8350_WATCHDOG=m
@@ -4231,6 +4278,7 @@ CONFIG_PMIC_DA9052=y
CONFIG_MFD_DA9052_SPI=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_DA9055=y
+CONFIG_MFD_DA9062=m
CONFIG_MFD_DA9063=y
CONFIG_MFD_DA9150=m
CONFIG_MFD_DLN2=m
@@ -4243,6 +4291,9 @@ CONFIG_MFD_INTEL_QUARK_I2C_GPIO=m
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
CONFIG_INTEL_SOC_PMIC=y
+CONFIG_MFD_INTEL_LPSS=m
+CONFIG_MFD_INTEL_LPSS_ACPI=m
+CONFIG_MFD_INTEL_LPSS_PCI=m
CONFIG_MFD_JANZ_CMODIO=m
CONFIG_MFD_KEMPLD=m
CONFIG_MFD_88PM800=m
@@ -4309,6 +4360,7 @@ CONFIG_MFD_ARIZONA_SPI=m
CONFIG_MFD_WM5102=y
CONFIG_MFD_WM5110=y
CONFIG_MFD_WM8997=y
+CONFIG_MFD_WM8998=y
CONFIG_MFD_WM8400=y
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
@@ -4335,6 +4387,7 @@ CONFIG_REGULATOR_BCM590XX=m
CONFIG_REGULATOR_DA903X=m
CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_DA9055=m
+CONFIG_REGULATOR_DA9062=m
CONFIG_REGULATOR_DA9063=m
CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
@@ -4359,10 +4412,10 @@ CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MAX8998=m
CONFIG_REGULATOR_MAX77693=m
-CONFIG_REGULATOR_MAX77843=m
CONFIG_REGULATOR_MC13XXX_CORE=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_MT6311=m
CONFIG_REGULATOR_MT6397=m
CONFIG_REGULATOR_PALMAS=m
CONFIG_REGULATOR_PCAP=m
@@ -4632,13 +4685,8 @@ CONFIG_MEDIA_PCI_SUPPORT=y
# Media capture support
#
CONFIG_VIDEO_MEYE=m
-
-#
-# Media capture/analog TV support
-#
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_IVTV_ALSA=m
-CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_SOLO6X10=m
+CONFIG_VIDEO_TW68=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -4647,11 +4695,16 @@ CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_SOLO6X10=m
-CONFIG_VIDEO_TW68=m
CONFIG_VIDEO_DT3155=m
#
@@ -4703,6 +4756,7 @@ CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
CONFIG_DVB_SMIPCIE=m
+CONFIG_DVB_NETUP_UNIDVB=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_VIA_CAMERA=m
@@ -4714,6 +4768,7 @@ CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVID=m
CONFIG_VIDEO_VIM2M=m
+CONFIG_DVB_PLATFORM_DRIVERS=y
#
# Supported MMC/SDIO adapters
@@ -4982,6 +5037,7 @@ CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_CXD2841ER=m
CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
@@ -5036,6 +5092,7 @@ CONFIG_DVB_TUNER_DIB0090=m
# SEC control devices for DVB-S
#
CONFIG_DVB_DRX39XYJ=m
+CONFIG_DVB_LNBH25=m
CONFIG_DVB_LNBP21=m
CONFIG_DVB_LNBP22=m
CONFIG_DVB_ISL6405=m
@@ -5049,6 +5106,8 @@ CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_M88RS2000=m
CONFIG_DVB_AF9033=m
+CONFIG_DVB_HORUS3A=m
+CONFIG_DVB_ASCOT2E=m
#
# Tools to develop new frontends
@@ -5067,14 +5126,11 @@ CONFIG_INTEL_GTT=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
-
-#
-# Direct Rendering Manager
-#
CONFIG_DRM=m
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
@@ -5099,8 +5155,6 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I810=m
CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_I915_FBDEV=y
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
@@ -5124,6 +5178,11 @@ CONFIG_DRM_PANEL=y
#
# Display Panels
#
+CONFIG_DRM_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
CONFIG_HSA_AMD=m
#
@@ -5237,6 +5296,7 @@ CONFIG_FB_AUO_K1900=m
CONFIG_FB_AUO_K1901=m
CONFIG_FB_HYPERV=m
CONFIG_FB_SIMPLE=y
+CONFIG_FB_SM712=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_L4F00242T03=m
@@ -5261,6 +5321,7 @@ CONFIG_BACKLIGHT_DA903X=m
CONFIG_BACKLIGHT_DA9052=m
CONFIG_BACKLIGHT_MAX8925=m
CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_PM8941_WLED=m
CONFIG_BACKLIGHT_SAHARA=m
CONFIG_BACKLIGHT_WM831X=m
CONFIG_BACKLIGHT_ADP5520=m
@@ -5511,7 +5572,6 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
-CONFIG_SND_SOC_QCOM=m
CONFIG_SND_SOC_XTFPGA_I2S=m
CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -5538,8 +5598,10 @@ CONFIG_SND_SOC_CS4271_I2C=m
CONFIG_SND_SOC_CS4271_SPI=m
CONFIG_SND_SOC_CS42XX8=m
CONFIG_SND_SOC_CS42XX8_I2C=m
+CONFIG_SND_SOC_CS4349=m
CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_GTM601=m
CONFIG_SND_SOC_MAX98090=m
CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PCM1792A=m
@@ -5566,6 +5628,7 @@ CONFIG_SND_SOC_SSM2602_I2C=m
CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_STA32X=m
CONFIG_SND_SOC_STA350=m
+CONFIG_SND_SOC_STI_SAS=m
CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
CONFIG_SND_SOC_TAS571X=m
@@ -5630,6 +5693,7 @@ CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EZKEY=m
+CONFIG_HID_GEMBIRD=m
CONFIG_HID_HOLTEK=m
CONFIG_HOLTEK_FF=y
CONFIG_HID_GT683R=m
@@ -5818,6 +5882,10 @@ CONFIG_USB_MUSB_DUAL_ROLE=y
#
# Platform Glue Layer
#
+
+#
+# MUSB DMA mode
+#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_ULPI=y
@@ -5829,11 +5897,6 @@ CONFIG_USB_DWC3_DUAL_ROLE=y
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=m
-
-#
-# Debugging features
-#
-# CONFIG_USB_DWC3_DEBUG is not set
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y
@@ -6170,7 +6233,6 @@ CONFIG_LEDS_MENF21BMC=m
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
CONFIG_LEDS_BLINKM=m
-CONFIG_LEDS_PM8941_WLED=m
#
# LED Triggers
@@ -6198,11 +6260,8 @@ CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
-CONFIG_INFINIBAND_IPATH=m
CONFIG_INFINIBAND_QIB=m
CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
@@ -6225,7 +6284,6 @@ CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MCE_INJ=m
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD64=m
# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
@@ -6370,16 +6428,17 @@ CONFIG_DMADEVICES=y
#
# DMA Devices
#
-CONFIG_INTEL_MIC_X100_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=m
+CONFIG_DMA_ACPI=y
+CONFIG_IDMA64=m
CONFIG_INTEL_IOATDMA=m
+CONFIG_INTEL_MIC_X100_DMA=m
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
CONFIG_HSU_DMA=m
CONFIG_HSU_DMA_PCI=m
-CONFIG_DMA_ENGINE=y
-CONFIG_DMA_VIRTUAL_CHANNELS=m
-CONFIG_DMA_ACPI=y
#
# DMA Clients
@@ -6458,6 +6517,8 @@ CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_EFI=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
+CONFIG_XEN_SYMS=y
+CONFIG_XEN_HAVE_VPMU=y
CONFIG_STAGING=y
CONFIG_SLICOSS=m
CONFIG_PRISM2_USB=m
@@ -6715,7 +6776,6 @@ CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
CONFIG_IIO_SIMPLE_DUMMY=m
# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
-CONFIG_FB_SM7XX=m
CONFIG_FB_SM750=m
CONFIG_FB_XGI=m
CONFIG_FT1000=m
@@ -6752,11 +6812,19 @@ CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_SIR=m
CONFIG_LIRC_ZILOG=m
+CONFIG_STAGING_RDMA=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+CONFIG_INFINIBAND_HFI1=m
+# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
+CONFIG_HFI1_VERBS_31BIT_PSN=y
+# CONFIG_SDMA_VERBOSITY is not set
+# CONFIG_PRESCAN_RXQ is not set
+CONFIG_INFINIBAND_IPATH=m
#
# Android
#
-CONFIG_USB_WPAN_HCD=m
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
CONFIG_WIMAX_GDM72XX_K_MODE=y
@@ -6810,11 +6878,21 @@ CONFIG_FB_TFT_SSD1351=m
CONFIG_FB_TFT_ST7735R=m
CONFIG_FB_TFT_TINYLCD=m
CONFIG_FB_TFT_TLS8204=m
+CONFIG_FB_TFT_UC1611=m
CONFIG_FB_TFT_UC1701=m
CONFIG_FB_TFT_UPD161704=m
CONFIG_FB_TFT_WATTEROTT=m
CONFIG_FB_FLEX=m
CONFIG_FB_TFT_FBTFT_DEVICE=m
+CONFIG_MOST=m
+CONFIG_MOSTCORE=m
+CONFIG_AIM_CDEV=m
+CONFIG_AIM_NETWORK=m
+CONFIG_AIM_SOUND=m
+CONFIG_AIM_V4L2=m
+CONFIG_HDM_DIM2=m
+CONFIG_HDM_I2C=m
+CONFIG_HDM_USB=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -6869,6 +6947,7 @@ CONFIG_INTEL_RST=m
CONFIG_INTEL_SMARTCONNECT=m
CONFIG_PVPANIC=m
CONFIG_INTEL_PMC_IPC=m
+CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
@@ -6990,8 +7069,8 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_KXSD9=m
-CONFIG_MMA8452=m
CONFIG_KXCJK1013=m
+CONFIG_MMA8452=m
CONFIG_MMA9551_CORE=m
CONFIG_MMA9551=m
CONFIG_MMA9553=m
@@ -7134,8 +7213,11 @@ CONFIG_ISL29125=m
CONFIG_HID_SENSOR_ALS=m
CONFIG_HID_SENSOR_PROX=m
CONFIG_JSA1212=m
+CONFIG_RPR0521=m
CONFIG_SENSORS_LM3533=m
CONFIG_LTR501=m
+CONFIG_OPT3001=m
+CONFIG_PA12203001=m
CONFIG_STK3310=m
CONFIG_TCS3414=m
CONFIG_TCS3472=m
@@ -7223,6 +7305,7 @@ CONFIG_VME_USER=m
CONFIG_VME_PIO2=m
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
+CONFIG_PWM_CRC=y
CONFIG_PWM_LP3943=m
CONFIG_PWM_LPSS=m
CONFIG_PWM_LPSS_PCI=m
@@ -7255,7 +7338,12 @@ CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL=m
CONFIG_MCB=m
CONFIG_MCB_PCI=m
+
+#
+# Performance monitor support
+#
CONFIG_RAS=y
+CONFIG_AMD_MCE_INJ=m
CONFIG_THUNDERBOLT=m
#
@@ -7265,8 +7353,10 @@ CONFIG_THUNDERBOLT=m
CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=m
CONFIG_ND_BLK=m
+CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=m
CONFIG_BTT=y
+CONFIG_NVMEM=m
#
# Firmware Drivers
@@ -7301,7 +7391,7 @@ CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_ENCRYPTION=m
@@ -7736,7 +7826,6 @@ CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_TORTURE_TEST=m
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
@@ -7820,6 +7909,7 @@ CONFIG_TEST_BPF=m
CONFIG_TEST_FIRMWARE=m
CONFIG_TEST_UDELAY=m
CONFIG_MEMTEST=y
+CONFIG_TEST_STATIC_KEYS=m
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
@@ -7901,7 +7991,6 @@ CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_YAMA=y
-CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
@@ -7928,7 +8017,6 @@ CONFIG_EVM_EXTRA_SMACK_XATTRS=y
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
CONFIG_DEFAULT_SECURITY_APPARMOR=y
-# CONFIG_DEFAULT_SECURITY_YAMA is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="apparmor"
CONFIG_XOR_BLOCKS=m
@@ -7964,6 +8052,7 @@ CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
@@ -8012,6 +8101,7 @@ CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_POLY1305_X86_64=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
@@ -8057,6 +8147,7 @@ CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
@@ -8104,12 +8195,20 @@ CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
+CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_PUBLIC_KEY_ALGO_RSA=y
CONFIG_X509_CERTIFICATE_PARSER=y
-CONFIG_PKCS7_MESSAGE_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=m
+CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+
+#
+# Certificates for signature checking
+#
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
@@ -8145,7 +8244,6 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
-CONFIG_PERCPU_RWSEM=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_CRC_CCITT=m
@@ -8198,6 +8296,7 @@ CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
CONFIG_INTERVAL_TREE=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
@@ -8211,7 +8310,6 @@ CONFIG_GLOB=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
CONFIG_DDR=y
@@ -8223,5 +8321,7 @@ CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
+# CONFIG_SG_SPLIT is not set
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_ARCH_HAS_MMIO_FLUSH=y
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 77cf865c54..08533742ff 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -23,7 +23,7 @@
(define-module (gnu packages linux)
#:use-module ((guix licenses)
- #:hide (zlib))
+ #:hide (zlib openssl))
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
@@ -57,6 +57,7 @@
#:use-module (gnu packages asciidoc)
#:use-module (gnu packages readline)
#:use-module (gnu packages calendar)
+ #:use-module (gnu packages tls)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@@ -210,7 +211,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
#f)))
(define-public linux-libre
- (let* ((version "4.2.3")
+ (let* ((version "4.3.2")
(build-phase
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Apply the neat patch.
@@ -220,6 +221,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(let ((arch (car (string-split system #\-))))
(setenv "ARCH"
(cond ((string=? arch "i686") "i386")
+ ((string=? arch "mips64el") "mips")
(else arch)))
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
@@ -266,7 +268,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(for-each (lambda (file)
(copy-file file
(string-append out "/" (basename file))))
- (find-files "." "^(bzImage|System\\.map)$"))
+ (find-files "." "^(bzImage|vmlinuz|System\\.map)$"))
(copy-file ".config" (string-append out "/config"))
(zero? (system* "make"
(string-append "DEPMOD=" mit "/sbin/depmod")
@@ -283,10 +285,12 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(uri (linux-libre-urls version))
(sha256
(base32
- "1xpx32k6bzxqg5y8lyaana97jjcli00iyqklh5fdhirfvjb9dimd"))))
+ "0d87jbmplv36kxq40k44zh3sj82qp79lf8n4by7jb2wvyk06rvfg"))))
(build-system gnu-build-system)
+ (supported-systems '("x86_64-linux" "i686-linux"))
(native-inputs `(("perl" ,perl)
("bc" ,bc)
+ ("openssl" ,openssl)
("module-init-tools" ,module-init-tools)
("patch/freedo+gnu" ,%boot-logo-patch)
@@ -445,8 +449,9 @@ providing the system administrator with some help in common tasks.")
("net-base" ,net-base))) ;for tests
(home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
(synopsis "Collection of utilities for the Linux kernel")
- (description
- "Util-linux is a random collection of utilities for the Linux kernel.")
+ (description "Util-linux is a diverse collection of Linux kernel
+utilities. It provides dmesg and includes tools for working with filesystems,
+block devices, UUIDs, TTYs, and many other tools.")
;; Note that util-linux doesn't use the same license for all the
;; code. GPLv2+ is the default license for a code without an
@@ -542,7 +547,7 @@ slabtop, and skill.")
(arguments
'(;; util-linux is not the preferred source for some of the libraries and
;; commands, so disable them (see, e.g.,
- ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b336339909c90559b7db40b455f172>.)
+ ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b33633>.)
#:configure-flags '("--disable-libblkid"
"--disable-libuuid" "--disable-uuidd"
"--disable-fsck"
@@ -1361,7 +1366,7 @@ file system is as easy as logging into the server with an SSH client.")
(define-public numactl
(package
(name "numactl")
- (version "2.0.9")
+ (version "2.0.11")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1370,35 +1375,13 @@ file system is as easy as logging into the server with an SSH client.")
".tar.gz"))
(sha256
(base32
- "073myxlyyhgxh1w3r757ajixb7s2k69czc3r0g12c3scq7k3784w"))))
+ "0qbqa9gac2vlahrngi553hws2mqgqdwv2lc69a3yx4gq6l90j325"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; There's no 'configure' script, just a raw makefile.
- (substitute* "Makefile"
- (("^prefix := .*$")
- (string-append "prefix := " (assoc-ref outputs "out")
- "\n"))
- (("^libdir := .*$")
- ;; By default the thing tries to install under
- ;; $prefix/lib64 when on a 64-bit platform.
- (string-append "libdir := $(prefix)/lib\n"))))
- %standard-phases)
-
- #:make-flags (list
- ;; By default the thing tries to use 'cc'.
- "CC=gcc"
-
- ;; Make sure programs have an RPATH so they can find
- ;; libnuma.so.
- (string-append "LDLIBS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib"))
-
- ;; There's a 'test' target, but it requires NUMA support in the kernel
+ '(;; There's a 'test' target, but it requires NUMA support in the kernel
;; to run, which we can't assume to have.
#:tests? #f))
+
(home-page "http://oss.sgi.com/projects/libnuma/")
(synopsis "Tools for non-uniform memory access (NUMA) machines")
(description
@@ -1540,7 +1523,7 @@ from the module-init-tools project.")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "2.1.1")
+ (version "3.1.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1548,55 +1531,15 @@ from the module-init-tools project.")
version ".tar.gz"))
(sha256
(base32
- "0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva"))
- (patches (list (search-patch "eudev-rules-directory.patch")))
- (modules '((guix build utils)))
- (snippet
- ;; 'configure' checks uses <linux/btrfs.h> as an indication of
- ;; whether Linux headers are available, but it doesn't actually
- ;; use it, and our 'linux-libre-headers' package doesn't
- ;; provide it. So just remove that.
- '(substitute* "configure"
- (("linux/btrfs\\.h")
- "")))))
+ "0akg9gcc3c2p56xbhlvbybqavcprly5q0bvk655zwl6d62j8an7p"))
+ (patches (list (search-patch "eudev-rules-directory.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
- ("gperf" ,gperf)
- ("glib" ,glib "bin") ; glib-genmarshal, etc.
- ("perl" ,perl) ; for the tests
- ("python" ,python-2))) ; ditto
+ ("perl" ,perl)
+ ("gperf" ,gperf)))
(inputs
- `(("kmod" ,kmod)
- ("pciutils" ,pciutils)
- ("usbutils" ,usbutils)
- ("util-linux" ,util-linux)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
- (arguments
- `(#:configure-flags (list "--enable-libkmod"
-
- (string-append
- "--with-pci-ids-path="
- (assoc-ref %build-inputs "pciutils")
- "/share/pci.ids.gz")
-
- "--with-firmware-path=/no/firmware"
-
- ;; Work around undefined reference to
- ;; 'mq_getattr' in sc-daemon.c.
- "LDFLAGS=-lrt")
- #:phases
- (alist-cons-before
- 'build 'pre-build
- ;; The program 'g-ir-scanner' (part of the package
- ;; 'gobject-introspection'), to generate .gir files, makes some
- ;; library pre-processing. During that phase it looks for the C
- ;; compiler as either 'cc' or as defined by the environment variable
- ;; 'CC' (with code in 'giscanner/dumper.py').
- (lambda* _
- (setenv "CC" "gcc"))
- %standard-phases)))
+ `(("kmod" ,kmod)))
(home-page "http://www.gentoo.org/proj/en/eudev/")
(synopsis "Userspace device management")
(description "Udev is a daemon which dynamically creates and removes
@@ -2327,7 +2270,7 @@ applications.")
(define-public bluez
(package
(name "bluez")
- (version "5.30")
+ (version "5.35")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2335,7 +2278,9 @@ applications.")
version ".tar.xz"))
(sha256
(base32
- "0b1qbnq1xzcdw5rajg9yyg31bf21jnff0n6gnf1snz89bbdllfhy"))))
+ "1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs"))
+ (patches
+ (list (search-patch "bluez-tests.patch")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -2418,3 +2363,46 @@ id=0B7CLI-REKbE3VTdaa0EzTkhYdU0")
"This package provides a FUSE-based file system that provides read and
write access to exFAT devices.")
(license gpl2+)))
+
+(define-public gpm
+ (package
+ (name "gpm")
+ (version "1.20.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.nico.schottelius.org/software/gpm/archives/gpm-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _
+ ;; The tarball was not generated with 'make dist' so we
+ ;; need to bootstrap things ourselves.
+ (and (zero? (system* "./autogen.sh"))
+ (begin
+ (patch-makefile-SHELL "Makefile.include.in")
+ #t)))))
+
+ ;; Make sure programs find libgpm.so.
+ #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"))))
+ (native-inputs
+ `(("texinfo" ,texinfo)
+ ("bison" ,bison)
+ ("flex" ,flex)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (home-page "http://www.nico.schottelius.org/software/gpm/")
+ (synopsis "Mouse support for the Linux console")
+ (description
+ "The GPM (general-purpose mouse) daemon is a mouse server for
+applications running on the Linux console. It allows users to select items
+and copy/paste text in the console and in xterm.")
+ (license gpl2+)))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 78ff83de15..726cfcd5cb 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -59,15 +59,16 @@
#:configure-flags '("--enable-ansi") ; required for use by the maxima package
#:phases (alist-cons-before
'configure 'pre-conf
- (lambda _
+ (lambda _
;; Patch bug when building readline support. This bug was
;; also observed by Debian
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741819
(substitute* "o/gcl_readline.d"
- (("rl_attempted_completion_function = \\(CPPFunction \\*\\)rl_completion;")
+ (("rl_attempted_completion_function = \
+\\(CPPFunction \\*\\)rl_completion;")
"rl_attempted_completion_function = rl_completion;"))
- (substitute*
- (append
+ (substitute*
+ (append
'("pcl/impl/kcl/makefile.akcl"
"add-defs"
"unixport/makefile.dos"
@@ -115,8 +116,7 @@ interface to the Tk widget system.")
("libgc" ,libgc)
("libffi" ,libffi)))
(arguments
- '(#:tests? #f
- ;; During 'make check', ECL fails to initialize with "protocol not
+ '(;; During 'make check', ECL fails to initialize with "protocol not
;; supported", presumably because /etc/protocols is missing in the
;; build environment. See <http://sourceforge.net/p/ecls/bugs/300/>.
;;
@@ -139,7 +139,7 @@ interface to the Tk widget system.")
;; (string-append
;; "ECL=" (assoc-ref outputs "out") "/bin/ecl"))))
;; rearranged-phases))
- ))
+ #:tests? #f))
(home-page "http://ecls.sourceforge.net/")
(synopsis "Embeddable Common Lisp")
(description "ECL is an implementation of the Common Lisp language as
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 18e0ca9c76..d5e5ed65ad 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -87,7 +87,10 @@ of programming tools as well as libraries with equivalent functionality.")
functions for C and C++ programs. It also provides header files that allow C
and C++ source code to interface with the \"sanitization\" passes of the clang
compiler. In LLVM this library is called \"compiler-rt\".")
- (license ncsa)))
+ (license ncsa)
+
+ ;; <http://compiler-rt.llvm.org/> doesn't list MIPS as supported.
+ (supported-systems (delete "mips64el-linux" %supported-systems))))
(define (clang-from-llvm llvm clang-runtime hash)
(package
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 87f53d1637..d27c024cfb 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -37,7 +37,8 @@
version ".tar.gz"))
(sha256
(base32 "0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk"))
- (patches (list (search-patch "lua-pkgconfig.patch")))))
+ (patches (list (search-patch "lua-pkgconfig.patch")
+ (search-patch "lua52-liblua-so.patch")))))
(build-system gnu-build-system)
(inputs `(("readline", readline)))
(arguments
@@ -89,8 +90,8 @@ for configuration, scripting, and rapid prototyping.")
version ".tar.gz"))
(sha256
(base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"))
- (patches (list (search-patch "luajit-symlinks.patch")
- (search-patch "luajit-no_ldconfig.patch")))))
+ (patches (list (search-patch "luajit-symlinks.patch")
+ (search-patch "luajit-no_ldconfig.patch")))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;luajit is distributed without tests
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 467b44ce3d..bfa88ac964 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -278,6 +278,9 @@ sample proximities between pairs of cases.")
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
+ ;; Non-portable SSE instructions are used so building fails on platforms
+ ;; other than x86_64.
+ (supported-systems '("x86_64-linux"))
(home-page "http://shogun-toolbox.org/")
(synopsis "Machine learning toolbox")
(description
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 25407b835a..bf28ec674e 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,13 +31,13 @@
#:use-module (gnu packages base)
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages emacs)
#:use-module (gnu packages enchant)
- #:use-module (gnu packages gdbm)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -44,11 +45,11 @@
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
- #:use-module (gnu packages databases)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -70,6 +71,7 @@
(expat . license:expat)))
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
@@ -207,7 +209,7 @@ operating systems.")
(define-public gmime
(package
(name "gmime")
- (version "2.6.19")
+ (version "2.6.20")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
@@ -215,7 +217,7 @@ operating systems.")
"/gmime-" version ".tar.xz"))
(sha256
(base32
- "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg"))))
+ "0rfzbgsh8ira5p76kdghygl5i3fvmmx4wbw5rp7f8ajc4vxp18g0"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -225,20 +227,21 @@ operating systems.")
("zlib" ,zlib)))
(arguments
`(#:phases
- (alist-cons-after
- 'unpack 'patch-paths-in-tests
- (lambda _
- ;; The test programs run several programs using 'system' with
- ;; hard-coded paths. Here we patch them all. We also change "gpg"
- ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains
- ;; raw byte sequences in several different encodings.
- (with-fluids ((%default-port-encoding #f))
- (substitute* (find-files "tests" "\\.c$")
- (("(system *\\(\")(/[^ ]*)" all pre prog-path)
- (let* ((base (basename prog-path))
- (prog (which (if (string=? base "gpg") "gpg2" base))))
- (string-append pre (or prog (error "not found: " base))))))))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'patch-paths-in-tests
+ (lambda _
+ ;; The test programs run several programs using 'system' with
+ ;; hard-coded paths. Here we patch them all. We also change "gpg"
+ ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains
+ ;; raw byte sequences in several different encodings.
+ (with-fluids ((%default-port-encoding #f))
+ (substitute* (find-files "tests" "\\.c$")
+ (("(system *\\(\")(/[^ ]*)" all pre prog-path)
+ (let* ((base (basename prog-path))
+ (prog (which (if (string=? base "gpg") "gpg2" base))))
+ (string-append pre
+ (or prog (error "not found: " base))))))))))))
(home-page "http://spruce.sourceforge.net/gmime/")
(synopsis "MIME message parser and creator library")
(description
@@ -306,6 +309,15 @@ can read the same mailbox from multiple computers. It supports IMAP as REMOTE
repository and Maildir/IMAP as LOCAL repository.")
(license gpl2+)))
+(define %mu-gtester-patch
+ ;; Ensure tests have unique names, to placate GLib 2.6's gtester.
+ (origin
+ (method url-fetch)
+ (uri "https://github.com/djcb/mu/commit/b44039ed.patch")
+ (sha256
+ (base32
+ "165hryqqhx3wah8a4f5jaq465azx1pm9r4jid7880pys9gd88qlv"))))
+
(define-public mu
(package
(name "mu")
@@ -317,7 +329,8 @@ repository and Maildir/IMAP as LOCAL repository.")
(file-name (string-append "mu-" version ".tar.gz"))
(sha256
(base32
- "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51"))))
+ "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51"))
+ (patches (list %mu-gtester-patch))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -505,14 +518,14 @@ MailCore 2.")
(define-public claws-mail
(package
(name "claws-mail")
- (version "3.11.1")
+ (version "3.13.0")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/claws-mail/claws-mail-" version
+ "http://www.claws-mail.org/releases/" name "-" version
".tar.xz"))
(sha256
- (base32 "0cyixz1jgfpi8abh9fbb8ylx9mcvw4jqj81cms666wpqr6v828yp"))))
+ (base32 "0fpr9gdgrs5yggm61a6135ca06x0cflddsh8dwfqmpb3dj07cl1n"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("bogofilter" ,bogofilter)
@@ -550,14 +563,14 @@ which can add many functionalities to the base client.")
(define-public msmtp
(package
(name "msmtp")
- (version "1.4.32")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/msmtp/msmtp-" version ".tar.bz2"))
+ "mirror://sourceforge/msmtp/msmtp-" version ".tar.xz"))
(sha256 (base32
- "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b"))))
+ "12c7ljahb06pgn8yvvw526xvr11vnr6d4nr0apylixddpxycsvig"))))
(build-system gnu-build-system)
(inputs
`(("libidn" ,libidn)
@@ -570,7 +583,7 @@ which can add many functionalities to the base client.")
(arguments
`(#:configure-flags (list "--with-libgsasl"
"--with-libidn"
- "--with-ssl=gnutls")))
+ "--with-tls=gnutls")))
(synopsis
"Simple and easy to use SMTP client with decent sendmail compatibility")
(description
@@ -667,7 +680,7 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
- (version "2.2.16")
+ (version "2.2.19")
(source
(origin
(method url-fetch)
@@ -675,7 +688,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
name "-" version ".tar.gz"))
(sha256 (base32
- "1w6gg4h9mxg3i8faqpmgj19imzyy001b0v8ihch8ma3zl63i5kjn"))))
+ "17sf5aancad4pg1vx1606k99389wg76blpqzmnmxlz4hklzix7km"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -931,4 +944,66 @@ Email::Send library.")
format and headers.")
(license (package-license perl))))
+(define-public libesmtp
+ (package
+ (name "libesmtp")
+ (version "1.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.stafford.uklinux.net/libesmtp/libesmtp-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh"))))
+ (build-system gnu-build-system)
+ (propagated-inputs
+ `(("openssl" ,openssl)))
+ (home-page "http://www.stafford.uklinux.net/libesmtp/")
+ (synopsis "Library for sending mail via remote hosts using SMTP")
+ (description "libESMTP is an SMTP client which manages posting (or
+submission of) electronic mail via a preconfigured Mail Transport Agent (MTA).
+It may be used as part of a Mail User Agent (MUA) or other program that must
+be able to post electronic mail where mail functionality may not be that
+program's primary purpose.")
+ (license (list lgpl2.1+ gpl2+))))
+
+(define-public esmtp
+ (package
+ (name "esmtp")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/andywingo/esmtp.git")
+ (commit "01bf9fc")))
+ (sha256
+ (base32
+ "1ay282rrl92h0m0m8z5zzjnwiiagi7c78aq2qvhia5mw7prwfyw2"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'autoconf
+ (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (inputs
+ `(("libesmtp" ,libesmtp)))
+ (home-page "http://sourceforge.net/projects/esmtp/")
+ (synopsis "Relay-only mail transfer agent (MTA)")
+ (description "Esmtp is a simple relay-only mail transfer agent built using
+libESMTP. It sends e-mail via a remote SMTP server using credentials from the
+user's @file{$HOME/.esmtprc} configuration file; see the @command{esmtprc} man
+page for more on configuration. This package also provides minimal
+compatibility shims for the @command{sendmail}, @command{mailq}, and
+@command{newaliases} commands.")
+ (license gpl2+)))
+
;;; mail.scm ends here
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 46b7d8b9b0..b11c0d149c 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,9 +25,9 @@
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
- #:use-module (gnu packages gdbm)
#:use-module (gnu packages groff)
#:use-module (gnu packages less)
#:use-module (gnu packages lynx)
@@ -162,7 +163,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
(define-public help2man
(package
(name "help2man")
- (version "1.47.2")
+ (version "1.47.3")
(source
(origin
(method url-fetch)
@@ -170,7 +171,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
version ".tar.xz"))
(sha256
(base32
- "0z1zgw6k1fba59fii6ksfi1g2gci6i4ysa3kdfh3j475fdkn1if4"))))
+ "0miqq77ssk5rgsc9xlv7k5n2wk2c5wv2m1kh4zhbwrggfmjaycn2"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 5fa37d1535..0c0f013ca4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -149,7 +150,7 @@ semiconductors.")
(define-public gsl
(package
(name "gsl")
- (version "1.16")
+ (version "2.1")
(source
(origin
(method url-fetch)
@@ -157,24 +158,10 @@ semiconductors.")
version ".tar.gz"))
(sha256
(base32
- "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k"))
- (patches (map search-patch '("gsl-poly-test-fix-pt1.patch"
- "gsl-poly-test-fix-pt2.patch")))))
+ "0rhcia9jhr3p1f1wybwyllwqfs9bggz99i3mi5lpyqcpff1hdbar"))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f
- #:phases
- (alist-replace
- 'configure
- (lambda* (#:key target system outputs #:allow-other-keys #:rest args)
- (let ((configure (assoc-ref %standard-phases 'configure)))
- ;; disable numerically unstable test on i686, see thread at
- ;; http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
- (if (string=? (or target system) "i686-linux")
- (substitute* "ode-initval2/Makefile.in"
- (("TESTS = \\$\\(check_PROGRAMS\\)") "TESTS =")))
- (apply configure args)))
- %standard-phases)))
+ `(#:parallel-tests? #f))
(home-page "http://www.gnu.org/software/gsl/")
(synopsis "Numerical library for C and C++")
(description
@@ -188,7 +175,7 @@ numbers.")
(define-public glpk
(package
(name "glpk")
- (version "4.56")
+ (version "4.57")
(source
(origin
(method url-fetch)
@@ -196,7 +183,7 @@ numbers.")
version ".tar.gz"))
(sha256
(base32
- "0syzix6qvpn0fzp08c84c8snansf1cam5vd0dk2w91mz2c85d18h"))))
+ "0p17jj1ixd2m9lnsvx8nywmfmnplfk5gvw25r1gy84qzrjkv48vk"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)))
@@ -234,7 +221,7 @@ LP/MIP solver is included in the package.")
("pango" ,pango)
("readline" ,readline)
("gtk" ,gtk+-2)
- ("gtksourceview" ,gtksourceview)
+ ("gtksourceview" ,gtksourceview-2)
("zlib" ,zlib)))
(native-inputs
`(("glib" ,glib "bin") ;for glib-genmarshal
@@ -350,22 +337,24 @@ singular value problems.")
(define-public gnuplot
(package
(name "gnuplot")
- (version "4.6.3")
+ (version "5.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
- version "/gnuplot-" version ".tar.gz"))
+ version "/gnuplot-" version ".tar.gz"))
(sha256
(base32
- "1xd7gqdhlk7k1p9yyqf9vkk811nadc7m4si0q3nb6cpv4pxglpyz"))))
+ "0irwig94w3f8bn4a444hrjnp7w55vqwv8gqj42jiwn6zf5z5bg3w"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("cairo" ,cairo)
("pango" ,pango)
("gd" ,gd)))
- (native-inputs `(("texlive" ,texlive)
- ("pkg-config" ,pkg-config)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ;; Need 'tex', 'latex', 'pdflatex', 'kpsexand', and
+ ;; 'texhash' binaries.
+ ("texlive" ,texlive-bin)))
(home-page "http://www.gnuplot.info")
(synopsis "Command-line driven graphing utility")
(description "Gnuplot is a portable command-line driven graphing
@@ -376,7 +365,7 @@ plotting engine by third-party applications like Octave.")
;; X11 Style with the additional restriction that derived works may only be
;; distributed as patches to the original.
(license (license:fsf-free
- "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright"))))
+ "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright"))))
(define-public hdf5
(package
@@ -414,15 +403,15 @@ extremely large and complex data collections.")
(define-public octave
(package
(name "octave")
- (version "3.8.2")
+ (version "4.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/octave/octave-"
- version ".tar.gz"))
+ version ".tar.gz"))
(sha256
(base32
- "05slz8yx8k91fqlnfr1f0vni95iq9qmchz41c7nf4isn3b2fjn7j"))))
+ "101jr9yck798586jz4vkjcgk36zksmxf1pxrzvipgn2xgyay0zjc"))))
(build-system gnu-build-system)
(inputs
`(("lapack" ,lapack)
@@ -513,7 +502,7 @@ ASCII text files using Gmsh's own scripting language.")
(define-public petsc
(package
(name "petsc")
- (version "3.6.0")
+ (version "3.6.2")
(source
(origin
(method url-fetch)
@@ -521,7 +510,7 @@ ASCII text files using Gmsh's own scripting language.")
(uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
"petsc-lite-" version ".tar.gz"))
(sha256
- (base32 "0lzhk1flgszks1wlhz2b92rnlx5np7bgad8vqy9fcqziz5b4pr26"))))
+ (base32 "13h0m5f9xsdpps4lsp59iz2m7zkapwavq2zfkfvs3ab6sndla0l9"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)
@@ -638,7 +627,7 @@ scientific applications modeled by partial differential equations.")
(define-public slepc
(package
(name "slepc")
- (version "3.6.0")
+ (version "3.6.2")
(source
(origin
(method url-fetch)
@@ -646,7 +635,7 @@ scientific applications modeled by partial differential equations.")
"filename=slepc-" version ".tar.gz"))
(sha256
(base32
- "1ij8w864spzk4cq2mmkssqyj0mbckkkvxm0wpw9gywy2jgbj07jr"))))
+ "1pv5iqz2kc8sj49zsabyz4arnfpana8mjrhq31vzgk16xldk3d1a"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
@@ -659,7 +648,7 @@ scientific applications modeled by partial differential equations.")
`(#:parallel-build? #f ;build is parallel by default
#:configure-flags
`(,(string-append "--with-arpack-dir="
- (assoc-ref %build-inputs "arpack")))
+ (assoc-ref %build-inputs "arpack") "/lib"))
#:phases
(modify-phases %standard-phases
(replace
@@ -673,7 +662,7 @@ scientific applications modeled by partial differential equations.")
(format #t "build directory: ~s~%" (getcwd))
(format #t "configure flags: ~s~%" flags)
(setenv "SLEPC_DIR" (getcwd))
- (setenv "PETSC_DIR" (assoc-ref %build-inputs "petsc"))
+ (setenv "PETSC_DIR" (assoc-ref inputs "petsc"))
(zero? (apply system* "./configure" flags)))))
(add-after
'install 'delete-doc
@@ -738,7 +727,7 @@ arising after the discretization of partial differential equations.")
(define-public mumps
(package
(name "mumps")
- (version "5.0.0")
+ (version "5.0.1")
(source
(origin
(method url-fetch)
@@ -746,7 +735,7 @@ arising after the discretization of partial differential equations.")
version ".tar.gz"))
(sha256
(base32
- "0690yp73sqk8zn2jnrzdr5swnjdyd7j0774s4xamjjwcxarw87hr"))
+ "1820jfp3mbl7n85765v5mp6p0gzqpgr4d2lrnhwj4gl7cwp5ndah"))
(patches (list (search-patch "mumps-build-parallelism.patch")))))
(build-system gnu-build-system)
(inputs
@@ -1461,7 +1450,7 @@ constant parts of it.")
(define-public openblas
(package
(name "openblas")
- (version "0.2.14")
+ (version "0.2.15")
(source
(origin
(method url-fetch)
@@ -1470,17 +1459,18 @@ constant parts of it.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0av3pd96j8rx5i65f652xv9wqfkaqn0w4ma1gvbyz73i6j2hi9db"))))
+ "1k5f6vjlk54qlplk5m7xkbaw6g2y7dl50lwwdv6xsbcsgsbxfcpy"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
- ;; DYNAMIC_ARCH is only supported on x86. When it is disabled,
- ;; OpenBLAS will tune itself to the build host, so we need to disable
- ;; substitutions.
+ ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and no
+ ;; TARGET is specified, OpenBLAS will tune itself to the build host, so
+ ;; we need to disable substitutions.
#:substitutable?
,(let ((system (or (%current-target-system) (%current-system))))
(or (string-prefix? "x86_64" system)
- (string-prefix? "i686" system)))
+ (string-prefix? "i686" system)
+ (string-prefix? "mips" system)))
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"SHELL=bash"
@@ -1491,10 +1481,16 @@ constant parts of it.")
;; Unfortunately, this is not supported on non-x86 architectures,
;; where it leads to failed builds.
,@(let ((system (or (%current-target-system) (%current-system))))
- (if (or (string-prefix? "x86_64" system)
+ (cond
+ ((or (string-prefix? "x86_64" system)
(string-prefix? "i686" system))
- '("DYNAMIC_ARCH=1")
- '())))
+ '("DYNAMIC_ARCH=1"))
+ ;; On MIPS we force the "SICORTEX" TARGET, as for the other
+ ;; two available MIPS targets special extended instructions
+ ;; for Loongson cores are used.
+ ((string-prefix? "mips" system)
+ '("TARGET=SICORTEX"))
+ (else '()))))
;; no configure script
#:phases (alist-delete 'configure %standard-phases)))
(inputs
@@ -1968,3 +1964,30 @@ algorithm and optimum parameters depending on the dataset.
FLANN is written in C++ and contains bindings for C, Octave and Python.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
+
+(define-public wcalc
+ (package
+ (name "wcalc")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "mirror://sourceforge/w-calc/wcalc-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1vi8dl6rccqiq1apmpwawyg2ywx6a1ic1d3cvkf2hlwk1z11fb0f"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("mpfr" ,mpfr)
+ ("readline" ,readline)))
+ (home-page "http://w-calc.sourceforge.net/index.php")
+ (synopsis "Flexible command-line scientific calculator")
+ (description "Wcalc is a very capable calculator. It has standard functions
+(sin, asin, and sinh for example, in either radians or degrees), many
+pre-defined constants (pi, e, c, etc.), support for using variables, \"active\"
+variables, a command history, hex/octal/binary input and output, unit
+conversions, embedded comments, and an expandable expression entry field. It
+evaluates expressions using the standard order of operations.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 731acb54c6..140108987b 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -424,7 +425,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
(define-public gajim
(package
(name "gajim")
- (version "0.16.3")
+ (version "0.16.4")
(source (origin
(method url-fetch)
(uri (string-append "https://gajim.org/downloads/"
@@ -432,7 +433,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
"/gajim-" version ".tar.bz2"))
(sha256
(base32
- "05a59hf9wna6n9fi0a4bhz1hifqj21bwb4ff9rd0my23rdwmij51"))))
+ "0zyfs7q1qg8iqszr8l1gb18gqla6zrrfsgpmbxblpi9maqxas5i1"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm
index b79d4d34bc..16bef8d97d 100644
--- a/gnu/packages/mit-krb5.scm
+++ b/gnu/packages/mit-krb5.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,59 +25,88 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public mit-krb5
(package
(name "mit-krb5")
- (version "1.11.3")
+ (version "1.13.2")
(source (origin
(method url-fetch)
(uri (string-append "http://web.mit.edu/kerberos/www/dist/krb5/"
- (string-copy version 0 (string-rindex version #\.))
+ (version-major+minor version)
"/krb5-" version "-signed.tar"))
(sha256 (base32
- "1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs"))))
+ "1qbdzyrws7d0q4filsibh28z54pd5l987jr0ygv43iq9085w6a75"))))
(build-system gnu-build-system)
(native-inputs
- `(("patch/init-fix" ,(search-patch "mit-krb5-init-fix.patch"))
- ("bison" ,bison)
- ("perl" ,perl)))
+ `(("bison" ,bison)
+ ("perl" ,perl)
+
+ ;; Include the patches as native-inputs.
+ ,@(map (lambda (label)
+ (let ((input-name (string-append "patch/" label))
+ (file-name (string-append name "-" label ".patch")))
+ `(,input-name ,(search-patch file-name))))
+ '("CVE-2015-2695-pt1"
+ "CVE-2015-2695-pt2"
+ "CVE-2015-2696"
+ "CVE-2015-2697"
+ "CVE-2015-2698-pt1"
+ "CVE-2015-2698-pt2"))))
(arguments
- '(#:phases
- (alist-replace
- 'unpack
- (lambda* (#:key source #:allow-other-keys)
- (let ((inner
- (substring source
- (string-index-right source #\k)
- (string-index-right source #\-))))
- (and (zero? (system* "tar" "xvf" source))
- (zero? (system* "tar" "xvf" (string-append inner ".tar.gz")))
- (chdir inner)
- (chdir "src")
- ;; XXX The current patch system does not support unusual
- ;; source unpack methods, so we have to apply this patch in a
- ;; non-standard way.
- (zero? (system* "patch" "-p1" "--force" "-i"
- (assoc-ref %build-inputs "patch/init-fix"))))))
- (alist-replace
- 'check
- (lambda* (#:key inputs #:allow-other-keys #:rest args)
- (let ((perl (assoc-ref inputs "perl"))
- (check (assoc-ref %standard-phases 'check)))
- (substitute* "plugins/kdb/db2/libdb2/test/run.test"
- (("/bin/cat") (string-append perl "/bin/perl")))
- (substitute* "plugins/kdb/db2/libdb2/test/run.test"
- (("D/bin/sh") (string-append "D" (which "bash"))))
- (substitute* "plugins/kdb/db2/libdb2/test/run.test"
- (("bindir=/bin/.") (string-append "bindir=" perl "/bin")))
- ;; use existing files and directories in test
+ `(#:modules ((ice-9 ftw)
+ (ice-9 match)
+ (srfi srfi-1)
+ ,@%gnu-build-system-modules)
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda* (#:key source #:allow-other-keys)
+ (define (sub-directory? name)
+ (and (not (member name '("." "..")))
+ (equal? (stat:type (stat name))
+ 'directory)))
+ (and (zero? (system* "tar" "xvf" source))
+ (match (find-files "." "\\.tar\\.gz$")
+ ((inner-tar-file)
+ (zero? (system* "tar" "xvf" inner-tar-file))))
+ (match (scandir "." sub-directory?)
+ ((directory)
+ (chdir directory)
+ #t)))))
+
+ (add-after 'unpack 'apply-patches
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (let ((patches (filter (match-lambda
+ ((name . file)
+ (string-prefix? "patch/" name)))
+ (or native-inputs inputs))))
+ (every (match-lambda
+ ((name . file)
+ (format (current-error-port)
+ "applying '~a'...~%" name)
+ (zero? (system* "patch" "-p1" "--force" "-i" file))))
+ patches))))
+
+ (add-after 'apply-patches 'enter-source-directory
+ (lambda _
+ (chdir "src")
+ #t))
+
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((perl (assoc-ref inputs "perl")))
+ (substitute* "plugins/kdb/db2/libdb2/test/run.test"
+ (("/bin/cat") (string-append perl "/bin/perl"))
+ (("D/bin/sh") (string-append "D" (which "bash")))
+ (("bindir=/bin/.") (string-append "bindir=" perl "/bin"))))
+
+ ;; avoid service names since /etc/services is unavailable
(substitute* "tests/resolve/Makefile"
(("-p telnet") "-p 23"))
- ;; avoid service names since /etc/services is unavailable
- (apply check args)))
- %standard-phases))))
+ #t)))))
(synopsis "MIT Kerberos 5")
(description
"Massachusetts Institute of Technology implementation of Kerberos.
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 4ce6917433..5dec2a8b3f 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -33,12 +33,14 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages linux) ;alsa-lib
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (guix build-system cmake))
(define-public libmad
@@ -169,7 +171,8 @@ Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
(source (origin
(method url-fetch)
(uri (string-append
- "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-"
+ "http://ibiblio.org"
+ "/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-"
version ".tgz"))
(sha256
(base32
@@ -450,3 +453,32 @@ format.")
"Mpc123 is a command-line player for files in the Musepack audio
compression format (.mpc files).")
(license license:gpl2+)))
+
+(define-public eyed3
+ (package
+ (name "eyed3")
+ (version "0.7.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://eyed3.nicfit.net/releases/eyeD3-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)
+ ("python2-nose" ,python2-nose)
+ ("python2-sphinx" ,python2-sphinx)
+ ("python2-coverage" ,python2-coverage)))
+ (synopsis "MP3 tag ID3 metadata editor")
+ (description "eyeD3 is a Python tool for working with audio files,
+specifically mp3 files containing ID3 metadata (i.e. song info). It provides a
+command-line tool (eyeD3) and a Python library (import eyed3) that can be used
+to write your own applications or plugins that are callable from the
+command-line tool.")
+ (home-page "http://eyed3.nicfit.net/")
+ (license license:gpl2+)))
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 8dba82d8fa..420291d7f0 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -40,7 +40,7 @@
(define-public hwloc
(package
(name "hwloc")
- (version "1.10.1")
+ (version "1.11.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.open-mpi.org/software/hwloc/v"
@@ -48,9 +48,7 @@
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
- "0jji5rphy05s0lp6bknn8lxwixrq0hy5rjzsqvhjszbkl2li7kim"))
- (patches (list
- (search-patch "hwloc-gather-topology-lstopo.patch")))))
+ "03vcr9f98z45xfkk34x376mfrwyi7ff4ay60gvn4v95sqihl0qa8"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
@@ -95,7 +93,7 @@ bind processes, and much more.")
(define-public openmpi
(package
(name "openmpi")
- (version "1.8.5")
+ (version "1.10.1")
(source
(origin
(method url-fetch)
@@ -104,7 +102,7 @@ bind processes, and much more.")
"/downloads/openmpi-" version ".tar.bz2"))
(sha256
(base32
- "1i7vjf599kl5lm8n4vnwq9q1d9scn4sdjh42kfq1i9yzxnlhdsjc"))))
+ "14p4px9a3qzjc22lnl6braxrcrmd9rgmy7fh4qpanawn2pgfq6br"))))
(build-system gnu-build-system)
(inputs
`(("hwloc" ,hwloc)
@@ -115,16 +113,12 @@ bind processes, and much more.")
("perl" ,perl)))
(arguments
`(#:configure-flags `("--enable-static"
- "--enable-oshmem"
- "--enable-event-thread-support"
- "--enable-opal-multi-threads"
- "--enable-orte-progress-threads"
"--enable-mpi-thread-multiple"
+ "--enable-builtin-atomics"
"--enable-mpi-ext=all"
"--with-devel-headers"
- "--enable-debug"
"--enable-memchecker"
,(string-append "--with-valgrind="
(assoc-ref %build-inputs "valgrind"))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a72f7543dd..a217a89a19 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (gnu packages base) ;libbdf
#:use-module (gnu packages boost)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages cdrom)
#:use-module (gnu packages code)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -55,6 +57,7 @@
#:use-module (gnu packages linux) ; for alsa-utils
#:use-module (gnu packages man)
#:use-module (gnu packages mp3)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@@ -67,6 +70,7 @@
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
+ #:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -74,6 +78,67 @@
#:use-module (gnu packages zip)
#:use-module ((srfi srfi-1) #:select (last)))
+(define-public cmus
+ (package
+ (name "cmus")
+ (version "2.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/" name "/" name "/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; cmus does not include tests
+ #:phases
+ (modify-phases %standard-phases
+ (replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+
+ ;; It's an idiosyncratic configure script that doesn't
+ ;; understand --prefix=..; it wants prefix=.. instead.
+ (zero?
+ (system* "./configure"
+ (string-append "prefix=" out)))))))))
+ ;; TODO: cmus optionally supports the following formats, which haven't yet
+ ;; been added to Guix:
+ ;;
+ ;; - Roar, libroar
+ ;;
+ ;; - DISCID_LIBS, apparently different from cd-discid which is included in
+ ;; Guix. See <http://sourceforge.net/projects/discid/>
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("ao" ,ao)
+ ("ffmpeg" ,ffmpeg)
+ ("flac" ,flac)
+ ("jack" ,jack-1)
+ ("libcddb" ,libcddb)
+ ("libcdio-paranoia" ,libcdio-paranoia)
+ ("libcue" ,libcue)
+ ("libmad" ,libmad)
+ ("libmodplug" ,libmodplug)
+ ("libmpcdec" ,libmpcdec)
+ ("libsamplerate" ,libsamplerate)
+ ("libvorbis" ,libvorbis)
+ ("ncurses" ,ncurses)
+ ("opusfile" ,opusfile)
+ ("pulseaudio" ,pulseaudio)
+ ("wavpack" ,wavpack)))
+ (home-page "https://cmus.github.io/")
+ (synopsis "Small console music player")
+ (description "Cmus is a small and fast console music player. It supports
+many input formats and provides a customisable Vi-style user interface.")
+ (license license:gpl2+)))
+
(define-public hydrogen
(package
(name "hydrogen")
@@ -281,6 +346,14 @@ Guile.")
(%current-system))))
'("--disable-sse")
'()))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'set-flags
+ (lambda _
+ ;; Compile with C++11, required by libsigc++.
+ (setenv "CXXFLAGS" "-std=c++11")
+ #t)))
#:python ,python-2))
(inputs
`(("jack" ,jack-1)
@@ -701,7 +774,7 @@ browser.")
(define-public zynaddsubfx
(package
(name "zynaddsubfx")
- (version "2.5.1")
+ (version "2.5.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -709,8 +782,21 @@ browser.")
version "/zynaddsubfx-" version ".tar.gz"))
(sha256
(base32
- "01c4v5lbzard6y00cjq3b6a50cafqwfwibzng9gdsajczhnbkqz2"))))
+ "11yrady7xwfrzszkk2fvq81ymv99mq474h60qnirk27khdygk24m"))))
(build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Move SSE compiler optimization flags from generic target to
+ ;; athlon64 and core2 targets, because otherwise the build would fail
+ ;; on non-Intel machines.
+ (add-after 'unpack 'remove-sse-flags-from-generic-target
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("-msse -msse2 -mfpmath=sse") "")
+ (("-march=(athlon64|core2)" flag)
+ (string-append flag " -msse -msse2 -mfpmath=sse")))
+ #t)))))
(inputs
`(("liblo" ,liblo)
("ntk" ,ntk)
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 2001fcc196..f58f3d9328 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +28,7 @@
(define-public nano
(package
(name "nano")
- (version "2.4.2")
+ (version "2.5.0")
(source
(origin
(method url-fetch)
@@ -35,7 +36,7 @@
version ".tar.gz"))
(sha256
(base32
- "1fb5gzdm3jdx1f2vyanjvdmppaz082lf4kinyffnssgmzhc7zkf8"))))
+ "1vl9bim56k1b4zwc3icxp46w6pn6gb042j1h4jlz1jklxxpkwcpz"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gnu-gettext)
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 2b0d442664..b7fbfc982d 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -110,3 +111,27 @@ implement user interfaces for command-line applications. The accompanying
ncursesw library provides wide character support.")
(license x11)
(home-page "http://www.gnu.org/software/ncurses/"))))
+
+(define-public dialog
+ (package
+ (name "dialog")
+ (version "1.2-20150920")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://invisible-mirror.net/archives/dialog/dialog-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "01ccd585c241nkj02n0zdbx8jqhylgcfpcmmshynh0c7fv2ixrn4"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f)) ; no test suite
+ (inputs
+ `(("ncurses" ,ncurses)))
+ (synopsis "Curses widgets")
+ (description "Dialog is a script-interpreter which provides a set of
+curses widgets, such as dialog boxes.")
+ (home-page "http://invisible-island.net/dialog/dialog.html")
+ ;; Includes the gpl3 file "config.sub" from Automake.
+ (license (list lgpl2.1 gpl3))))
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index edb88bcfbc..bde1e1e197 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,18 +19,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages node)
- #:use-module ((guix licenses)
- #:select (expat))
- #:use-module (gnu packages)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages python)
- #:use-module (gnu packages gcc)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages base)
+ #:use-module ((guix licenses) #:select (expat))
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages libevent)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages tls))
(define-public node
(package
@@ -42,38 +44,44 @@
(sha256
(base32
"17gk29zbw58l0sjjfw86acp39pkiblnq0gsq1jdrd70w0pgn8gdj"))))
- (native-inputs `(("python" ,python-2)
- ("perl" ,perl)
- ("gcc" ,gcc-4.9)
- ("util-linux" ,util-linux)
- ("which" ,which)))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (alist-replace
- 'configure
- ;; Node's configure script is actually a python script, so we can't
- ;; run it with bash.
- (lambda* (#:key outputs (configure-flags '()) inputs
- #:allow-other-keys)
- (let* ((prefix (assoc-ref outputs "out"))
- (flags `(,(string-append "--prefix=" prefix)
- ,@configure-flags)))
- (format #t "build directory: ~s~%" (getcwd))
- (format #t "configure flags: ~s~%" flags)
- ;; Node's configure script expects the CC environment variable to
- ;; be set.
- (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
- (zero? (apply system*
- (string-append (assoc-ref inputs "python")
- "/bin/python")
- "./configure" flags))))
- %standard-phases)))
+ ;; TODO: Package http_parser and add --shared-http-parser.
+ '(#:configure-flags '("--shared-openssl" "--shared-zlib" "--shared-libuv")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; Node's configure script is actually a python script, so we can't
+ ;; run it with bash.
+ (lambda* (#:key outputs (configure-flags '()) inputs
+ #:allow-other-keys)
+ (let* ((prefix (assoc-ref outputs "out"))
+ (flags (cons (string-append "--prefix=" prefix)
+ configure-flags)))
+ (format #t "build directory: ~s~%" (getcwd))
+ (format #t "configure flags: ~s~%" flags)
+ ;; Node's configure script expects the CC environment variable to
+ ;; be set.
+ (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
+ (zero? (apply system*
+ (string-append (assoc-ref inputs "python")
+ "/bin/python")
+ "./configure" flags))))))))
+ (native-inputs
+ `(("python" ,python-2)
+ ("perl" ,perl)
+ ("gcc" ,gcc-4.9)
+ ("util-linux" ,util-linux)
+ ("which" ,which)))
+ (inputs
+ `(("libuv" ,libuv)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
(synopsis "Evented I/O for V8 JavaScript")
(description "Node.js is a platform built on Chrome's JavaScript runtime
for easily building fast, scalable network applications. Node.js uses an
event-driven, non-blocking I/O model that makes it lightweight and efficient,
perfect for data-intensive real-time applications that run across distributed
devices.")
- (license expat)
- (home-page "http://nodejs.org/")))
+ (home-page "http://nodejs.org/")
+ (license expat)))
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index a53d98efdd..9e6db67e3e 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -35,7 +35,7 @@
(define-public ntp
(package
(name "ntp")
- (version "4.2.8p3")
+ (version "4.2.8p4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -44,7 +44,7 @@
"/ntp-" version ".tar.gz"))
(sha256
(base32
- "13zkzcvjm5kbxl4xbcmaq07slplhmpkgahzcqnqlba3cxpra9341"))
+ "1fgxbhv0wyiivi6kh5zpzrd0yqmc48z7d3zmjspw9lj84mbn2s8d"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fc45805958..7f80fc8a32 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -453,13 +454,18 @@ provers.")
;; and gtk+-quartz-2.0 once available.
(inputs
`(("gtk+" ,gtk+-2)
- ("gtksourceview" ,gtksourceview)
+ ("gtksourceview" ,gtksourceview-2)
("libgnomecanvas" ,libgnomecanvas)
("libgnomeui" ,libgnomeui)
("libglade" ,libglade)
("librsvg" ,librsvg)))
(arguments
`(#:tests? #f ; no check target
+
+ ;; Occasionally we would get "Error: Unbound module GtkThread" when
+ ;; compiling 'gtkThInit.ml', with 'make -j'. So build sequentially.
+ #:parallel-build? #f
+
#:phases
(modify-phases %standard-phases
(replace 'install
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 4fd1c803ff..2578292fd0 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -68,16 +69,14 @@ all the files it generates a report.")
(define-public python-debtcollector
(package
(name "python-debtcollector")
- (version "0.5.0")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/d/debtcollector/"
- "debtcollector-" version ".tar.gz"))
+ (uri (pypi-uri "debtcollector" version))
(sha256
(base32
- "0amlcg5f98lk2mfzdg44slh1nsi2y4ds123g5d57376fjk2b3njd"))))
+ "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv"))))
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)
@@ -100,20 +99,51 @@ manner.")
(define-public python2-debtcollector
(package-with-python2 python-debtcollector))
+(define-public python-hacking
+ (package
+ (name "python-hacking")
+ (version "0.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hacking" version))
+ (sha256
+ (base32
+ "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-flake8-2.2.4" ,python-flake8-2.2.4)
+ ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
+ ("python-pbr" ,python-pbr)
+ ("python-pep8-1.5.7" ,python-pep8-1.5.7)
+ ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
+ ("python-six" ,python-six)))
+ (inputs
+ `(("python-setuptools" ,python-setuptools)
+ ;; Tests
+ ("python-testscenarios" ,python-testscenarios)))
+ (home-page "http://github.com/openstack-dev/hacking")
+ (synopsis "OpenStack hacking guideline enforcement")
+ (description
+ "Python-hacking is a set of flake8 plugins that test and enforce the
+@uref{http://docs.openstack.org/developer/hacking/, OpenStack style
+guidelines}.")
+ (license asl2.0)))
+
+(define-public python2-hacking
+ (package-with-python2 python-hacking))
+
(define-public python-mox3
(package
(name "python-mox3")
- (version "0.8.0")
+ (version "0.12.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/m/mox3/mox3-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "mox3" version))
(sha256
(base32
- "1dwj9lkifdqvrcympqa47bj55l0n0j9jhzv2gj03h0dpzg6mgfkj"))))
+ "1pwz98q098cb8xxf8yryq21nvklc7hla880bsrq4y3j6bprw3iaj"))))
(build-system python-build-system)
(inputs
`(("python-fixtures" ,python-fixtures)
@@ -133,17 +163,14 @@ tested on Python version 3.2, 2.7 and 2.6.")
(define-public python-os-client-config
(package
(name "python-os-client-config")
- (version "1.4.0")
+ (version "1.12.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/o/os-client-config/os-client-config-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "os-client-config" version))
(sha256
(base32
- "14png6ml3zbbilh8bihav24f8vig9lyijwynnjcvazdxxrzvwq9j"))))
+ "1vjn7667pswnmpqv6ngwyqm2xn46w90hi5b4pv2grwfz751cn1lf"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;; Circular dependency with python-oslotest
@@ -172,10 +199,44 @@ tested on Python version 3.2, 2.7 and 2.6.")
(define-public python2-mox3
(package-with-python2 python-mox3))
+(define-public python-os-testr
+ (package
+ (name "python-os-testr")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "os-testr" version))
+ (sha256
+ (base32
+ "0474z0mxb7y3vfk4s097wf1mzji5d135vh27cvlh9q17rq3x9r3w"))))
+ (build-system python-build-system)
+ (arguments
+ ;; os-testr uses itself to run the tests. It seems like pbr writes the
+ ;; exectuable in the virtualenv when using tox. Not sure how to do this
+ ;; when building the package. Skip the tests for now.
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("python-pbr" ,python-pbr)
+ ("python-subunit" ,python-subunit)
+ ("python-testtools" ,python-testtools)))
+ (inputs
+ `(("python-babel" ,python-babel)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "http://www.openstack.org/")
+ (synopsis "Testr wrapper to provide functionality for OpenStack projects")
+ (description
+ "Os-testr provides developers with a testr wrapper and an output filter
+ for subunit.")
+ (license asl2.0)))
+
+(define-public python2-os-testr
+ (package-with-python2 python-os-testr))
+
(define-public python-pbr
(package
(name "python-pbr")
- (version "1.6.0")
+ (version "1.8.1")
(source
(origin
(method url-fetch)
@@ -185,7 +246,7 @@ tested on Python version 3.2, 2.7 and 2.6.")
".tar.gz"))
(sha256
(base32
- "1lg1klrczvzfan89y3bl9ykrknl3nb01vvai37fkww24apzyibjf"))))
+ "0jcny36cf3s8ar5r4a575npz080hndnrfs4np1fqhv0ym4k7c4p2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;; Most tests seem to use the Internet.
@@ -217,16 +278,14 @@ and sensible default behaviors into your setuptools run.")
(define-public python-requests-mock
(package
(name "python-requests-mock")
- (version "0.6.0")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/r/requests-mock/"
- "requests-mock-" version ".tar.gz"))
+ (uri (pypi-uri "requests-mock" version))
(sha256
(base32
- "0gmd88c224y53b1ai8cfsrcxm9kw3gdqzysclmnaqspg7zjhxwd1"))))
+ "0s6mrpiv2w0km39qvl1pq2d56xblnm57p369qdp5j1a55ncica7f"))))
(build-system python-build-system)
(propagated-inputs
`(("python-requests" ,python-requests)
@@ -248,17 +307,14 @@ portions of your testing code.")
(define-public python-stevedore
(package
(name "python-stevedore")
- (version "1.7.0")
+ (version "1.9.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/s/stevedore/stevedore-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "stevedore" version))
(sha256
(base32
- "149pjc0c3z6khjisn4yil3f94qjnzwafz093wc8rrzbw828qdkv8"))))
+ "01pcrdqsb6ca7hmqwm11b3baj6ml8yz9pxawrgvxb3j9824906fc"))))
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)))
@@ -286,6 +342,51 @@ extensions.")
(define-public python2-stevedore
(package-with-python2 python-stevedore))
+(define-public python-tempest-lib
+ (package
+ (name "python-tempest-lib")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tempest-lib" version))
+ (sha256
+ (base32
+ "1q4wpqcg0yv99mr5gc43wsfirlqdjz90npyghy3mn5f6lby2yikg"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'check 'pre-check
+ (lambda _
+ (substitute* "tempest_lib/tests/cli/test_execute.py"
+ (("/bin/ls") (which "ls"))))))))
+ (propagated-inputs
+ `(("python-fixtures" ,python-fixtures)
+ ("python-httplib2" ,python-httplib2)
+ ("python-iso8601" ,python-iso8601)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-oslo.log" ,python-oslo.log)
+ ("python-paramiko" ,python-paramiko)
+ ("python-pbr" ,python-pbr)
+ ("python-six" ,python-six)))
+ (inputs
+ `(("python-babel" ,python-babel)
+ ("python-mock" ,python-mock)
+ ("python-os-testr" ,python-os-testr)
+ ("python-oslotest" ,python-oslotest)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "http://www.openstack.org/")
+ (synopsis "OpenStack functional testing library")
+ (description
+ "Tempest-lib is a functional testing library for OpenStack. It provides
+common features used in Tempest.")
+ (license asl2.0)))
+
+(define-public python2-tempest-lib
+ (package-with-python2 python-tempest-lib))
+
;; Packages from the Oslo library
(define-public python-oslo.config
(package
@@ -327,16 +428,14 @@ extensions.")
(define-public python-oslo.context
(package
(name "python-oslo.context")
- (version "0.6.0")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/o/oslo.context/"
- "oslo.context-" version ".tar.gz"))
+ (uri (pypi-uri "oslo.context" version))
(sha256
(base32
- "16wr9qrkc3lb94ssb14qid4liza66x316fvzjw0izg67h1a0fm86"))))
+ "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
(build-system python-build-system)
(inputs
`(("python-babel" ,python-babel)
@@ -358,17 +457,14 @@ pipeline and used by various modules such as logging.")
(define-public python-oslo.i18n
(package
(name "python-oslo.i18n")
- (version "2.5.0")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/o/oslo.i18n/oslo.i18n-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "oslo.i18n" version))
(sha256
(base32
- "1kg72mqldlri3x0bhxai7j979czrd7mf8s3iflvvv0x9kn9ah4cw"))))
+ "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl"))))
(build-system python-build-system)
(propagated-inputs
`(("python-babel" ,python-babel)
@@ -392,19 +488,58 @@ in an application or library.")
(define-public python2-oslo.i18n
(package-with-python2 python-oslo.i18n))
+(define-public python-oslo.log
+ (package
+ (name "python-oslo.log")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/o/oslo.log/oslo.log-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-debtcollector" ,python-debtcollector)
+ ("python-oslo.config" ,python-oslo.config)
+ ("python-oslo.context" ,python-oslo.context)
+ ("python-oslo.i18n" ,python-oslo.i18n)
+ ("python-oslo.utils" ,python-oslo.utils)
+ ("python-oslo.serialization" ,python-oslo.serialization)
+ ("python-six" ,python-six)))
+ (inputs
+ `(("python-babel" ,python-babel)
+ ("python-iso8601" ,python-iso8601)
+ ("python-mock" ,python-mock)
+ ("python-oslotest" ,python-oslotest)
+ ("python-pbr" ,python-pbr)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "http://launchpad.net/oslo")
+ (synopsis "Python logging library of the Oslo project")
+ (description
+ "The oslo.log (logging) configuration library provides standardized
+configuration for all OpenStack projects. It also provides custom formatters,
+handlers and support for context specific logging (like resource id’s etc).")
+ (license asl2.0)))
+
+(define-public python2-oslo.log
+ (package-with-python2 python-oslo.log))
+
(define-public python-oslo.serialization
(package
(name "python-oslo.serialization")
- (version "1.9.0")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/o/oslo.serialization/"
- "oslo.serialization-" version ".tar.gz"))
+ (uri (pypi-uri "oslo.serialization" version))
(sha256
(base32
- "00qaxg155s61ylh4fqc7m5fh0gijf33khhai9xvcsc9k106i3c9c"))))
+ "1hnkc69sa4r1qhx6hdwlrk2ng7wypgwr063iq5r815a0bv0qr1ad"))))
(build-system python-build-system)
(propagated-inputs
`(("python-iso8601" ,python-iso8601)
@@ -431,6 +566,36 @@ in transmittable and storable formats, such as JSON and MessagePack.")
(define-public python2-oslo.serialization
(package-with-python2 python-oslo.serialization))
+(define-public python-oslosphinx
+ (package
+ (name "python-oslosphinx")
+ (version "3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "oslosphinx" version))
+ (sha256
+ (base32
+ "0zcshdc9s1f7hnvg0fm2ps5rak3dpnm8kqg4i21lknhmsvb7p5cb"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-requests" ,python-requests)))
+ (inputs
+ `(("python-pbr" ,python-pbr)
+ ("python-docutils" ,python-docutils)
+ ("python-hacking" ,python-hacking)
+ ("python-setuptools" ,python-setuptools)
+ ("python-sphinx" ,python-sphinx)))
+ (home-page "http://www.openstack.org/")
+ (synopsis "OpenStack sphinx extensions and theme")
+ (description
+ "This package provides themes and extensions for Sphinx documentation
+from the OpenStack project.")
+ (license asl2.0)))
+
+(define-public python2-oslosphinx
+ (package-with-python2 python-oslosphinx))
+
(define-public python-oslotest
(package
(name "python-oslotest")
@@ -449,10 +614,10 @@ in transmittable and storable formats, such as JSON and MessagePack.")
(propagated-inputs
`(("python-fixtures" ,python-fixtures)
("python-mock" ,python-mock)
+ ("python-mox3" ,python-mox3)
("python-six" ,python-six)))
(inputs
`(("python-pbr" ,python-pbr)
- ("python-mox3" ,python-mox3)
("python-os-client-config" ,python-os-client-config)
("python-setuptools" ,python-setuptools)
("python-subunit" ,python-subunit)
@@ -472,17 +637,14 @@ and better support for mocking results.")
(define-public python-oslo.utils
(package
(name "python-oslo.utils")
- (version "2.5.0")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/o/oslo.utils/oslo.utils-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "oslo.utils" version))
(sha256
(base32
- "11b073gblhzkxhi1j6sqk3apq2ll8xhi9h9g9kxzx9dycqdq0qp0"))
+ "1c4jrbvfs4hs37fics8frqlyhmsv7v92ncv2cpbm0av9x0ic6pnj"))
(snippet
'(begin
;; FIXME: setuptools fails to import this file during the test
diff --git a/gnu/packages/owncloud.scm b/gnu/packages/owncloud.scm
new file mode 100644
index 0000000000..58c2a51ba8
--- /dev/null
+++ b/gnu/packages/owncloud.scm
@@ -0,0 +1,80 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; 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 owncloud)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages ruby)
+ #:use-module (gnu packages tls))
+
+(define-public owncloud-client
+ (package
+ (name "owncloud-client")
+ (version "2.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.owncloud.com/desktop/stable/"
+ "owncloudclient-" version ".tar.xz"))
+ (sha256
+ (base32 "0a42nqx0gn10n7ikhxwif0lqddmb6gbvr45bqbbl30an9gixq598"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'change-rpath-dirs
+ (lambda _
+ (substitute* '("src/libsync/CMakeLists.txt"
+ "csync/src/CMakeLists.txt")
+ ;; We store the libs in out/lib and not /usr/lib/appname, so we
+ ;; need the executable to point to the libraries in /lib and not
+ ;; in /lib/appname.
+ (("\\/\\$\\{APPLICATION_EXECUTABLE\\}") ""))
+ (substitute* '("src/cmd/CMakeLists.txt"
+ "src/crashreporter/CMakeLists.txt"
+ "src/gui/CMakeLists.txt")
+ ;; This has the same issue as the substitution above.
+ (("\\/\\$\\{APPLICATION_EXECUTABLE\\}\\\"") "\"")))))))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("inotify-tools" ,inotify-tools)
+ ("openssl" ,openssl)
+ ("perl" ,perl)
+ ("python-wrapper" ,python-wrapper)
+ ("qt" ,qt)
+ ("qtkeychain" ,qtkeychain)
+ ("ruby" ,ruby)
+ ("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
+ (home-page "https://owncloud.org")
+ (synopsis "Folder synchronization with an ownCloud server")
+ (description "The ownCloudSync system lets you always have your latest
+files wherever you are. Just specify one or more folders on the local machine
+to and a server to synchronize to. You can configure more computers to
+synchronize to the same server and any change to the files on one computer will
+silently and reliably flow across to every other.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 8fbe5b3064..917464543c 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -23,9 +23,12 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
- #:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl2.1+))
+ #:use-module (guix build-system python)
+ #:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl2.1+ asl2.0))
#:use-module (gnu packages)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages file)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages databases)
@@ -34,12 +37,17 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages nettle)
#:use-module (gnu packages perl)
#:use-module (gnu packages curl)
#:use-module (gnu packages web)
#:use-module (gnu packages man)
#:use-module (gnu packages emacs)
#:use-module (gnu packages bdw-gc)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages popt)
+ #:use-module (gnu packages gnuzilla)
+ #:use-module (gnu packages cpio)
#:use-module (gnu packages tls))
(define (boot-guile-uri arch)
@@ -52,17 +60,17 @@
arch "-linux"
"/20131110/guile-2.0.9.tar.xz")))
-(define-public guix-0.8.3
+(define-public guix-0.9.0
(package
(name "guix")
- (version "0.8.3")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/guix/guix-"
version ".tar.gz"))
(sha256
(base32
- "14n0nkj0ckhdwhghx1pml99hbjr1xdkn8x145j0xp1357vqlisnz"))))
+ "0h573z2br0bf43sxyzia9xlm03n3y43zg1snds3c2piq2m6kabrn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list
@@ -74,6 +82,7 @@
(string-append "--with-libgcrypt-prefix="
(assoc-ref %build-inputs
"libgcrypt")))
+ #:parallel-tests? #f ;work around <http://bugs.gnu.org/21097>
#:phases (modify-phases %standard-phases
(add-before
'configure 'copy-bootstrap-guile
@@ -109,7 +118,17 @@
(substitute* "tests/containers.scm"
(("^\\(test-assert" all)
(string-append "(test-skip 1)\n" all)))
+ (when (file-exists? "tests/guix-environment-container.sh")
+ (substitute* "tests/guix-environment-container.sh"
+ (("guix environment --version")
+ "exit 77\n")))
#t))
+ (add-before 'check 'set-SHELL
+ (lambda _
+ ;; 'guix environment' tests rely on 'SHELL' having a
+ ;; correct value, so set it.
+ (setenv "SHELL" (which "sh"))
+ #t))
(add-after
'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -176,9 +195,9 @@ the Nix package manager.")
;;
;; Note: use a short commit id; when using the long one, the limit on socket
;; file names is exceeded while running the tests.
- (let ((commit "abbe2c6"))
- (package (inherit guix-0.8.3)
- (version (string-append "0.8.3." commit))
+ (let ((commit "5c36edc"))
+ (package (inherit guix-0.9.0)
+ (version (string-append "0.9.0." commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -186,10 +205,15 @@ the Nix package manager.")
(commit commit)))
(sha256
(base32
- "1zgjj5knpz3qbbqdjm4yh436bzfgasc6p0k3xnx58hfjd88mdsga"))
+ "008fv3yj1jkxxma9vp8wzmkk3m82kgchaj9y7lpcvkqzcdhz8h7p"))
(file-name (string-append "guix-" version "-checkout"))))
(arguments
- (substitute-keyword-arguments (package-arguments guix-0.8.3)
+ (substitute-keyword-arguments (package-arguments guix-0.9.0)
+ ((#:configure-flags flags)
+ ;; Set 'DOT_USER_PROGRAM' to the empty string so we don't keep a
+ ;; reference to Graphviz, whose closure is pretty big (too big for
+ ;; the GuixSD installation image.)
+ `(cons "ac_cv_path_DOT_USER_PROGRAM=dot" ,flags))
((#:phases phases)
`(modify-phases ,phases
(add-after
@@ -208,35 +232,48 @@ the Nix package manager.")
("texinfo" ,texinfo)
("graphviz" ,graphviz)
("help2man" ,help2man)
- ,@(package-native-inputs guix-0.8.3))))))
+ ,@(package-native-inputs guix-0.9.0))))))
(define-public guix guix-devel)
(define-public nix
(package
(name "nix")
- (version "1.8")
+ (version "1.10")
(source (origin
(method url-fetch)
(uri (string-append "http://nixos.org/releases/nix/nix-"
version "/nix-" version ".tar.xz"))
(sha256
(base32
- "077hircacgi9y4n6kf48qp4laz1h3ab6sif3rcci1jy13f05w2m3"))))
+ "1xhh7l1dqwn6i3m51xp8l0aa95da3823w4h8n8hfxlcxaixcl4jn"))))
(build-system gnu-build-system)
;; XXX: Should we pass '--with-store-dir=/gnu/store'? But then we'd also
;; need '--localstatedir=/var'. But then! The thing would use /var/nix
;; instead of /var/guix. So in the end, we do nothing special.
+ (arguments
+ '(#:configure-flags
+ ;; Set the prefixes of Perl libraries to avoid propagation.
+ (let ((perl-libdir (lambda (p)
+ (string-append
+ (assoc-ref %build-inputs p)
+ "/lib/perl5/site_perl"))))
+ (list (string-append "--with-dbi="
+ (perl-libdir "perl-dbi"))
+ (string-append "--with-dbd-sqlite="
+ (perl-libdir "perl-dbd-sqlite"))
+ (string-append "--with-www-curl="
+ (perl-libdir "perl-www-curl"))))))
(native-inputs `(("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs `(("curl" ,curl)
("openssl" ,openssl)
("libgc" ,libgc)
("sqlite" ,sqlite)
- ("bzip2" ,bzip2)))
- (propagated-inputs `(("perl-www-curl" ,perl-www-curl)
- ("perl-dbi" ,perl-dbi)
- ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
+ ("bzip2" ,bzip2)
+ ("perl-www-curl" ,perl-www-curl)
+ ("perl-dbi" ,perl-dbi)
+ ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
(home-page "http://nixos.org/nix/")
(synopsis "The Nix package manager")
(description
@@ -251,21 +288,22 @@ sub-directory.")
(define-public stow
(package
(name "stow")
- (version "2.2.0")
+ (version "2.2.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/stow/stow-"
version ".tar.gz"))
(sha256
(base32
- "0arw1nsdlcvd7javkbk2bdvnc31d7dmb6fr25xyyi6ng76cxg2cb"))))
+ "1pvky9fayms4r6fhns8jd0vavszd7d979w62vfd5n88v614pdxz2"))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl)))
(native-inputs
`(("perl-test-simple" ,perl-test-simple)
("perl-test-output" ,perl-test-output)
- ("perl-capture-tiny" ,perl-capture-tiny)))
+ ("perl-capture-tiny" ,perl-capture-tiny)
+ ("perl-io-stringy" ,perl-io-stringy)))
(home-page "https://www.gnu.org/software/stow/")
(synopsis "Managing installed software packages")
(description
@@ -275,3 +313,130 @@ typically used for managing software packages installed from source, by
letting you install them apart in distinct directories and then create
symlinks to the files in a common directory such as /usr/local.")
(license gpl2+)))
+
+(define-public rpm
+ (package
+ (name "rpm")
+ (version "4.12.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://rpm.org/releases/rpm-4.12.x/rpm-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "18hk47hc755nslvb7xkq4jb095z7va0nlcyxdpxayc4lmb8mq3bp"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--with-external-db" ;use the system's bdb
+ "--enable-python"
+ "--without-lua")
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-nspr-search-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; nspr.pc contains the right -I flag pointing to
+ ;; 'include/nspr', but unfortunately 'configure' doesn't
+ ;; use 'pkg-config'. Thus, augment CPATH.
+ ;; Likewise for NSS.
+ (let ((nspr (assoc-ref inputs "nspr"))
+ (nss (assoc-ref inputs "nss")))
+ (setenv "CPATH"
+ (string-append (getenv "CPATH") ":"
+ nspr "/include/nspr:"
+ nss "/include/nss"))
+ (setenv "LIBRARY_PATH"
+ (string-append (getenv "LIBRARY_PATH") ":"
+ nss "/lib/nss"))
+ #t)))
+ (add-after 'install 'fix-rpm-symlinks
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; 'make install' gets these symlinks wrong. Fix them.
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (with-directory-excursion bin
+ (for-each (lambda (file)
+ (delete-file file)
+ (symlink "rpm" file))
+ '("rpmquery" "rpmverify"))
+ #t)))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("python" ,python-2)
+ ("xz" ,xz)
+ ("bdb" ,bdb)
+ ("popt" ,popt)
+ ("nss" ,nss)
+ ("nspr" ,nspr)
+ ("libarchive" ,libarchive)
+ ("nettle" ,nettle) ;XXX: actually a dependency of libarchive
+ ("file" ,file)
+ ("bzip2" ,bzip2)
+ ("zlib" ,zlib)
+ ("cpio" ,cpio)))
+ (home-page "http://www.rpm.org/")
+ (synopsis "The RPM Package Manager")
+ (description
+ "The RPM Package Manager (RPM) is a command-line driven package
+management system capable of installing, uninstalling, verifying, querying,
+and updating computer software packages. Each software package consists of an
+archive of files along with information about the package like its version, a
+description. There is also a library permitting developers to manage such
+transactions from C or Python.")
+
+ ;; The whole is GPLv2+; librpm itself is dual-licensed LGPLv2+ | GPLv2+.
+ (license gpl2+)))
+
+(define-public diffoscope
+ (package
+ (name "diffoscope")
+ (version "34")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://anonscm.debian.org/cgit/reproducible/diffoscope.git")
+ (commit version)))
+ (sha256
+ (base32
+ "1g8b7bpkmns0355gkr3a244affwx4xzqwahwsl6ivw4z0qv7dih8"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'disable-egg-zipping
+ (lambda _
+ ;; Leave the .egg file uncompressed.
+ (let ((port (open-file "setup.cfg" "a")))
+ (display "\n[easy_install]\nzip_ok = 0\n"
+ port)
+ (close-port port)
+ #t)))
+ (add-before 'build 'dependency-on-rpm
+ (lambda _
+ (substitute* "setup.py"
+ ;; Somehow this requirement is reported as not met,
+ ;; even though rpm.py is in the search path. So
+ ;; delete it.
+ (("'rpm-python',") ""))
+ #t)))
+ ;; FIXME: Some obscure test failures.
+ #:tests? #f))
+ (inputs `(("rpm" ,rpm) ;for rpm-python
+ ("python-file" ,python2-file)
+ ("python-debian" ,python2-debian)
+ ("python-libarchive-c" ,python2-libarchive-c)
+ ("python-tlsh" ,python2-tlsh)
+
+ ;; Below are modules used for tests.
+ ("python-pytest" ,python2-pytest)
+ ("python-chardet" ,python2-chardet)))
+ (native-inputs `(("python-setuptools" ,python2-setuptools)))
+ (home-page "http://diffoscope.org/")
+ (synopsis "Compare files, archives, and directories in depth")
+ (description
+ "Diffoscope tries to get to the bottom of what makes files or directories
+different. It recursively unpacks archives of many kinds and transforms
+various binary formats into more human readable forms to compare them. It can
+compare two tarballs, ISO images, or PDFs just as easily.")
+ (license gpl3+)))
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 38ce709fe1..25e77d8023 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013,2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,7 +29,7 @@
(define-public parallel
(package
(name "parallel")
- (version "20150922")
+ (version "20151122")
(source
(origin
(method url-fetch)
@@ -36,7 +37,7 @@
version ".tar.bz2"))
(sha256
(base32
- "05zf3jhjmswfr63lgxw8q26kysd72b8m0zy5jbc94r6appx8bd7j"))))
+ "0phn9dlkqlq3cq468ypxbbn78bsjcin743pyvf8ip4qg6jz662jm"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(home-page "http://www.gnu.org/software/parallel/")
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 921ade1030..1ca327b5c8 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +27,9 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
@@ -53,15 +57,14 @@ human.")
(define-public keepassx
(package
(name "keepassx")
- (version "2.0-beta2")
+ (version "2.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/keepassx/keepassx/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (string-append "https://www.keepassx.org/releases/" version
+ "/keepassx-" version ".tar.gz"))
(sha256
- (base32 "0ljf9ws3wh62zd0gyb0vk2qw6pqsmxrlybrfs5mqahf44q92ca2q"))))
+ (base32 "1ri2r1sldc62hbg74m4pmci0nrjwvv38rqhyzhyjin247an0zd0f"))))
(build-system cmake-build-system)
(inputs
`(("libgcrypt" ,libgcrypt)
@@ -104,3 +107,31 @@ For copying and pasting secrets into web browsers and other graphical
applications, there is xclip integration." )
(home-page "http://dthompson.us/pages/software/shroud.html")
(license license:gpl3+)))
+
+(define-public yapet
+ (package
+ (name "yapet")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.guengel.ch/myapps/yapet/downloads/yapet-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0ydbnqw6icdh07pnv2w6dhvq501bdfvrklv4xmyr8znca9d753if"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("ncurses" ,ncurses)
+ ("openssl" ,openssl)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Yet Another Password Encryption Tool")
+ (description "YAPET is a text based password manager using the Blowfish
+encryption algorithm. Because of its small footprint and very few library
+dependencies, it is suited for installing on desktop and server systems alike.
+The text based user interface allows you to run YAPET easily in a Secure Shell
+session. Two companion utilities enable users to convert CSV files to YAPET
+and vice versa.")
+ (home-page "http://www.guengel.ch/myapps/yapet/")
+ (license license:gpl3+)))
diff --git a/gnu/packages/patches/bluez-tests.patch b/gnu/packages/patches/bluez-tests.patch
new file mode 100644
index 0000000000..608ded9be2
--- /dev/null
+++ b/gnu/packages/patches/bluez-tests.patch
@@ -0,0 +1,25 @@
+From 484ad8c9263bb524051a999ce19a994960e69572 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
+Date: Fri, 23 Oct 2015 20:48:57 +0800
+Subject: [PATCH] unit/test-gobex-header: Fix duplicate test names
+
+---
+ unit/test-gobex-header.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unit/test-gobex-header.c b/unit/test-gobex-header.c
+index 6f49312..8705892 100644
+--- a/unit/test-gobex-header.c
++++ b/unit/test-gobex-header.c
+@@ -554,7 +554,7 @@ int main(int argc, char *argv[])
+ test_header_encode_name_umlaut);
+ g_test_add_func("/gobex/test_header_encode_body",
+ test_header_encode_body);
+- g_test_add_func("/gobex/test_header_encode_connid",
++ g_test_add_func("/gobex/test_header_encode_actionid",
+ test_header_encode_actionid);
+ g_test_add_func("/gobex/test_header_encode_apparam",
+ test_header_encode_apparam);
+--
+2.5.0
+
diff --git a/gnu/packages/patches/byobu-writable-status.patch b/gnu/packages/patches/byobu-writable-status.patch
new file mode 100644
index 0000000000..2858280273
--- /dev/null
+++ b/gnu/packages/patches/byobu-writable-status.patch
@@ -0,0 +1,13 @@
+Skeleton status files are installed read-only. When copying to the config dir
+upon initialization, make sure they end up writable.
+
+--- byobu-5.98/usr/bin/byobu-janitor.in
++++ byobu-5.98/usr/bin/byobu-janitor.in
+@@ -82,6 +82,7 @@
+ if [ ! -r "$BYOBU_CONFIG_DIR/$f" ]; then
+ # Copy from skeleton, if possible
+ cp -f "$BYOBU_PREFIX/share/$PKG/status/$f" "$BYOBU_CONFIG_DIR/$f"
++ chmod +w "$BYOBU_CONFIG_DIR/$f"
+ # Enable ec2_cost, if we're in ec2 and seeding a new setup
+ if metadata_available; then
+ $BYOBU_SED_INLINE -e "s/#ec2_cost/ec2_cost/g" "$($BYOBU_READLINK -f $BYOBU_CONFIG_DIR/$f)"
diff --git a/gnu/packages/patches/dbus-helper-search-path.patch b/gnu/packages/patches/dbus-helper-search-path.patch
new file mode 100644
index 0000000000..30c142312b
--- /dev/null
+++ b/gnu/packages/patches/dbus-helper-search-path.patch
@@ -0,0 +1,18 @@
+The setuid helper of D-Bus is responsible for "service activation".
+It looks for '.service' files in fixed locations, but the default locations
+make no sense (see below), so replace them with /etc/dbus-1/system-services.
+
+--- dbus-1.10.0/dbus/dbus-sysdeps-util-unix.c 2015-10-22 00:07:03.829251854 +0200
++++ dbus-1.10.0/dbus/dbus-sysdeps-util-unix.c 2015-10-22 00:07:14.893445175 +0200
+@@ -1410,10 +1410,7 @@ _dbus_get_standard_system_servicedirs (D
+ * be available.
+ */
+ static const char standard_search_path[] =
+- "/usr/local/share:"
+- "/usr/share:"
+- DBUS_DATADIR ":"
+- "/lib";
++ "/etc";
+ DBusString servicedir_path;
+
+ _dbus_string_init_const (&servicedir_path, standard_search_path);
diff --git a/gnu/packages/patches/dbus-localstatedir.patch b/gnu/packages/patches/dbus-localstatedir.patch
deleted file mode 100644
index 61bed91b5c..0000000000
--- a/gnu/packages/patches/dbus-localstatedir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Do not try to create $localstatedir and $sysconfdir since we cannot do this
-when they are /var and /etc.
-
---- dbus-1.6.4/bus/Makefile.in 2013-09-11 16:15:13.000000000 +0200
-+++ dbus-1.6.4/bus/Makefile.in 2013-09-11 16:15:15.000000000 +0200
-@@ -1510,9 +1510,6 @@ clean-local:
- /bin/rm *.bb *.bbg *.da *.gcov || true
-
- install-data-hook:
-- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus
-- $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d
-- $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d
- $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services
- $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services
- # Install dbus.socket as default implementation of a D-Bus stack.
-
---- dbus-1.6.4/tools/Makefile.in 2013-09-11 16:10:31.000000000 +0200
-+++ dbus-1.6.4/tools/Makefile.in 2013-09-11 16:10:32.000000000 +0200
-@@ -757,11 +757,6 @@ uninstall-am: uninstall-binPROGRAMS
-
-
- # create the /var/lib/dbus directory for dbus-uuidgen
--install-data-local:
-- $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/dbus
--
--installcheck-local:
-- test -d $(DESTDIR)$(localstatedir)/lib/dbus
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/gnu/packages/patches/devil-fix-libpng.patch b/gnu/packages/patches/devil-fix-libpng.patch
new file mode 100644
index 0000000000..a8e90333a3
--- /dev/null
+++ b/gnu/packages/patches/devil-fix-libpng.patch
@@ -0,0 +1,36 @@
+From 724194d7a9a91221a564579f64bdd6f0abd64219 Mon Sep 17 00:00:00 2001
+From: Noah Mayr <max96at@gmail.com>
+Date: Sun, 1 Mar 2015 10:10:56 +0100
+Subject: [PATCH] Fixed deprecated libpng API usage.
+
+---
+ src-IL/src/il_icon.c | 2 +-
+ src-IL/src/il_png.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src-IL/src/il_icon.c b/src-IL/src/il_icon.c
+index 2ccb1a3..fd9475d 100644
+--- a/src-IL/src/il_icon.c
++++ b/src-IL/src/il_icon.c
+@@ -525,7 +525,7 @@ ILboolean ico_readpng_get_image(ICOIMAGE *Icon, ILdouble display_exponent)
+
+ // Expand low-bit-depth grayscale images to 8 bits
+ if (ico_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+- png_set_gray_1_2_4_to_8(ico_png_ptr);
++ png_set_expand_gray_1_2_4_to_8(ico_png_ptr);
+ }
+
+ // Expand RGB images with transparency to full alpha channels
+diff --git a/src-IL/src/il_png.c b/src-IL/src/il_png.c
+index da9517d..2866508 100644
+--- a/src-IL/src/il_png.c
++++ b/src-IL/src/il_png.c
+@@ -277,7 +277,7 @@ ILboolean readpng_get_image(ILdouble display_exponent)
+
+ // Expand low-bit-depth grayscale images to 8 bits
+ if (png_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ }
+
+ // Expand RGB images with transparency to full alpha channels
diff --git a/gnu/packages/patches/dico-libtool-deterministic.patch b/gnu/packages/patches/dico-libtool-deterministic.patch
new file mode 100644
index 0000000000..957fc79786
--- /dev/null
+++ b/gnu/packages/patches/dico-libtool-deterministic.patch
@@ -0,0 +1,15 @@
+Dico 2.2 uses an old Libtool (2.2.7a) that did not sort the output
+of 'find', thereby leading to non-deterministic file name ordering
+in the arguments passed to 'ar rcu' for libdico.a & co.
+
+--- dico-2.2/build-aux/ltmain.sh 1970-01-01 01:00:00.000000000 +0100
++++ dico-2.2/build-aux/ltmain.sh 2015-11-25 09:39:30.826169050 +0100
+@@ -2926,7 +2926,7 @@ func_extract_archives ()
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
++ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch
index 9173e22f76..54fc01c6d5 100644
--- a/gnu/packages/patches/eudev-rules-directory.patch
+++ b/gnu/packages/patches/eudev-rules-directory.patch
@@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed
the search path to be customized, but eudev no longer has this, hence
this hack.
---- eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:21:59.615980259 +0200
-+++ eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:24:13.839976335 +0200
-@@ -46,15 +46,11 @@
+--- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800
++++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800
+@@ -47,15 +47,11 @@
};
};
@@ -14,23 +14,23 @@ this hack.
+static const char* rules_dirs[] = {
UDEV_CONF_DIR "/rules.d",
UDEV_RULES_DIR,
-- "/run/udev/rules.d",
+- UDEV_ROOT_RUN "/udev/rules.d",
UDEV_LIBEXEC_DIR "/rules.d",
-#ifdef HAVE_SPLIT_USR
- "/lib/udev/rules.d",
- "/usr/lib/udev/rules.d",
-#endif
-+ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
++ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
NULL};
struct udev_rules {
-@@ -1637,6 +1633,9 @@
+@@ -1704,6 +1700,9 @@
udev_rules_check_timestamp(rules);
-+ /* Allow the user to specify an additional rules directory. */
-+ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY");
++ /* Allow the user to specify an additional rules directory. */
++ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY");
+
r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs);
if (r < 0) {
- log_error("failed to enumerate rules files: %s", strerror(-r));
+ log_error_errno(r, "failed to enumerate rules files: %m");
diff --git a/gnu/packages/patches/evilwm-lost-focus-bug.patch b/gnu/packages/patches/evilwm-lost-focus-bug.patch
new file mode 100644
index 0000000000..af24af8fe9
--- /dev/null
+++ b/gnu/packages/patches/evilwm-lost-focus-bug.patch
@@ -0,0 +1,18 @@
+evilwm may sometimes lose focus after closing a window. This means that
+evilwm stops responding to keyboard shortcuts, and if no other window is open
+which the mouse can be moved over to regain focus evilwm becomes unusable and
+has to be restarted.
+
+Patch derived from discussion at
+https://wiki.archlinux.org/index.php/Evilwm#Lost_focus_bug_fix
+
+--- evilwm-1.1.1/client.c
++++ evilwm-1.1.1/client.c
+@@ -172,6 +172,7 @@
+ * _NET_WM_STATE) */
+ if (c->remove) {
+ LOG_DEBUG("setting WithdrawnState\n");
++ XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
+ set_wm_state(c, WithdrawnState);
+ ewmh_withdraw_client(c);
+ } else {
diff --git a/gnu/packages/patches/glib-tests-desktop.patch b/gnu/packages/patches/glib-tests-desktop.patch
index 61f48607f7..642234ebbc 100644
--- a/gnu/packages/patches/glib-tests-desktop.patch
+++ b/gnu/packages/patches/glib-tests-desktop.patch
@@ -56,11 +56,12 @@ database, the `update-desktop-database' program, which we don't provide.
-----------------------------
The hunk below removes tests that depend on `gdbus-testserver.py',
-because that script depends on python-gobject.
+because that script depends on python-gobject. The second hunk
+disables a test that expects /etc/machine-id in the build environment.
---- glib-2.39.1/gio/tests/Makefile.in 2014-01-20 00:18:16.000000000 +0100
-+++ glib-2.39.1/gio/tests/Makefile.in 2014-01-20 00:18:47.000000000 +0100
-@@ -171,20 +171,13 @@ check_PROGRAMS = $(am__EXEEXT_14)
+--- glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 +0200
++++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 +0200
+@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16)
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-auth \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending \
@@ -79,7 +80,16 @@ because that script depends on python-gobject.
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen-old \
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL)
+@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $
+ am__EXEEXT_1 =
+ @OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \
+ @OS_UNIX_TRUE@ gdbus-peer-object-manager$(EXEEXT) \
+-@OS_UNIX_TRUE@ gdbus-unix-addresses$(EXEEXT) \
+ @OS_UNIX_TRUE@ live-g-file$(EXEEXT) socket-address$(EXEEXT) \
+ @OS_UNIX_TRUE@ stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \
+ @OS_UNIX_TRUE@ unix-streams$(EXEEXT) $(am__EXEEXT_1) \
The test below depends on the availability /etc/passwd to dbus-daemon.
diff --git a/gnu/packages/patches/gsl-poly-test-fix-pt1.patch b/gnu/packages/patches/gsl-poly-test-fix-pt1.patch
deleted file mode 100644
index 3d1ed4243c..0000000000
--- a/gnu/packages/patches/gsl-poly-test-fix-pt1.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 9cc12d0377dd634b1b97954d076b715f982853b7 Mon Sep 17 00:00:00 2001
-From: Patrick Alken <alken@colorado.edu>
-Date: Fri, 4 Apr 2014 13:36:16 -0600
-Subject: [PATCH] bug fix in sorting of complex numbers (bug #39055)
-
----
- poly/test.c | 49 ++++++++++++++++++++++++++++++-------------------
- 1 file changed, 30 insertions(+), 19 deletions(-)
-
-diff --git a/poly/test.c b/poly/test.c
-index 9c147f6..d090802 100644
---- a/poly/test.c
-+++ b/poly/test.c
-@@ -25,11 +25,21 @@
- #include <gsl/gsl_poly.h>
- #include <gsl/gsl_heapsort.h>
-
-+/* sort by Re(z) then by Im(z) */
- static int
- cmp_cplx(const double *a, const double *b)
- {
-- double t = (a[0] * a[0] + a[1] * a[1]) - (b[0] * b[0] + b[1] * b[1]);
-- return t < 0.0 ? -1 : t > 0.0 ? 1 : 0;
-+ double r = a[0] - b[0];
-+
-+ if (r == 0.0)
-+ {
-+ double t = a[1] - b[1];
-+ return t < 0.0 ? -1 : t > 0.0 ? 1 : 0;
-+ }
-+ else if (r < 0.0)
-+ return -1;
-+ else
-+ return 1;
- }
-
- int
-@@ -534,25 +544,26 @@ main (void)
- Problem reported by Munagala Ramanath (bug #39055)
- */
-
-- double a[16] = { 32, -48, -8, 28, -8, 16, -16, 12, -16, 6, 10, -17, 10, 2, -4, 1 };
-+ double a[16] = { 32, -48, -8, 28, -8, 16, -16, 12,
-+ -16, 6, 10, -17, 10, 2, -4, 1 };
- double z[16*2];
-
-- double expected[16*20] = {
-- 1.0000000000000000, 0.00000000000000000,
-- 1.0000000000000000, 0.00000000000000000,
-- -1.0000000000000000, 0.00000000000000000,
-- -0.65893856175240950, 0.83459757287426684,
-- -0.65893856175240950, -0.83459757287426684,
-- -0.070891117403341281, -1.1359249087587791,
-- -0.070891117403341281, 1.1359249087587791,
-- 1.1142366961812986, -0.48083981203389980,
-- 1.1142366961812986, 0.48083981203389980,
-- -1.3066982484920768, 0.00000000000000000,
-- 0.57284747839410854, 1.1987808988289705,
-- 0.57284747839410854, -1.1987808988289705,
-- -1.6078107423472359, 0.00000000000000000,
-- 2.0000000000000000, 0.00000000000000000,
-- 2.0000000000000000, 0.00000000000000000 };
-+ double expected[16*2] = {
-+ -1.6078107423472359, 0.00000000000000000,
-+ -1.3066982484920768, 0.00000000000000000,
-+ -1.0000000000000000, 0.00000000000000000,
-+ -0.65893856175240950, -0.83459757287426684,
-+ -0.65893856175240950, 0.83459757287426684,
-+ -0.070891117403341281, -1.1359249087587791,
-+ -0.070891117403341281, 1.1359249087587791,
-+ 0.57284747839410854, -1.1987808988289705,
-+ 0.57284747839410854, 1.1987808988289705,
-+ 1.0000000000000000, 0.00000000000000000,
-+ 1.0000000000000000, 0.00000000000000000,
-+ 1.1142366961812986, -0.48083981203389980,
-+ 1.1142366961812986, 0.48083981203389980,
-+ 2.0000000000000000, 0.00000000000000000,
-+ 2.0000000000000000, 0.00000000000000000 };
-
- int i;
-
---
-2.4.3
-
diff --git a/gnu/packages/patches/gsl-poly-test-fix-pt2.patch b/gnu/packages/patches/gsl-poly-test-fix-pt2.patch
deleted file mode 100644
index 0e6fcf1a53..0000000000
--- a/gnu/packages/patches/gsl-poly-test-fix-pt2.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0466df8660a7b6ddf2e082a1ec38bc6ea25a3c5c Mon Sep 17 00:00:00 2001
-From: Patrick Alken <alken@colorado.edu>
-Date: Mon, 7 Apr 2014 10:59:58 -0600
-Subject: [PATCH] change error test for 15th degree polynomial (bug #39055)
-
----
- poly/test.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/poly/test.c b/poly/test.c
-index d090802..f6a7e3f 100644
---- a/poly/test.c
-+++ b/poly/test.c
-@@ -579,8 +579,8 @@ main (void)
-
- for (i = 0; i<15; i++)
- {
-- gsl_test_abs (z[2*i], expected[2*i], 1e-7, "z%d.real, 15th-order polynomial", i);
-- gsl_test_abs (z[2*i+1], expected[2*i+1], 1e-7, "z%d.imag, 15th-order polynomial", i);
-+ gsl_test_rel (z[2*i], expected[2*i], 1e-7, "z%d.real, 15th-order polynomial", i);
-+ gsl_test_rel (z[2*i+1], expected[2*i+1], 1e-7, "z%d.imag, 15th-order polynomial", i);
- }
- }
-
---
-2.4.3
-
diff --git a/gnu/packages/patches/hwloc-gather-topology-lstopo.patch b/gnu/packages/patches/hwloc-gather-topology-lstopo.patch
deleted file mode 100644
index 06f47aecaa..0000000000
--- a/gnu/packages/patches/hwloc-gather-topology-lstopo.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Derived from upstream commit 0a32f719c.
-
---- hwloc-1.10.1/tests/linux/Makefile.in 2015-01-26 03:37:52.000000000 -0600
-+++ hwloc-1.10.1/tests/linux/Makefile.in 2015-06-15 11:21:49.824842511 -0500
-@@ -1633,7 +1633,7 @@
-
-
- install-exec-hook:
-- $(SED) -e 's/HWLOC_top_builddir\/utils/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-gather-topology > $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp $(DESTDIR)$(bindir)/hwloc-gather-topology
-+ $(SED) -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-gather-topology > $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp $(DESTDIR)$(bindir)/hwloc-gather-topology
- chmod +x $(DESTDIR)$(bindir)/hwloc-gather-topology
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/gnu/packages/patches/jasper-CVE-2008-3522.patch b/gnu/packages/patches/jasper-CVE-2008-3522.patch
new file mode 100644
index 0000000000..10cfec99a5
--- /dev/null
+++ b/gnu/packages/patches/jasper-CVE-2008-3522.patch
@@ -0,0 +1,14 @@
+Fix CVE-2008-3522 (buffer overflow in 'jas_stream_printf').
+Patch from <https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3522>.
+
+--- jasper-1.900.1/src/libjasper/base/jas_stream.c 2008-09-08 14:56:01.000000000 +0200
++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2008-09-08 14:58:16.000000000 +0200
+@@ -553,7 +553,7 @@ int jas_stream_printf(jas_stream_t *stre
+ int ret;
+
+ va_start(ap, fmt);
+- ret = vsprintf(buf, fmt, ap);
++ ret = vsnprintf(buf, sizeof buf, fmt, ap);
+ jas_stream_puts(stream, buf);
+ va_end(ap);
+ return ret;
diff --git a/gnu/packages/patches/libdrm-symbol-check.patch b/gnu/packages/patches/libdrm-symbol-check.patch
new file mode 100644
index 0000000000..676024beb4
--- /dev/null
+++ b/gnu/packages/patches/libdrm-symbol-check.patch
@@ -0,0 +1,195 @@
+Augment the list of expected symbols to fix the symbol-check tests on
+mips64el-linux and armhf-linux.
+
+--- libdrm-2.4.65/freedreno/freedreno-symbol-check.orig 2015-09-04 11:07:40.000000000 -0400
++++ libdrm-2.4.65/freedreno/freedreno-symbol-check 2015-10-18 23:57:15.288416229 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_freedreno.so} | awk '{print $3}'| while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ fd_bo_cpu_fini
+ fd_bo_cpu_prep
+ fd_bo_del
+--- libdrm-2.4.65/nouveau/nouveau-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400
++++ libdrm-2.4.65/nouveau/nouveau-symbol-check 2015-10-18 23:55:26.078327118 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.sources/LIBDRM_NOUVEAU_H_FILES
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | awk '{print $3}'| while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ nouveau_bo_map
+ nouveau_bo_name_get
+ nouveau_bo_name_ref
+--- libdrm-2.4.65/libkms/kms-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400
++++ libdrm-2.4.65/libkms/kms-symbol-check 2015-10-18 23:46:10.683869471 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.sources/LIBKMS_H_FILES
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print $3}'| while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ kms_bo_create
+ kms_bo_destroy
+ kms_bo_get_prop
+--- libdrm-2.4.65/intel/intel-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400
++++ libdrm-2.4.65/intel/intel-symbol-check 2015-10-18 23:55:53.309558508 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.sources/LIBDRM_INTEL_H_FILES
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | awk '{print $3}' | while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ drm_intel_bo_alloc
+ drm_intel_bo_alloc_for_render
+ drm_intel_bo_alloc_tiled
+--- libdrm-2.4.65/amdgpu/amdgpu-symbol-check.orig 2015-08-17 10:08:11.000000000 -0400
++++ libdrm-2.4.65/amdgpu/amdgpu-symbol-check 2015-10-18 23:56:10.606917723 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.am/libdrm_amdgpuinclude_HEADERS
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | awk '{print $3}' | while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ amdgpu_bo_alloc
+ amdgpu_bo_cpu_map
+ amdgpu_bo_cpu_unmap
+--- libdrm-2.4.65/exynos/exynos-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400
++++ libdrm-2.4.65/exynos/exynos-symbol-check 2015-10-18 23:56:32.025486153 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.am/libdrm_exynos*_HEADERS
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | awk '{print $3}'| while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ exynos_bo_create
+ exynos_bo_destroy
+ exynos_bo_from_name
+--- libdrm-2.4.65/omap/omap-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400
++++ libdrm-2.4.65/omap/omap-symbol-check 2015-10-18 23:56:44.834438626 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.am/libdrm_omap*HEADERS
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | awk '{print $3}'| while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ omap_bo_cpu_fini
+ omap_bo_cpu_prep
+ omap_bo_del
+--- libdrm-2.4.65/tegra/tegra-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400
++++ libdrm-2.4.65/tegra/tegra-symbol-check 2015-10-18 23:57:00.756759698 -0400
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-# The following symbols (past the first five) are taken from the public headers.
++# The following symbols (past the first 12) are taken from the public headers.
+ # A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES
+
+ FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
+@@ -10,6 +10,13 @@
+ _end
+ _fini
+ _init
++_fbss
++_fdata
++_ftext
++__bss_start__
++__bss_end__
++_bss_end__
++__end__
+ drm_tegra_bo_get_flags
+ drm_tegra_bo_get_handle
+ drm_tegra_bo_get_tiling
diff --git a/gnu/packages/patches/librsvg-tests.patch b/gnu/packages/patches/librsvg-tests.patch
new file mode 100644
index 0000000000..dc5b94e185
--- /dev/null
+++ b/gnu/packages/patches/librsvg-tests.patch
@@ -0,0 +1,27 @@
+From e06fc71a57156123e4e50a39957100a651ab632b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
+Date: Sat, 17 Oct 2015 10:20:33 +0800
+Subject: [PATCH] tests/styles: Don't duplicate test names.
+
+---
+ tests/styles.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/styles.c b/tests/styles.c
+index d09b1f2..a938835 100644
+--- a/tests/styles.c
++++ b/tests/styles.c
+@@ -97,8 +97,8 @@ static const FixtureData fixtures[] =
+ {"/styles/selectors/2 or more selectors (stroke)", "592207", "styles/bug592207.svg", "#target", "stroke", .expected.color = 0xff0000ff},
+ {"/styles/svg-element-style", "615701", "styles/svg-class.svg", "#svg", "fill", .expected.color = 0xff0000ff},
+ {"/styles/presentation attribute in svg element", "620693", "styles/bug620693.svg", "#svg", "stroke", .expected.color = 0xffff0000},
+- {"/styles/!important", "379629", "styles/bug379629.svg", "#base_shadow", "stroke", .expected.color = 0xffffc0cb /* pink */},
+- {"/styles/!important", "379629", "styles/bug379629.svg", "#base_shadow", "stroke-width", .expected.length = {POINTS_LENGTH(5.), 'i'}},
++ {"/styles/!important/1", "379629", "styles/bug379629.svg", "#base_shadow", "stroke", .expected.color = 0xffffc0cb /* pink */},
++ {"/styles/!important/2", "379629", "styles/bug379629.svg", "#base_shadow", "stroke-width", .expected.length = {POINTS_LENGTH(5.), 'i'}},
+ {"/styles/!important/class", "614606", "styles/bug614606.svg", "#path6306", "fill", .expected.color = 0xffff0000 /* red */ },
+ {"/styles/!important/element", "614606", "styles/bug614606.svg", "#path6308", "fill", .expected.color = 0xff000000},
+ {"/styles/!important/#id prior than class", NULL, "styles/important.svg", "#red", "fill", .expected.color = 0xffff0000 },
+--
+2.5.0
+
diff --git a/gnu/packages/patches/libsndfile-CVE-2014-9496.patch b/gnu/packages/patches/libsndfile-CVE-2014-9496.patch
new file mode 100644
index 0000000000..87d42955fb
--- /dev/null
+++ b/gnu/packages/patches/libsndfile-CVE-2014-9496.patch
@@ -0,0 +1,55 @@
+Copied from Fedora.
+
+http://pkgs.fedoraproject.org/cgit/libsndfile.git/plain/libsndfile-1.0.25-cve2014_9496.patch
+
+diff -up libsndfile-1.0.25/src/sd2.c.cve2014_9496 libsndfile-1.0.25/src/sd2.c
+--- libsndfile-1.0.25/src/sd2.c.cve2014_9496 2011-01-19 11:10:36.000000000 +0100
++++ libsndfile-1.0.25/src/sd2.c 2015-01-13 17:00:35.920285526 +0100
+@@ -395,6 +395,21 @@ read_marker (const unsigned char * data,
+ return 0x666 ;
+ } /* read_marker */
+
++static inline int
++read_rsrc_marker (const SD2_RSRC *prsrc, int offset)
++{ const unsigned char * data = prsrc->rsrc_data ;
++
++ if (offset < 0 || offset + 3 >= prsrc->rsrc_len)
++ return 0 ;
++
++ if (CPU_IS_BIG_ENDIAN)
++ return (((uint32_t) data [offset]) << 24) + (data [offset + 1] << 16) + (data [offset + 2] << 8) + data [offset + 3] ;
++ if (CPU_IS_LITTLE_ENDIAN)
++ return data [offset] + (data [offset + 1] << 8) + (data [offset + 2] << 16) + (((uint32_t) data [offset + 3]) << 24) ;
++
++ return 0 ;
++} /* read_rsrc_marker */
++
+ static void
+ read_str (const unsigned char * data, int offset, char * buffer, int buffer_len)
+ { int k ;
+@@ -496,6 +511,11 @@ sd2_parse_rsrc_fork (SF_PRIVATE *psf)
+
+ rsrc.type_offset = rsrc.map_offset + 30 ;
+
++ if (rsrc.map_offset + 28 > rsrc.rsrc_len)
++ { psf_log_printf (psf, "Bad map offset.\n") ;
++ goto parse_rsrc_fork_cleanup ;
++ } ;
++
+ rsrc.type_count = read_short (rsrc.rsrc_data, rsrc.map_offset + 28) + 1 ;
+ if (rsrc.type_count < 1)
+ { psf_log_printf (psf, "Bad type count.\n") ;
+@@ -512,7 +532,12 @@ sd2_parse_rsrc_fork (SF_PRIVATE *psf)
+
+ rsrc.str_index = -1 ;
+ for (k = 0 ; k < rsrc.type_count ; k ++)
+- { marker = read_marker (rsrc.rsrc_data, rsrc.type_offset + k * 8) ;
++ { if (rsrc.type_offset + k * 8 > rsrc.rsrc_len)
++ { psf_log_printf (psf, "Bad rsrc marker.\n") ;
++ goto parse_rsrc_fork_cleanup ;
++ } ;
++
++ marker = read_rsrc_marker (&rsrc, rsrc.type_offset + k * 8) ;
+
+ if (marker == STR_MARKER)
+ { rsrc.str_index = k ;
diff --git a/gnu/packages/patches/libsndfile-CVE-2015-7805.patch b/gnu/packages/patches/libsndfile-CVE-2015-7805.patch
new file mode 100644
index 0000000000..d617f81e5c
--- /dev/null
+++ b/gnu/packages/patches/libsndfile-CVE-2015-7805.patch
@@ -0,0 +1,95 @@
+Slightly modified to apply cleanly to libsndfile-1.0.25.
+
+From d2a87385c1ca1d72918e9a2875d24f202a5093e8 Mon Sep 17 00:00:00 2001
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Sat, 7 Feb 2015 15:45:10 +1100
+Subject: [PATCH] src/common.c : Fix a header parsing bug.
+
+When the file header is bigger that SF_HEADER_LEN, the code would seek
+instead of reading causing file parse errors.
+
+The current header parsing and writing code *badly* needs a re-write.
+---
+ src/common.c | 27 +++++++++++----------------
+ 1 file changed, 11 insertions(+), 16 deletions(-)
+
+diff --git a/src/common.c b/src/common.c
+index dd4edb7..c6b88cc 100644
+--- a/src/common.c
++++ b/src/common.c
+@@ -1,5 +1,5 @@
+ /*
+-** Copyright (C) 1999-2011 Erik de Castro Lopo <erikd@mega-nerd.com>
++** Copyright (C) 1999-2015 Erik de Castro Lopo <erikd@mega-nerd.com>
+ **
+ ** This program is free software; you can redistribute it and/or modify
+ ** it under the terms of the GNU Lesser General Public License as published by
+@@ -800,21 +800,16 @@ header_read (SF_PRIVATE *psf, void *ptr, int bytes)
+ { int count = 0 ;
+
+ if (psf->headindex >= SIGNED_SIZEOF (psf->header))
+- { memset (ptr, 0, SIGNED_SIZEOF (psf->header) - psf->headindex) ;
+-
+- /* This is the best that we can do. */
+- psf_fseek (psf, bytes, SEEK_CUR) ;
+- return bytes ;
+- } ;
++ return psf_fread (ptr, 1, bytes, psf) ;
+
+ if (psf->headindex + bytes > SIGNED_SIZEOF (psf->header))
+ { int most ;
+
+ most = SIGNED_SIZEOF (psf->header) - psf->headindex ;
+ psf_fread (psf->header + psf->headend, 1, most, psf) ;
+- memset ((char *) ptr + most, 0, bytes - most) ;
+-
+- psf_fseek (psf, bytes - most, SEEK_CUR) ;
++ memcpy (ptr, psf->header + psf->headend, most) ;
++ psf->headend = psf->headindex += most ;
++ psf_fread ((char *) ptr + most, bytes - most, 1, psf) ;
+ return bytes ;
+ } ;
+
+@@ -822,7 +817,7 @@ header_read (SF_PRIVATE *psf, void *ptr, int bytes)
+ { count = psf_fread (psf->header + psf->headend, 1, bytes - (psf->headend - psf->headindex), psf) ;
+ if (count != bytes - (int) (psf->headend - psf->headindex))
+ { psf_log_printf (psf, "Error : psf_fread returned short count.\n") ;
+- return 0 ;
++ return count ;
+ } ;
+ psf->headend += count ;
+ } ;
+@@ -836,7 +831,6 @@ header_read (SF_PRIVATE *psf, void *ptr, int bytes)
+ static void
+ header_seek (SF_PRIVATE *psf, sf_count_t position, int whence)
+ {
+-
+ switch (whence)
+ { case SEEK_SET :
+ if (position > SIGNED_SIZEOF (psf->header))
+@@ -885,8 +879,7 @@ header_seek (SF_PRIVATE *psf, sf_count_t position, int whence)
+
+ static int
+ header_gets (SF_PRIVATE *psf, char *ptr, int bufsize)
+-{
+- int k ;
++{ int k ;
+
+ for (k = 0 ; k < bufsize - 1 ; k++)
+ { if (psf->headindex < psf->headend)
+@@ -1073,8 +1066,10 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...)
+ case 'j' :
+ /* Get the seek position first. */
+ count = va_arg (argptr, size_t) ;
+- header_seek (psf, count, SEEK_CUR) ;
+- byte_count += count ;
++ if (count)
++ { header_seek (psf, count, SEEK_CUR) ;
++ byte_count += count ;
++ } ;
+ break ;
+
+ default :
+--
+2.6.3
+
diff --git a/gnu/packages/patches/libxslt-CVE-2015-7995.patch b/gnu/packages/patches/libxslt-CVE-2015-7995.patch
new file mode 100644
index 0000000000..f291d5b387
--- /dev/null
+++ b/gnu/packages/patches/libxslt-CVE-2015-7995.patch
@@ -0,0 +1,29 @@
+From 7ca19df892ca22d9314e95d59ce2abdeff46b617 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 29 Oct 2015 19:33:23 +0800
+Subject: [PATCH] Fix for type confusion in preprocessing attributes
+
+CVE-2015-7995 http://www.openwall.com/lists/oss-security/2015/10/27/10
+We need to check that the parent node is an element before dereferencing
+its namespace
+---
+ libxslt/preproc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libxslt/preproc.c b/libxslt/preproc.c
+index 0eb80a0..7f69325 100644
+--- a/libxslt/preproc.c
++++ b/libxslt/preproc.c
+@@ -2249,7 +2249,8 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
+ } else if (IS_XSLT_NAME(inst, "attribute")) {
+ xmlNodePtr parent = inst->parent;
+
+- if ((parent == NULL) || (parent->ns == NULL) ||
++ if ((parent == NULL) ||
++ (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) ||
+ ((parent->ns != inst->ns) &&
+ (!xmlStrEqual(parent->ns->href, inst->ns->href))) ||
+ (!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) {
+--
+2.6.3
+
diff --git a/gnu/packages/patches/lua52-liblua-so.patch b/gnu/packages/patches/lua52-liblua-so.patch
new file mode 100644
index 0000000000..2e6b39ae79
--- /dev/null
+++ b/gnu/packages/patches/lua52-liblua-so.patch
@@ -0,0 +1,78 @@
+From 7a1b4e0829124976878ca2765a8e546667a92ceb Mon Sep 17 00:00:00 2001
+From: Leo Famulari <leo@famulari.name>
+Date: Fri, 30 Oct 2015 19:11:31 -0400
+Subject: [PATCH] apply existing non-executable library patch and install
+ libraries as executable
+
+---
+ Makefile | 6 +++---
+ src/Makefile | 8 +++++++-
+ 2 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1aea8e6..bfcfed9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -44,7 +44,7 @@ INTERPRETER= lua
+ COMPILER= luac
+ TO_BIN= $(INTERPRETER) $(COMPILER)
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+-TO_LIB= liblua.a
++TO_LIB= liblua.a liblua.so liblua.so.${V}
+ TO_PC= lua-$(V).pc
+ TO_MAN= lua.1 luac.1
+
+@@ -56,7 +56,7 @@ R= $V.3
+ all: $(PLAT)
+
+ $(PLATS):
+- cd src && $(MAKE) $@
++ cd src && $(MAKE) $@ V=$(V) R=$(R)
+
+ clean:
+ cd src && $(MAKE) $@
+@@ -69,7 +69,7 @@ install: dummy $(TO_PC)
+ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+ cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+- cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
++ cd src && $(INSTALL_EXEC) $(TO_LIB) $(INSTALL_LIB)
+ cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
+ cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+
+diff --git a/src/Makefile b/src/Makefile
+index 7b4b2b7..c86476e 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -29,6 +29,7 @@ MYOBJS=
+ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+
+ LUA_A= liblua.a
++LUA_SO= liblua.so
+ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
+ lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
+ ltm.o lundump.o lvm.o lzio.o
+@@ -43,7 +44,7 @@ LUAC_T= luac
+ LUAC_O= luac.o
+
+ ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
+-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
+ ALL_A= $(LUA_A)
+
+ # Targets start here.
+@@ -55,6 +56,11 @@ o: $(ALL_O)
+
+ a: $(ALL_A)
+
++$(LUA_SO): $(CORE_O) $(LIB_O)
++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO)
++
+ $(LUA_A): $(BASE_O)
+ $(AR) $@ $(BASE_O)
+ $(RANLIB) $@
+--
+2.6.1
+
diff --git a/gnu/packages/patches/matplotlib-setupext-tk.patch b/gnu/packages/patches/matplotlib-setupext-tk.patch
new file mode 100644
index 0000000000..37c3d686e0
--- /dev/null
+++ b/gnu/packages/patches/matplotlib-setupext-tk.patch
@@ -0,0 +1,34 @@
+Use 'pkg-config' instead of heuristics to find 'tk' flags.
+
+--- matplotlib-1.4.3/setupext.py.orig 2015-12-01 14:21:19.554417453 +0100
++++ matplotlib-1.4.3/setupext.py 2015-12-02 10:39:47.282363530 +0100
+@@ -1457,7 +1457,7 @@
+ p = subprocess.Popen(
+ '. %s ; eval echo ${%s}' % (file, varname),
+ shell=True,
+- executable="/bin/sh",
++ executable="sh",
+ stdout=subprocess.PIPE)
+ result = p.communicate()[0]
+ return result.decode('ascii')
+@@ -1601,8 +1601,19 @@
+ # of distros.
+
+ # Query Tcl/Tk system for library paths and version string
++ def getoutput(s):
++ ret = os.popen(s).read().strip()
++ return ret
+ try:
+- tcl_lib_dir, tk_lib_dir, tk_ver = self.query_tcltk()
++ pkg_config_libs = getoutput('pkg-config --libs-only-L tk').split()
++ # drop '-L' part of strings
++ pkg_config_libs = [s[2:] for s in pkg_config_libs]
++ pkg_config_ver = getoutput('pkg-config --modversion tk')
++ tk_ver = re.match(r"(\d+.\d+)[\d.]*", pkg_config_ver).group(1)
++ tcl_lib_dir = next(s for s in pkg_config_libs
++ if re.match(r".*-tcl-.*", s)) + '/tcl' + tk_ver
++ tk_lib_dir = next(s for s in pkg_config_libs
++ if re.match(r".*-tk-.*", s)) + '/tk' + tk_ver
+ except:
+ tk_ver = ''
+ result = self.hardcoded_tcl_config()
diff --git a/gnu/packages/patches/mit-krb5-CVE-2015-2695-pt1.patch b/gnu/packages/patches/mit-krb5-CVE-2015-2695-pt1.patch
new file mode 100644
index 0000000000..0f5603e228
--- /dev/null
+++ b/gnu/packages/patches/mit-krb5-CVE-2015-2695-pt1.patch
@@ -0,0 +1,569 @@
+Copied from Debian.
+
+From b813d5811432faed844a2dfd3daecde914978f2c Mon Sep 17 00:00:00 2001
+From: Nicolas Williams <nico@twosigma.com>
+Date: Mon, 14 Sep 2015 12:27:52 -0400
+Subject: Fix SPNEGO context aliasing bugs [CVE-2015-2695]
+
+The SPNEGO mechanism currently replaces its context handle with the
+mechanism context handle upon establishment, under the assumption that
+most GSS functions are only called after context establishment. This
+assumption is incorrect, and can lead to aliasing violations for some
+programs. Maintain the SPNEGO context structure after context
+establishment and refer to it in all GSS methods. Add initiate and
+opened flags to the SPNEGO context structure for use in
+gss_inquire_context() prior to context establishment.
+
+CVE-2015-2695:
+
+In MIT krb5 1.5 and later, applications which call
+gss_inquire_context() on a partially-established SPNEGO context can
+cause the GSS-API library to read from a pointer using the wrong type,
+generally causing a process crash. This bug may go unnoticed, because
+the most common SPNEGO authentication scenario establishes the context
+after just one call to gss_accept_sec_context(). Java server
+applications using the native JGSS provider are vulnerable to this
+bug. A carefully crafted SPNEGO packet might allow the
+gss_inquire_context() call to succeed with attacker-determined
+results, but applications should not make access control decisions
+based on gss_inquire_context() results prior to context establishment.
+
+ CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
+
+[ghudson@mit.edu: several bugfixes, style changes, and edge-case
+behavior changes; commit message and CVE description]
+
+ticket: 8244
+target_version: 1.14
+tags: pullup
+
+(cherry picked from commit b51b33f2bc5d1497ddf5bd107f791c101695000d)
+Patch-Category: upstream
+---
+ src/lib/gssapi/spnego/gssapiP_spnego.h | 2 +
+ src/lib/gssapi/spnego/spnego_mech.c | 254 ++++++++++++++++++++++++---------
+ 2 files changed, 192 insertions(+), 64 deletions(-)
+
+diff --git a/src/lib/gssapi/spnego/gssapiP_spnego.h b/src/lib/gssapi/spnego/gssapiP_spnego.h
+index bc23f56..8e05736 100644
+--- a/src/lib/gssapi/spnego/gssapiP_spnego.h
++++ b/src/lib/gssapi/spnego/gssapiP_spnego.h
+@@ -102,6 +102,8 @@ typedef struct {
+ int firstpass;
+ int mech_complete;
+ int nego_done;
++ int initiate;
++ int opened;
+ OM_uint32 ctx_flags;
+ gss_name_t internal_name;
+ gss_OID actual_mech;
+diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
+index 6e39c37..a1072b0 100644
+--- a/src/lib/gssapi/spnego/spnego_mech.c
++++ b/src/lib/gssapi/spnego/spnego_mech.c
+@@ -104,7 +104,7 @@ static OM_uint32 get_negotiable_mechs(OM_uint32 *, spnego_gss_cred_id_t,
+ gss_cred_usage_t, gss_OID_set *);
+ static void release_spnego_ctx(spnego_gss_ctx_id_t *);
+ static void check_spnego_options(spnego_gss_ctx_id_t);
+-static spnego_gss_ctx_id_t create_spnego_ctx(void);
++static spnego_gss_ctx_id_t create_spnego_ctx(int);
+ static int put_mech_set(gss_OID_set mechSet, gss_buffer_t buf);
+ static int put_input_token(unsigned char **, gss_buffer_t, unsigned int);
+ static int put_mech_oid(unsigned char **, gss_OID_const, unsigned int);
+@@ -442,7 +442,7 @@ check_spnego_options(spnego_gss_ctx_id_t spnego_ctx)
+ }
+
+ static spnego_gss_ctx_id_t
+-create_spnego_ctx(void)
++create_spnego_ctx(int initiate)
+ {
+ spnego_gss_ctx_id_t spnego_ctx = NULL;
+ spnego_ctx = (spnego_gss_ctx_id_t)
+@@ -465,6 +465,8 @@ create_spnego_ctx(void)
+ spnego_ctx->mic_rcvd = 0;
+ spnego_ctx->mech_complete = 0;
+ spnego_ctx->nego_done = 0;
++ spnego_ctx->opened = 0;
++ spnego_ctx->initiate = initiate;
+ spnego_ctx->internal_name = GSS_C_NO_NAME;
+ spnego_ctx->actual_mech = GSS_C_NO_OID;
+
+@@ -630,7 +632,7 @@ init_ctx_new(OM_uint32 *minor_status,
+ OM_uint32 ret;
+ spnego_gss_ctx_id_t sc = NULL;
+
+- sc = create_spnego_ctx();
++ sc = create_spnego_ctx(1);
+ if (sc == NULL)
+ return GSS_S_FAILURE;
+
+@@ -647,10 +649,7 @@ init_ctx_new(OM_uint32 *minor_status,
+ ret = GSS_S_FAILURE;
+ goto cleanup;
+ }
+- /*
+- * The actual context is not yet determined, set the output
+- * context handle to refer to the spnego context itself.
+- */
++
+ sc->ctx_handle = GSS_C_NO_CONTEXT;
+ *ctx = (gss_ctx_id_t)sc;
+ sc = NULL;
+@@ -1091,16 +1090,11 @@ cleanup:
+ }
+ gss_release_buffer(&tmpmin, &mechtok_out);
+ if (ret == GSS_S_COMPLETE) {
+- /*
+- * Now, switch the output context to refer to the
+- * negotiated mechanism's context.
+- */
+- *context_handle = (gss_ctx_id_t)spnego_ctx->ctx_handle;
++ spnego_ctx->opened = 1;
+ if (actual_mech != NULL)
+ *actual_mech = spnego_ctx->actual_mech;
+ if (ret_flags != NULL)
+ *ret_flags = spnego_ctx->ctx_flags;
+- release_spnego_ctx(&spnego_ctx);
+ } else if (ret != GSS_S_CONTINUE_NEEDED) {
+ if (spnego_ctx != NULL) {
+ gss_delete_sec_context(&tmpmin,
+@@ -1344,7 +1338,7 @@ acc_ctx_hints(OM_uint32 *minor_status,
+ if (ret != GSS_S_COMPLETE)
+ goto cleanup;
+
+- sc = create_spnego_ctx();
++ sc = create_spnego_ctx(0);
+ if (sc == NULL) {
+ ret = GSS_S_FAILURE;
+ goto cleanup;
+@@ -1426,7 +1420,7 @@ acc_ctx_new(OM_uint32 *minor_status,
+ gss_release_buffer(&tmpmin, &sc->DER_mechTypes);
+ assert(mech_wanted != GSS_C_NO_OID);
+ } else
+- sc = create_spnego_ctx();
++ sc = create_spnego_ctx(0);
+ if (sc == NULL) {
+ ret = GSS_S_FAILURE;
+ *return_token = NO_TOKEN_SEND;
+@@ -1809,13 +1803,12 @@ cleanup:
+ ret = GSS_S_FAILURE;
+ }
+ if (ret == GSS_S_COMPLETE) {
+- *context_handle = (gss_ctx_id_t)sc->ctx_handle;
++ sc->opened = 1;
+ if (sc->internal_name != GSS_C_NO_NAME &&
+ src_name != NULL) {
+ *src_name = sc->internal_name;
+ sc->internal_name = GSS_C_NO_NAME;
+ }
+- release_spnego_ctx(&sc);
+ } else if (ret != GSS_S_CONTINUE_NEEDED) {
+ if (sc != NULL) {
+ gss_delete_sec_context(&tmpmin, &sc->ctx_handle,
+@@ -2128,8 +2121,13 @@ spnego_gss_unwrap(
+ gss_qop_t *qop_state)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_unwrap(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ input_message_buffer,
+ output_message_buffer,
+ conf_state,
+@@ -2149,8 +2147,13 @@ spnego_gss_wrap(
+ gss_buffer_t output_message_buffer)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_wrap(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ conf_req_flag,
+ qop_req,
+ input_message_buffer,
+@@ -2167,8 +2170,14 @@ spnego_gss_process_context_token(
+ const gss_buffer_t token_buffer)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ /* SPNEGO doesn't have its own context tokens. */
++ if (!sc->opened)
++ return (GSS_S_DEFECTIVE_TOKEN);
++
+ ret = gss_process_context_token(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ token_buffer);
+
+ return (ret);
+@@ -2192,19 +2201,9 @@ spnego_gss_delete_sec_context(
+ if (*ctx == NULL)
+ return (GSS_S_COMPLETE);
+
+- /*
+- * If this is still an SPNEGO mech, release it locally.
+- */
+- if ((*ctx)->magic_num == SPNEGO_MAGIC_ID) {
+- (void) gss_delete_sec_context(minor_status,
+- &(*ctx)->ctx_handle,
+- output_token);
+- (void) release_spnego_ctx(ctx);
+- } else {
+- ret = gss_delete_sec_context(minor_status,
+- context_handle,
+- output_token);
+- }
++ (void) gss_delete_sec_context(minor_status, &(*ctx)->ctx_handle,
++ output_token);
++ (void) release_spnego_ctx(ctx);
+
+ return (ret);
+ }
+@@ -2216,8 +2215,13 @@ spnego_gss_context_time(
+ OM_uint32 *time_rec)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_context_time(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ time_rec);
+ return (ret);
+ }
+@@ -2229,9 +2233,20 @@ spnego_gss_export_sec_context(
+ gss_buffer_t interprocess_token)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = *(spnego_gss_ctx_id_t *)context_handle;
++
++ /* We don't currently support exporting partially established
++ * contexts. */
++ if (!sc->opened)
++ return GSS_S_UNAVAILABLE;
++
+ ret = gss_export_sec_context(minor_status,
+- context_handle,
++ &sc->ctx_handle,
+ interprocess_token);
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT) {
++ release_spnego_ctx(&sc);
++ *context_handle = GSS_C_NO_CONTEXT;
++ }
+ return (ret);
+ }
+
+@@ -2241,11 +2256,12 @@ spnego_gss_import_sec_context(
+ const gss_buffer_t interprocess_token,
+ gss_ctx_id_t *context_handle)
+ {
+- OM_uint32 ret;
+- ret = gss_import_sec_context(minor_status,
+- interprocess_token,
+- context_handle);
+- return (ret);
++ /*
++ * Until we implement partial context exports, there are no SPNEGO
++ * exported context tokens, only tokens for underlying mechs. So just
++ * return an error for now.
++ */
++ return GSS_S_UNAVAILABLE;
+ }
+ #endif /* LEAN_CLIENT */
+
+@@ -2262,16 +2278,48 @@ spnego_gss_inquire_context(
+ int *opened)
+ {
+ OM_uint32 ret = GSS_S_COMPLETE;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (src_name != NULL)
++ *src_name = GSS_C_NO_NAME;
++ if (targ_name != NULL)
++ *targ_name = GSS_C_NO_NAME;
++ if (lifetime_rec != NULL)
++ *lifetime_rec = 0;
++ if (mech_type != NULL)
++ *mech_type = (gss_OID)gss_mech_spnego;
++ if (ctx_flags != NULL)
++ *ctx_flags = 0;
++ if (locally_initiated != NULL)
++ *locally_initiated = sc->initiate;
++ if (opened != NULL)
++ *opened = sc->opened;
++
++ if (sc->ctx_handle != GSS_C_NO_CONTEXT) {
++ ret = gss_inquire_context(minor_status, sc->ctx_handle,
++ src_name, targ_name, lifetime_rec,
++ mech_type, ctx_flags, NULL, NULL);
++ }
+
+- ret = gss_inquire_context(minor_status,
+- context_handle,
+- src_name,
+- targ_name,
+- lifetime_rec,
+- mech_type,
+- ctx_flags,
+- locally_initiated,
+- opened);
++ if (!sc->opened) {
++ /*
++ * We are still doing SPNEGO negotiation, so report SPNEGO as
++ * the OID. After negotiation is complete we will report the
++ * underlying mechanism OID.
++ */
++ if (mech_type != NULL)
++ *mech_type = (gss_OID)gss_mech_spnego;
++
++ /*
++ * Remove flags we don't support with partially-established
++ * contexts. (Change this to keep GSS_C_TRANS_FLAG if we add
++ * support for exporting partial SPNEGO contexts.)
++ */
++ if (ctx_flags != NULL) {
++ *ctx_flags &= ~GSS_C_PROT_READY_FLAG;
++ *ctx_flags &= ~GSS_C_TRANS_FLAG;
++ }
++ }
+
+ return (ret);
+ }
+@@ -2286,8 +2334,13 @@ spnego_gss_wrap_size_limit(
+ OM_uint32 *max_input_size)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_wrap_size_limit(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ conf_req_flag,
+ qop_req,
+ req_output_size,
+@@ -2304,8 +2357,13 @@ spnego_gss_get_mic(
+ gss_buffer_t message_token)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_get_mic(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ qop_req,
+ message_buffer,
+ message_token);
+@@ -2321,8 +2379,13 @@ spnego_gss_verify_mic(
+ gss_qop_t *qop_state)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_verify_mic(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ msg_buffer,
+ token_buffer,
+ qop_state);
+@@ -2337,8 +2400,14 @@ spnego_gss_inquire_sec_context_by_oid(
+ gss_buffer_set_t *data_set)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ /* There are no SPNEGO-specific OIDs for this function. */
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_UNAVAILABLE);
++
+ ret = gss_inquire_sec_context_by_oid(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ desired_object,
+ data_set);
+ return (ret);
+@@ -2407,8 +2476,15 @@ spnego_gss_set_sec_context_option(
+ const gss_buffer_t value)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)*context_handle;
++
++ /* There are no SPNEGO-specific OIDs for this function, and we cannot
++ * construct an empty SPNEGO context with it. */
++ if (sc == NULL || sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_UNAVAILABLE);
++
+ ret = gss_set_sec_context_option(minor_status,
+- context_handle,
++ &sc->ctx_handle,
+ desired_object,
+ value);
+ return (ret);
+@@ -2425,8 +2501,13 @@ spnego_gss_wrap_aead(OM_uint32 *minor_status,
+ gss_buffer_t output_message_buffer)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_wrap_aead(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ conf_req_flag,
+ qop_req,
+ input_assoc_buffer,
+@@ -2447,8 +2528,13 @@ spnego_gss_unwrap_aead(OM_uint32 *minor_status,
+ gss_qop_t *qop_state)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_unwrap_aead(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ input_message_buffer,
+ input_assoc_buffer,
+ output_payload_buffer,
+@@ -2467,8 +2553,13 @@ spnego_gss_wrap_iov(OM_uint32 *minor_status,
+ int iov_count)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_wrap_iov(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ conf_req_flag,
+ qop_req,
+ conf_state,
+@@ -2486,8 +2577,13 @@ spnego_gss_unwrap_iov(OM_uint32 *minor_status,
+ int iov_count)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_unwrap_iov(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ conf_state,
+ qop_state,
+ iov,
+@@ -2505,8 +2601,13 @@ spnego_gss_wrap_iov_length(OM_uint32 *minor_status,
+ int iov_count)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_wrap_iov_length(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ conf_req_flag,
+ qop_req,
+ conf_state,
+@@ -2523,8 +2624,13 @@ spnego_gss_complete_auth_token(
+ gss_buffer_t input_message_buffer)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_UNAVAILABLE);
++
+ ret = gss_complete_auth_token(minor_status,
+- context_handle,
++ sc->ctx_handle,
+ input_message_buffer);
+ return (ret);
+ }
+@@ -2776,8 +2882,13 @@ spnego_gss_pseudo_random(OM_uint32 *minor_status,
+ gss_buffer_t prf_out)
+ {
+ OM_uint32 ret;
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
+ ret = gss_pseudo_random(minor_status,
+- context,
++ sc->ctx_handle,
+ prf_key,
+ prf_in,
+ desired_output_len,
+@@ -2918,7 +3029,12 @@ spnego_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
+ gss_qop_t qop_req, gss_iov_buffer_desc *iov,
+ int iov_count)
+ {
+- return gss_get_mic_iov(minor_status, context_handle, qop_req, iov,
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
++ return gss_get_mic_iov(minor_status, sc->ctx_handle, qop_req, iov,
+ iov_count);
+ }
+
+@@ -2927,7 +3043,12 @@ spnego_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
+ gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
+ int iov_count)
+ {
+- return gss_verify_mic_iov(minor_status, context_handle, qop_state, iov,
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
++ return gss_verify_mic_iov(minor_status, sc->ctx_handle, qop_state, iov,
+ iov_count);
+ }
+
+@@ -2936,7 +3057,12 @@ spnego_gss_get_mic_iov_length(OM_uint32 *minor_status,
+ gss_ctx_id_t context_handle, gss_qop_t qop_req,
+ gss_iov_buffer_desc *iov, int iov_count)
+ {
+- return gss_get_mic_iov_length(minor_status, context_handle, qop_req, iov,
++ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
++
++ return gss_get_mic_iov_length(minor_status, sc->ctx_handle, qop_req, iov,
+ iov_count);
+ }
+
diff --git a/gnu/packages/patches/mit-krb5-CVE-2015-2695-pt2.patch b/gnu/packages/patches/mit-krb5-CVE-2015-2695-pt2.patch
new file mode 100644
index 0000000000..aa9fcfa0dd
--- /dev/null
+++ b/gnu/packages/patches/mit-krb5-CVE-2015-2695-pt2.patch
@@ -0,0 +1,65 @@
+Copied from Debian.
+
+From 18c512ebdcc5cacc777e9dbcc6817f83c301ad93 Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Wed, 4 Nov 2015 21:29:10 -0500
+Subject: Fix SPNEGO context import
+
+The patches for CVE-2015-2695 did not implement a SPNEGO
+gss_import_sec_context() function, under the erroneous belief than an
+exported SPNEGO context would be tagged with the underlying context
+mechanism. Implement it now to allow SPNEGO contexts to be
+successfully exported and imported after establishment.
+
+ticket: 8273
+(cherry picked from commit fbb565f913c52eba9bea82f1694aba7a8c90e93d)
+
+Patch-Category: upstream
+---
+ src/lib/gssapi/spnego/spnego_mech.c | 33 +++++++++++++++++++++++++++------
+ 1 file changed, 27 insertions(+), 6 deletions(-)
+
+diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
+index a1072b0..02284a1 100644
+--- a/src/lib/gssapi/spnego/spnego_mech.c
++++ b/src/lib/gssapi/spnego/spnego_mech.c
+@@ -2256,12 +2256,33 @@ spnego_gss_import_sec_context(
+ const gss_buffer_t interprocess_token,
+ gss_ctx_id_t *context_handle)
+ {
+- /*
+- * Until we implement partial context exports, there are no SPNEGO
+- * exported context tokens, only tokens for underlying mechs. So just
+- * return an error for now.
+- */
+- return GSS_S_UNAVAILABLE;
++ OM_uint32 ret, tmpmin;
++ gss_ctx_id_t mctx;
++ spnego_gss_ctx_id_t sc;
++ int initiate, opened;
++
++ ret = gss_import_sec_context(minor_status, interprocess_token, &mctx);
++ if (ret != GSS_S_COMPLETE)
++ return ret;
++
++ ret = gss_inquire_context(&tmpmin, mctx, NULL, NULL, NULL, NULL, NULL,
++ &initiate, &opened);
++ if (ret != GSS_S_COMPLETE || !opened) {
++ /* We don't currently support importing partially established
++ * contexts. */
++ (void) gss_delete_sec_context(&tmpmin, &mctx, GSS_C_NO_BUFFER);
++ return GSS_S_FAILURE;
++ }
++
++ sc = create_spnego_ctx(initiate);
++ if (sc == NULL) {
++ (void) gss_delete_sec_context(&tmpmin, &mctx, GSS_C_NO_BUFFER);
++ return GSS_S_FAILURE;
++ }
++ sc->ctx_handle = mctx;
++ sc->opened = 1;
++ *context_handle = (gss_ctx_id_t)sc;
++ return GSS_S_COMPLETE;
+ }
+ #endif /* LEAN_CLIENT */
+
diff --git a/gnu/packages/patches/mit-krb5-CVE-2015-2696.patch b/gnu/packages/patches/mit-krb5-CVE-2015-2696.patch
new file mode 100644
index 0000000000..7b4b1d71ab
--- /dev/null
+++ b/gnu/packages/patches/mit-krb5-CVE-2015-2696.patch
@@ -0,0 +1,736 @@
+Copied from Debian.
+
+From ebea85358bc72ec20c53130d83acb93f95853b76 Mon Sep 17 00:00:00 2001
+From: Nicolas Williams <nico@twosigma.com>
+Date: Mon, 14 Sep 2015 12:28:36 -0400
+Subject: Fix IAKERB context aliasing bugs [CVE-2015-2696]
+
+The IAKERB mechanism currently replaces its context handle with the
+krb5 mechanism handle upon establishment, under the assumption that
+most GSS functions are only called after context establishment. This
+assumption is incorrect, and can lead to aliasing violations for some
+programs. Maintain the IAKERB context structure after context
+establishment and add new IAKERB entry points to refer to it with that
+type. Add initiate and established flags to the IAKERB context
+structure for use in gss_inquire_context() prior to context
+establishment.
+
+CVE-2015-2696:
+
+In MIT krb5 1.9 and later, applications which call
+gss_inquire_context() on a partially-established IAKERB context can
+cause the GSS-API library to read from a pointer using the wrong type,
+generally causing a process crash. Java server applications using the
+native JGSS provider are vulnerable to this bug. A carefully crafted
+IAKERB packet might allow the gss_inquire_context() call to succeed
+with attacker-determined results, but applications should not make
+access control decisions based on gss_inquire_context() results prior
+to context establishment.
+
+ CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
+
+[ghudson@mit.edu: several bugfixes, style changes, and edge-case
+behavior changes; commit message and CVE description]
+
+ticket: 8244
+target_version: 1.14
+tags: pullup
+
+(cherry picked from commit e04f0283516e80d2f93366e0d479d13c9b5c8c2a)
+Patch-Category: upstream
+---
+ src/lib/gssapi/krb5/gssapiP_krb5.h | 114 ++++++++++++
+ src/lib/gssapi/krb5/gssapi_krb5.c | 105 +++++++++--
+ src/lib/gssapi/krb5/iakerb.c | 351 +++++++++++++++++++++++++++++++++----
+ 3 files changed, 529 insertions(+), 41 deletions(-)
+
+diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h
+index a0e8625..05dc321 100644
+--- a/src/lib/gssapi/krb5/gssapiP_krb5.h
++++ b/src/lib/gssapi/krb5/gssapiP_krb5.h
+@@ -620,6 +620,21 @@ OM_uint32 KRB5_CALLCONV krb5_gss_accept_sec_context_ext
+ );
+ #endif /* LEAN_CLIENT */
+
++OM_uint32 KRB5_CALLCONV krb5_gss_inquire_sec_context_by_oid
++(OM_uint32*, /* minor_status */
++ const gss_ctx_id_t,
++ /* context_handle */
++ const gss_OID, /* desired_object */
++ gss_buffer_set_t* /* data_set */
++);
++
++OM_uint32 KRB5_CALLCONV krb5_gss_set_sec_context_option
++(OM_uint32*, /* minor_status */
++ gss_ctx_id_t*, /* context_handle */
++ const gss_OID, /* desired_object */
++ const gss_buffer_t/* value */
++);
++
+ OM_uint32 KRB5_CALLCONV krb5_gss_process_context_token
+ (OM_uint32*, /* minor_status */
+ gss_ctx_id_t, /* context_handle */
+@@ -1301,6 +1316,105 @@ OM_uint32 KRB5_CALLCONV
+ krb5_gss_import_cred(OM_uint32 *minor_status, gss_buffer_t token,
+ gss_cred_id_t *cred_handle);
+
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_process_context_token(OM_uint32 *minor_status,
++ const gss_ctx_id_t context_handle,
++ const gss_buffer_t token_buffer);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ OM_uint32 *time_rec);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_context(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, gss_name_t *src_name,
++ gss_name_t *targ_name, OM_uint32 *lifetime_rec,
++ gss_OID *mech_type, OM_uint32 *ctx_flags,
++ int *locally_initiated, int *opened);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_qop_t qop_req, gss_buffer_t message_buffer,
++ gss_buffer_t message_token);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_qop_t qop_req, gss_iov_buffer_desc *iov,
++ int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, gss_qop_t qop_req,
++ gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
++ gss_qop_t *qop_state);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
++ int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int conf_req_flag, gss_qop_t qop_req,
++ gss_buffer_t input_message_buffer, int *conf_state,
++ gss_buffer_t output_message_buffer);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int conf_req_flag, gss_qop_t qop_req, int *conf_state,
++ gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, int conf_req_flag,
++ gss_qop_t qop_req, int *conf_state,
++ gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_buffer_t input_message_buffer,
++ gss_buffer_t output_message_buffer, int *conf_state,
++ gss_qop_t *qop_state);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int *conf_state, gss_qop_t *qop_state,
++ gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, int conf_req_flag,
++ gss_qop_t qop_req, OM_uint32 req_output_size,
++ OM_uint32 *max_input_size);
++
++#ifndef LEAN_CLIENT
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_export_sec_context(OM_uint32 *minor_status,
++ gss_ctx_id_t *context_handle,
++ gss_buffer_t interprocess_token);
++#endif /* LEAN_CLIENT */
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
++ const gss_ctx_id_t context_handle,
++ const gss_OID desired_object,
++ gss_buffer_set_t *data_set);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
++ gss_ctx_id_t *context_handle,
++ const gss_OID desired_object,
++ const gss_buffer_t value);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int prf_key, const gss_buffer_t prf_in,
++ ssize_t desired_output_len, gss_buffer_t prf_out);
++
+ /* Magic string to identify exported krb5 GSS credentials. Increment this if
+ * the format changes. */
+ #define CRED_EXPORT_MAGIC "K5C1"
+diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c
+index 77b7fff..9a23656 100644
+--- a/src/lib/gssapi/krb5/gssapi_krb5.c
++++ b/src/lib/gssapi/krb5/gssapi_krb5.c
+@@ -345,7 +345,7 @@ static struct {
+ }
+ };
+
+-static OM_uint32 KRB5_CALLCONV
++OM_uint32 KRB5_CALLCONV
+ krb5_gss_inquire_sec_context_by_oid (OM_uint32 *minor_status,
+ const gss_ctx_id_t context_handle,
+ const gss_OID desired_object,
+@@ -459,7 +459,7 @@ static struct {
+ };
+ #endif
+
+-static OM_uint32 KRB5_CALLCONV
++OM_uint32 KRB5_CALLCONV
+ krb5_gss_set_sec_context_option (OM_uint32 *minor_status,
+ gss_ctx_id_t *context_handle,
+ const gss_OID desired_object,
+@@ -904,20 +904,103 @@ static struct gss_config krb5_mechanism = {
+ krb5_gss_get_mic_iov_length,
+ };
+
++/* Functions which use security contexts or acquire creds are IAKERB-specific;
++ * other functions can borrow from the krb5 mech. */
++static struct gss_config iakerb_mechanism = {
++ { GSS_MECH_KRB5_OID_LENGTH, GSS_MECH_KRB5_OID },
++ NULL,
++ iakerb_gss_acquire_cred,
++ krb5_gss_release_cred,
++ iakerb_gss_init_sec_context,
++#ifdef LEAN_CLIENT
++ NULL,
++#else
++ iakerb_gss_accept_sec_context,
++#endif
++ iakerb_gss_process_context_token,
++ iakerb_gss_delete_sec_context,
++ iakerb_gss_context_time,
++ iakerb_gss_get_mic,
++ iakerb_gss_verify_mic,
++#if defined(IOV_SHIM_EXERCISE_WRAP) || defined(IOV_SHIM_EXERCISE)
++ NULL,
++#else
++ iakerb_gss_wrap,
++#endif
++#if defined(IOV_SHIM_EXERCISE_UNWRAP) || defined(IOV_SHIM_EXERCISE)
++ NULL,
++#else
++ iakerb_gss_unwrap,
++#endif
++ krb5_gss_display_status,
++ krb5_gss_indicate_mechs,
++ krb5_gss_compare_name,
++ krb5_gss_display_name,
++ krb5_gss_import_name,
++ krb5_gss_release_name,
++ krb5_gss_inquire_cred,
++ NULL, /* add_cred */
++#ifdef LEAN_CLIENT
++ NULL,
++ NULL,
++#else
++ iakerb_gss_export_sec_context,
++ NULL,
++#endif
++ krb5_gss_inquire_cred_by_mech,
++ krb5_gss_inquire_names_for_mech,
++ iakerb_gss_inquire_context,
++ krb5_gss_internal_release_oid,
++ iakerb_gss_wrap_size_limit,
++ krb5_gss_localname,
++ krb5_gss_authorize_localname,
++ krb5_gss_export_name,
++ krb5_gss_duplicate_name,
++ krb5_gss_store_cred,
++ iakerb_gss_inquire_sec_context_by_oid,
++ krb5_gss_inquire_cred_by_oid,
++ iakerb_gss_set_sec_context_option,
++ krb5_gssspi_set_cred_option,
++ krb5_gssspi_mech_invoke,
++ NULL, /* wrap_aead */
++ NULL, /* unwrap_aead */
++ iakerb_gss_wrap_iov,
++ iakerb_gss_unwrap_iov,
++ iakerb_gss_wrap_iov_length,
++ NULL, /* complete_auth_token */
++ NULL, /* acquire_cred_impersonate_name */
++ NULL, /* add_cred_impersonate_name */
++ NULL, /* display_name_ext */
++ krb5_gss_inquire_name,
++ krb5_gss_get_name_attribute,
++ krb5_gss_set_name_attribute,
++ krb5_gss_delete_name_attribute,
++ krb5_gss_export_name_composite,
++ krb5_gss_map_name_to_any,
++ krb5_gss_release_any_name_mapping,
++ iakerb_gss_pseudo_random,
++ NULL, /* set_neg_mechs */
++ krb5_gss_inquire_saslname_for_mech,
++ krb5_gss_inquire_mech_for_saslname,
++ krb5_gss_inquire_attrs_for_mech,
++ krb5_gss_acquire_cred_from,
++ krb5_gss_store_cred_into,
++ iakerb_gss_acquire_cred_with_password,
++ krb5_gss_export_cred,
++ krb5_gss_import_cred,
++ NULL, /* import_sec_context_by_mech */
++ NULL, /* import_name_by_mech */
++ NULL, /* import_cred_by_mech */
++ iakerb_gss_get_mic_iov,
++ iakerb_gss_verify_mic_iov,
++ iakerb_gss_get_mic_iov_length,
++};
++
+ #ifdef _GSS_STATIC_LINK
+ #include "mglueP.h"
+ static int gss_iakerbmechglue_init(void)
+ {
+ struct gss_mech_config mech_iakerb;
+- struct gss_config iakerb_mechanism = krb5_mechanism;
+-
+- /* IAKERB mechanism mirrors krb5, but with different context SPIs */
+- iakerb_mechanism.gss_accept_sec_context = iakerb_gss_accept_sec_context;
+- iakerb_mechanism.gss_init_sec_context = iakerb_gss_init_sec_context;
+- iakerb_mechanism.gss_delete_sec_context = iakerb_gss_delete_sec_context;
+- iakerb_mechanism.gss_acquire_cred = iakerb_gss_acquire_cred;
+- iakerb_mechanism.gssspi_acquire_cred_with_password
+- = iakerb_gss_acquire_cred_with_password;
+
+ memset(&mech_iakerb, 0, sizeof(mech_iakerb));
+ mech_iakerb.mech = &iakerb_mechanism;
+diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c
+index f30de32..4662bd9 100644
+--- a/src/lib/gssapi/krb5/iakerb.c
++++ b/src/lib/gssapi/krb5/iakerb.c
+@@ -47,6 +47,8 @@ struct _iakerb_ctx_id_rec {
+ gss_ctx_id_t gssc;
+ krb5_data conv; /* conversation for checksumming */
+ unsigned int count; /* number of round trips */
++ int initiate;
++ int established;
+ krb5_get_init_creds_opt *gic_opts;
+ };
+
+@@ -695,7 +697,7 @@ cleanup:
+ * Allocate and initialise an IAKERB context
+ */
+ static krb5_error_code
+-iakerb_alloc_context(iakerb_ctx_id_t *pctx)
++iakerb_alloc_context(iakerb_ctx_id_t *pctx, int initiate)
+ {
+ iakerb_ctx_id_t ctx;
+ krb5_error_code code;
+@@ -709,6 +711,8 @@ iakerb_alloc_context(iakerb_ctx_id_t *pctx)
+ ctx->magic = KG_IAKERB_CONTEXT;
+ ctx->state = IAKERB_AS_REQ;
+ ctx->count = 0;
++ ctx->initiate = initiate;
++ ctx->established = 0;
+
+ code = krb5_gss_init_context(&ctx->k5c);
+ if (code != 0)
+@@ -732,7 +736,7 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
+ gss_ctx_id_t *context_handle,
+ gss_buffer_t output_token)
+ {
+- OM_uint32 major_status = GSS_S_COMPLETE;
++ iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
+
+ if (output_token != GSS_C_NO_BUFFER) {
+ output_token->length = 0;
+@@ -740,23 +744,10 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
+ }
+
+ *minor_status = 0;
++ *context_handle = GSS_C_NO_CONTEXT;
++ iakerb_release_context(iakerb_ctx);
+
+- if (*context_handle != GSS_C_NO_CONTEXT) {
+- iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
+-
+- if (iakerb_ctx->magic == KG_IAKERB_CONTEXT) {
+- iakerb_release_context(iakerb_ctx);
+- *context_handle = GSS_C_NO_CONTEXT;
+- } else {
+- assert(iakerb_ctx->magic == KG_CONTEXT);
+-
+- major_status = krb5_gss_delete_sec_context(minor_status,
+- context_handle,
+- output_token);
+- }
+- }
+-
+- return major_status;
++ return GSS_S_COMPLETE;
+ }
+
+ static krb5_boolean
+@@ -802,7 +793,7 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
+ int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
+
+ if (initialContextToken) {
+- code = iakerb_alloc_context(&ctx);
++ code = iakerb_alloc_context(&ctx, 0);
+ if (code != 0)
+ goto cleanup;
+
+@@ -854,11 +845,8 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
+ time_rec,
+ delegated_cred_handle,
+ &exts);
+- if (major_status == GSS_S_COMPLETE) {
+- *context_handle = ctx->gssc;
+- ctx->gssc = NULL;
+- iakerb_release_context(ctx);
+- }
++ if (major_status == GSS_S_COMPLETE)
++ ctx->established = 1;
+ if (mech_type != NULL)
+ *mech_type = (gss_OID)gss_mech_krb5;
+ }
+@@ -897,7 +885,7 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
+ int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
+
+ if (initialContextToken) {
+- code = iakerb_alloc_context(&ctx);
++ code = iakerb_alloc_context(&ctx, 1);
+ if (code != 0) {
+ *minor_status = code;
+ goto cleanup;
+@@ -983,11 +971,8 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
+ ret_flags,
+ time_rec,
+ &exts);
+- if (major_status == GSS_S_COMPLETE) {
+- *context_handle = ctx->gssc;
+- ctx->gssc = GSS_C_NO_CONTEXT;
+- iakerb_release_context(ctx);
+- }
++ if (major_status == GSS_S_COMPLETE)
++ ctx->established = 1;
+ if (actual_mech_type != NULL)
+ *actual_mech_type = (gss_OID)gss_mech_krb5;
+ } else {
+@@ -1010,3 +995,309 @@ cleanup:
+
+ return major_status;
+ }
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_buffer_t input_message_buffer,
++ gss_buffer_t output_message_buffer, int *conf_state,
++ gss_qop_t *qop_state)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_unwrap(minor_status, ctx->gssc, input_message_buffer,
++ output_message_buffer, conf_state, qop_state);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int conf_req_flag, gss_qop_t qop_req,
++ gss_buffer_t input_message_buffer, int *conf_state,
++ gss_buffer_t output_message_buffer)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_wrap(minor_status, ctx->gssc, conf_req_flag, qop_req,
++ input_message_buffer, conf_state,
++ output_message_buffer);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_process_context_token(OM_uint32 *minor_status,
++ const gss_ctx_id_t context_handle,
++ const gss_buffer_t token_buffer)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_DEFECTIVE_TOKEN;
++
++ return krb5_gss_process_context_token(minor_status, ctx->gssc,
++ token_buffer);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ OM_uint32 *time_rec)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_context_time(minor_status, ctx->gssc, time_rec);
++}
++
++#ifndef LEAN_CLIENT
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_export_sec_context(OM_uint32 *minor_status,
++ gss_ctx_id_t *context_handle,
++ gss_buffer_t interprocess_token)
++{
++ OM_uint32 maj;
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ /* We don't currently support exporting partially established contexts. */
++ if (!ctx->established)
++ return GSS_S_UNAVAILABLE;
++
++ maj = krb5_gss_export_sec_context(minor_status, &ctx->gssc,
++ interprocess_token);
++ if (ctx->gssc == GSS_C_NO_CONTEXT) {
++ iakerb_release_context(ctx);
++ *context_handle = GSS_C_NO_CONTEXT;
++ }
++ return maj;
++}
++
++/*
++ * Until we implement partial context exports, there are no SPNEGO exported
++ * context tokens, only tokens for the underlying krb5 context. So we do not
++ * need to implement an iakerb_gss_import_sec_context() yet; it would be
++ * unreachable except via a manually constructed token.
++ */
++
++#endif /* LEAN_CLIENT */
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_context(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, gss_name_t *src_name,
++ gss_name_t *targ_name, OM_uint32 *lifetime_rec,
++ gss_OID *mech_type, OM_uint32 *ctx_flags,
++ int *initiate, int *opened)
++{
++ OM_uint32 ret;
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (src_name != NULL)
++ *src_name = GSS_C_NO_NAME;
++ if (targ_name != NULL)
++ *targ_name = GSS_C_NO_NAME;
++ if (lifetime_rec != NULL)
++ *lifetime_rec = 0;
++ if (mech_type != NULL)
++ *mech_type = (gss_OID)gss_mech_iakerb;
++ if (ctx_flags != NULL)
++ *ctx_flags = 0;
++ if (initiate != NULL)
++ *initiate = ctx->initiate;
++ if (opened != NULL)
++ *opened = ctx->established;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_COMPLETE;
++
++ ret = krb5_gss_inquire_context(minor_status, ctx->gssc, src_name,
++ targ_name, lifetime_rec, mech_type,
++ ctx_flags, initiate, opened);
++
++ if (!ctx->established) {
++ /* Report IAKERB as the mech OID until the context is established. */
++ if (mech_type != NULL)
++ *mech_type = (gss_OID)gss_mech_iakerb;
++
++ /* We don't support exporting partially-established contexts. */
++ if (ctx_flags != NULL)
++ *ctx_flags &= ~GSS_C_TRANS_FLAG;
++ }
++
++ return ret;
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, int conf_req_flag,
++ gss_qop_t qop_req, OM_uint32 req_output_size,
++ OM_uint32 *max_input_size)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_wrap_size_limit(minor_status, ctx->gssc, conf_req_flag,
++ qop_req, req_output_size, max_input_size);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_qop_t qop_req, gss_buffer_t message_buffer,
++ gss_buffer_t message_token)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_get_mic(minor_status, ctx->gssc, qop_req, message_buffer,
++ message_token);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
++ gss_qop_t *qop_state)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_verify_mic(minor_status, ctx->gssc, msg_buffer,
++ token_buffer, qop_state);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
++ const gss_ctx_id_t context_handle,
++ const gss_OID desired_object,
++ gss_buffer_set_t *data_set)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_UNAVAILABLE;
++
++ return krb5_gss_inquire_sec_context_by_oid(minor_status, ctx->gssc,
++ desired_object, data_set);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
++ gss_ctx_id_t *context_handle,
++ const gss_OID desired_object,
++ const gss_buffer_t value)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle;
++
++ if (ctx == NULL || ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_UNAVAILABLE;
++
++ return krb5_gss_set_sec_context_option(minor_status, &ctx->gssc,
++ desired_object, value);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int conf_req_flag, gss_qop_t qop_req, int *conf_state,
++ gss_iov_buffer_desc *iov, int iov_count)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_wrap_iov(minor_status, ctx->gssc, conf_req_flag, qop_req,
++ conf_state, iov, iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int *conf_state, gss_qop_t *qop_state,
++ gss_iov_buffer_desc *iov, int iov_count)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_unwrap_iov(minor_status, ctx->gssc, conf_state, qop_state,
++ iov, iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, int conf_req_flag,
++ gss_qop_t qop_req, int *conf_state,
++ gss_iov_buffer_desc *iov, int iov_count)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_wrap_iov_length(minor_status, ctx->gssc, conf_req_flag,
++ qop_req, conf_state, iov, iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ int prf_key, const gss_buffer_t prf_in,
++ ssize_t desired_output_len, gss_buffer_t prf_out)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_pseudo_random(minor_status, ctx->gssc, prf_key, prf_in,
++ desired_output_len, prf_out);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_qop_t qop_req, gss_iov_buffer_desc *iov,
++ int iov_count)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_get_mic_iov(minor_status, ctx->gssc, qop_req, iov,
++ iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++ gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
++ int iov_count)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_verify_mic_iov(minor_status, ctx->gssc, qop_state, iov,
++ iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
++ gss_ctx_id_t context_handle, gss_qop_t qop_req,
++ gss_iov_buffer_desc *iov, int iov_count)
++{
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++ if (ctx->gssc == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
++
++ return krb5_gss_get_mic_iov_length(minor_status, ctx->gssc, qop_req, iov,
++ iov_count);
++}
diff --git a/gnu/packages/patches/mit-krb5-CVE-2015-2697.patch b/gnu/packages/patches/mit-krb5-CVE-2015-2697.patch
new file mode 100644
index 0000000000..f65ce39623
--- /dev/null
+++ b/gnu/packages/patches/mit-krb5-CVE-2015-2697.patch
@@ -0,0 +1,55 @@
+Copied from Debian.
+
+From fcafb522a0509bfd6f4f6b57e4a1e93c0092eeb0 Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Fri, 25 Sep 2015 12:51:47 -0400
+Subject: Fix build_principal memory bug [CVE-2015-2697]
+
+In build_principal_va(), use k5memdup0() instead of strdup() to make a
+copy of the realm, to ensure that we allocate the correct number of
+bytes and do not read past the end of the input string. This bug
+affects krb5_build_principal(), krb5_build_principal_va(), and
+krb5_build_principal_alloc_va(). krb5_build_principal_ext() is not
+affected.
+
+CVE-2015-2697:
+
+In MIT krb5 1.7 and later, an authenticated attacker may be able to
+cause a KDC to crash using a TGS request with a large realm field
+beginning with a null byte. If the KDC attempts to find a referral to
+answer the request, it constructs a principal name for lookup using
+krb5_build_principal() with the requested realm. Due to a bug in this
+function, the null byte causes only one byte be allocated for the
+realm field of the constructed principal, far less than its length.
+Subsequent operations on the lookup principal may cause a read beyond
+the end of the mapped memory region, causing the KDC process to crash.
+
+CVSSv2: AV:N/AC:L/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C
+
+ticket: 8252 (new)
+target_version: 1.14
+tags: pullup
+
+(cherry picked from commit f0c094a1b745d91ef2f9a4eae2149aac026a5789)
+Patch-Category: upstream
+---
+ src/lib/krb5/krb/bld_princ.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/lib/krb5/krb/bld_princ.c b/src/lib/krb5/krb/bld_princ.c
+index ab6fed8..8604268 100644
+--- a/src/lib/krb5/krb/bld_princ.c
++++ b/src/lib/krb5/krb/bld_princ.c
+@@ -40,10 +40,8 @@ build_principal_va(krb5_context context, krb5_principal princ,
+ data = malloc(size * sizeof(krb5_data));
+ if (!data) { retval = ENOMEM; }
+
+- if (!retval) {
+- r = strdup(realm);
+- if (!r) { retval = ENOMEM; }
+- }
++ if (!retval)
++ r = k5memdup0(realm, rlen, &retval);
+
+ while (!retval && (component = va_arg(ap, char *))) {
+ if (count == size) {
diff --git a/gnu/packages/patches/mit-krb5-CVE-2015-2698-pt1.patch b/gnu/packages/patches/mit-krb5-CVE-2015-2698-pt1.patch
new file mode 100644
index 0000000000..67545e4c16
--- /dev/null
+++ b/gnu/packages/patches/mit-krb5-CVE-2015-2698-pt1.patch
@@ -0,0 +1,43 @@
+Copied from Debian.
+
+From 1a8bdc6d81dcd7dd8a4d42e8de6d2cacf1dd4408 Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Tue, 27 Oct 2015 00:44:24 -0400
+Subject: Fix two IAKERB comments
+
+The comment explaining why there is no iakerb_gss_import_sec_context()
+erroneously referenced SPNEGO instead of IAKERB (noticed by Ben
+Kaduk). The comment above iakerb_gss_delete_sec_context() is out of
+date after the last commit.
+
+(cherry picked from commit 92d6dd045dfc06cc03d20b327a6ee7a71e6bc24d)
+
+Patch-Category: upstream
+---
+ src/lib/gssapi/krb5/iakerb.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c
+index 4662bd9..e25862d 100644
+--- a/src/lib/gssapi/krb5/iakerb.c
++++ b/src/lib/gssapi/krb5/iakerb.c
+@@ -727,10 +727,6 @@ cleanup:
+ return code;
+ }
+
+-/*
+- * Delete an IAKERB context. This can also accept Kerberos context
+- * handles. The heuristic is similar to SPNEGO's delete_sec_context.
+- */
+ OM_uint32 KRB5_CALLCONV
+ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
+ gss_ctx_id_t *context_handle,
+@@ -1077,7 +1073,7 @@ iakerb_gss_export_sec_context(OM_uint32 *minor_status,
+ }
+
+ /*
+- * Until we implement partial context exports, there are no SPNEGO exported
++ * Until we implement partial context exports, there are no IAKERB exported
+ * context tokens, only tokens for the underlying krb5 context. So we do not
+ * need to implement an iakerb_gss_import_sec_context() yet; it would be
+ * unreachable except via a manually constructed token.
diff --git a/gnu/packages/patches/mit-krb5-CVE-2015-2698-pt2.patch b/gnu/packages/patches/mit-krb5-CVE-2015-2698-pt2.patch
new file mode 100644
index 0000000000..8725cd4eed
--- /dev/null
+++ b/gnu/packages/patches/mit-krb5-CVE-2015-2698-pt2.patch
@@ -0,0 +1,132 @@
+Copied from Debian.
+
+From 4b330d5be1f8048be4d079ac3cb38d60c0e99e69 Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Wed, 4 Nov 2015 21:28:28 -0500
+Subject: Fix IAKERB context export/import [CVE-2015-2698]
+
+The patches for CVE-2015-2696 contained a regression in the newly
+added IAKERB iakerb_gss_export_sec_context() function, which could
+cause it to corrupt memory. Fix the regression by properly
+dereferencing the context_handle pointer before casting it.
+
+Also, the patches did not implement an IAKERB gss_import_sec_context()
+function, under the erroneous belief than an exported IAKERB context
+would be tagged as a krb5 context. Implement it now to allow IAKERB
+contexts to be successfully exported and imported after establishment.
+
+CVE-2015-2698:
+
+In any MIT krb5 release with the patches for CVE-2015-2696 applied, an
+application which calls gss_export_sec_context() may experience memory
+corruption if the context was established using the IAKERB mechanism.
+Historically, some vulnerabilities of this nature can be translated
+into remote code execution, though the necessary exploits must be
+tailored to the individual application and are usually quite
+complicated.
+
+ CVSSv2 Vector: AV:N/AC:H/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C
+
+ticket: 8273 (new)
+target_version: 1.14
+tags: pullup
+
+(cherry picked from commit d8b31c874c7d1039be7649362ef11c89f4e14c27)
+
+Patch-Category: upstream
+---
+ src/lib/gssapi/krb5/gssapiP_krb5.h | 5 +++++
+ src/lib/gssapi/krb5/gssapi_krb5.c | 2 +-
+ src/lib/gssapi/krb5/iakerb.c | 42 +++++++++++++++++++++++++++++++-------
+ 3 files changed, 41 insertions(+), 8 deletions(-)
+
+diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h
+index 05dc321..ac53662 100644
+--- a/src/lib/gssapi/krb5/gssapiP_krb5.h
++++ b/src/lib/gssapi/krb5/gssapiP_krb5.h
+@@ -1396,6 +1396,11 @@ OM_uint32 KRB5_CALLCONV
+ iakerb_gss_export_sec_context(OM_uint32 *minor_status,
+ gss_ctx_id_t *context_handle,
+ gss_buffer_t interprocess_token);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_import_sec_context(OM_uint32 *minor_status,
++ const gss_buffer_t interprocess_token,
++ gss_ctx_id_t *context_handle);
+ #endif /* LEAN_CLIENT */
+
+ OM_uint32 KRB5_CALLCONV
+diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c
+index 9a23656..d7ba279 100644
+--- a/src/lib/gssapi/krb5/gssapi_krb5.c
++++ b/src/lib/gssapi/krb5/gssapi_krb5.c
+@@ -945,7 +945,7 @@ static struct gss_config iakerb_mechanism = {
+ NULL,
+ #else
+ iakerb_gss_export_sec_context,
+- NULL,
++ iakerb_gss_import_sec_context,
+ #endif
+ krb5_gss_inquire_cred_by_mech,
+ krb5_gss_inquire_names_for_mech,
+diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c
+index e25862d..32a341e 100644
+--- a/src/lib/gssapi/krb5/iakerb.c
++++ b/src/lib/gssapi/krb5/iakerb.c
+@@ -1057,7 +1057,7 @@ iakerb_gss_export_sec_context(OM_uint32 *minor_status,
+ gss_buffer_t interprocess_token)
+ {
+ OM_uint32 maj;
+- iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle;
+
+ /* We don't currently support exporting partially established contexts. */
+ if (!ctx->established)
+@@ -1072,13 +1072,41 @@ iakerb_gss_export_sec_context(OM_uint32 *minor_status,
+ return maj;
+ }
+
+-/*
+- * Until we implement partial context exports, there are no IAKERB exported
+- * context tokens, only tokens for the underlying krb5 context. So we do not
+- * need to implement an iakerb_gss_import_sec_context() yet; it would be
+- * unreachable except via a manually constructed token.
+- */
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_import_sec_context(OM_uint32 *minor_status,
++ gss_buffer_t interprocess_token,
++ gss_ctx_id_t *context_handle)
++{
++ OM_uint32 maj, tmpmin;
++ krb5_error_code code;
++ gss_ctx_id_t gssc;
++ krb5_gss_ctx_id_t kctx;
++ iakerb_ctx_id_t ctx;
++
++ maj = krb5_gss_import_sec_context(minor_status, interprocess_token, &gssc);
++ if (maj != GSS_S_COMPLETE)
++ return maj;
++ kctx = (krb5_gss_ctx_id_t)gssc;
++
++ if (!kctx->established) {
++ /* We don't currently support importing partially established
++ * contexts. */
++ krb5_gss_delete_sec_context(&tmpmin, &gssc, GSS_C_NO_BUFFER);
++ return GSS_S_FAILURE;
++ }
+
++ code = iakerb_alloc_context(&ctx, kctx->initiate);
++ if (code != 0) {
++ krb5_gss_delete_sec_context(&tmpmin, &gssc, GSS_C_NO_BUFFER);
++ *minor_status = code;
++ return GSS_S_FAILURE;
++ }
++
++ ctx->gssc = gssc;
++ ctx->established = 1;
++ *context_handle = (gss_ctx_id_t)ctx;
++ return GSS_S_COMPLETE;
++}
+ #endif /* LEAN_CLIENT */
+
+ OM_uint32 KRB5_CALLCONV
diff --git a/gnu/packages/patches/mit-krb5-init-fix.patch b/gnu/packages/patches/mit-krb5-init-fix.patch
deleted file mode 100644
index 13e49c2789..0000000000
--- a/gnu/packages/patches/mit-krb5-init-fix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix the early context initialization code to avoid assuming that
-arguments will be evaluated from right to left.
-
-Patch by Mark H Weaver <mhw@netris.org>.
-
---- src/lib/krb5/krb/t_cc_config.c.orig 2012-12-17 21:47:05.000000000 -0500
-+++ src/lib/krb5/krb/t_cc_config.c 2013-10-29 18:19:16.547994590 -0400
-@@ -117,8 +117,8 @@
- int c;
- unsigned int i;
-
-- bail_on_err(context, "Error initializing Kerberos library",
-- krb5_init_context(&context));
-+ ret = krb5_init_context(&context);
-+ bail_on_err(context, "Error initializing Kerberos library", ret);
- bail_on_err(context, "Error getting location of default ccache",
- krb5_cc_default(context, &ccache));
- server = NULL;
diff --git a/gnu/packages/patches/mupen64plus-ui-console-notice.patch b/gnu/packages/patches/mupen64plus-ui-console-notice.patch
new file mode 100644
index 0000000000..1d0b4c46bb
--- /dev/null
+++ b/gnu/packages/patches/mupen64plus-ui-console-notice.patch
@@ -0,0 +1,34 @@
+Mupen64Plus supports a single data directory and a single plugin directory in
+its configuration, yet we need data and plugin files from a variety of
+packages. The best way to deal with this is to install all packages from
+which data and plugin files are needed into one's profile, and point the
+configuration there. Hence, the ui-console package provides propagated inputs
+for packages with the most important data and plugin files, and this patch
+provides the user instructions on what needs to be done in order to have
+Mupen64Plus find the relevant data and plugins.
+
+--- a/src/plugin.c
++++ b/src/plugin.c
+@@ -122,6 +122,22 @@ m64p_error PluginSearchLoad(m64p_handle ConfigUI)
+ {
+ const char *plugindir = (*ConfigGetParamString)(ConfigUI, "PluginDir");
+ lib_filelist = osal_library_search(plugindir);
++ /* Guix specific */
++ if (lib_filelist == NULL)
++ {
++ DebugMessage(M64MSG_ERROR, "No plugins found in PluginDir path: %s", plugindir);
++ DebugMessage(M64MSG_ERROR,
++ "\n\n"
++ "*********************************\n"
++ "*** Notice for GNU Guix users ***\n"
++ "*********************************\n"
++ "\n"
++ "You might want to edit your mupen64plus.cfg (in $XDG_CONFIG_HOME by default)\n"
++ "and set SharedDataPath to /path/to/my_guix_profile/share/mupen64plus and\n"
++ "PluginDir to /path/to/my_guix_profile/lib/mupen64plus so that data and plugins\n"
++ "are found.\n"
++ "\n");
++ }
+ }
+
+ /* if still no plugins found, search some common system folders */
diff --git a/gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch b/gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch
deleted file mode 100644
index f8318ae0f5..0000000000
--- a/gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-This patch has been submitted upstream: https://github.com/smithlabcode/preseq/pull/15
-
-From 65387b0d766e6c06a15cf8d8f9183d9a4ba644bb Mon Sep 17 00:00:00 2001
-From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
-Date: Thu, 25 Jun 2015 15:01:53 +0200
-Subject: [PATCH] Install to PREFIX
-
----
- Makefile | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 4d0367a..e334f2f 100644
---- a/preseq-master/Makefile
-+++ b/preseq-master/Makefile
-@@ -22,6 +22,10 @@ ifndef ROOT
- ROOT = $(shell pwd)
- endif
-
-+ifndef PREFIX
-+PREFIX = $(ROOT)
-+endif
-+
- ifndef SMITHLAB_CPP
- SMITHLAB_CPP=$(ROOT)/smithlab_cpp/
- endif
-@@ -91,8 +95,8 @@ endif
- $(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDEARGS) $(LIBS)
-
- install: $(PROGS)
-- @mkdir -p $(ROOT)/bin
-- @install -m 755 $(PROGS) $(ROOT)/bin
-+ @mkdir -p $(PREFIX)/bin
-+ @install -m 755 $(PROGS) $(PREFIX)/bin
-
- clean:
- @-rm -f $(PROGS) *.o *~
diff --git a/gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch b/gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch
deleted file mode 100644
index 035a3b1fe4..0000000000
--- a/gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-This patch has been submitted upstream: https://github.com/smithlabcode/preseq/pull/15
-
-From a937a54d56e8a6ff06237471e568154d1fa5f267 Mon Sep 17 00:00:00 2001
-From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
-Date: Thu, 25 Jun 2015 15:02:35 +0200
-Subject: [PATCH] Link with libbam.a if provided via LIBBAM
-
----
- Makefile | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index e334f2f..de310e4 100644
---- a/preseq-master/Makefile
-+++ b/preseq-master/Makefile
-@@ -83,10 +83,17 @@ $(PROGS): $(addprefix $(SMITHLAB_CPP)/, \
- preseq: continued_fraction.o load_data_for_complexity.o moment_sequence.o
-
- ifdef SAMTOOLS_DIR
-+ifdef LIBBAM
-+LIBS += -pthread
-+bam2mr preseq: $(addprefix $(SMITHLAB_CPP)/, SAM.o) \
-+ $(LIBBAM)
-+else
- bam2mr preseq: $(addprefix $(SMITHLAB_CPP)/, SAM.o) \
- $(addprefix $(SAMTOOLS_DIR)/, sam.o bam.o bam_import.o bam_pileup.o \
- faidx.o bam_aux.o kstring.o knetfile.o sam_header.o razf.o bgzf.o)
- endif
-+endif # SAMTOOLS_DIR
-+
-
- %.o: %.cpp %.hpp
- $(CXX) $(CXXFLAGS) -c -o $@ $< $(INCLUDEARGS)
diff --git a/gnu/packages/patches/python-2-deterministic-build-info.patch b/gnu/packages/patches/python-2-deterministic-build-info.patch
new file mode 100644
index 0000000000..25a079fe90
--- /dev/null
+++ b/gnu/packages/patches/python-2-deterministic-build-info.patch
@@ -0,0 +1,17 @@
+Always provide the same date and time in 'Py_GetBuildInfo'.
+This is the information shown at the REPL and in 'sys.version'.
+We cannot pass it in CPPFLAGS due to whitespace in the DATE string.
+
+--- a/Modules/getbuildinfo.c
++++ b/Modules/getbuildinfo.c
+@@ -4,6 +4,10 @@
+ #include <stdio.h>
+ #endif
+
++/* Deterministic date and time. */
++#define DATE "Jan 1 1970"
++#define TIME "00:00:01"
++
+ #ifndef DATE
+ #ifdef __DATE__
+ #define DATE __DATE__
diff --git a/gnu/packages/patches/python-2.7-source-date-epoch.patch b/gnu/packages/patches/python-2.7-source-date-epoch.patch
new file mode 100644
index 0000000000..be1f8e010e
--- /dev/null
+++ b/gnu/packages/patches/python-2.7-source-date-epoch.patch
@@ -0,0 +1,33 @@
+Honor the 'SOURCE_DATE_EPOCH' environment variable to allow for
+determinitic builds.
+
+--- a/Lib/py_compile.py
++++ b/Lib/py_compile.py
+@@ -105,7 +105,10 @@ def compile(file, cfile=None, dfile=None, doraise=False):
+ """
+ with open(file, 'U') as f:
+ try:
+- timestamp = long(os.fstat(f.fileno()).st_mtime)
++ if 'SOURCE_DATE_EPOCH' in os.environ:
++ timestamp = long(os.environ['SOURCE_DATE_EPOCH'])
++ else:
++ timestamp = long(os.fstat(f.fileno()).st_mtime)
+ except AttributeError:
+ timestamp = long(os.stat(file).st_mtime)
+ codestring = f.read()
+diff --git a/Python/import.c b/Python/import.c
+index e47ce63..7eecf9c 100644
+--- a/Python/import.c
++++ b/Python/import.c
+@@ -945,6 +945,11 @@ write_compiled_module(PyCodeObject *co, char *cpathname, struct stat *srcstat, t
+ /* Now write the true mtime (as a 32-bit field) */
+ fseek(fp, 4L, 0);
+ assert(mtime <= 0xFFFFFFFF);
++ if (Py_GETENV("SOURCE_DATE_EPOCH") != NULL) {
++ const char *epoch = Py_GETENV("SOURCE_DATE_EPOCH");
++ mtime = atoi(epoch);
++ }
++
+ PyMarshal_WriteLongToFile((long)mtime, fp, Py_MARSHAL_VERSION);
+ fflush(fp);
+ fclose(fp);
diff --git a/gnu/packages/patches/python-3-deterministic-build-info.patch b/gnu/packages/patches/python-3-deterministic-build-info.patch
new file mode 100644
index 0000000000..22c372a0cf
--- /dev/null
+++ b/gnu/packages/patches/python-3-deterministic-build-info.patch
@@ -0,0 +1,17 @@
+Always provide the same date and time in 'Py_GetBuildInfo'.
+This is the information shown at the REPL and in 'sys.version'.
+We cannot pass it in CPPFLAGS due to whitespace in the DATE string.
+
+--- Modules/getbuildinfo.c
++++ Modules/getbuildinfo.c
+@@ -4,6 +4,10 @@
+ #include <stdio.h>
+ #endif
+
++/* Deterministic date and time. */
++#define DATE "Jan 1 1970"
++#define TIME "00:00:01"
++
+ #ifndef DATE
+ #ifdef __DATE__
+ #define DATE __DATE__
diff --git a/gnu/packages/patches/python-configobj-setuptools.patch b/gnu/packages/patches/python-configobj-setuptools.patch
new file mode 100644
index 0000000000..3f207ffd74
--- /dev/null
+++ b/gnu/packages/patches/python-configobj-setuptools.patch
@@ -0,0 +1,30 @@
+From 16fbc38f13e435b4e3e1a37d706e64e05bad4691 Mon Sep 17 00:00:00 2001
+From: Leo Famulari <leo@famulari.name>
+Date: Tue, 10 Nov 2015 23:09:24 -0500
+Subject: [PATCH] patch build to use setuptools
+
+---
+ setup.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index c6d57a6..27bf260 100644
+--- a/setup.py
++++ b/setup.py
+@@ -12,7 +12,12 @@
+ # http://opensource.org/licenses/BSD-3-Clause
+ import os
+ import sys
+-from distutils.core import setup
++
++try:
++ from setuptools import setup
++except ImportError:
++ from distutils.core import setup
++
+ # a simple import wouldn't work if we moved towards a package with __init__
+ from _version import __version__
+
+--
+2.6.2
+
diff --git a/gnu/packages/patches/scribus-qobject.patch b/gnu/packages/patches/scribus-qobject.patch
new file mode 100644
index 0000000000..91be932f1b
--- /dev/null
+++ b/gnu/packages/patches/scribus-qobject.patch
@@ -0,0 +1,17 @@
+See upstream bug report: http://bugs.scribus.net/view.php?id=13102
+
+scribus/sclayer.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scribus/sclayer.cpp b/scribus/sclayer.cpp
+index 502112b..4da7bd5 100644
+--- a/scribus/sclayer.cpp
++++ b/scribus/sclayer.cpp
+@@ -9,6 +9,7 @@ for which a new license (GPL+exception) is in place.
+
+ #include <QHash> //necessary to avoid msvc warnings induced by SCRIBUS_API on ScLayers + early instanciation of templates
+ #include <QVector> //necessary to avoid msvc warnings induced by SCRIBUS_API on ScLayers + early instanciation of templates
++#include <QObject>
+ #include <QtAlgorithms>
+
+ ScLayer::ScLayer(void)
diff --git a/gnu/packages/patches/synfig-build-fix.patch b/gnu/packages/patches/synfig-build-fix.patch
new file mode 100644
index 0000000000..3f6168e0fb
--- /dev/null
+++ b/gnu/packages/patches/synfig-build-fix.patch
@@ -0,0 +1,61 @@
+Allow Synfig to build in C++11 mode.
+
+Taken from here:
+https://projects.archlinux.org/svntogit/community.git/plain/trunk/build-fix.patch?h=packages/synfig
+
+diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.cpp synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.cpp
+--- synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.cpp 2015-03-28 13:15:00.000000000 +0300
++++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.cpp 2015-04-28 16:56:11.568749053 +0300
+@@ -56,8 +56,8 @@
+ /* === M E T H O D S ======================================================= */
+
+
+-Importer_LibAVCodec::Importer_LibAVCodec(const char *file):
+- filename(file)
++Importer_LibAVCodec::Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier):
++ Importer(identifier)
+ {
+ }
+
+diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.h synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.h
+--- synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.h 2015-03-28 13:15:00.000000000 +0300
++++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.h 2015-04-28 16:55:18.699192946 +0300
+@@ -46,7 +46,7 @@
+ synfig::String filename;
+
+ public:
+- Importer_LibAVCodec(const char *filename);
++ Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier);
+ ~Importer_LibAVCodec();
+
+ virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
+diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/trgt_av.cpp synfig-1.0-RC5.my/src/modules/mod_libavcodec/trgt_av.cpp
+--- synfig-1.0-RC5/src/modules/mod_libavcodec/trgt_av.cpp 2015-03-28 13:15:00.000000000 +0300
++++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/trgt_av.cpp 2015-04-28 16:46:54.720091106 +0300
+@@ -121,14 +121,14 @@
+ picture = avcodec_alloc_frame();
+ if (!picture)
+ return NULL;
+- size = avpicture_get_size(pix_fmt, width, height);
++ size = avpicture_get_size((::PixelFormat)pix_fmt, width, height);
+ picture_buf = (uint8_t *)malloc(size);
+ if (!picture_buf) {
+ av_free(picture);
+ return NULL;
+ }
+ avpicture_fill((AVPicture *)picture, picture_buf,
+- pix_fmt, width, height);
++ (::PixelFormat)pix_fmt, width, height);
+ return picture;
+ }
+
+diff -wbBur synfig-1.0.2/src/synfig/time.cpp synfig-1.0.2.my/src/synfig/time.cpp
+--- synfig-1.0.2/src/synfig/time.cpp 2015-07-09 10:33:03.000000000 +0300
++++ synfig-1.0.2.my/src/synfig/time.cpp 2015-10-12 13:54:58.382313903 +0300
+@@ -319,5 +319,5 @@
+ bool
+ Time::is_valid()const
+ {
+- return !isnan(value_);
++ return !::isnan(value_);
+ }
diff --git a/gnu/packages/patches/tcl-mkindex-deterministic.patch b/gnu/packages/patches/tcl-mkindex-deterministic.patch
new file mode 100644
index 0000000000..2fcef6a4f7
--- /dev/null
+++ b/gnu/packages/patches/tcl-mkindex-deterministic.patch
@@ -0,0 +1,29 @@
+This patch ensures that the 'tclIndex' files generated by 'auto_mkindex'
+are sorted in a deterministic fashion.
+
+Fixes a non-determinism issue reported
+at <https://lists.gnu.org/archive/html/guix-devel/2015-10/msg00696.html>.
+
+--- tcl8.6.4/library/auto.tcl 2015-02-26 17:57:28.000000000 +0100
++++ tcl8.6.4/library/auto.tcl 2015-11-13 23:18:34.964831717 +0100
+@@ -207,6 +207,9 @@ proc auto_mkindex {dir args} {
+ set args *.tcl
+ }
+
++ # Keep file names sorted in a determistic order.
++ set args [lsort -ascii $args]
++
+ auto_mkindex_parser::init
+ foreach file [glob -- {*}$args] {
+ try {
+@@ -241,6 +244,10 @@ proc auto_mkindex_old {dir args} {
+ if {![llength $args]} {
+ set args *.tcl
+ }
++
++ # Keep file names sorted in a determistic order.
++ set args [lsort -ascii $args]
++
+ foreach file [glob -- {*}$args] {
+ set f ""
+ set error [catch {
diff --git a/gnu/packages/patches/tinyxml-use-stl.patch b/gnu/packages/patches/tinyxml-use-stl.patch
new file mode 100644
index 0000000000..5d8aa899a9
--- /dev/null
+++ b/gnu/packages/patches/tinyxml-use-stl.patch
@@ -0,0 +1,41 @@
+From a53b6ee4519a7657164610ac14a82c57b1273bf6 Mon Sep 17 00:00:00 2001
+From: David Thompson <dthompson2@worcester.edu>
+Date: Mon, 23 Nov 2015 06:54:36 -0500
+Subject: [PATCH] Use STL.
+
+Software that uses the shared library, such as Kodi, assume that TinyXML was
+compiled with STL activated.
+
+---
+ tinyxml.h | 2 ++
+ xmltest.cpp | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/tinyxml.h b/tinyxml.h
+index a3589e5..6cbfc7d 100644
+--- a/tinyxml.h
++++ b/tinyxml.h
+@@ -43,6 +43,8 @@ distribution.
+ #define DEBUG
+ #endif
+
++#define TIXML_USE_STL 1
++
+ #ifdef TIXML_USE_STL
+ #include <string>
+ #include <iostream>
+diff --git a/xmltest.cpp b/xmltest.cpp
+index 663c157..057dbfe 100644
+--- a/xmltest.cpp
++++ b/xmltest.cpp
+@@ -2,6 +2,7 @@
+ Test program for TinyXML.
+ */
+
++#define TIXML_USE_STL 1
+
+ #ifdef TIXML_USE_STL
+ #include <iostream>
+--
+2.5.0
+
diff --git a/gnu/packages/patches/tk-find-library.patch b/gnu/packages/patches/tk-find-library.patch
new file mode 100644
index 0000000000..70911bf0d2
--- /dev/null
+++ b/gnu/packages/patches/tk-find-library.patch
@@ -0,0 +1,29 @@
+This patch hard-codes the Tk library directory during package initialization.
+
+See <http://core.tcl.tk/tk/tktview/765642ffffffffffffff>.
+
+diff --git a/generic/tkWindow.c b/generic/tkWindow.c
+index b5cbbab..96b5501 100644
+--- a/generic/tkWindow.c
++++ b/generic/tkWindow.c
+@@ -988,6 +988,7 @@ TkCreateMainWindow(
+
+ Tcl_SetVar2(interp, "tk_patchLevel", NULL, TK_PATCH_LEVEL, TCL_GLOBAL_ONLY);
+ Tcl_SetVar2(interp, "tk_version", NULL, TK_VERSION, TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp, "tk_library", NULL, TK_LIBRARY, TCL_GLOBAL_ONLY);
+
+ tsdPtr->numMainWindows++;
+ return tkwin;
+diff --git a/unix/Makefile.in b/unix/Makefile.in
+index f21fdbb..c61b0df 100644
+--- a/unix/Makefile.in
++++ b/unix/Makefile.in
+@@ -1029,7 +1029,7 @@ tkVisual.o: $(GENERIC_DIR)/tkVisual.c
+ $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c
+
+ tkWindow.o: $(GENERIC_DIR)/tkWindow.c
+- $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c
++ $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" $(GENERIC_DIR)/tkWindow.c
+
+ tkButton.o: $(GENERIC_DIR)/tkButton.c
+ $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c
diff --git a/gnu/packages/patches/torsocks-dns-test.patch b/gnu/packages/patches/torsocks-dns-test.patch
new file mode 100644
index 0000000000..ba70ba5933
--- /dev/null
+++ b/gnu/packages/patches/torsocks-dns-test.patch
@@ -0,0 +1,18 @@
+Skip DNS tests that rely on the ability to look up arbitary
+host names.
+
+--- torsocks/tests/test_dns.c 2015-11-10 18:30:53.955941984 +0100
++++ torsocks/tests/test_dns.c 2015-11-10 18:31:02.199941892 +0100
+@@ -134,11 +134,8 @@ static void test_getaddrinfo(const struc
+ int main(int argc, char **argv)
+ {
+ /* Libtap call for the number of tests planned. */
+- plan_tests(NUM_TESTS);
++ plan_tests(1);
+
+- test_getaddrinfo(&tor_check);
+- test_gethostbyname(&tor_dir_auth1);
+- test_gethostbyaddr(&tor_dir_auth2);
+ test_getaddrinfo(&tor_localhost);
+
+ return 0;
diff --git a/gnu/packages/patches/weechat-python.patch b/gnu/packages/patches/weechat-python.patch
new file mode 100644
index 0000000000..8182636ecb
--- /dev/null
+++ b/gnu/packages/patches/weechat-python.patch
@@ -0,0 +1,40 @@
+Get Python LDFLAGS from 'pkg-config'.
+
+The other approach is more complex and gets it wrong: it returns
+"-L/path/to/python/lib/python-2.7.10/lib/python2.7/config -lpython -lwhatever";
+since that config/ sub-directory contains libpython2.7.a, we end up
+statically linking Python in Weechat's python.so, which we do not want.
+
+--- weechat-1.3/configure.ac 2015-08-16 08:27:07.000000000 +0200
++++ weechat-1.3/configure.ac 2015-11-29 18:18:52.975197048 +0100
+@@ -535,29 +535,7 @@ if test "x$enable_python" = "xyes" ; the
+ if test -r "$PYTHON_INCLUDE/Python.h"; then
+ PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
+ AC_MSG_RESULT(found)
+- PYTHON_LIB=`$PYTHON -c "import sys, distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_config_var('LIBPL'))"`
+- PYTHON_LFLAGS="-lpython$PYTHON_VERSION "`$PYTHON -c "import sys, distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_config_var('LIBS')+' '+distutils.sysconfig.get_config_var('SYSLIBS')+' '+distutils.sysconfig.get_config_var('LINKFORSHARED'))"`
+- AC_MSG_CHECKING(for Python library)
+- if test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.so"; then
+- PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
+- AC_MSG_RESULT(found)
+- elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.a"; then
+- PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
+- AC_MSG_RESULT(found)
+- elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.dll.a"; then
+- PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
+- AC_MSG_RESULT(found)
+- elif test -r "$PYTHON_SYSPREFIX/lib/libpython$PYTHON_VERSION.so"; then
+- PYTHON_LFLAGS="-L$PYTHON_SYSPREFIX/lib/ $PYTHON_LFLAGS"
+- AC_MSG_RESULT(found)
+- else
+- AC_MSG_WARN([
+-*** Python library couldn't be found on your system.
+-*** Try to install it with your software package manager.
+-*** WeeChat will be built without Python support.])
+- enable_python="no"
+- not_found="$not_found python"
+- fi
++ PYTHON_LFLAGS=`pkg-config python2 --libs`
+ else
+ AC_MSG_WARN([
+ *** Python header files couldn't be found on your system.
diff --git a/gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch b/gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch
new file mode 100644
index 0000000000..00e5b7c771
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch
@@ -0,0 +1,32 @@
+From 6b12d93d2c7428a34bfd4b3813ba339ed57b698a Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 25 Oct 2015 15:45:50 +0200
+Subject: [PATCH] WNM: Ignore Key Data in WNM Sleep Mode Response frame if no
+ PMF in use
+
+WNM Sleep Mode Response frame is used to update GTK/IGTK only if PMF is
+enabled. Verify that PMF is in use before using this field on station
+side to avoid accepting unauthenticated key updates. (CVE-2015-5310)
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ wpa_supplicant/wnm_sta.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c
+index 954de67..7d79499 100644
+--- a/wpa_supplicant/wnm_sta.c
++++ b/wpa_supplicant/wnm_sta.c
+@@ -187,6 +187,12 @@ static void wnm_sleep_mode_exit_success(struct wpa_supplicant *wpa_s,
+ end = ptr + key_len_total;
+ wpa_hexdump_key(MSG_DEBUG, "WNM: Key Data", ptr, key_len_total);
+
++ if (key_len_total && !wpa_sm_pmf_enabled(wpa_s->wpa)) {
++ wpa_msg(wpa_s, MSG_INFO,
++ "WNM: Ignore Key Data in WNM-Sleep Mode Response - PMF not enabled");
++ return;
++ }
++
+ while (ptr + 1 < end) {
+ if (ptr + 2 + ptr[1] > end) {
+ wpa_printf(MSG_DEBUG, "WNM: Invalid Key Data element "
diff --git a/gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch b/gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch
new file mode 100644
index 0000000000..bfc4c74e95
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch
@@ -0,0 +1,51 @@
+From bef802ece03f9ae9d52a21f0cf4f1bc2c5a1f8aa Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Nov 2015 18:24:16 +0200
+Subject: [PATCH] EAP-pwd server: Fix last fragment length validation
+
+All but the last fragment had their length checked against the remaining
+room in the reassembly buffer. This allowed a suitably constructed last
+fragment frame to try to add extra data that would go beyond the buffer.
+The length validation code in wpabuf_put_data() prevents an actual
+buffer write overflow from occurring, but this results in process
+termination. (CVE-2015-5314)
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_server/eap_server_pwd.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/eap_server/eap_server_pwd.c b/src/eap_server/eap_server_pwd.c
+index cb83ff7..9f787ab 100644
+--- a/src/eap_server/eap_server_pwd.c
++++ b/src/eap_server/eap_server_pwd.c
+@@ -970,7 +970,7 @@ static void eap_pwd_process(struct eap_sm *sm, void *priv,
+ /*
+ * the first and all intermediate fragments have the M bit set
+ */
+- if (EAP_PWD_GET_MORE_BIT(lm_exch)) {
++ if (EAP_PWD_GET_MORE_BIT(lm_exch) || data->in_frag_pos) {
+ if ((data->in_frag_pos + len) > wpabuf_size(data->inbuf)) {
+ wpa_printf(MSG_DEBUG, "EAP-pwd: Buffer overflow "
+ "attack detected! (%d+%d > %d)",
+@@ -981,6 +981,8 @@ static void eap_pwd_process(struct eap_sm *sm, void *priv,
+ }
+ wpabuf_put_data(data->inbuf, pos, len);
+ data->in_frag_pos += len;
++ }
++ if (EAP_PWD_GET_MORE_BIT(lm_exch)) {
+ wpa_printf(MSG_DEBUG, "EAP-pwd: Got a %d byte fragment",
+ (int) len);
+ return;
+@@ -990,8 +992,6 @@ static void eap_pwd_process(struct eap_sm *sm, void *priv,
+ * buffering fragments so that's how we know it's the last)
+ */
+ if (data->in_frag_pos) {
+- wpabuf_put_data(data->inbuf, pos, len);
+- data->in_frag_pos += len;
+ pos = wpabuf_head_u8(data->inbuf);
+ len = data->in_frag_pos;
+ wpa_printf(MSG_DEBUG, "EAP-pwd: Last fragment, %d bytes",
+--
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch b/gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch
new file mode 100644
index 0000000000..82c26398b6
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch
@@ -0,0 +1,54 @@
+From 8057821706784608b828e769ccefbced95591e50 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Nov 2015 18:18:17 +0200
+Subject: [PATCH] EAP-pwd peer: Fix last fragment length validation
+
+All but the last fragment had their length checked against the remaining
+room in the reassembly buffer. This allowed a suitably constructed last
+fragment frame to try to add extra data that would go beyond the buffer.
+The length validation code in wpabuf_put_data() prevents an actual
+buffer write overflow from occurring, but this results in process
+termination. (CVE-2015-5315)
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_peer/eap_pwd.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/eap_peer/eap_pwd.c b/src/eap_peer/eap_pwd.c
+index 1f78544..75ceef1 100644
+--- a/src/eap_peer/eap_pwd.c
++++ b/src/eap_peer/eap_pwd.c
+@@ -903,7 +903,7 @@ eap_pwd_process(struct eap_sm *sm, void *priv, struct eap_method_ret *ret,
+ /*
+ * buffer and ACK the fragment
+ */
+- if (EAP_PWD_GET_MORE_BIT(lm_exch)) {
++ if (EAP_PWD_GET_MORE_BIT(lm_exch) || data->in_frag_pos) {
+ data->in_frag_pos += len;
+ if (data->in_frag_pos > wpabuf_size(data->inbuf)) {
+ wpa_printf(MSG_INFO, "EAP-pwd: Buffer overflow attack "
+@@ -916,7 +916,8 @@ eap_pwd_process(struct eap_sm *sm, void *priv, struct eap_method_ret *ret,
+ return NULL;
+ }
+ wpabuf_put_data(data->inbuf, pos, len);
+-
++ }
++ if (EAP_PWD_GET_MORE_BIT(lm_exch)) {
+ resp = eap_msg_alloc(EAP_VENDOR_IETF, EAP_TYPE_PWD,
+ EAP_PWD_HDR_SIZE,
+ EAP_CODE_RESPONSE, eap_get_id(reqData));
+@@ -930,10 +931,8 @@ eap_pwd_process(struct eap_sm *sm, void *priv, struct eap_method_ret *ret,
+ * we're buffering and this is the last fragment
+ */
+ if (data->in_frag_pos) {
+- wpabuf_put_data(data->inbuf, pos, len);
+ wpa_printf(MSG_DEBUG, "EAP-pwd: Last fragment, %d bytes",
+ (int) len);
+- data->in_frag_pos += len;
+ pos = wpabuf_head_u8(data->inbuf);
+ len = data->in_frag_pos;
+ }
+--
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch b/gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch
new file mode 100644
index 0000000000..3088f6a6dc
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch
@@ -0,0 +1,34 @@
+From 95577884ca4fa76be91344ff7a8d5d1e6dc3da61 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Nov 2015 19:35:44 +0200
+Subject: [PATCH] EAP-pwd peer: Fix error path for unexpected Confirm message
+
+If the Confirm message is received from the server before the Identity
+exchange has been completed, the group has not yet been determined and
+data->grp is NULL. The error path in eap_pwd_perform_confirm_exchange()
+did not take this corner case into account and could end up
+dereferencing a NULL pointer and terminating the process if invalid
+message sequence is received. (CVE-2015-5316)
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_peer/eap_pwd.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/eap_peer/eap_pwd.c b/src/eap_peer/eap_pwd.c
+index 75ceef1..892b590 100644
+--- a/src/eap_peer/eap_pwd.c
++++ b/src/eap_peer/eap_pwd.c
+@@ -774,7 +774,8 @@ eap_pwd_perform_confirm_exchange(struct eap_sm *sm, struct eap_pwd_data *data,
+ wpabuf_put_data(data->outbuf, conf, SHA256_MAC_LEN);
+
+ fin:
+- bin_clear_free(cruft, BN_num_bytes(data->grp->prime));
++ if (data->grp)
++ bin_clear_free(cruft, BN_num_bytes(data->grp->prime));
+ BN_clear_free(x);
+ BN_clear_free(y);
+ if (data->outbuf == NULL) {
+--
+1.9.1
+
diff --git a/gnu/packages/patches/xfce4-session-fix-xflock4.patch b/gnu/packages/patches/xfce4-session-fix-xflock4.patch
new file mode 100644
index 0000000000..74769e4257
--- /dev/null
+++ b/gnu/packages/patches/xfce4-session-fix-xflock4.patch
@@ -0,0 +1,31 @@
+From cbb9c769316b4d32956a2c78aa01a38b473f0cfc Mon Sep 17 00:00:00 2001
+From: David Thompson <dthompson2@worcester.edu>
+Date: Fri, 30 Oct 2015 08:30:43 -0400
+Subject: [PATCH] xflock4: Do not override PATH with hardcoded value.
+
+The PATH "/bin:/usr/bin" may not be a valid search path on the user's
+machine. The screen locking program may be in /usr/local/bin or
+elsewhere. Distros that do not conform to the FHS, such as GuixSD and
+NixOS, will not have their executables in either location. Thus, we
+simply leave PATH alone.
+---
+ scripts/xflock4 | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/scripts/xflock4 b/scripts/xflock4
+index ec4d05d..e7981ac 100644
+--- a/scripts/xflock4
++++ b/scripts/xflock4
+@@ -21,9 +21,6 @@
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ #
+
+-PATH=/bin:/usr/bin
+-export PATH
+-
+ # Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
+ for lock_cmd in \
+ "xscreensaver-command -lock" \
+--
+2.5.0
+
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index d07e434190..5d6618a9ec 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,14 +29,18 @@
(define-public pcre
(package
(name "pcre")
- (version "8.37")
+ (version "8.38")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/pcre/pcre/"
- version "/pcre-" version ".tar.bz2"))
+ (uri (list
+ (string-append "ftp://ftp.csx.cam.ac.uk"
+ "/pub/software/programming/pcre/"
+ "pcre-" version ".tar.bz2")
+ (string-append "mirror://sourceforge/pcre/pcre/"
+ version "/pcre-" version ".tar.bz2")))
(sha256
(base32
- "17bqykp604p7376wj3q2nmjdhrb6v1ny8q08zdwi7qvc02l9wrsi"))))
+ "1pvra19ljkr5ky35y2iywjnsckrs9ch2anrf5b0dc91hw8v2vq5r"))))
(build-system gnu-build-system)
(inputs `(("bzip2" ,bzip2)
("readline" ,readline)
@@ -57,3 +62,37 @@ own native API, as well as a set of wrapper functions that correspond to the
POSIX regular expression API.")
(license license:bsd-3)
(home-page "http://www.pcre.org/")))
+
+(define-public pcre2
+ (package
+ (name "pcre2")
+ (version "10.20")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/pcre/pcre2/"
+ version "/pcre2-" version ".tar.bz2"))
+
+ (sha256
+ (base32
+ "0yj8mm9ll9zj3v47rvmmqmr1ybxk72rr2lym3rymdsf905qjhbik"))))
+ (build-system gnu-build-system)
+ (inputs `(("bzip2" ,bzip2)
+ ("readline" ,readline)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:configure-flags '("--enable-unicode"
+ "--enable-pcregrep-libz"
+ "--enable-pcregrep-libbz2"
+ "--enable-pcretest-libreadline"
+ "--enable-unicode-properties"
+ "--enable-pcre2-16"
+ "--enable-pcre2-32"
+ "--enable-jit")))
+ (synopsis "Perl Compatible Regular Expressions")
+ (description
+ "The PCRE library is a set of functions that implement regular expression
+pattern matching using the same syntax and semantics as Perl 5. PCRE has its
+own native API, as well as a set of wrapper functions that correspond to the
+POSIX regular expression API.")
+ (license license:bsd-3)
+ (home-page "http://www.pcre.org/")))
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 03ed5113b1..4b30bf09d5 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -52,13 +52,13 @@
(define-public poppler
(package
(name "poppler")
- (version "0.36.0")
+ (version "0.37.0")
(source (origin
(method url-fetch)
(uri (string-append "http://poppler.freedesktop.org/poppler-"
version ".tar.xz"))
(sha256 (base32
- "13i440kv873wgmw50rs4d1v05cj0r7bqnghd70hp9vy44dxhdk4k"))))
+ "1vjvd0md8y37hlq3lsj0l01a3v3mzm572rzpn1311frvmrg9r7xq"))))
(build-system gnu-build-system)
;; FIXME: more dependencies could be added
;; cairo output: no (requires cairo >= 1.10.0)
@@ -68,7 +68,7 @@
;; use libcurl: no
(inputs `(("fontconfig" ,fontconfig)
("freetype" ,freetype)
- ("libjpeg-8" ,libjpeg-8)
+ ("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
("lcms" ,lcms)
@@ -87,8 +87,7 @@
(arguments
`(#:tests? #f ; no test data provided with the tarball
#:configure-flags
- '("--enable-libopenjpeg"
- "--enable-xpdf-headers" ; to install header files
+ '("--enable-xpdf-headers" ; to install header files
"--enable-zlib")
#:phases
(alist-cons-before
diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index 13db7b6e65..4cafb45d92 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -65,18 +65,16 @@
(substitute* "src/polkitbackend/polkitbackendjsauthority.c"
(("systemd") "elogind"))
- (substitute* "src/polkitagent/polkitagentsession.c"
- (("PACKAGE_PREFIX \"/lib/polkit-1/polkit-agent-helper-1\"")
- "\"/run/setuid-programs/polkit-agent-helper-1\""))
+ ;; GuixSD's polkit service stores actions under
+ ;; /etc/polkit-1/actions.
(substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
(("PACKAGE_DATA_DIR \"/polkit-1/actions\"")
- "\"/run/current-system/profile/share/polkit-1/actions\""))
- (substitute* "src/polkitbackend/polkitbackendjsauthority.c"
- (("PACKAGE_SYSCONF_DIR \"/polkit-1/rules.d\"")
- "\"/run/current-system/profile/etc/polkit-1/rules.d\""))
- (substitute* "src/polkitbackend/polkitbackendjsauthority.c"
- (("PACKAGE_DATA_DIR \"/polkit-1/rules.d\"")
- "\"/run/current-system/profile/share/polkit-1/rules.d\""))))))
+ "PACKAGE_SYSCONF_DIR \"/polkit-1/actions\""))
+
+ ;; Set the setuid helper's real location.
+ (substitute* "src/polkitagent/polkitagentsession.c"
+ (("PACKAGE_PREFIX \"/lib/polkit-1/polkit-agent-helper-1\"")
+ "\"/run/setuid-programs/polkit-agent-helper-1\""))))))
(build-system gnu-build-system)
(inputs
`(("expat" ,expat)
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 93055ecad3..fe976a92f4 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -27,7 +27,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages check)
- #:use-module (gnu packages gdbm)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libcanberra)
@@ -50,7 +50,10 @@
version ".tar.gz"))
(sha256
(base32
- "10j8mbb65xkyl0kfy0hpzpmrp0jkr12c7mfycqipxgka6ayns0ar"))))
+ "10j8mbb65xkyl0kfy0hpzpmrp0jkr12c7mfycqipxgka6ayns0ar"))
+ (patches
+ (map search-patch '("libsndfile-CVE-2014-9496.patch"
+ "libsndfile-CVE-2015-7805.patch")))))
(build-system gnu-build-system)
(inputs
`(("libvorbis" ,libvorbis)
@@ -202,6 +205,8 @@ sound server.")
(base32
"14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
(inputs
`(("libcanberra" ,libcanberra)
("gtkmm" ,gtkmm)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c972b62500..5880cac099 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -10,8 +10,12 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
+;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2015 Erik Edrosa <erik.edrosa@gmail.com>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,8 +43,8 @@
#:use-module (gnu packages backup)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
- #:use-module (gnu packages gdbm)
#:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
@@ -90,7 +94,12 @@
(sha256
(base32
"1h7zbrf9pkj29hlm18b10548ch9757f75m64l47sy75rh43p7lqw"))
- (patches (list (search-patch "python-2.7-search-paths.patch")))))
+ (patches (map search-patch
+ '("python-2.7-search-paths.patch"
+ "python-2-deterministic-build-info.patch"
+ "python-2.7-source-date-epoch.patch")))))
+ (outputs '("out"
+ "tk")) ;tkinter; adds 50 MiB to the closure
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@@ -141,8 +150,8 @@
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
- #:modules ((ice-9 ftw)
- ,@%gnu-build-system-modules)
+ #:modules ((ice-9 ftw) (ice-9 match)
+ (guix build utils) (guix build gnu-build-system))
#:phases
(modify-phases %standard-phases
(add-before
@@ -156,7 +165,28 @@
"Lib/distutils/tests/test_spawn.py"
"Lib/test/test_subprocess.py"))
(("/bin/sh") (which "sh")))
+
+ ;; Use zero as the timestamp in .pyc files so that builds are
+ ;; deterministic. TODO: Remove it when this variable is set in
+ ;; gnu-build-system.scm.
+ (setenv "SOURCE_DATE_EPOCH" "1")
#t))
+ (add-before 'configure 'do-not-record-configure-flags
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ ;; Remove configure flags from the installed '_sysconfigdata.py'
+ ;; and 'Makefile' so we don't end up keeping references to the
+ ;; build tools.
+ ;;
+ ;; Preserve at least '--with-system-ffi' since otherwise the
+ ;; thing tries to build libffi, fails, and we end up with a
+ ;; Python that lacks ctypes.
+ (substitute* "configure"
+ (("^CONFIG_ARGS=.*$")
+ (format #f "CONFIG_ARGS='~a'\n"
+ (if (member "--with-system-ffi" configure-flags)
+ "--with-system-ffi"
+ ""))))
+ #t))
(add-before
'check 'pre-check
(lambda _
@@ -174,7 +204,28 @@
(ftw "." (lambda (file stat flag)
(utime file circa-1980 circa-1980)
#t))
- #t))))))
+ #t)))
+ (add-after 'install 'move-tk-inter
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; When Tkinter support is built move it to a separate output so
+ ;; that the main output doesn't contain a reference to Tcl/Tk.
+ (let ((out (assoc-ref outputs "out"))
+ (tk (assoc-ref outputs "tk")))
+ (when tk
+ (match (find-files out "tkinter.*\\.so")
+ ((tkinter.so)
+ ;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we
+ ;; want it under TK/lib/pythonX.Y/site-packages.
+ (let* ((len (string-length out))
+ (target (string-append
+ tk "/"
+ (string-drop
+ (dirname (dirname tkinter.so))
+ len)
+ "/site-packages")))
+ (install-file tkinter.so target)
+ (delete-file tkinter.so)))))
+ #t))))))
(inputs
`(("bzip2" ,bzip2)
("gdbm" ,gdbm)
@@ -214,6 +265,7 @@ data types.")
'("python-fix-tests.patch"
;; XXX Try removing this patch for python > 3.4.3
"python-disable-ssl-test.patch"
+ "python-3-deterministic-build-info.patch"
"python-3-search-paths.patch")))
(patch-flags '("-p0"))
(sha256
@@ -234,23 +286,21 @@ data types.")
(define-public python2-minimal
(package (inherit python-2)
(name "python-minimal")
+ (outputs '("out"))
(arguments
(substitute-keyword-arguments (package-arguments python-2)
- ((#:configure-flags _)
- `(list "--enable-shared"
- (string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib")))))
+ ((#:configure-flags cf)
+ `(append ,cf '("--without-system-ffi")))))
(inputs '()))) ;none of the optional dependencies
(define-public python-minimal
(package (inherit python)
(name "python-minimal")
+ (outputs '("out"))
(arguments
(substitute-keyword-arguments (package-arguments python)
- ((#:configure-flags _)
- `(list "--enable-shared"
- (string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib")))))
+ ((#:configure-flags cf)
+ `(append ,cf '("--without-system-ffi")))))
;; OpenSSL is a mandatory dependency of Python 3.x, for urllib;
;; zlib is required by 'zipimport', used by pip.
@@ -262,6 +312,7 @@ data types.")
(name name)
(source #f)
(build-system trivial-build-system)
+ (outputs '("out"))
(propagated-inputs `(("python" ,python)))
(arguments
`(#:modules ((guix build utils))
@@ -413,9 +464,10 @@ John the Ripper).")
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)))
+ (propagated-inputs
+ `(("python-pycrypto" ,python-pycrypto)))
(inputs
- `(("python-ecdsa" ,python-ecdsa)
- ("python-pycrypto" ,python-pycrypto)))
+ `(("python-ecdsa" ,python-ecdsa)))
(home-page "http://www.paramiko.org/")
(synopsis "SSHv2 protocol library")
(description "Paramiko is a python implementation of the SSHv2 protocol,
@@ -522,23 +574,22 @@ Cassandra cluster on localhost.")
(define-public python-pytz
(package
(name "python-pytz")
- (version "2013b")
+ (version "2015.7")
(source
(origin
(method url-fetch)
- (uri (string-append "https://launchpad.net/pytz/main/" version
- "/+download/pytz-" version ".tar.bz2"))
+ (uri (pypi-uri "pytz" version))
(sha256
(base32
- "19giwgfcrg0nr1gdv49qnmf2jb2ilkcfc7qyqvfpz4dp0p64ksv5"))))
+ "1spgdfp1ssya7v3kww7zp71xpj437skpqazcvqr3kr1p1brnw9lr"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; no test target
- (home-page "https://launchpad.net/pytz")
+ (home-page "http://pythonhosted.org/pytz")
(synopsis "Python timezone library")
(description
"This library allows accurate and cross platform timezone calculations
using Python 2.4 or higher and provides access to the Olson timezone database.")
- (license x11)))
+ (license license:expat)))
(define-public python2-pytz
(package-with-python2 python-pytz))
@@ -547,15 +598,14 @@ using Python 2.4 or higher and provides access to the Olson timezone database.")
(define-public python-babel
(package
(name "python-babel")
- (version "1.3")
+ (version "2.1.1")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/B/Babel/Babel-"
- version ".tar.gz"))
+ (uri (pypi-uri "Babel" version))
(sha256
(base32
- "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz"))))
+ "0j2jgfzj1a2m39pm2qc36fzr7a6p5ybwndi0xdzhi2p8zw7dbdkz"))))
(build-system python-build-system)
(inputs
`(("python-pytz" ,python-pytz)
@@ -776,7 +826,13 @@ etc.). The package is structured to make adding new modules easy.")
(license public-domain)))
(define-public python2-pycrypto
- (package-with-python2 python-pycrypto))
+ (let ((pycrypto (package-with-python2 python-pycrypto)))
+ (package (inherit pycrypto)
+ (inputs
+ `(("python" ,python-2)
+ ,@(alist-delete
+ "python"
+ (package-inputs pycrypto)))))))
(define-public python-keyring
(package
@@ -819,20 +875,22 @@ password storage.")
(license x11)))
(define-public python2-keyring
- (package-with-python2 python-keyring))
+ (let ((keyring (package-with-python2 python-keyring)))
+ (package (inherit keyring)
+ (inputs
+ `(("python2-pycrypto" ,python2-pycrypto))))))
(define-public python-six
(package
(name "python-six")
- (version "1.9.0")
+ (version "1.10.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/s/"
- "six/six-" version ".tar.gz"))
+ (uri (pypi-uri "six" version))
(sha256
(base32
- "1mci5i8mjqmljmv33h0q3d4djc13zk1kfmb3fbvd3yy43x0m4h72"))))
+ "0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh"))))
(build-system python-build-system)
(inputs
`(("python-setuptools" ,python-setuptools)))
@@ -903,7 +961,7 @@ datetime module, available in Python 2.3+.")
(define-public python-parsedatetime
(package
(name "python-parsedatetime")
- (version "1.2")
+ (version "1.5")
(source
(origin
(method url-fetch)
@@ -911,11 +969,10 @@ datetime module, available in Python 2.3+.")
"parsedatetime/parsedatetime-" version ".tar.gz"))
(sha256
(base32
- "1zcj0pzxvpl4j2ma9awmpkfxldybi2kjaahjjpmgfbg5cxwcjsqv"))))
+ "1as0mm4ql3z0324nc9bys2s1ngh507i317p16b79rx86wlmvx9ix"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)))
- (arguments `(#:tests? #f)) ;no test target
(home-page "http://github.com/bear/parsedatetime/")
(synopsis
"Parse human-readable date/time text")
@@ -923,6 +980,9 @@ datetime module, available in Python 2.3+.")
"Parse human-readable date/time text.")
(license asl2.0)))
+(define-public python2-parsedatetime
+ (package-with-python2 python-parsedatetime))
+
(define-public python-pandas
(package
(name "python-pandas")
@@ -959,7 +1019,12 @@ doing practical, real world data analysis in Python.")
(license bsd-3)))
(define-public python2-pandas
- (package-with-python2 python-pandas))
+ (let ((pandas (package-with-python2 python-pandas)))
+ (package (inherit pandas)
+ (propagated-inputs
+ `(("python2-numpy" ,python2-numpy)
+ ,@(alist-delete "python-numpy"
+ (package-propagated-inputs pandas)))))))
(define-public python-tzlocal
(package
@@ -1501,7 +1566,7 @@ standard library.")
(base32
"0wbs4i4x3x7klr3v35ss6p9mcqz883i1xgcpkhvl7n2lyv6yhpda"))))
(inputs
- `(("python2-setuptools" ,python-setuptools)))
+ `(("python2-setuptools" ,python2-setuptools)))
(arguments
`(#:python ,python-2
#:tests? #f)))) ; no setup.py test command
@@ -1568,6 +1633,34 @@ and many external plugins.")
(define-public python2-pytest
(package-with-python2 python-pytest))
+(define-public python-pytest-cov
+ (package
+ (name "python-pytest-cov")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-cov" version))
+ (sha256
+ (base32
+ "1lf9jsmhqk5nc4w3kzwglmdzjvmi7ajvrsnwv826j3bn0wzx8c92"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-pytest" ,python-pytest)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/pytest-dev/pytest-cov")
+ (synopsis "Pytest plugin for measuring coverage")
+ (description
+ "Pytest-cov produces coverage reports. It supports centralised testing and
+distributed testing in both load and each modes. It also supports coverage
+of subprocesses.")
+ (license license:expat)))
+
+(define-public python2-pytest-cov
+ (package-with-python2 python-pytest-cov))
+
(define-public python-pytest-runner
(package
(name "python-pytest-runner")
@@ -1595,6 +1688,7 @@ and many external plugins.")
#t)))))
(native-inputs
`(("python-pytest" ,python-pytest)
+ ("python-setuptools" ,python-setuptools)
("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://bitbucket.org/pytest-dev/pytest-runner")
(synopsis "Invoke py.test as a distutils command")
@@ -2019,16 +2113,13 @@ files.")
(define-public python-certifi
(package
(name "python-certifi")
- (version "14.05.14")
+ (version "2015.11.20.1")
(source (origin
(method url-fetch)
- (uri
- (string-append
- "https://pypi.python.org/packages/source/c/certifi/certifi-"
- version ".tar.gz"))
+ (uri (pypi-uri "certifi" version))
(sha256
(base32
- "0s8vxzfz6s4m6fvxc7z25k9j35w0rh6jkw3wwcd1az1mssncn6qy"))))
+ "05lgwf9rz1kn465azy2bpb3zmpnsn9gkypbhnjlclchv98ssgc1h"))))
(build-system python-build-system)
(inputs
`(("python-setuptools" ,python-setuptools)))
@@ -2070,24 +2161,51 @@ with sensible defaults out of the box.")
(define-public python2-click
(package-with-python2 python-click))
+(define-public python-wheel
+ (package
+ (name "python-wheel")
+ (version "0.26.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wheel" version))
+ (sha256
+ (base32
+ "032k1ajijbqnv0z0k88bhf75mdimi18fcmm28mss90610lw3bbga"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://bitbucket.org/pypa/wheel/")
+ (synopsis "Built-package format for Python")
+ (description
+ "A wheel is a ZIP-format archive with a specially formatted filename and the
+.whl extension. It is designed to contain all the files for a PEP 376
+compatible install in a way that is very close to the on-disk format.")
+ (license license:expat)))
+
+(define-public python2-wheel
+ (package-with-python2 python-wheel))
+
(define-public python-requests
(package
(name "python-requests")
- (version "2.4.0")
+ (version "2.8.1")
(source (origin
(method url-fetch)
- (uri
- (string-append
- "https://pypi.python.org/packages/source/r/requests/requests-"
- version ".tar.gz"))
+ (uri (pypi-uri "requests" version))
(sha256
(base32
- "0gknlfx1wakrrm1zi8gi03x2lzj4dsns0vjw0nsmgqvkphyf01vh"))))
+ "0ny2nr1sqr4hcn3903ghmh7w2yni8shlfv240a8c9p6wyidqvzl4"))))
(build-system python-build-system)
- (inputs
- `(("python-setuptools" ,python-setuptools)
- ("python-certifi" ,python-certifi)))
- (arguments `(#:tests? #f)) ; no tests
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (propagated-inputs
+ `(("python-py" ,python-py)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-wheel" ,python-wheel)))
(home-page "http://python-requests.org/")
(synopsis "Python HTTP library")
(description
@@ -2155,19 +2273,18 @@ somewhat intelligeble.")
(define-public python-pyjwt
(package
(name "python-pyjwt")
- (version "0.2.1")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/P/PyJWT/PyJWT-"
- version ".tar.gz"))
+ (uri (pypi-uri "PyJWT" version))
(sha256
(base32
- "1ahqblfy2sj3xz34wsa48cn9rp0dspzq56p54i5znmws3b8gml6g"))))
+ "1556v2jppd8mjkkj66pxb5rcazm35jq81r233mdl8hfmz9n3icp1"))))
(build-system python-build-system)
- (inputs
- `(("python-setuptools" ,python-setuptools)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-pytest-runner" ,python-pytest-runner)))
(arguments
'(#:tests? #f)) ; test suite doesn't work
(home-page "http://github.com/progrium/pyjwt")
@@ -2182,23 +2299,23 @@ somewhat intelligeble.")
(define-public python-oauthlib
(package
(name "python-oauthlib")
- (version "0.6.3")
+ (version "1.0.3")
(source (origin
(method url-fetch)
- (uri
- (string-append
- "https://pypi.python.org/packages/source/o/oauthlib/oauthlib-"
- version ".tar.gz"))
+ (uri (pypi-uri "oauthlib" version))
(sha256
(base32
- "1yaj3j64la4arwsbhbfmpnickzh3jpg9nlpyg409v8pp24isn48a"))))
+ "1bfrj70vdjxjw74khbyh6f0dksv7p5rh2346jnlrffyacd3gwjzg"))))
(build-system python-build-system)
- (inputs
+ (native-inputs
`(("python-setuptools" ,python-setuptools)
- ("python-pyjwt" ,python-pyjwt)
- ("python-pycrypto" ,python-pycrypto)
+ ("python-coverage", python-coverage)
("python-nose" ,python-nose)
("python-mock" ,python-mock)))
+ (inputs
+ `(("python-blinker" ,python-blinker)
+ ("python-cryptography" ,python-cryptography)
+ ("python-pyjwt" ,python-pyjwt)))
(home-page "https://github.com/idan/oauthlib")
(synopsis "OAuth implementation for Python")
(description
@@ -2211,8 +2328,10 @@ OAuth request-signing logic.")
(package
(inherit base)
(inputs
- (append (package-inputs base)
- `(("python2-unittest2" ,python2-unittest2)))))))
+ `(("python2-unittest2" ,python2-unittest2)
+ ("python2-cryptography" ,python2-cryptography)
+ ,@(alist-delete "python-cryptography"
+ (package-inputs base)))))))
(define-public python-itsdangerous
(package
@@ -2351,6 +2470,29 @@ written in pure Python.")
(define-public python2-jinja2
(package-with-python2 python-jinja2))
+(define-public python-pystache
+ (package
+ (name "python-pystache")
+ (version "0.5.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pystache" version))
+ (sha256
+ (base32
+ "0nmqsfmiw4arjxqkmf9z66ml950pcdjk6aq4gin4sywmzdjw5fzp"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "http://defunkt.io/pystache/")
+ (synopsis "Python logic-less template engine")
+ (description
+ "Pystache is a Python implementation of the framework agnostic,
+logic-free templating system Mustache.")
+ (license license:expat)))
+
+(define-public python2-pystache
+ (package-with-python2 python-pystache))
+
(define-public python-joblib
(package
(name "python-joblib")
@@ -2704,7 +2846,11 @@ mining and data analysis.")
,@(package-native-inputs scikit-image)))
(propagated-inputs
`(("python2-pytz" ,python2-pytz)
- ,@(package-propagated-inputs scikit-image))))))
+ ("python2-matplotlib" ,python2-matplotlib)
+ ("python2-numpy" ,python2-numpy)
+ ("python2-scipy" ,python2-scipy)
+ ,@(fold alist-delete (package-propagated-inputs scikit-image)
+ '("python-matplotlib" "python-numpy" "python-scipy")))))))
(define-public python-redis
(package
@@ -3060,10 +3206,47 @@ that client code uses to construct the grammar directly in Python code.")
(define-public python2-numpydoc
(package-with-python2 python-numpydoc))
+(define-public python-numexpr
+ (package
+ (name "python-numexpr")
+ (version "2.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/"
+ "n/numexpr/numexpr-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nsnff5312fm38w6dm34bw7ghfqqy8vl9gig0al963h4mz8zm8nz"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #f)) ; no tests included
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)))
+ (home-page "https://github.com/pydata/numexpr")
+ (synopsis "Fast numerical expression evaluator for NumPy")
+ (description
+ "Numexpr is a fast numerical expression evaluator for NumPy. With it,
+expressions that operate on arrays are accelerated and use less memory than
+doing the same calculation in Python. In addition, its multi-threaded
+capabilities can make use of all your cores, which may accelerate
+computations, most specially if they are not memory-bounded (e.g. those using
+transcendental functions).")
+ (license license:expat)))
+
+(define-public python2-numexpr
+ (let ((numexpr (package-with-python2 python-numexpr)))
+ (package (inherit numexpr)
+ ;; Make sure to use special packages for Python 2 instead
+ ;; of those automatically rewritten by package-with-python2.
+ (propagated-inputs
+ `(("python2-numpy" ,python2-numpy)
+ ,@(alist-delete "python-numpy"
+ (package-propagated-inputs numexpr)))))))
+
(define-public python-matplotlib
(package
(name "python-matplotlib")
- (version "1.4.2")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
@@ -3071,13 +3254,15 @@ that client code uses to construct the grammar directly in Python code.")
"/matplotlib-" version ".tar.gz"))
(sha256
(base32
- "0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp"))))
+ "1dn05cvd0g984lzhh72wa0z93psgwshbbg93fkab6slx5m3l95av"))
+ (patches (list (search-patch "matplotlib-setupext-tk.patch")))))
(build-system python-build-system)
(outputs '("out" "doc"))
(propagated-inputs ; the following packages are all needed at run time
`(("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
+ ("python-tkinter" ,python "tk")
;; The 'gtk+' package (and 'gdk-pixbuf', 'atk' and 'pango' propagated
;; from 'gtk+') provides the required 'typelib' files used by
;; 'gobject-introspection'. The location of these files is set with the
@@ -3112,7 +3297,8 @@ that client code uses to construct the grammar directly in Python code.")
;; FIXME: Add backends when available.
;("python-wxpython" ,python-wxpython)
;("python-pyqt" ,python-pyqt)
- ))
+ ("tcl" ,tcl)
+ ("tk" ,tk)))
(native-inputs
`(("pkg-config" ,pkg-config)
("texlive" ,texlive)
@@ -3131,8 +3317,12 @@ that client code uses to construct the grammar directly in Python code.")
(setenv "HOME" (getcwd))
(call-with-output-file "setup.cfg"
(lambda (port)
- (format port "[rc_options]~%
-backend = GTK3Agg~%")))))
+ (format port "[directories]~%
+basedirlist = ~a,~a~%
+[rc_options]~%
+backend = TkAgg~%"
+ (assoc-ref inputs "tcl")
+ (assoc-ref inputs "tk"))))))
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
@@ -3150,13 +3340,23 @@ backend = GTK3Agg~%")))))
;; The doc recommends to run the 'html' target twice.
(system* "python" "make.py" "html")
(system* "python" "make.py" "html")
+ (copy-recursively "build/html" html)
(system* "python" "make.py" "latex")
(system* "python" "make.py" "texinfo")
+ (symlink (string-append html "/_images")
+ (string-append info "/matplotlib-figures"))
+ (with-directory-excursion "build/texinfo"
+ (substitute* "matplotlib.texi"
+ (("@image\\{([^,]*)" all file)
+ (string-append "@image{matplotlib-figures/" file)))
+ (symlink (string-append html "/_images")
+ "./matplotlib-figures")
+ (system* "makeinfo" "--no-split"
+ "-o" "matplotlib.info" "matplotlib.texi"))
(copy-file "build/texinfo/matplotlib.info"
(string-append info "/matplotlib.info"))
(copy-file "build/latex/Matplotlib.pdf"
- (string-append doc "/Matplotlib.pdf"))
- (copy-recursively "build/html" html))))
+ (string-append doc "/Matplotlib.pdf")))))
%standard-phases))))
(home-page "http://matplotlib.org")
(synopsis "2D plotting library for Python")
@@ -3176,10 +3376,9 @@ toolkits.")
(propagated-inputs
`(("python2-pycairo" ,python2-pycairo)
("python2-pygobject-2" ,python2-pygobject-2)
- ,@(alist-delete "python-pycairo"
- (alist-delete "python-pygobject"
- (package-propagated-inputs
- matplotlib))))))))
+ ("python2-tkinter" ,python-2 "tk")
+ ,@(fold alist-delete (package-propagated-inputs matplotlib)
+ '("python-pycairo" "python-pygobject" "python-tkinter")))))))
(define-public python2-pysnptools
(package
@@ -3456,7 +3655,7 @@ services for your Python modules and applications.")
(define-public python-pillow
(package
(name "python-pillow")
- (version "2.8.1")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
@@ -3464,7 +3663,7 @@ services for your Python modules and applications.")
"Pillow/Pillow-" version ".tar.gz"))
(sha256
(base32
- "15n92axxph2s3kvg68bki9gv3nzwgq7130kp7wbblpi1l0cc2q47"))))
+ "1fsl6sywd4f4axvbpy5h5h26l6w8592j0f1wcnj1hmgy83svwl5d"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)
@@ -3833,20 +4032,19 @@ child application and control it as if a human were typing commands.")
(define-public python-setuptools-scm
(package
(name "python-setuptools-scm")
- (version "1.8.0")
+ (version "1.9.0")
(source (origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/s/"
- "setuptools_scm/setuptools_scm-"
- version ".tar.bz2"))
+ (uri (pypi-uri "setuptools_scm" version))
(sha256
(base32
- "00p60v2yfqy1r58pjcx9wy6dvqd7wkpfs5z1dzwf7y75c1g3dgyx"))))
+ "0y24bl893zk6nrklbvdrlmpkalf214zjn6k1xrglljd29rrn4wxi"))))
(build-system python-build-system)
+ (native-inputs `(("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/pypa/setuptools_scm/")
(synopsis "Manage Python package versions in SCM metadata")
(description
- "setuptools_scm handles managing your Python package versions in
+ "Setuptools_scm handles managing your Python package versions in
@dfn{software configuration management} (SCM) metadata instead of declaring
them as the version argument or in a SCM managed file.")
(license license:expat)))
@@ -3869,7 +4067,8 @@ them as the version argument or in a SCM managed file.")
(propagated-inputs
`(("python-appdirs" ,python-appdirs)))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
+ `(("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)))
(home-page "http://github.com/jaraco/path.py")
@@ -3896,6 +4095,8 @@ common operations on files to be invoked on those path objects directly.")
(build-system python-build-system)
(propagated-inputs
`(("python-pathpy" ,python-pathpy)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/vivainio/pickleshare")
(synopsis "Tiny key value database with concurrency support")
(description
@@ -3924,7 +4125,8 @@ PickleShare.")
(base32 "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw"))))
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ `(("python-setuptools" ,python-setuptools)
+ ("unzip" ,unzip)))
(home-page "http://cheeseshop.python.org/pypi/simplegeneric")
(synopsis "Python module for simple generic functions")
(description
@@ -4018,7 +4220,7 @@ without using the configuration machinery.")
`(("readline" ,readline)
("which" ,which)
("python-matplotlib" ,python-matplotlib)
- ("python-numpy" ,python-numpy-bootstrap)
+ ("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-jinja2" ,python-jinja2)
("python-mistune" ,python-mistune)
@@ -4108,8 +4310,9 @@ computing.")
(inputs
`(("python2-mock" ,python2-mock)
("python2-matplotlib" ,python2-matplotlib)
- ,@(alist-delete "python-matplotlib"
- (package-inputs ipython)))))))
+ ("python2-numpy" ,python2-numpy)
+ ,@(fold alist-delete (package-inputs ipython)
+ '("python-matplotlib" "python-numpy")))))))
(define-public python-isodate
(package
@@ -4211,6 +4414,17 @@ features useful for text console applications.")
(sha256
(base32 "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'check 'pre-check
+ (lambda _
+ ;; XXX: For the missing '/etc/machine-id'.
+ (substitute* "test/run-test.sh"
+ (("DBUS_FATAL_WARNINGS=1")
+ "DBUS_FATAL_WARNINGS=0"))
+ #t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@@ -4542,7 +4756,9 @@ and statistical routines from scipy and statsmodels.")
(package (inherit seaborn)
(propagated-inputs
`(("python2-pytz" ,python2-pytz)
- ,@(package-propagated-inputs seaborn))))))
+ ("python2-pandas" ,python2-pandas)
+ ("python2-matplotlib" ,python2-matplotlib)
+ ("python2-scipy" ,python2-scipy))))))
(define-public python-sympy
(package
@@ -4677,7 +4893,7 @@ It is written entirely in Python.")
`(("python-certifi" ,python-certifi)))
(native-inputs
`(("python-setuptools" ,python-setuptools)))
- (home-page "https://pypi.python.org/pypi/tornado/4.1")
+ (home-page "http://www.tornadoweb.org/")
(synopsis "Python web framework and asynchronous networking library")
(description
"Tornado is a Python web framework and asynchronous networking library,
@@ -4846,6 +5062,20 @@ complexity of Python source code.")
(define-public python2-mccabe
(package-with-python2 python-mccabe))
+(define-public python-mccabe-0.2.1
+ (package (inherit python-mccabe)
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mccabe" version))
+ (sha256
+ (base32
+ "0fi4a81kr5bcv5p4xgibqr595hyj5dafkqgsmfk96mfy8w71fajs"))))))
+
+(define-public python2-mccabe-0.2.1
+ (package-with-python2 python-mccabe-0.2.1))
+
;; Flake8 2.4.1 requires an older version of pep8.
;; This should be removed ASAP.
(define-public python-pep8-1.5.7
@@ -4916,6 +5146,29 @@ complexity of Python source code.")
(define-public python2-flake8
(package-with-python2 python-flake8))
+;; This will only be needed by the python-hacking package and will not be
+;; necessary once python-hacking > 0.10.2 is released.
+(define-public python-flake8-2.2.4
+ (package (inherit python-flake8)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-pep8" ,python-pep8-1.5.7)
+ ("python-pyflakes" ,python-pyflakes-0.8.1)
+ ("python-mccabe" ,python-mccabe-0.2.1)
+ ("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)))
+ (version "2.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8" version))
+ (sha256
+ (base32
+ "1r9wsry4va45h1rck5hxd3vzsg2q3y6lnl6pym1bxvz8ry19jwx8"))))))
+
+(define-public python2-flake8-2.2.4
+ (package-with-python2 python-flake8-2.2.4))
+
(define-public python-mistune
(package
(name "python-mistune")
@@ -5464,7 +5717,7 @@ responses, rather than doing any computation.")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
@@ -5473,7 +5726,7 @@ responses, rather than doing any computation.")
version ".tar.gz"))
(sha256
(base32
- "1i2chlyhlx4792di82fqzcy9wz0gnnc661bj46zr794ip4629sp4"))))
+ "0dx98kcypmarwwhi6rjwy30ridys2ja6mc6mjf0svd4nllkaljdq"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)))
@@ -5490,7 +5743,7 @@ responses, rather than doing any computation.")
(define-public python-cryptography
(package
(name "python-cryptography")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
@@ -5498,7 +5751,7 @@ responses, rather than doing any computation.")
"cryptography/cryptography-" version ".tar.gz"))
(sha256
(base32
- "1lxzvhlyl6h6nm77n34622rcj2cxnx220x9vgjlw76wjd8m0kqyg"))))
+ "1jmcidddbbgdavvnvjjc0pda4b9a5i9idsivchn69pqxx68x8k6n"))))
(build-system python-build-system)
(inputs
`(("openssl" ,openssl)))
@@ -5713,3 +5966,653 @@ Python's @code{ctypes} foreign function interface (FFI).")
(define-public python2-libarchive-c
(package-with-python2 python-libarchive-c))
+
+(define-public python-file
+ (package
+ (inherit file)
+ (name "python-file")
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f ;no tests
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "python")
+ #t))
+ (add-before 'build 'set-library-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((file (assoc-ref inputs "file")))
+ (substitute* "magic.py"
+ (("find_library\\('magic'\\)")
+ (string-append "'" file "/lib/libmagic.so'")))
+ #t))))))
+ (inputs `(("file" ,file)))
+ (self-native-input? #f)
+ (synopsis "Python bindings to the libmagic file type guesser")))
+
+(define-public python2-file
+ (package-with-python2 python-file))
+
+(define-public python-debian
+ (package
+ (name "python-debian")
+ (version "0.1.23")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/p/python-debian/python-debian-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "193faznwnjc3n5991wyzim6h9gyq1zxifmfrnpm3avgkh7ahyynh"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-six" ,python-six)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "http://packages.debian.org/sid/python-debian")
+ (synopsis "Debian package related modules")
+ (description
+ ;; XXX: Use @enumerate instead of @itemize to work around
+ ;; <http://bugs.gnu.org/21772>.
+ "This package provides Python modules that abstract many formats of
+Debian-related files, such as:
+
+@enumerate
+@item Debtags information;
+@item @file{debian/changelog} files;
+@item packages files, pdiffs;
+@item control files of single or multiple RFC822-style paragraphs---e.g.
+ @file{debian/control}, @file{.changes}, @file{.dsc};
+@item Raw @file{.deb} and @file{.ar} files, with (read-only) access to
+ contained files and meta-information.
+@end enumerate\n")
+
+ ;; Modules are either GPLv2+ or GPLv3+.
+ (license gpl3+)))
+
+(define-public python2-debian
+ (package-with-python2 python-debian))
+
+(define-public python-chardet
+ (package
+ (name "python-chardet")
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/c/chardet/chardet-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1ak87ikcw34fivcgiz2xvi938dmclh078az65l9x3rmgljrkhgp5"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/chardet/chardet")
+ (synopsis "Universal encoding detector for Python 2 and 3")
+ (description
+ "This package provides @code{chardet}, a Python module that can
+automatically detect a wide range of file encodings.")
+ (license lgpl2.1+)))
+
+(define-public python2-chardet
+ (package-with-python2 python-chardet))
+
+(define-public python-docopt
+ (package
+ (name "python-docopt")
+ (version "0.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ ;; The release on PyPI does not include tests.
+ (uri (string-append
+ "https://github.com/docopt/docopt/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16bf890xbdz3m30rsv2qacklh2rdn1zrfspfnwzx9g7vwz8yw4r1"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-setuptools" ,python-setuptools)))
+ (arguments
+ `(#:phases (alist-replace
+ 'check
+ (lambda _ (zero? (system* "py.test")))
+ %standard-phases)))
+ (home-page "http://docopt.org")
+ (synopsis "Command-line interface description language for Python")
+ (description "This library allows the user to define a command-line
+interface from a program's help message rather than specifying it
+programatically with command-line parsers like @code{getopt} and
+@code{argparse}.")
+ (license license:expat)))
+
+(define-public python2-docopt
+ (package-with-python2 python-docopt))
+
+(define-public python-zope-event
+ (package
+ (name "python-zope-event")
+ (version "4.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.event/zope.event-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11p75zpfz3ffhz21nzx9wb23xs993ck5s6hkjcvhswwizni5jynw"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "http://pypi.python.org/pypi/zope.event")
+ (synopsis "Event publishing system for Python")
+ (description "Zope.event provides an event publishing API, intended for
+use by applications which are unaware of any subscribers to their events. It
+is a simple event-dispatching system on which more sophisticated event
+dispatching systems can be built.")
+ (license zpl2.1)))
+
+(define-public python2-zope-event
+ (package-with-python2 python-zope-event))
+
+(define-public python-zope-interface
+ (package
+ (name "python-zope-interface")
+ (version "4.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.interface/zope.interface-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ks8h73b2g4bkad821qbv0wzjppdrwys33i7ka45ik3wxjg1l8if"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-zope-event" ,python-zope-event)))
+ (home-page "https://github.com/zopefoundation/zope.interface")
+ (synopsis "Python implementation of the \"design by contract\"
+methodology")
+ (description "Zope.interface provides an implementation of \"object
+interfaces\" for Python. Interfaces are a mechanism for labeling objects as
+conforming to a given API or contract.")
+ (license zpl2.1)))
+
+(define-public python2-zope-interface
+ (package-with-python2 python-zope-interface))
+
+(define-public python-zope-exceptions
+ (package
+ (name "python-zope-exceptions")
+ (version "4.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.exceptions/zope.exceptions-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0zwxaaa66sqxg5k7zcrvs0fbg9ym1njnxnr28dfmchzhwjvwnfzl"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; circular dependency with zope.testrunner
+ (propagated-inputs
+ `(("python-zope-interface" ,python-zope-interface)))
+ (home-page "http://cheeseshop.python.org/pypi/zope.exceptions")
+ (synopsis "Zope exceptions")
+ (description "Zope.exceptions provides general-purpose exception types
+that have uses outside of the Zope framework.")
+ (license zpl2.1)))
+
+(define-public python2-zope-exceptions
+ (package-with-python2 python-zope-exceptions))
+
+(define-public python-zope-testing
+ (package
+ (name "python-zope-testing")
+ (version "4.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.testing/zope.testing-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yvglxhzvhl45mndvn9gskx2ph30zz1bz7rrlyfs62fv2pvih90s"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-zope-exceptions" ,python-zope-exceptions)))
+ (propagated-inputs
+ `(("python-zope-interface" ,python-zope-interface)))
+ (home-page "http://pypi.python.org/pypi/zope.testing")
+ (synopsis "Zope testing helpers")
+ (description "Zope.testing provides a number of testing utilities for HTML
+forms, HTTP servers, regular expressions, and more.")
+ (license zpl2.1)))
+
+(define-public python2-zope-testing
+ (package-with-python2 python-zope-testing))
+
+(define-public python-zope-testrunner
+ (package
+ (name "python-zope-testrunner")
+ (version "4.4.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.testrunner/zope.testrunner-"
+ version ".zip"))
+ (sha256
+ (base32
+ "1r7iqknhh55y45f64mz5hghgvzx34h1i11k350s0avx6q8gznja1"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-six" ,python-six)
+ ("python-zope-exceptions" ,python-zope-exceptions)
+ ("python-zope-testing" ,python-zope-testing)
+ ("unzip" ,unzip)))
+ (propagated-inputs
+ `(("python-zope-interface" ,python-zope-interface)))
+ (home-page "http://pypi.python.org/pypi/zope.testrunner")
+ (synopsis "Zope testrunner script")
+ (description "Zope.testrunner provides a script for running Python
+tests.")
+ (license zpl2.1)))
+
+(define-public python2-zope-testrunner
+ (let ((base (package-with-python2 python-zope-testrunner)))
+ (package
+ (inherit base)
+ (native-inputs
+ (append (package-native-inputs base)
+ `(("python2-subunit" ,python2-subunit)
+ ("python2-mimeparse" ,python2-mimeparse)))))))
+
+(define-public python-zope-i18nmessageid
+ (package
+ (name "python-zope-i18nmessageid")
+ (version "4.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/z"
+ "/zope.i18nmessageid/zope.i18nmessageid-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "http://pypi.python.org/pypi/zope.i18nmessageid")
+ (synopsis "Message identifiers for internationalization")
+ (description "Zope.i18nmessageid provides facilities for declaring
+internationalized messages within program source text.")
+ (license zpl2.1)))
+
+(define-public python2-zope-i18nmessageid
+ (package-with-python2 python-zope-i18nmessageid))
+
+(define-public python-zope-schema
+ (package
+ (name "python-zope-schema")
+ (version "4.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.schema/zope.schema-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-zope-event" ,python-zope-event)
+ ("python-zope-interface" ,python-zope-interface)))
+ (native-inputs
+ `(("python-zope-testing" ,python-zope-testing)))
+ (home-page "http://pypi.python.org/pypi/zope.schema")
+ (synopsis "Zope data schemas")
+ (description "Zope.scheme provides extensions to zope.interface for
+defining data schemas.")
+ (license zpl2.1)))
+
+(define-public python2-zope-schema
+ (package-with-python2 python-zope-schema))
+
+(define-public python-zope-configuration
+ (package
+ (name "python-zope-configuration")
+ (version "4.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.configuration/zope.configuration-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid)
+ ("python-zope-schema" ,python-zope-schema)))
+ (home-page "http://pypi.python.org/pypi/zope.configuration")
+ (synopsis "Zope Configuration Markup Language")
+ (description "Zope.configuration implements ZCML, the Zope Configuration
+Markup Language.")
+ (license zpl2.1)))
+
+(define-public python2-zope-configuration
+ (package-with-python2 python-zope-configuration))
+
+(define-public python-zope-proxy
+ (package
+ (name "python-zope-proxy")
+ (version "4.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.proxy/zope.proxy-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0pqwwmvm1prhwv1ziv9lp8iirz7xkwb6n2kyj36p2h0ppyyhjnm4"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-zope-interface" ,python-zope-interface)))
+ (home-page "http://pypi.python.org/pypi/zope.proxy")
+ (synopsis "Generic, transparent proxies")
+ (description "Zope.proxy provides generic, transparent proxies for Python.
+Proxies are special objects which serve as mostly-transparent wrappers around
+another object, intervening in the apparent behavior of the wrapped object
+only when necessary to apply the policy (e.g., access checking, location
+brokering, etc.) for which the proxy is responsible.")
+ (license zpl2.1)))
+
+(define-public python2-zope-proxy
+ (package-with-python2 python-zope-proxy))
+
+(define-public python-zope-location
+ (package
+ (name "python-zope-location")
+ (version "4.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.location/zope.location-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-zope-proxy" ,python-zope-proxy)
+ ("python-zope-schema" ,python-zope-schema)))
+ (home-page "http://pypi.python.org/pypi/zope.location/")
+ (synopsis "Zope location library")
+ (description "Zope.location implements the concept of \"locations\" in
+Zope3, which are are special objects that have a structural location.")
+ (license zpl2.1)))
+
+(define-public python2-zope-location
+ (package-with-python2 python-zope-location))
+
+(define-public python-zope-security
+ (package
+ (name "python-zope-security")
+ (version "4.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.security/zope.security-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14zmf684amc0x32kq05yxnhfqd1cmyhafkw05gn81rn90zjv6ssy"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid)
+ ("python-zope-component" ,python-zope-component)
+ ("python-zope-location" ,python-zope-location)
+ ("python-zope-proxy" ,python-zope-proxy)
+ ("python-zope-schema" ,python-zope-schema)
+ ("python-zope-testrunner" ,python-zope-testrunner)
+ ("python-zope-testing" ,python-zope-testing)))
+ (home-page "http://pypi.python.org/pypi/zope.security")
+ (synopsis "Zope security framework")
+ (description "Zope.security provides a generic mechanism to implement
+security policies on Python objects.")
+ (license zpl2.1)))
+
+(define-public python2-zope-security
+ (let ((zope-security (package-with-python2 python-zope-security)))
+ (package (inherit zope-security)
+ (propagated-inputs
+ `(("python2-zope-testrunner" ,python2-zope-testrunner)
+ ,@(alist-delete
+ "python-zope-testrunner"
+ (package-propagated-inputs zope-security)))))))
+
+(define-public python-zope-component
+ (package
+ (name "python-zope-component")
+ (version "4.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/z"
+ "/zope.component/zope.component-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06pqr8m5jv12xjyy5b59hh9anl61cxkzhw9mka33r3nxalmi2b18"))))
+ (build-system python-build-system)
+ (arguments
+ ;; Skip tests due to circular dependency with python-zope-security.
+ '(#:tests? #f))
+ (native-inputs
+ `(("python-zope-testing" ,python-zope-testing)))
+ (propagated-inputs
+ `(("python-zope-event" ,python-zope-event)
+ ("python-zope-interface" ,python-zope-interface)
+ ("python-zope-i18nmessageid" ,python-zope-i18nmessageid)
+ ("python-zope-configuration" ,python-zope-configuration)))
+ (home-page "https://github.com/zopefoundation/zope.component")
+ (synopsis "Zope Component Architecture")
+ (description "Zope.component represents the core of the Zope Component
+Architecture. Together with the zope.interface package, it provides
+facilities for defining, registering and looking up components.")
+ (license zpl2.1)))
+
+(define-public python2-zope-component
+ (package-with-python2 python-zope-component))
+
+(define-public python2-pythondialog
+ (package
+ (name "python2-pythondialog")
+ (version "3.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/p/"
+ "python2-pythondialog/python2-pythondialog-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1yhkagsh99bfi592ymczf8rnw8rk6n9hdqy3dd98m3yrx8zmjvry"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((dialog (assoc-ref inputs "dialog")))
+ ;; Since this library really wants to grovel the search path, we
+ ;; must hardcode dialog's store path into it.
+ (substitute* "dialog.py"
+ (("os.getenv\\(\"PATH\", \":/bin:/usr/bin\"\\)")
+ (string-append "os.getenv(\"PATH\") + \":" dialog "/bin\"")))
+ #t))))
+ #:python ,python-2
+ #:tests? #f)) ; no test suite
+ (propagated-inputs
+ `(("dialog" ,dialog)))
+ (home-page "http://pythondialog.sourceforge.net/")
+ (synopsis "Python interface to the UNIX dialog utility")
+ (description "A Python wrapper for the dialog utility. Its purpose is to
+provide an easy to use, pythonic and comprehensive Python interface to dialog.
+This allows one to make simple text-mode user interfaces on Unix-like systems")
+ (license lgpl2.1)))
+
+(define-public python-pyrfc3339
+ (package
+ (name "python-pyrfc3339")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/p/"
+ "pyRFC3339/pyRFC3339-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1pp648xsjaw9h1xq2mgwzda5wis2ypjmzxlksc1a8grnrdmzy155"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pytz" ,python-pytz)))
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/kurtraschke/pyRFC3339")
+ (synopsis "Python timestamp library")
+ (description "Python library for generating and parsing RFC 3339-compliant
+timestamps.")
+ (license license:expat)))
+
+(define-public python2-pyrfc3339
+ (package-with-python2 python-pyrfc3339))
+
+(define-public python-werkzeug
+ (package
+ (name "python-werkzeug")
+ (version "0.11.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/W/Werkzeug"
+ "/Werkzeug-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1gzwn1lkl90f3l1nzzxr7vjhm21qk8f837i8rvny5a209fcrhkzb"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://werkzeug.pocoo.org/")
+ (synopsis "Utilities for WSGI applications")
+ (description "One of the most advanced WSGI utility modules. It includes a
+powerful debugger, full-featured request and response objects, HTTP utilities to
+handle entity tags, cache control headers, HTTP dates, cookie handling, file
+uploads, a powerful URL routing system and a bunch of community-contributed
+addon modules.")
+ (license x11)))
+
+(define-public python2-werkzeug
+ (package-with-python2 python-werkzeug))
+
+(define-public python-configobj
+ (package
+ (name "python-configobj")
+ (version "5.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/c/configobj/"
+ "configobj-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00h9rcmws03xvdlfni11yb60bz3kxfvsj6dg6nrpzj71f03nbxd2"))
+ ;; Patch setup.py so it looks for python-setuptools, which is
+ ;; required to parse the keyword 'install_requires' in setup.py.
+ (patches (list (search-patch "python-configobj-setuptools.patch")))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)))
+ (synopsis "Config file reading, writing and validation")
+ (description "ConfigObj is a simple but powerful config file reader and
+writer: an ini file round tripper. Its main feature is that it is very easy to
+use, with a straightforward programmer’s interface and a simple syntax for
+config files.")
+ (home-page "https://github.com/DiffSK/configobj")
+ (license bsd-3)))
+
+(define-public python2-configobj
+ (package-with-python2 python-configobj))
+
+(define-public python-configargparse
+ (package
+ (name "python-configargparse")
+ (version "0.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/C/ConfigArgParse/"
+ "ConfigArgParse-" version ".tar.gz"))
+ (sha256
+ (base32
+ "19wh919gbdbzxzpagg52q3lm62yicm95ddlcx77dyjc1slyshl1v"))))
+ (build-system python-build-system)
+ (arguments
+ ;; FIXME: Bug in test suite filed upstream:
+ ;; https://github.com/bw2/ConfigArgParse/issues/32
+ '(#:tests? #f))
+ (synopsis "Replacement for argparse")
+ (description "A drop-in replacement for argparse that allows options to also
+be set via config files and/or environment variables.")
+ (home-page "https://github.com/bw2/ConfigArgParse")
+ (license license:expat)))
+
+(define-public python2-configargparse
+ (package-with-python2 python-configargparse))
+
+(define-public python-ndg-httpsclient
+ (package
+ (name "python-ndg-httpsclient")
+ (version "0.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/n/ndg-httpsclient/"
+ "ndg_httpsclient-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x32ibixm3vv5m9xfk83xsqm8xcqw4dd0khbh6qbri6rxgymbhg8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyopenssl" ,python-pyopenssl)))
+ (synopsis "HTTPS support for Python's httplib and urllib2")
+ (description "This is a HTTPS client implementation for httplib and urllib2
+based on PyOpenSSL. PyOpenSSL provides a more fully featured SSL implementation
+over the default provided with Python and importantly enables full verification
+of the SSL peer.")
+ (home-page "https://github.com/cedadev/ndg_httpsclient/")
+ (license bsd-3)))
+
+;; python2-openssl requires special care, so package-with-python2 is
+;; insufficient.
+(define-public python2-ndg-httpsclient
+ (package (inherit python-ndg-httpsclient)
+ (name "python2-ndg-httpsclient")
+ (arguments `(#:python ,python-2))
+ (propagated-inputs
+ `(("python2-pyopenssl" ,python2-pyopenssl)))))
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index fc90346371..a6abb48913 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -38,12 +38,34 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages sdl)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages perl)
+ #:use-module (srfi srfi-1))
-(define-public qemu-headless
- ;; This is QEMU without GUI support.
+(define (qemu-patch commit file-name sha256)
+ "Return an origin for COMMIT."
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://git.qemu.org/?p=qemu.git;a=commitdiff_plain;h="
+ commit))
+ (sha256 sha256)
+ (file-name file-name)))
+
+(define %glib-memory-vtable-patch
+ (qemu-patch "deb847bf"
+ "qemu-glib-memory-vtable.patch"
+ (base32
+ "0afb7rvxy14104jxmhr7m02w5baiz0c7vhq3h642h09jgxrcmzzi")))
+
+(define %glib-duplicate-test-patch
+ (qemu-patch "98cf48f6"
+ "qemu-glib-duplicate-test.patch"
+ (base32
+ "1aicbplzdj5s5y13jmqyvfajay05x9dnkzd197waz8v6kha7d9d5")))
+
+(define-public qemu
(package
- (name "qemu-headless")
+ (name "qemu")
(version "2.4.0.1")
(source (origin
(method url-fetch)
@@ -52,7 +74,12 @@
(sha256
(base32
"1nqv5p94zpnhcaqkifnn83ap7dd0qrb0qiicswbyhhby0f48pzpc"))
- (patches (map search-patch '("qemu-CVE-2015-6855.patch")))))
+ (patches (list (search-patch "qemu-CVE-2015-6855.patch")
+
+ ;; These two patches allow QEMU's tests to run
+ ;; correctly with 'gtester' from the latest GLib.
+ %glib-memory-vtable-patch
+ %glib-duplicate-test-patch))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
@@ -96,7 +123,11 @@
%standard-phases))))
(inputs ; TODO: Add optional inputs.
- `(;; ("libaio" ,libaio)
+ `(("sdl" ,sdl)
+ ("mesa" ,mesa)
+ ("libusb" ,libusb) ;USB pass-through support
+
+ ;; ("libaio" ,libaio)
("glib" ,glib)
("ncurses" ,ncurses)
("libpng" ,libpng)
@@ -116,7 +147,7 @@
("texinfo" ,texinfo)
("perl" ,perl)))
(home-page "http://www.qemu-project.org")
- (synopsis "Machine emulator and virtualizer (without GUI)")
+ (synopsis "Machine emulator and virtualizer")
(description
"QEMU is a generic machine emulator and virtualizer.
@@ -136,12 +167,17 @@ server and embedded PowerPC, and S390 guests.")
;; Several tests fail on MIPS; see <http://hydra.gnu.org/build/117914>.
(supported-systems (delete "mips64el-linux" %supported-systems))))
-(define-public qemu
- ;; QEMU with GUI support.
- (package (inherit qemu-headless)
- (name "qemu")
- (synopsis "Machine emulator and virtualizer")
- (inputs `(("sdl" ,sdl)
- ("mesa" ,mesa)
- ("libusb" ,libusb) ;USB pass-through support
- ,@(package-inputs qemu-headless)))))
+(define-public qemu-minimal
+ ;; QEMU without GUI support.
+ (package (inherit qemu)
+ (name "qemu-minimal")
+ (synopsis "Machine emulator and virtualizer (without GUI)")
+ (arguments
+ `(#:configure-flags
+ ;; Restrict to the targets supported by Guix.
+ '("--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu,arm-softmmu")
+ ,@(package-arguments qemu)))
+
+ ;; Remove dependencies on optional libraries, notably GUI libraries.
+ (inputs (fold alist-delete (package-inputs qemu)
+ '("sdl" "mesa" "libusb")))))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index ab390d37de..8f148c9e90 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,10 +20,11 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages qt)
- #:use-module ((guix licenses) #:select (gpl2 gpl3 lgpl2.1 x11-style))
+ #:use-module ((guix licenses) #:select (bsd-3 gpl2 gpl3 lgpl2.1 x11-style))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build utils)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -95,7 +97,7 @@ X11 (yet).")
(define-public qt
(package
(name "qt")
- (version "5.5.0")
+ (version "5.5.1")
(source (origin
(method url-fetch)
(uri
@@ -107,7 +109,7 @@ X11 (yet).")
version ".tar.xz"))
(sha256
(base32
- "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky"))
+ "0615cn4n3n78v48lnmapqz2jizm2pzrjwvsjlnsf4awrsiiqw0kg"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -518,3 +520,35 @@ contain over 620 classes.")
("qt" ,qt-4)))
(inputs
`(("python" ,python-2)))))
+
+(define-public qtkeychain
+ (package
+ (name "qtkeychain")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/frankosterfeld/qtkeychain/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "055mkd4pz6cyff4cw0784wjc1w92m8x223sxi96ph15fr3lplbg6"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("qt", qt)))
+ (arguments
+ `(#:tests? #f ; No tests included
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'set-qt-trans-dir
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("\\$\\{qt_translations_dir\\}")
+ "${CMAKE_INSTALL_PREFIX}/share/qt/translations")))))))
+ (home-page "https://github.com/frankosterfeld/qtkeychain")
+ (synopsis "Qt API to store passwords")
+ (description
+ "QtKeychain is a Qt library to store passwords and other secret data
+securely. It will not store any data unencrypted unless explicitly requested.")
+ (license bsd-3)))
diff --git a/gnu/packages/ragel.scm b/gnu/packages/ragel.scm
new file mode 100644
index 0000000000..6201482c9f
--- /dev/null
+++ b/gnu/packages/ragel.scm
@@ -0,0 +1,49 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; 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 ragel)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages))
+
+(define-public ragel
+ (package
+ (name "ragel")
+ (version "6.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.colm.net/files/ragel/ragel-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02k6rwh8cr95f1p5sjjr3wa6dilg06572xz1v71dk8awmc7vw1vf"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.colm.net/open-source/ragel/")
+ (synopsis "State machine compiler")
+ (description
+ "Ragel compiles executable finite state machines from regular languages.
+Ragel targets C, C++, Obj-C, C#, D, Java, Go and Ruby. Ragel state machines
+can not only recognize byte sequences as regular expression machines do, but
+can also execute code at arbitrary points in the recognition of a regular
+language. Code embedding is done using inline operators that do not disrupt
+the regular language syntax.")
+ ;; GPLv2 (or later) with exception for generated code.
+ (license license:gpl2+)))
+
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 701b7ee6ef..c51a5f08e2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Pjotr Prins <pjotr.guix@thebird.nl>
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
@@ -30,7 +30,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages java)
#:use-module (gnu packages libffi)
- #:use-module (gnu packages gdbm)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (guix packages)
@@ -519,6 +518,59 @@ script.")
(home-page "http://rubyforge.org/projects/antwrap/")
(license license:expat)))
+(define-public ruby-atoulme-saikuro
+ (package
+ (name "ruby-atoulme-saikuro")
+ (version "1.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "atoulme-Saikuro" version))
+ (sha256
+ (base32
+ "0kvd2nsxffbza61d3q4j94wrbnbv50r1zy3a7q26f6k706fw1f19"))))
+ (build-system ruby-build-system)
+ ;; FIXME: There are no unit tests. The tests are demonstrations of the
+ ;; "saikuro" tool.
+ (arguments `(#:tests? #f))
+ (synopsis "Cyclomatic complexity analyzer")
+ (description "Saikuro is a Ruby cyclomatic complexity analyzer. When
+given Ruby source code Saikuro will generate a report listing the cyclomatic
+complexity of each method found. In addition, Saikuro counts the number of
+lines per method and can generate a listing of the number of tokens on each
+line of code.")
+ (home-page "http://www.github.com/atoulme/Saikuro")
+ ;; File headers contain the BSD-3 license and the README.rdoc says that
+ ;; "Saikuro uses the BSD license", but the LICENSE file contains the text
+ ;; of the Expat license.
+ (license license:bsd-3)))
+
+(define-public ruby-ci-reporter
+ (package
+ (name "ruby-ci-reporter")
+ (version "2.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ci_reporter" version))
+ (sha256
+ (base32
+ "17fm20jmw3ajdryhkkxpjahcfx7bgswqzxrskivlkns2718ayyyg"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "rspec"))
+ (propagated-inputs
+ `(("ruby-builder" ,ruby-builder)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Generate XML reports of runs test")
+ (description
+ "@code{CI::Reporter} is an add-on to Ruby testing frameworks that allows
+you to generate XML reports of your test runs. The resulting files can be
+read by a continuous integration system that understands Ant's JUnit report
+format.")
+ (home-page "https://github.com/nicksieger/ci_reporter")
+ (license license:expat)))
+
(define-public ruby-orderedhash
(package
(name "ruby-orderedhash")
@@ -650,6 +702,36 @@ and inspect the environment.")
(home-page "https://github.com/e2/nenv")
(license license:expat)))
+(define-public ruby-permutation
+ (package
+ (name "ruby-permutation")
+ (version "0.1.8")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "permutation" version))
+ (sha256
+ (base32
+ "13crwk2vfbzv99czva7881027dbcnidihmvx2jc58z2vm3bp9sl8"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-rakefile
+ (lambda _
+ (substitute* "Rakefile"
+ (("require 'rake/gempackagetask'")
+ "require 'rubygems/package_task'")
+ (("include Config") ""))
+ #t))
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "test/test.rb")))))))
+ (synopsis "Library to perform operations with sequence permutations")
+ (description "This package provides a Ruby library to perform different
+operations with permutations of sequences, such as strings and arrays.")
+ (home-page "http://flori.github.io/permutation")
+ (license license:gpl2))) ; GPL 2 only
+
(define-public ruby-shellany
(package
(name "ruby-shellany")
@@ -753,6 +835,103 @@ standard output stream.")
(home-page "https://github.com/geemus/shindo")
(license license:expat)))
+(define-public ruby-rubygems-tasks
+ (package
+ (name "ruby-rubygems-tasks")
+ (version "0.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rubygems-tasks" version))
+ (sha256
+ (base32
+ "16cp45qlbcglnqdm4f1vj3diywdz4v024saqpgrz6palf0wmgz2j"))))
+ (build-system ruby-build-system)
+ ;; Tests need Internet access.
+ (arguments `(#:tests? #f))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+ ("ruby-yard" ,ruby-yard)))
+ (synopsis "Rake tasks for managing and releasing Ruby Gems")
+ (description "Rubygems-task provides Rake tasks for managing and releasing
+Ruby Gems.")
+ (home-page "https://github.com/postmodern/rubygems-tasks")
+ (license license:expat)))
+
+(define-public ruby-ffi
+ (package
+ (name "ruby-ffi")
+ (version "1.9.10")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ffi" version))
+ (sha256
+ (base32
+ "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj"))))
+ (build-system ruby-build-system)
+ ;; FIXME: Before running tests the build system attempts to build libffi
+ ;; from sources.
+ (arguments `(#:tests? #f))
+ (native-inputs
+ `(("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rubygems-tasks" ,ruby-rubygems-tasks)))
+ (inputs
+ `(("libffi" ,libffi)))
+ (synopsis "Ruby foreign function interface library")
+ (description "Ruby-FFI is a Ruby extension for programmatically loading
+dynamic libraries, binding functions within them, and calling those functions
+from Ruby code. Moreover, a Ruby-FFI extension works without changes on Ruby
+and JRuby.")
+ (home-page "http://wiki.github.com/ffi/ffi")
+ (license license:bsd-3)))
+
+(define-public ruby-simplecov-html
+ (package
+ (name "ruby-simplecov-html")
+ (version "0.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "simplecov-html" version))
+ (sha256
+ (base32
+ "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf"))))
+ (build-system ruby-build-system)
+ (arguments `(#:tests? #f)) ; there are no tests
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Default HTML formatter for SimpleCov code coverage tool")
+ (description "This package provides the default HTML formatter for
+the SimpleCov code coverage tool for Ruby version 1.9 and above.")
+ (home-page "https://github.com/colszowka/simplecov-html")
+ (license license:expat)))
+
+(define-public ruby-simplecov
+ (package
+ (name "ruby-simplecov")
+ (version "0.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "simplecov" version))
+ (sha256
+ (base32
+ "1q2iq2vgrdvvla5y907gkmqx6ry2qvnvc7a90hlcbwgp1w0sv6z4"))))
+ (build-system ruby-build-system)
+ ;; Simplecov depends on rubocop for code style checking at build time.
+ ;; Rubocop needs simplecov at build time.
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-json" ,ruby-json)
+ ("ruby-docile" ,ruby-docile)
+ ("ruby-simplecov-html" ,ruby-simplecov-html)))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Code coverage framework for Ruby")
+ (description "SimpleCov is a code coverage framework for Ruby with a
+powerful configuration library and automatic merging of coverage across test
+suites.")
+ (home-page "http://github.com/colszowka/simplecov")
+ (license license:expat)))
+
(define-public ruby-useragent
(package
(name "ruby-useragent")
@@ -848,6 +1027,392 @@ using Net::HTTP, supporting reconnection and retry according to RFC 2616.")
(home-page "https://github.com/drbrain/net-http-persistent")
(license license:expat)))
+(define-public ruby-power-assert
+ (package
+ (name "ruby-power-assert")
+ (version "0.2.6")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "power_assert" version))
+ (sha256
+ (base32
+ "0gbj379jhnff8rbb6m3kzdm282szjz1a021xzxa38d1bnswj2jx3"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Assert library with descriptive assertion messages")
+ (description "Power-assert is an assertion library providing descriptive
+assertion messages for tests.")
+ (home-page "https://github.com/k-tsj/power_assert")
+ (license (list license:bsd-2 license:ruby))))
+
+(define-public ruby-locale
+ (package
+ (name "ruby-locale")
+ (version "2.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "locale" version))
+ (sha256
+ (base32
+ "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"))))
+ (build-system ruby-build-system)
+ ;; ruby-test-unit is required to run tests, but that needs ruby-packnga,
+ ;; which needs ruby-gettext, which needs ruby-locale. To break the
+ ;; dependency cycle we disable tests.
+ (arguments `(#:tests? #f))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-yard" ,ruby-yard)))
+ (synopsis "Ruby library providing basic localization APIs")
+ (description
+ "Ruby-Locale is the pure ruby library which provides basic APIs for
+localization.")
+ (home-page "https://github.com/ruby-gettext/locale")
+ (license (list license:lgpl3+ license:ruby))))
+
+(define-public ruby-text
+ (package
+ (name "ruby-text")
+ (version "1.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "text" version))
+ (sha256
+ (base32
+ "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"))))
+ (build-system ruby-build-system)
+ (synopsis "Collection of text algorithms for Ruby")
+ (description
+ "This package provides a collection of text algorithms: Levenshtein,
+Soundex, Metaphone, Double Metaphone, Porter Stemming.")
+ (home-page "http://github.com/threedaymonk/text")
+ (license license:expat)))
+
+(define-public ruby-gettext
+ (package
+ (name "ruby-gettext")
+ (version "3.1.7")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "gettext" version))
+ (sha256
+ (base32
+ "1hg9islkm324mb4sd4za1fgafj1hqnm3bdvzj3k4fqpnzqnbcfiq"))))
+ (build-system ruby-build-system)
+ ;; ruby-test-unit is required to run tests, but that needs ruby-packnga,
+ ;; which needs ruby-gettext. To break the dependency cycle we disable
+ ;; tests.
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-locale" ,ruby-locale)
+ ("ruby-text" ,ruby-text)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-yard" ,ruby-yard)))
+ (synopsis "GNU gettext-like program for Ruby")
+ (description
+ "Gettext is a GNU gettext-like program for Ruby. The catalog
+file (po-file) used is the same as that used by GNU gettext, allowing you to
+use GNU gettext tools for maintenance.")
+ (home-page "http://ruby-gettext.github.com/")
+ (license (list license:lgpl3+ license:ruby))))
+
+(define-public ruby-packnga
+ (package
+ (name "ruby-packnga")
+ (version "1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "packnga" version))
+ (sha256
+ (base32
+ "1i71yhvlkvi5fp3m8jl9317cnddkbnrcy0syrmiw4y1lrq0cbncj"))))
+ (build-system ruby-build-system)
+ ;; ruby-test-unit is required to run tests, but that needs ruby-packnga.
+ ;; To break the dependency cycle we disable tests.
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-gettext" ,ruby-gettext)
+ ("ruby-yard" ,ruby-yard)))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Utility library to package internationalized libraries")
+ (description
+ "Packnga is a library to translate to many languages using YARD.")
+ (home-page "http://ranguba.org/packnga/")
+ (license license:lgpl2.0+)))
+
+(define-public ruby-test-unit
+ (package
+ (name "ruby-test-unit")
+ (version "3.1.5")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "test-unit" version))
+ (sha256
+ (base32
+ "0jxznjzwmrlp8wqjxsd06qbiddffn68pdhz6nrqpjbiln1z3af4w"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-power-assert" ,ruby-power-assert)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-packnga" ,ruby-packnga)
+ ("ruby-yard" ,ruby-yard)))
+ (synopsis "Unit testing framework for Ruby")
+ (description "@code{Test::Unit} is unit testing framework for Ruby, based
+on xUnit principles. These were originally designed by Kent Beck, creator of
+extreme programming software development methodology, for Smalltalk's SUnit.
+It allows writing tests, checking results and automated testing in Ruby.")
+ (home-page "http://test-unit.github.io/")
+ (license (list license:psfl license:ruby))))
+
+(define-public ruby-metaclass
+ (package
+ (name "ruby-metaclass")
+ (version "0.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "metaclass" version))
+ (sha256
+ (base32
+ "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'add-test-unit-to-search-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Rakefile"
+ (("t\\.libs << \"test\"" line)
+ (string-append line "; t.libs << \""
+ (assoc-ref inputs "ruby-test-unit")
+ "/lib/ruby/gems/2.2.0/gems/test-unit-"
+ ,(package-version ruby-test-unit)
+ "/lib\"")))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Ruby library adding metaclass method to all objects")
+ (description
+ "Metaclass is a Ruby library adding a @code{metaclass} method to all Ruby
+objects.")
+ (home-page "http://github.com/floehopper/metaclass")
+ (license license:expat)))
+
+(define-public ruby-blankslate
+ (package
+ (name "ruby-blankslate")
+ (version "3.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "blankslate" version))
+ (sha256
+ (base32
+ "0fwkb4d1j9gc7vdwn2nxvwgy2g5wlag4c4bp7bl85jvq0kgp6cyx"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (zero? (system* "rspec" "spec/")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Abstract base class with no predefined methods")
+ (description
+ "BlankSlate provides an abstract base class with no predefined
+methods (except for @code{__send__} and @code{__id__}). BlankSlate is useful
+as a base class when writing classes that depend upon
+@code{method_missing} (e.g. dynamic proxies).")
+ (home-page "http://github.com/masover/blankslate")
+ (license license:expat)))
+
+(define-public ruby-instantiator
+ (package
+ (name "ruby-instantiator")
+ (version "0.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "instantiator" version))
+ (sha256
+ (base32
+ "0mfmqhg9xrv9i8i1kmphf15ywddhivyh2z3ccl0xjw8qy54zr21i"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'add-test-unit-to-search-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Rakefile"
+ (("t\\.libs << \"test\"" line)
+ (string-append line "; t.libs << \""
+ (assoc-ref inputs "ruby-test-unit")
+ "/lib/ruby/gems/2.2.0/gems/test-unit-"
+ ,(package-version ruby-test-unit)
+ "/lib\"")))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-blankslate" ,ruby-blankslate)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Instantiate an arbitrary Ruby class")
+ (description
+ "Instantiator lets you instantiate an arbitrary Ruby class without
+knowing anything about the constructor.")
+ (home-page "https://github.com/floehopper/instantiator")
+ (license license:expat)))
+
+(define-public ruby-introspection
+ (package
+ (name "ruby-introspection")
+ (version "0.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "introspection" version))
+ (sha256
+ (base32
+ "0g1j71sqfxbqk32wj7d0bkd3dlayfqzprfq3dbr0rq107xbxjcrr"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'add-test-unit-to-search-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Rakefile"
+ (("t\\.libs << \"test\"" line)
+ (string-append line "; t.libs << \""
+ (assoc-ref inputs "ruby-test-unit")
+ "/lib/ruby/gems/2.2.0/gems/test-unit-"
+ ,(package-version ruby-test-unit)
+ "/lib\"")))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-instantiator" ,ruby-instantiator)
+ ("ruby-metaclass" ,ruby-metaclass)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-blankslate" ,ruby-blankslate)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Dynamic inspection of the method hierarchy on a Ruby object")
+ (description
+ "Introspection provides tools to inspect the hierarchy of method
+definitions on a Ruby object.")
+ (home-page "https://github.com/floehopper/introspection")
+ (license license:expat)))
+
+(define-public ruby-redcarpet
+ (package
+ (name "ruby-redcarpet")
+ (version "3.3.3")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "redcarpet" version))
+ (sha256
+ (base32
+ "14i3wypp97bpk20679d1csy88q4hsgfqbnqw6mryl77m2g0d09pk"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; The gem archive does not include the conformance tests.
+ (add-after 'unpack 'disable-conformance-tests
+ (lambda _
+ (substitute* "Rakefile"
+ (("task :test => %w\\[test:unit test:conformance\\]")
+ "task :test => %w[test:unit]"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-test-unit" ,ruby-test-unit)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis "Extensible Markdown to (X)HTML converter")
+ (description
+ "Redcarpet is an extensible Ruby library for Markdown processing and
+conversion to (X)HTML.")
+ (home-page "http://github.com/vmg/redcarpet")
+ (license license:expat)))
+
+(define-public ruby-mocha
+ (package
+ (name "ruby-mocha")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "mocha" version))
+ (sha256
+ (base32
+ "107nmnngbv8lq2g7hbjpn5kplb4v2c8gs9lxrg6vs8gdbddkilzi"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'add-test-unit-to-search-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Rakefile"
+ (("t\\.libs << 'test'" line)
+ (string-append line "; t.libs << \""
+ (assoc-ref inputs "ruby-test-unit")
+ "/lib/ruby/gems/2.2.0/gems/test-unit-"
+ ,(package-version ruby-test-unit)
+ "/lib\"")))
+ #t))
+ (add-before 'check 'use-latest-redcarpet
+ (lambda _
+ (substitute* "mocha.gemspec"
+ (("<redcarpet>, \\[\"~> 1\"\\]")
+ "<redcarpet>, [\">= 3\"]"))
+ #t))
+ (add-before 'check 'hardcode-version
+ (lambda _
+ ;; Mocha is undefined at build time
+ (substitute* "Rakefile"
+ (("#\\{Mocha::VERSION\\}") ,version))
+ #t))
+ (add-before 'check 'remove-failing-test
+ ;; FIXME: This test fails for reasons unrelated to Guix packaging.
+ (lambda _
+ (delete-file "test/acceptance/stubbing_nil_test.rb")
+ #t)))))
+ (propagated-inputs
+ `(("ruby-metaclass" ,ruby-metaclass)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-introspection" ,ruby-introspection)
+ ("ruby-test-unit" ,ruby-test-unit)
+ ("ruby-redcarpet" ,ruby-redcarpet)))
+ (synopsis "Mocking and stubbing library for Ruby")
+ (description
+ "Mocha is a mocking and stubbing library with JMock/SchMock syntax, which
+allows mocking and stubbing of methods on real (non-mock) classes.")
+ (home-page "http://gofreerange.com/mocha/docs")
+ (license license:expat)))
+
+(define-public ruby-net-ssh
+ (package
+ (name "ruby-net-ssh")
+ (version "3.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "net-ssh" version))
+ (sha256
+ (base32
+ "1dzqkgwi9xm6mbfk1rkk17rzmz8m5xakqi21w1b97ybng6kkw0hf"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-mocha" ,ruby-mocha)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Ruby implementation of the SSH2 client protocol")
+ (description "@code{Net::SSH} is a pure-Ruby implementation of the SSH2
+client protocol. It allows you to write programs that invoke and interact
+with processes on remote servers, via SSH2.")
+ (home-page "https://github.com/net-ssh/net-ssh")
+ (license license:expat)))
+
(define-public ruby-minitest
(package
(name "ruby-minitest")
@@ -1211,6 +1776,122 @@ aware transformations between times in different time zones.")
(home-page "http://tzinfo.github.io")
(license license:expat)))
+(define-public ruby-rb-inotify
+ (package
+ (name "ruby-rb-inotify")
+ (version "0.9.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rb-inotify" version))
+ (sha256
+ (base32
+ "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f ; there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ ;; Building the gemspec with rake is not working here since it is
+ ;; generated with Jeweler. It is also unnecessary because the
+ ;; existing gemspec does not use any development tools to generate a
+ ;; list of files.
+ (replace 'build
+ (lambda _
+ (zero? (system* "gem" "build" "rb-inotify.gemspec")))))))
+ (propagated-inputs
+ `(("ruby-ffi" ,ruby-ffi)))
+ (native-inputs
+ `(("ruby-yard" ,ruby-yard)))
+ (synopsis "Ruby wrapper for Linux's inotify")
+ (description "rb-inotify is a simple wrapper over the @code{inotify} Linux
+kernel subsystem for monitoring changes to files and directories.")
+ (home-page "https://github.com/nex3/rb-inotify")
+ (license license:expat)))
+
+(define-public ruby-pry-editline
+ (package
+ (name "ruby-pry-editline")
+ (version "1.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "pry-editline" version))
+ (sha256
+ (base32
+ "1pjxyvdxvw41xw3yyl18pwzix8hbvn6lgics7qcfhjfsf1zs8x1z"))))
+ (build-system ruby-build-system)
+ (arguments `(#:tests? #f)) ; no tests included
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Open the current REPL line in an editor")
+ (description
+ "This gem provides a plugin for the Ruby REPL to enable opening the
+current line in an external editor.")
+ (home-page "https://github.com/tpope/pry-editline")
+ (license license:expat)))
+
+(define-public ruby-sdoc
+ (package
+ (name "ruby-sdoc")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sdoc" version))
+ (sha256
+ (base32
+ "16xyfair1j4irfkd6sxvmdcak957z71lwkvhglrznfpkalfnqyqp"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'relax-minitest-requirement
+ (lambda _
+ (substitute* "sdoc.gemspec"
+ (("<minitest>, \\[\"~> 4\\.0\"\\]")
+ "<minitest>, [\">= 4.0\"]"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-json" ,ruby-json)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-minitest" ,ruby-minitest)))
+ (synopsis "Generate searchable RDoc documentation")
+ (description
+ "SDoc is an RDoc documentation generator to build searchable HTML
+documentation for Ruby code.")
+ (home-page "http://github.com/voloko/sdoc")
+ (license license:expat)))
+
+(define-public ruby-tins
+ (package
+ (name "ruby-tins")
+ (version "1.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "tins" version))
+ (sha256
+ (base32
+ "1060h8dgnjl9az0sv1b74yrni8d4mh3x858wq6yfbfdf5dxrfl0a"))))
+ (build-system ruby-build-system)
+ ;; This gem needs gem-hadar at development time, but gem-hadar needs tins
+ ;; at runtime. To avoid the dependency on gem-hadar we disable rebuilding
+ ;; the gemspec.
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ ;; "lib/spruz" is a symlink. Leaving it in the gemspec file
+ ;; causes an error.
+ (substitute* "tins.gemspec"
+ (("\"lib/spruz\", ") ""))
+ (zero? (system* "gem" "build" "tins.gemspec")))))))
+ (synopsis "Assorted tools for Ruby")
+ (description "Tins is a Ruby library providing assorted tools.")
+ (home-page "https://github.com/flori/tins")
+ (license license:expat)))
+
(define-public ruby-json
(package
(name "ruby-json")
@@ -1230,6 +1911,28 @@ a native C extension.")
(home-page "http://json-jruby.rubyforge.org/")
(license (list license:ruby license:gpl2)))) ; GPL2 only
+(define-public ruby-listen
+ (package
+ (name "ruby-listen")
+ (version "3.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "listen" version))
+ (sha256
+ (base32
+ "10lhshjklxlrkw7999j0xl6sdxd4x32kiy8rp88jwr68kis5vq2b"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; no tests
+ (propagated-inputs
+ ;; FIXME: omitting "ruby-rb-fsevent" which is only for MacOS.
+ `(("ruby-rb-inotify" ,ruby-rb-inotify)))
+ (synopsis "Listen to file modifications")
+ (description "The Listen gem listens to file modifications and notifies
+you about the changes.")
+ (home-page "https://github.com/guard/listen")
+ (license license:expat)))
+
(define-public ruby-activesupport
(package
(name "ruby-activesupport")
@@ -1496,3 +2199,28 @@ that can be exported to a number of formats very easily, and also supports
extending for custom Ruby constructs such as custom class level definitions.")
(home-page "http://yardoc.org")
(license license:expat)))
+
+(define-public ruby-eventmachine
+ (package
+ (name "ruby-eventmachine")
+ (version "1.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "eventmachine" version))
+ (sha256
+ (base32
+ "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; test suite tries to connect to google.com
+ (native-inputs
+ `(("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis "Single-threaded network event framework for Ruby")
+ (description
+ "EventMachine implements a single-threaded engine for arbitrary network
+communications. EventMachine wraps all interactions with sockets, allowing
+programs to concentrate on the implementation of network protocols. It can be
+used to create both network servers and clients.")
+ (home-page "http://rubyeventmachine.com")
+ (license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index d7223bc0ba..484eafb647 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -23,6 +23,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages acl)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages popt)
#:use-module (gnu packages openldap)
#:use-module (gnu packages readline)
@@ -196,3 +197,42 @@ Desktops into Active Directory environments using the winbind daemon.")
"Talloc is a hierarchical, reference counted memory pool system with
destructors. It is the core memory allocator used in Samba.")
(license gpl3+))) ;; The bundled "replace" library uses LGPL3.
+
+(define-public ppp
+ (package
+ (name "ppp")
+ (version "2.4.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.samba.org/ftp/ppp/ppp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0c7vrjxl52pdwi4ckrvfjr08b31lfpgwf3pp0cqy76a77vfs7q02"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no check target
+ #:make-flags '("CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-Makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "libc"))
+ (libpcap (assoc-ref inputs "libpcap")))
+ (substitute* "pppd/Makefile.linux"
+ (("/usr/include/crypt\\.h")
+ (string-append libc "/include/crypt.h"))
+ (("/usr/include/pcap-bpf.h")
+ (string-append libpcap "/include/pcap-bpf.h")))))))))
+ (inputs
+ `(("libpcap" ,libpcap)))
+ (synopsis "Implementation of the Point-to-Point Protocol")
+ (home-page "https://ppp.samba.org/")
+ (description
+ "The Point-to-Point Protocol (PPP) provides a standard way to establish
+a network connection over a serial link. At present, this package supports IP
+and IPV6 and the protocols layered above them, such as TCP and UDP.")
+ ;; pppd, pppstats and pppdump are under BSD-style notices.
+ ;; some of the pppd plugins are GPL'd.
+ ;; chat is public domain.
+ (license (list bsd-3 bsd-4 gpl2+ public-domain))))
diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm
index e2cb62c62c..9b09b6171e 100644
--- a/gnu/packages/sawfish.scm
+++ b/gnu/packages/sawfish.scm
@@ -22,7 +22,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
- #:use-module (gnu packages gdbm)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libffi)
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 7465b1b58c..aea8b54433 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -334,7 +334,7 @@ implementation techniques and as an expository tool.")
(define-public racket
(package
(name "racket")
- (version "6.1.1")
+ (version "6.2.1")
(source (origin
(method url-fetch)
(uri (list (string-append "http://mirror.racket-lang.org/installers/"
@@ -344,7 +344,7 @@ implementation techniques and as an expository tool.")
version "/racket/racket-" version "-src-unix.tgz")))
(sha256
(base32
- "0xfsfdqkngz0xw2lqmc7bsznwx25cw91l9fjhp7abrr05m96j0h9"))))
+ "0555j63k7fs10iv0icmivlxpzgp6s7gwcbfddmbwxlf2rk80qhq0"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index 84cc8c9dc5..fa5235c115 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +26,8 @@
#:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages slang)
#:use-module (gnu packages texinfo))
(define-public screen
@@ -90,3 +93,53 @@ view to show two terminals at once.")
allowing you to run a program in an environment that is protected from the
controlling terminal and attach to it later.")
(license gpl2+)))
+
+(define-public byobu
+ (package
+ (name "byobu")
+ (version "5.98")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://launchpad.net/byobu/trunk/"
+ version "/+download/byobu_"
+ version ".orig.tar.gz"))
+ (sha256
+ (base32
+ "1s8nh4wbds1nh52i0d1hy1b308jjf4siwpq92lna1zh9ll4x71j5"))
+ (patches (list (search-patch "byobu-writable-status.patch")))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("python" ,python-wrapper) ;for config and session GUIs
+ ("python-newt" ,newt "python")))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'provide-locale
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "libc"))) ;implicit input
+ (substitute* "usr/bin/byobu.in"
+ (("locale") (string-append libc "/bin/locale"))))))
+ (add-after
+ 'install 'wrap-python-scripts
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((python (string-append (assoc-ref inputs "python")
+ "/bin/python"))
+ (out (assoc-ref outputs "out"))
+ (config (string-append out "/bin/byobu-config"))
+ (select (string-append out "/bin/byobu-select-session")))
+ (wrap-program config
+ `("BYOBU_PYTHON" = (,python))
+ `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ (wrap-program select
+ `("BYOBU_PYTHON" = (,python)))
+ #t))))))
+ (home-page "http://byobu.co/index.html")
+ (synopsis "Text-based window manager and terminal multiplexer")
+ (description
+ "Byobu is a Japanese term for decorative, multi-panel screens that serve
+as folding room dividers. The Byobu software includes an enhanced profile,
+configuration utilities, and system status notifications for the GNU Screen
+window manager as well as the Tmux terminal multiplexer.")
+ (license gpl3+)))
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
new file mode 100644
index 0000000000..864e5707d3
--- /dev/null
+++ b/gnu/packages/scribus.scm
@@ -0,0 +1,79 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; 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 scribus)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages cups)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages xml))
+
+(define-public scribus
+ (package
+ (name "scribus")
+ (version "1.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
+ version "/scribus-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0s4f9q2nyqrrv4wc1ddf2admkmf9m33wmwp73ba5b4vi29nydnx3"))
+ (patches (list (search-patch "scribus-qobject.patch")))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f)) ; no test target
+ (inputs
+ `(("cairo" ,cairo)
+ ("cups" ,cups)
+ ("graphicsmagick" ,graphicsmagick)
+ ("lcms" ,lcms)
+ ("libjpeg" ,libjpeg)
+ ("libtiff" ,libtiff)
+ ("libxml2" ,libxml2)
+ ("python" ,python-2)
+ ("freetype" ,freetype)
+ ("qt" ,qt)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("util-linux" ,util-linux)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://scribus.net")
+ (synopsis "Desktop publishing and page layout program")
+ (description
+ "Scribus is a @dfn{desktop publishing} (DTP) application and can be used
+for many tasks; from brochure design to newspapers, magazines, newsletters and
+posters to technical documentation. Scribus supports professional DTP
+features, such as CMYK color and a color management system to soft proof
+images for high quality color printing, flexible PDF creation options,
+Encapsulated PostScript import/export and creation of four color separations,
+import of EPS/PS and SVG as native vector graphics, Unicode text including
+right to left scripts such as Arabic and Hebrew via freetype.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
new file mode 100644
index 0000000000..b03e27cb95
--- /dev/null
+++ b/gnu/packages/serialization.scm
@@ -0,0 +1,74 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; 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 serialization)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system cmake)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages doxygen))
+
+(define-public cereal
+ (package
+ (name "cereal")
+ (version "1.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/USCiLab/cereal/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "13bvsfzvm7yyp97k20iznq2j14dj3qiczvpq7g8897njw46psq25"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(;; The only included tests are portability tests requiring
+ ;; cross-compilation and boost. Since we are building cereal on more
+ ;; platforms anyway, there is no compelling reason to build the tests.
+ #:tests? #f
+ #:out-of-source? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (substitute* "doc/doxygen.in"
+ (("@CMAKE_CURRENT_SOURCE_DIR@") "."))
+ (zero? (system* "doxygen" "doc/doxygen.in"))))
+ ;; There is no "install" target, so we have to provide our own
+ ;; "install" phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/cereal/docs"))
+ (include (string-append out "/include/cereal")))
+ (mkdir-p doc)
+ (mkdir-p include)
+ (copy-recursively "include/cereal" include)
+ (copy-recursively "doc/html" doc))
+ #t)))))
+ (native-inputs
+ `(("doxygen" ,doxygen)))
+ (home-page "http://uscilab.github.io/cereal/")
+ (synopsis "C++11 library for serialization")
+ (description
+ "Cereal is a header-only C++11 serialization library. Cereal takes
+arbitrary data types and reversibly turns them into different representations,
+such as compact binary encodings, XML, or JSON.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm
index a00fa7b01e..24ec71ed3e 100644
--- a/gnu/packages/slang.scm
+++ b/gnu/packages/slang.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,6 +21,7 @@
(define-module (gnu packages slang)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages readline)
@@ -28,7 +30,8 @@
#:use-module (gnu packages fribidi)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
- #:use-module (gnu packages pcre))
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages python))
(define-public slang
(package
@@ -85,15 +88,22 @@ slsh, which is part of the S-Lang distribution.")
(base32
"07n9f2mqsjfj35wx5ldhvl9sqcjqpcl0g4fdd9mawmny9rihw6vp"))))
(build-system gnu-build-system)
+ (outputs '("out" "python"))
(inputs
`(("slang" ,slang)
("popt" ,popt)
+ ("python" ,python)
("fribidi" ,fribidi)))
(arguments
`(#:tests? #f ; no test suite
#:configure-flags
;; Set the correct RUNPATH in binaries.
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
+ #:make-flags
+ ;; configure does not allow us to override this variable from the
+ ;; command-line. Fortunately, the Makefile does, so provide it here.
+ (list (string-append "PYTHONVERS=python"
+ ,(version-major+minor (package-version python))))
#:phases
(modify-phases %standard-phases
(add-after
@@ -101,7 +111,17 @@ slsh, which is part of the S-Lang distribution.")
(lambda _
(substitute* "po/Makefile"
(("/usr/bin/install") "install"))
- #t)))))
+ #t))
+ (add-after
+ 'install 'move-python
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (py (assoc-ref outputs "python"))
+ (ver ,(version-major+minor (package-version python))))
+ (mkdir-p (string-append py "/lib"))
+ (rename-file (string-append out "/lib/python" ver)
+ (string-append py "/lib/python" ver))
+ #t))))))
(home-page "https://fedorahosted.org/newt/")
(synopsis "Not Erik's Windowing Toolkit - text mode windowing with slang")
(description
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 7a62d0bdee..cb8570a74b 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -110,7 +111,7 @@ a server that supports the SSH-2 protocol.")
(define-public openssh
(package
(name "openssh")
- (version "7.0p1")
+ (version "7.1p1")
(source (origin
(method url-fetch)
(uri (let ((tail (string-append name "-" version ".tar.gz")))
@@ -121,7 +122,7 @@ a server that supports the SSH-2 protocol.")
(string-append "http://ftp2.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/"
tail))))
(sha256 (base32
- "1rc52jyc5v5b8j9kvasrnz9vnj9b0i7fw4nqac8wix0r794k4ngx"))))
+ "0a44mnr8bvw41zg83xh4sb55d8nds29j95gxvxk5qg863lnns2pw"))))
(build-system gnu-build-system)
(inputs `(("groff" ,groff)
("openssl" ,openssl)
@@ -129,26 +130,35 @@ a server that supports the SSH-2 protocol.")
(arguments
`(#:test-target "tests"
#:phases
- (alist-cons-after
- 'configure 'reset-/var/empty
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile"
- (("PRIVSEP_PATH=/var/empty")
- (string-append "PRIVSEP_PATH=" out "/var/empty")))))
- (alist-cons-before
- 'check 'patch-tests
- (lambda _
- ;; remove 't-exec' regress target which requires user 'sshd'
- (substitute* "regress/Makefile"
- (("^(REGRESS_TARGETS=.*) t-exec(.*)" all pre post)
- (string-append pre post))))
- (alist-replace
- 'install
- (lambda* (#:key (make-flags '()) #:allow-other-keys)
- ;; install without host keys and system configuration files
- (zero? (apply system* "make" "install-nosysconf" make-flags)))
- %standard-phases)))))
+ (modify-phases %standard-phases
+ (add-after 'configure 'reset-/var/empty
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile"
+ (("PRIVSEP_PATH=/var/empty")
+ (string-append "PRIVSEP_PATH=" out "/var/empty")))
+ #t)))
+ (add-before 'check 'patch-tests
+ (lambda _
+ ;; remove 't-exec' regress target which requires user 'sshd'
+ (substitute* "regress/Makefile"
+ (("^(REGRESS_TARGETS=.*) t-exec(.*)" all pre post)
+ (string-append pre post)))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
+ ;; install without host keys and system configuration files
+ (and (zero? (apply system* "make" "install-nosysconf" make-flags))
+ (begin
+ (install-file "contrib/ssh-copy-id"
+ (string-append (assoc-ref outputs "out")
+ "/bin/"))
+ (chmod (string-append (assoc-ref outputs "out")
+ "/bin/ssh-copy-id") #o555)
+ (install-file "contrib/ssh-copy-id.1"
+ (string-append (assoc-ref outputs "out")
+ "/share/man/man1/"))
+ #t)))))))
(synopsis "Client and server for the secure shell (ssh) protocol")
(description
"The SSH2 protocol implemented in OpenSSH is standardised by the
@@ -184,6 +194,7 @@ Additionally, various channel-specific options can be negotiated.")
(uri (git-reference
(url "https://github.com/artyom-poptsov/libguile-ssh.git")
(commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ld2khzylaylhqfsfcvbxs95frvm8pkr7dq40ia1wwn9c349fcdv"))))
@@ -325,7 +336,8 @@ especially over Wi-Fi, cellular, and long-distance links.")
(source (origin
(method url-fetch)
(uri (string-append
- "http://matt.ucc.asn.au/" name "/releases/" name "-" version ".tar.bz2"))
+ "http://matt.ucc.asn.au/" name "/releases/"
+ name "-" version ".tar.bz2"))
(sha256
(base32 "1bjpbg2vi5f332q4bqxkidkjfxsqmnqvp4g1wyh8d99b8gg94nar"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index f854a44d96..0ffd4955bb 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -24,6 +24,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
+ #:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
@@ -35,11 +36,18 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages ssh)
#:use-module (gnu packages texlive)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages base)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages zip)
+ #:use-module (srfi srfi-1))
(define-public r
(package
@@ -913,9 +921,9 @@ database.")
times.")
(license license:gpl2)))
-(define-public r-data.table
+(define-public r-data-table
(package
- (name "r-data.table")
+ (name "r-data-table")
(version "1.9.6")
(source (origin
(method url-fetch)
@@ -929,7 +937,408 @@ times.")
(home-page "https://github.com/Rdatatable/data.table/wiki")
(synopsis "Enhanced version of data.frame R object")
(description
- "The R data.table package provides functions for fast aggregation of
-large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of
-columns by group, column listing and fast file reading.")
+ "The R package @code{data.table} is an extension of @code{data.frame}
+providing functions for fast aggregation of large data (e.g. 100GB in RAM),
+fast ordered joins, fast add/modify/delete of columns by group, column listing
+and fast file reading.")
+ (license license:gpl3+)))
+
+(define-public python-patsy
+ (package
+ (name "python-patsy")
+ (version "0.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/"
+ "p/patsy/patsy-" version ".zip"))
+ (sha256
+ (base32
+ "1kbs996xc2haxalmhd19rr1wh5fa4gbbxf81czkf5w4kam7h7wz4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check (lambda _ (zero? (system* "nosetests" "-v"))))
+ (add-after 'unpack 'prevent-generation-of-egg-archive
+ (lambda _
+ (substitute* "setup.py"
+ (("from setuptools import setup")
+ "from distutils.core import setup"))
+ #t)))))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-scipy" ,python-scipy)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("unzip" ,unzip)))
+ (home-page "https://github.com/pydata/patsy")
+ (synopsis "Describe statistical models and build design matrices")
+ (description
+ "Patsy is a Python package for describing statistical models and for
+building design matrices.")
+ ;; The majority of the code is distributed under BSD-2. The module
+ ;; patsy.compat contains code derived from the Python standard library,
+ ;; and is covered by the PSFL.
+ (license (list license:bsd-2 license:psfl))))
+
+(define-public python2-patsy
+ (let ((patsy (package-with-python2 python-patsy)))
+ (package (inherit patsy)
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs patsy)))
+ (propagated-inputs
+ `(("python2-numpy" ,python2-numpy)
+ ("python2-scipy" ,python2-scipy)
+ ,@(alist-delete "python-numpy"
+ (alist-delete "python-scipy"
+ (package-propagated-inputs patsy))))))))
+
+(define-public python-statsmodels
+ (package
+ (name "python-statsmodels")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/"
+ "s/statsmodels/statsmodels-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xn67sqr0cc1lmlhzm71352hrb4hw7g318p5ff5q97pc98vl8kmy"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; tests must be run after installation
+ (delete 'check)
+ (add-after 'unpack 'set-matplotlib-backend-to-agg
+ (lambda _
+ ;; Set the matplotlib backend to Agg to avoid problems using the
+ ;; GTK backend without a display.
+ (substitute* (find-files "statsmodels/graphics/tests" "\\.py")
+ (("import matplotlib\\.pyplot as plt" line)
+ (string-append "import matplotlib;matplotlib.use('Agg');"
+ line)))
+ #t))
+ (add-after 'install 'check
+ (lambda _
+ (with-directory-excursion "/tmp"
+ (zero? (system* "nosetests"
+ "--stop"
+ "-v" "statsmodels"))))))))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-scipy" ,python-scipy)
+ ("python-pandas" ,python-pandas)
+ ("python-patsy" ,python-patsy)
+ ("python-matplotlib" ,python-matplotlib)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-nose" ,python-nose)
+ ("python-sphinx" ,python-sphinx)))
+ (home-page "http://statsmodels.sourceforge.net/")
+ (synopsis "Statistical modeling and econometrics in Python")
+ (description
+ "Statsmodels is a Python package that provides a complement to scipy for
+statistical computations including descriptive statistics and estimation and
+inference for statistical models.")
+ (license license:bsd-3)))
+
+(define-public python2-statsmodels
+ (let ((stats (package-with-python2 python-statsmodels)))
+ (package (inherit stats)
+ (propagated-inputs
+ `(("python2-numpy" ,python2-numpy)
+ ("python2-scipy" ,python2-scipy)
+ ("python2-pandas" ,python2-pandas)
+ ("python2-patsy" ,python2-patsy)
+ ("python2-matplotlib" ,python2-matplotlib)))
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs stats))))))
+
+(define-public r-xml2
+ (package
+ (name "r-xml2")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "xml2" version))
+ (sha256
+ (base32
+ "0jjilz36h7vbdbkpvjnja1vgjf6d1imql3z4glqn2m2b74w5qm4c"))))
+ (build-system r-build-system)
+ (inputs
+ `(("libxml2" ,libxml2)))
+ (propagated-inputs
+ `(("r-rcpp" ,r-rcpp)
+ ("r-bh" ,r-bh)))
+ (home-page "https://github.com/hadley/xml2")
+ (synopsis "Parse XML with R")
+ (description
+ "This package provides a simple, consistent interface to working with XML
+files in R. It is built on top of the libxml2 C library.")
+ (license license:gpl2+)))
+
+(define-public r-rversions
+ (package
+ (name "r-rversions")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "rversions" version))
+ (sha256
+ (base32
+ "0xmi461g1rf5ngb7r1sri798jn6icld1xq25wj9jii2ca8j8xv68"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-curl" ,r-curl)
+ ("r-xml2" ,r-xml2)))
+ (home-page "https://github.com/metacran/rversions")
+ (synopsis "Query R versions, including 'r-release' and 'r-oldrel'")
+ (description
+ "This package provides functions to query the main R repository to find
+the versions that @code{r-release} and @code{r-oldrel} refer to, and also all
+previous R versions and their release dates.")
+ (license license:expat)))
+
+(define-public r-whisker
+ (package
+ (name "r-whisker")
+ (version "0.3-2")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "whisker" version))
+ (sha256
+ (base32
+ "0z4cn115gxcl086d6bnqr8afi67b6a7xqg6ivmk3l4ng1x8kcj28"))))
+ (build-system r-build-system)
+ (home-page "http://github.com/edwindj/whisker")
+ (synopsis "Logicless mustache templating for R")
+ (description
+ "This package provides logicless templating, with a syntax that is not
+limited to R.")
+ (license license:gpl3+)))
+
+(define-public r-brew
+ (package
+ (name "r-brew")
+ (version "1.0-6")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "brew" version))
+ (sha256
+ (base32
+ "1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/brew")
+ (synopsis "Templating framework for report generation")
+ (description
+ "The brew package implements a templating framework for mixing text and R
+code for report generation. The template syntax is similar to PHP, Ruby's erb
+module, Java Server Pages, and Python's psp module.")
+ (license license:gpl2+)))
+
+(define-public r-roxygen2
+ (package
+ (name "r-roxygen2")
+ (version "5.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "roxygen2" version))
+ (sha256
+ (base32
+ "0xjdphjs7l1v71lylmqgp76cbcxzvm9z1a40jgkdwvz072nn08vr"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-brew" ,r-brew)
+ ("r-digest" ,r-digest)
+ ("r-rcpp" ,r-rcpp)
+ ("r-stringi" ,r-stringi)
+ ("r-stringr" ,r-stringr)))
+ (home-page "https://github.com/klutometis/roxygen")
+ (synopsis "In-source documentation system for R")
+ (description
+ "Roxygen2 is a Doxygen-like in-source documentation system for Rd,
+collation, and NAMESPACE files.")
+ (license license:gpl2+)))
+
+(define-public r-httr
+ (package
+ (name "r-httr")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "httr" version))
+ (sha256
+ (base32
+ "1yprw8p4g8026jhravgg1hdwj1g51cpdgycyr5a58jwm4i5f79cq"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-curl" ,r-curl)
+ ("r-digest" ,r-digest)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-mime" ,r-mime)
+ ("r-r6" ,r-r6)
+ ("r-stringr" ,r-stringr)))
+ (home-page "https://github.com/hadley/httr")
+ (synopsis "Tools for working with URLs and HTTP")
+ (description
+ "The aim of httr is to provide a wrapper for RCurl customised to the
+demands of modern web APIs. It provides useful tools for working with HTTP
+organised by HTTP verbs (@code{GET()}, @code{POST()}, etc). Configuration
+functions make it easy to control additional request components.")
+ (license license:expat)))
+
+(define-public r-git2r
+ (package
+ (name "r-git2r")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "git2r" version))
+ (sha256
+ (base32
+ "1h5ag8sm512jsn2sp4yhiqspc7hjq5y8z0kqz24sdznxa3b7rpn9"))))
+ (build-system r-build-system)
+ ;; This R package contains modified sources of libgit2. This modified
+ ;; version of libgit2 is built as the package is built. Hence libgit2 is
+ ;; not among the inputs of this package.
+ (inputs
+ `(("libssh2" ,libssh2)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/ropensci/git2r")
+ (synopsis "Access Git repositories with R")
+ (description
+ "This package provides an R interface to the libgit2 library, which is a
+pure C implementation of the Git core methods.")
+ ;; GPLv2 only with linking exception.
+ (license license:gpl2)))
+
+(define-public r-rstudioapi
+ (package
+ (name "r-rstudioapi")
+ (version "0.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "rstudioapi" version))
+ (sha256
+ (base32
+ "0q7671d924nzqsqhs8d9p7l907bcam56wjwm7vvz44xgj0saj8bs"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/rstudioapi")
+ (synopsis "Safely access the RStudio API")
+ (description
+ "This package provides functions to access the RStudio API and provide
+informative error messages when it's not available.")
+ (license license:expat)))
+
+(define-public r-devtools
+ (package
+ (name "r-devtools")
+ (version "1.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "devtools" version))
+ (sha256
+ (base32
+ "10ycx3kkiz5x8nmgw31d9wa5hhlx2fhda2nqzxfrczqpz1jik6ci"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-curl" ,r-curl)
+ ("r-digest" ,r-digest)
+ ("r-evaluate" ,r-evaluate)
+ ("r-git2r" ,r-git2r)
+ ("r-httr" ,r-httr)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-memoise" ,r-memoise)
+ ("r-roxygen2" ,r-roxygen2)
+ ("r-rstudioapi" ,r-rstudioapi)
+ ("r-rversions" ,r-rversions)
+ ("r-whisker" ,r-whisker)))
+ (home-page "https://github.com/hadley/devtools")
+ (synopsis "Tools to make developing R packages easier")
+ (description "The devtools package is a collection of package development
+tools to simplify the devolpment of R packages.")
+ (license license:gpl2+)))
+
+(define-public r-readr
+ (package
+ (name "r-readr")
+ (version "0.2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "readr" version))
+ (sha256
+ (base32
+ "156422xwvskynna5kjc8h1qqnn50kxgjrihl2h2b7vm9sxxdyr2m"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-curl" ,r-curl)
+ ("r-rcpp" ,r-rcpp)
+ ("r-bh" ,r-bh)))
+ (home-page "https://github.com/hadley/readr")
+ (synopsis "Read tabular data")
+ (description
+ "This package provides functions to read flat or tabular text files from
+disk (or a connection).")
+ (license license:gpl2+)))
+
+(define-public r-plotrix
+ (package
+ (name "r-plotrix")
+ (version "3.6")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "plotrix" version))
+ (sha256
+ (base32
+ "0zn6k8azh40v0lg7q9yd4sy30a26bcc0fjvndn4z7k36avlw4i25"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/plotrix")
+ (synopsis "Various plotting functions")
+ (description
+ "This package provides lots of plotting, various labeling, axis and color
+scaling functions for R.")
+ (license license:gpl2+)))
+
+(define-public r-gridbase
+ (package
+ (name "r-gridbase")
+ (version "0.4-7")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "gridBase" version))
+ (sha256
+ (base32
+ "09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/gridBase")
+ (synopsis "Integration of base and grid graphics")
+ (description
+ "This package provides an integration of base and grid graphics for R.")
+ (license license:gpl2+)))
+
+(define-public r-lattice
+ (package
+ (name "r-lattice")
+ (version "0.20-33")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "lattice" version))
+ (sha256
+ (base32
+ "0car12x5vl9k180i9pc86lq3cvwqakdpqn3lgdf98k9n2h52cilg"))))
+ (build-system r-build-system)
+ (home-page "http://lattice.r-forge.r-project.org/")
+ (synopsis "High-level data visualization system")
+ (description
+ "The lattice package provides a powerful and elegant high-level data
+visualization system inspired by Trellis graphics, with an emphasis on
+multivariate data. Lattice is sufficient for typical graphics needs, and is
+also flexible enough to handle most nonstandard requirements.")
(license license:gpl2+)))
diff --git a/gnu/packages/synergy.scm b/gnu/packages/synergy.scm
index 905ef82af4..bc70eaf838 100644
--- a/gnu/packages/synergy.scm
+++ b/gnu/packages/synergy.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,7 +32,7 @@
(define-public synergy
(package
(name "synergy")
- (version "1.7.3")
+ (version "1.7.4")
(source
(origin
(method url-fetch)
@@ -41,7 +41,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "098y71fiw1n5i7g1p6vjfs5rz472j192p9izz2axxxhfvcyzrvx4"))
+ "1prb06dmi4bhfsraih4hzlsfiraiczgzhqy9gjsxygczif8w6p91"))
(modules '((guix build utils)))
(snippet
;; Remove ~14MB of unnecessary bundled source and binaries
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index 5b55cccbde..6f6838c039 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -35,14 +35,14 @@
(package
(name "tcl")
(version "8.6.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/tcl/Tcl/"
- version "/tcl" version "-src.tar.gz"))
- (sha256
- (base32
- "13cwa4bc85ylf5gfj9vk182lvgy60qni3f7gbxghq78wk16djvly"))))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/tcl/Tcl/"
+ version "/tcl" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "13cwa4bc85ylf5gfj9vk182lvgy60qni3f7gbxghq78wk16djvly"))
+ (patches (list (search-patch "tcl-mkindex-deterministic.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
@@ -140,7 +140,8 @@ X11 GUIs.")
version "/tk" version "-src.tar.gz"))
(sha256
(base32
- "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88"))))
+ "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88"))
+ (patches (list (search-patch "tk-find-library.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 6f90843a18..5c61604191 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,20 +60,20 @@ reimplementation.")
(define-public ucommon
(package
(name "ucommon")
- (version "6.6.0")
+ (version "6.6.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/commoncpp/" name "-"
version ".tar.gz"))
(sha256 (base32
- "09y6rs51wl2851xp5zlxlqqb97xfi39v0yna3njb62swwr1n1ky1"))))
+ "16haqzq97axiyhgpca95rhr5y5s7fl8b65if5vil7v4lcqxp3hqn"))))
(build-system gnu-build-system)
(synopsis "Common C++ framework for threaded applications")
(description "GNU uCommon C++ is meant as a very light-weight C++ library
to facilitate using C++ design patterns even for very deeply embedded
applications, such as for systems using uclibc along with posix threading
support.")
- (license gpl2+) ; plus runtime exception
+ (license gpl3+)
(home-page "http://www.gnu.org/software/commoncpp")))
(define-public ccrtp
@@ -145,13 +146,13 @@ multiplayer games.")
(define-public sipwitch
(package
(name "sipwitch")
- (version "1.9.10")
+ (version "1.9.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/sipwitch/sipwitch-"
version ".tar.gz"))
(sha256 (base32
- "1ljvg66v1ms3zc81mbg4x5k0pjb2flx35h70msfiajidlcna5xhz"))))
+ "1mrzl5nakiz613v3ch27k5dj2ykm88dlcr22lqny6dnjyfa9n2ki"))))
(build-system gnu-build-system)
;; The configure.ac uses pkg-config but in a kludgy way which breaks when
;; cross-compiling. Among other issues there the program name "pkg-config"
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
new file mode 100644
index 0000000000..153c51a346
--- /dev/null
+++ b/gnu/packages/terminals.scm
@@ -0,0 +1,69 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; 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 terminals)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build utils)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages wm))
+
+(define-public tilda
+ (package
+ (name "tilda")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/lanoxx/tilda/archive/"
+ "tilda-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bbn2fflngx0g18ssvnzgzprvn1w6wc2y03sqzjwvxds488lhndx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'patch-source-shebangs 'autogen
+ (lambda _ ; Avoid running ./configure.
+ (substitute* "autogen.sh"
+ (("^.*\\$srcdir/configure.*") ""))
+ (zero? (system* "sh" "autogen.sh")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gnu-gettext)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib "bin")
+ ("gtk+" ,gtk+)
+ ("libconfuse" ,libconfuse)
+ ("vte" ,vte)))
+ (synopsis "GTK+-based drop-down terminal")
+ (description "Tilda is a terminal emulator similar to normal terminals like
+gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down
+from the edge of a screen when a certain configurable hotkey is pressed. This
+is similar to the built-in consoles in some applications. Tilda is highly
+configureable through a graphical wizard.")
+ (home-page "https://github.com/lanoxx/tilda")
+ (license license:gpl2+)))
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 9f7cdddcad..537a840247 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,7 +41,8 @@
(url "https://github.com/pinard/Recode.git")
(commit "2d7092a9999194fc0e9449717a8048c8d8e26c18")))
(sha256
- (base32 "1wssv8z6g3ryrw33sksz4rjhlnhgvvdqszw1ggl4rcwks34n86zm"))))
+ (base32 "1wssv8z6g3ryrw33sksz4rjhlnhgvvdqszw1ggl4rcwks34n86zm"))
+ (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs `(("python" ,python-2)))
(arguments
@@ -74,7 +76,8 @@ handy front-end to the library.")
(uri (string-append
"https://github.com/nijel/enca/archive/" version ".tar.gz"))
(sha256
- (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l"))))
+ (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l"))
+ (file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs `(("recode" ,recode)))
@@ -177,3 +180,24 @@ the Hannon Lab.")
"CityHash provides hash functions for strings. The functions mix the
input bits thoroughly but are not suitable for cryptography.")
(license license:expat))))
+
+(define-public libconfig
+ (package
+ (name "libconfig")
+ (version "1.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.hyperrealm.com/libconfig/"
+ "libconfig-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xh3hzk63v4y8815lc5209m3s6ms2cpgw4h5hg462i4f1lwsl7g3"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.hyperrealm.com/libconfig/")
+ (synopsis "C/C++ configuration file library")
+ (description
+ "Libconfig is a simple library for manipulating structured configuration
+files. This file format is more compact and more readable than XML. And
+unlike XML, it is type-aware, so it is not necessary to do string parsing in
+application code.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 1a0eeb2708..e539686199 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -3,6 +3,8 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,14 +28,17 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system python)
#:use-module (gnu packages compression)
#:use-module (gnu packages)
#:use-module (gnu packages guile)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libidn)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages base))
@@ -187,14 +192,14 @@ required structures.")
(define-public openssl
(package
(name "openssl")
- (version "1.0.2d")
+ (version "1.0.2e")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.openssl.org/source/openssl-" version
".tar.gz"))
(sha256
(base32
- "1j58r7rdj9fz2lanir8ajbx4bspb5jnm5ikl6dq8lql5fx43c737"))
+ "1zqb1rff1wikc62a7vj5qxd1k191m8qif5d05mwdxz2wnzywlg72"))
(patches (map search-patch
'("openssl-runpath.patch"
"openssl-c-rehash.patch")))))
@@ -207,10 +212,11 @@ required structures.")
#:phases
(modify-phases %standard-phases
(add-before
- 'configure 'fix-man-dir
+ 'configure 'patch-Makefile.org
(lambda* (#:key outputs #:allow-other-keys)
;; The default MANDIR is some unusual place. Fix that.
(let ((out (assoc-ref outputs "out")))
+ (patch-makefile-SHELL "Makefile.org")
(substitute* "Makefile.org"
(("^MANDIR[[:blank:]]*=.*$")
(string-append "MANDIR = " out "/share/man\n")))
@@ -249,6 +255,27 @@ required structures.")
(find-files (string-append out "/lib")
"\\.so"))
#t)))
+ (add-after
+ 'unpack 'fix-broken-symlinks
+ (lambda _
+ ;; Repair the broken symlinks in the openssl-1.0.2e tarball.
+ (let* ((link-prefix "openssl-1.0.2e/")
+ (link-prefix-length (string-length link-prefix))
+ (broken-links
+ (find-files "." (lambda (file stat)
+ (and (eq? 'symlink (stat:type stat))
+ (string-prefix? link-prefix
+ (readlink file)))))))
+ (when (null? broken-links)
+ (error "The 'fix-broken-symlinks' phase is obsolete; remove it"))
+ (for-each (lambda (file)
+ (let* ((old-target (readlink file))
+ (new-target (string-drop old-target
+ link-prefix-length)))
+ (delete-file file)
+ (symlink new-target file)))
+ broken-links)
+ #t)))
(add-before
'patch-source-shebangs 'patch-tests
(lambda* (#:key inputs native-inputs #:allow-other-keys)
@@ -257,7 +284,8 @@ required structures.")
(("/bin/sh")
(string-append bash "/bin/bash"))
(("/bin/rm")
- "rm")))))
+ "rm"))
+ #t)))
(add-after
'install 'remove-miscellany
(lambda* (#:key outputs #:allow-other-keys)
@@ -320,6 +348,78 @@ security, and applying best practice development processes.")
"file://COPYING"
"See COPYING in the distribution.")))))
+(define-public acme
+ (package
+ (name "acme")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/a/acme/acme-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0fj0m04zzdxx23vazl00ilqyl3jxqq9c9p4x61pfz1zps7nbzsy3"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ ;; TODO: Add optional inputs for testing and building documentation.
+ (native-inputs
+ `(("python2-mock" ,python2-mock)
+ ("python2-setuptools" ,python2-setuptools)))
+ (propagated-inputs
+ `(("python2-ndg-httpsclient" ,python2-ndg-httpsclient)
+ ("python2-werkzeug" ,python2-werkzeug)
+ ("python2-six" ,python2-six)
+ ("python2-requests" ,python2-requests)
+ ("python2-pytz" ,python2-pytz)
+ ("python2-pyrfc3339" ,python2-pyrfc3339)
+ ("python2-pyasn1" ,python2-pyasn1)
+ ("python2-cryptography" ,python2-cryptography)
+ ("python2-pyopenssl" ,python2-pyopenssl)))
+ (home-page "https://github.com/letsencrypt/letsencrypt")
+ (synopsis "ACME protocol implementation in Python")
+ (description "ACME protocol implementation in Python")
+ (license license:asl2.0)))
+
+(define-public letsencrypt
+ (package
+ (name "letsencrypt")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/l/"
+ "letsencrypt/letsencrypt-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zb96xz32k6ai41h5m1l22qi47y71dq69dcmbz7vfm6jfrhjgxl1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ ;; TODO: Add optional inputs for testing building documentation.
+ (native-inputs
+ `(("python2-nose" ,python2-nose)
+ ("python2-mock" ,python2-mock)))
+ (propagated-inputs
+ `(("acme" ,acme)
+ ("python2-zope-interface" ,python2-zope-interface)
+ ("python2-pythondialog" ,python2-pythondialog)
+ ("python2-pyrfc3339" ,python2-pyrfc3339)
+ ("python2-pyopenssl" ,python2-pyopenssl)
+ ("python2-configobj" ,python2-configobj)
+ ("python2-configargparse" ,python2-configargparse)
+ ("python2-zope-component" ,python2-zope-component)
+ ("python2-parsedatetime" ,python2-parsedatetime)
+ ("python2-six" ,python2-six)
+ ("python2-psutil" ,python2-psutil)
+ ("python2-requests" ,python2-requests)
+ ("python2-pytz" ,python2-pytz)))
+ (synopsis "Let's Encrypt client")
+ (description "Tool to automatically receive and install X.509 certificates
+to enable TLS on servers. The client will interoperate with the Let’s Encrypt CA which
+will be issuing browser-trusted certificates for free.")
+ (home-page "https://letsencrypt.org/")
+ (license license:asl2.0)))
+
(define-public perl-net-ssleay
(package
(name "perl-net-ssleay")
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 3cf45a400e..e6e8876597 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -18,13 +18,16 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages tor)
- #:use-module ((guix licenses) #:select (bsd-3 gpl2+))
+ #:use-module ((guix licenses) #:select (bsd-3 gpl2+ gpl2))
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
#:use-module (gnu packages libevent)
#:use-module (gnu packages compression)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages tls)
@@ -33,14 +36,14 @@
(define-public tor
(package
(name "tor")
- (version "0.2.6.10")
+ (version "0.2.7.5")
(source (origin
(method url-fetch)
(uri (string-append "https://www.torproject.org/dist/tor-"
version ".tar.gz"))
(sha256
(base32
- "13ab4bqz19980q4qgmbr7ar4r9y70bmsfbw66y9n31ivwkpw0hh5"))))
+ "0pxayvcab4cb107ynbpzx4g0qyr1mjfba2an76wdx6dxn56rwakx"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2))) ; for tests
@@ -66,22 +69,36 @@ applications based on the TCP protocol.")
(define-public torsocks
(package
(name "torsocks")
- (version "1.2")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://torsocks.googlecode.com/files/torsocks-"
- version ".tar.gz"))
- (sha256
- (base32
- "1m0is5q24sf7jjlkl0icfkdc0m53nbkg0q72s57p48yp4hv7v9dy"))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.torproject.org/torsocks.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0an2q5ail9z414riyjbkjkm29504hy778j914baz2gn5hlv2cfak"))
+ (file-name (string-append name "-" version "-checkout"))
+ (patches (list (search-patch "torsocks-dns-test.patch")))))
(build-system gnu-build-system)
- (home-page "http://code.google.com/p/torsocks/")
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _
+ (system* "autoreconf" "-vfi"))))))
+ (native-inputs `(("autoconf" ,(autoconf-wrapper))
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("perl-test-harness" ,perl-test-harness)))
+ (home-page "http://www.torproject.org/")
(synopsis "Use socks-friendly applications with Tor")
(description
"Torsocks allows you to use most socks-friendly applications in a safe
way with Tor. It ensures that DNS requests are handled safely and explicitly
rejects UDP traffic from the application you're using.")
- (license gpl2+)))
+
+ ;; All the files explicitly say "version 2 only".
+ (license gpl2)))
(define-public privoxy
(package
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index b4c518acf7..6861e35bec 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -6,6 +6,8 @@
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +37,7 @@
#:use-module (guix build-system trivial)
#:use-module (guix build utils)
#:use-module (gnu packages apr)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages asciidoc)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
@@ -105,14 +108,14 @@ as well as the classic centralized workflow.")
;; Keep in sync with 'git-manpages'!
(package
(name "git")
- (version "2.5.0")
+ (version "2.6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "0p747j94kynrx71qaamc9i0dkq5vqpv66a47b68pmin1qsxb2nfc"))))
+ "18vxb5fmwmrps504m23a4xdl29m7ibca3hmz0mn9jc38sz9y95yn"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -279,7 +282,7 @@ everything from small to very large projects with speed and efficiency.")
version ".tar.xz"))
(sha256
(base32
- "1spnqxzl53ic7bv1x7c6lwscdh581scqm5zh98wfp4qn1ciafvhs"))))
+ "1d7jb4pyln0prgxpxkfiy2l6ragsjzsyqyxbssbchdvl145gj8xf"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
@@ -672,7 +675,8 @@ machine.")
(build-system gnu-build-system)
(arguments
;; XXX: The test suite looks flawed, and the package is obsolete anyway.
- '(#:tests? #f))
+ '(#:tests? #f
+ #:configure-flags (list "--with-external-zlib")))
(inputs `(("zlib" ,zlib)
("nano" ,nano))) ; the default editor
(home-page "http://cvs.nongnu.org")
@@ -901,7 +905,7 @@ any project with more than one developer, is one of Aegis's major functions.")
(define-public tig
(package
(name "tig")
- (version "2.1")
+ (version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -909,12 +913,13 @@ any project with more than one developer, is one of Aegis's major functions.")
version ".tar.gz"))
(sha256
(base32
- "1c1w6w39a1dwx4whrg0ga1mhrlz095hz875z7ajn6xgmhkv8fqih"))))
+ "0bw5wivswwh7vx897q8xc2cqgkqhdzk8gh6fnav2kf34sngigiah"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
(arguments
- `(#:tests? #f)) ; no tests implemented
+ `(#:tests? #f)) ; tests require access to /dev/tty
+ ;;`(#:test-target "test"))
(home-page "http://jonas.nitro.dk/tig/")
(synopsis "Ncurses-based text user interface for Git")
(description
@@ -922,3 +927,59 @@ any project with more than one developer, is one of Aegis's major functions.")
a history browser. It can also stage hunks for commit, or colorize the
output of the 'git' command.")
(license gpl2+)))
+
+(define-public findnewest
+ (package
+ (name "findnewest")
+ (version "0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/0-wiz-0/findnewest/archive/findnewest-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0zlflad568y203yc5ynf1nxi2szn2pmbf1lvz6yk77kjyrpw7zxg"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi")))))))
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (home-page "https://github.com/0-wiz-0/findnewest/releases")
+ (synopsis "Print the modification time of the latest file")
+ (description
+ "Recursively find the newest file in a file tree and print its
+modification time.")
+ (license bsd-2)))
+
+(define-public myrepos
+ (package
+ (name "myrepos")
+ (version "1.20151022")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/joeyh/myrepos/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0c93lqsngpsxsca7nygk4qhidr40ijgih86q81x1mfcwbs0gbds8"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("perl" ,perl)))
+ (arguments
+ `(#:test-target "test"
+ #:phases (alist-delete 'configure %standard-phases)
+ #:make-flags (list (string-append "PREFIX=" %output))))
+ (home-page "http://myrepos.branchable.com/")
+ (synopsis "Multiple repository management tool")
+ (description
+ "Myrepos provides the @code{mr} command, which maps an operation (e.g.,
+fetching updates) over a collection of version control repositories. It
+supports a large number of version control systems: Git, Subversion,
+Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
+ (license gpl2+)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 013fef9742..76374e2ac6 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3,6 +3,9 @@
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -222,7 +225,7 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public libass
(package
(name "libass")
- (version "0.12.1")
+ (version "0.13.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -230,7 +233,7 @@ H.264 (MPEG-4 AVC) video streams.")
version "/libass-" version ".tar.xz"))
(sha256
(base32
- "1mwj2nk9g6cq6f8m1hf0ijg1299rghhy9naahqq43sc2whblb1l7"))))
+ "1rrz6is2blx8jqyydcz71y2f5f948blgx14jzi3an756fqc6p8sa"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -320,7 +323,7 @@ SMPTE 314M.")
(define-public libva
(package
(name "libva")
- (version "1.5.1")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
@@ -328,7 +331,7 @@ SMPTE 314M.")
"http://www.freedesktop.org/software/vaapi/releases/libva/libva-"
version".tar.bz2"))
(sha256
- (base32 "01d01mm9fgpwzqycmjjcj3in3vvzcibi3f64icsw2sksmmgb4495"))))
+ (base32 "0bjfb5s8dk3lql843l91ffxzlq47isqks5sj19cxh7j3nhzw58kz"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -370,18 +373,19 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "2.8")
+ (version "2.8.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "10l1iwc01k1algk2v4vzsrahdvqjmjfi3qazm2cwism0d8hsfg4r"))))
+ "0jkhyv68aa7h3hf905ganwqbrflams3hs74in7ygxdfkcqw2xqhq"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
("freetype" ,freetype)
+ ("gnutls" ,gnutls)
("opus" ,opus)
("ladspa" ,ladspa)
("lame" ,lame)
@@ -411,6 +415,89 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
("yasm" ,yasm)))
(arguments
`(#:test-target "fate"
+ #:configure-flags
+ ;; possible additional inputs:
+ ;; --enable-avisynth enable reading of AviSynth script
+ ;; files [no]
+ ;; --enable-frei0r enable frei0r video filtering
+ ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no]
+ ;; --enable-libcelt enable CELT decoding via libcelt [no]
+ ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
+ ;; and libraw1394 [no]
+ ;; --enable-libfaac enable AAC encoding via libfaac [no]
+ ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
+ ;; --enable-libflite enable flite (voice synthesis) support via
+ ;; libflite [no]
+ ;; --enable-libgme enable Game Music Emu via libgme [no]
+ ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
+ ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
+ ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
+ ;; --enable-libmodplug enable ModPlug via libmodplug [no]
+ ;; --enable-libnut enable NUT (de)muxing via libnut,
+ ;; native (de)muxer exists [no]
+ ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via
+ ;; libopencore-amrnb [no]
+ ;; --enable-libopencore-amrwb enable AMR-WB decoding via
+ ;; libopencore-amrwb [no]
+ ;; --enable-libopencv enable video filtering via libopencv [no]
+ ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via
+ ;; OpenJPEG [no]
+ ;; --enable-librtmp enable RTMP[E] support via librtmp [no]
+ ;; --enable-libschroedinger enable Dirac de/encoding via
+ ;; libschroedinger [no]
+ ;; --enable-libshine enable fixed-point MP3 encoding via
+ ;; libshine [no]
+ ;; --enable-libssh enable SFTP protocol via libssh [no]
+ ;; (libssh2 does not work)
+ ;; --enable-libstagefright-h264 enable H.264 decoding via
+ ;; libstagefright [no]
+ ;; --enable-libutvideo enable Ut Video encoding and decoding via
+ ;; libutvideo [no]
+ ;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
+ ;; --enable-libvidstab enable video stabilization using
+ ;; vid.stab [no]
+ ;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
+ ;; --enable-libvo-amrwbenc enable AMR-WB encoding via
+ ;; libvo-amrwbenc [no]
+ ;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
+ ;; --enable-libxavs enable AVS encoding via xavs [no]
+ ;; --enable-libzmq enable message passing via libzmq [no]
+ ;; --enable-libzvbi enable teletext support via libzvbi [no]
+ ;; --enable-opencl enable OpenCL code
+ ;; --enable-x11grab enable X11 grabbing [no]
+ '("--enable-avresample"
+ "--enable-gpl" ; enable optional gpl licensed parts
+ "--enable-shared"
+ "--enable-fontconfig"
+ "--enable-gnutls"
+ "--enable-ladspa"
+ "--enable-libass"
+ "--enable-libbluray"
+ "--enable-libcaca"
+ "--enable-libcdio"
+ "--enable-libfreetype"
+ "--enable-libmp3lame"
+ "--enable-libopus"
+ "--enable-libpulse"
+ "--enable-libquvi"
+ "--enable-libsoxr"
+ "--enable-libspeex"
+ "--enable-libtheora"
+ "--enable-libtwolame"
+ "--enable-libvorbis"
+ "--enable-libvpx"
+ "--enable-libxvid"
+ "--enable-libx264"
+ "--enable-openal"
+
+ "--enable-runtime-cpudetect"
+
+ ;; Runtime cpu detection is not implemented on
+ ;; MIPS, so we disable some features.
+ "--disable-mips32r2"
+ "--disable-mipsdspr1"
+ "--disable-mipsdspr2"
+ "--disable-mipsfpu")
#:phases
(modify-phases %standard-phases
(replace
@@ -423,83 +510,13 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(("#! /bin/sh") (string-append "#!" (which "bash"))))
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))
- ;; possible additional inputs:
- ;; --enable-avisynth enable reading of AviSynth script files [no]
- ;; --enable-frei0r enable frei0r video filtering
- ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no]
- ;; --enable-libcelt enable CELT decoding via libcelt [no]
- ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
- ;; and libraw1394 [no]
- ;; --enable-libfaac enable AAC encoding via libfaac [no]
- ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
- ;; --enable-libflite enable flite (voice synthesis) support via libflite [no]
- ;; --enable-libgme enable Game Music Emu via libgme [no]
- ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
- ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
- ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
- ;; --enable-libmodplug enable ModPlug via libmodplug [no]
- ;; --enable-libnut enable NUT (de)muxing via libnut,
- ;; native (de)muxer exists [no]
- ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
- ;; --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
- ;; --enable-libopencv enable video filtering via libopencv [no]
- ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no]
- ;; --enable-librtmp enable RTMP[E] support via librtmp [no]
- ;; --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no]
- ;; --enable-libshine enable fixed-point MP3 encoding via libshine [no]
- ;; --enable-libssh enable SFTP protocol via libssh [no]
- ;; (libssh2 does not work)
- ;; --enable-libstagefright-h264 enable H.264 decoding via libstagefright [no]
- ;; --enable-libutvideo enable Ut Video encoding and decoding via libutvideo [no]
- ;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
- ;; --enable-libvidstab enable video stabilization using vid.stab [no]
- ;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
- ;; --enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
- ;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
- ;; --enable-libxavs enable AVS encoding via xavs [no]
- ;; --enable-libzmq enable message passing via libzmq [no]
- ;; --enable-libzvbi enable teletext support via libzvbi [no]
- ;; --enable-opencl enable OpenCL code
- ;; --enable-x11grab enable X11 grabbing [no]
- (zero? (system*
- "./configure"
- (string-append "--prefix=" out)
- ;; Add $libdir to the RUNPATH of all the binaries.
- (string-append "--extra-ldflags=-Wl,-rpath="
- %output "/lib")
- "--enable-avresample"
- "--enable-gpl" ; enable optional gpl licensed parts
- "--enable-shared"
- "--enable-fontconfig"
- ;; "--enable-gnutls" ; causes test failures
- "--enable-ladspa"
- "--enable-libass"
- "--enable-libbluray"
- "--enable-libcaca"
- "--enable-libcdio"
- "--enable-libfreetype"
- "--enable-libmp3lame"
- "--enable-libopus"
- "--enable-libpulse"
- "--enable-libquvi"
- "--enable-libsoxr"
- "--enable-libspeex"
- "--enable-libtheora"
- "--enable-libtwolame"
- "--enable-libvorbis"
- "--enable-libvpx"
- "--enable-libxvid"
- "--enable-libx264"
- "--enable-openal"
-
- "--enable-runtime-cpudetect"
-
- ;; Runtime cpu detection is not implemented on
- ;; MIPS, so we disable some features.
- "--disable-mips32r2"
- "--disable-mipsdspr1"
- "--disable-mipsdspr2"
- "--disable-mipsfpu")))))
+ (zero? (apply system*
+ "./configure"
+ (string-append "--prefix=" out)
+ ;; Add $libdir to the RUNPATH of all the binaries.
+ (string-append "--extra-ldflags=-Wl,-rpath="
+ out "/lib")
+ configure-flags)))))
(add-before
'check 'set-ld-library-path
(lambda _
@@ -584,7 +601,7 @@ treaming protocols.")
(define-public mplayer
(package
(name "mplayer")
- (version "1.1.1")
+ (version "1.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -592,7 +609,7 @@ treaming protocols.")
version ".tar.xz"))
(sha256
(base32
- "0xlcg7rszrwmw29wqr0plsw5d1rq0hb7vjsq7bmmfsly2z1wg3yf"))))
+ "1dp2lbxyhgjr8sn91kf6xw3w6d7dsgq08v4dgrq20afz1bqzdrzz"))))
(build-system gnu-build-system)
;; FIXME: Add additional inputs once available.
(native-inputs
@@ -601,8 +618,11 @@ treaming protocols.")
`(("alsa-lib" ,alsa-lib)
("cdparanoia" ,cdparanoia)
("fontconfig" ,fontconfig)
+ ("ffmpeg", ffmpeg)
("freetype" ,freetype)
("lame" ,lame)
+ ("libdvdcss", libdvdcss)
+ ("libdvdnav", libdvdnav)
("libmpg123" ,mpg123) ; audio codec for MP3
;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5
("libjpeg" ,libjpeg)
@@ -639,7 +659,7 @@ treaming protocols.")
"./configure"
(string-append "--extra-cflags=-I"
libx11 "/include") ; to detect libx11
- "--disable-tremor-internal" ; forces external libvorbis
+ "--disable-ffmpeg_a" ; disables bundled ffmpeg
(string-append "--prefix=" out)
;; Enable runtime cpu detection where supported,
;; and choose a suitable target.
@@ -671,7 +691,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
- (version "0.11.0")
+ (version "0.13.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -679,7 +699,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
".tar.gz"))
(sha256
(base32
- "1njvmqzj8akan5y485gx4blynwiy52adw7zbbnnnvd3dwis725d2"))
+ "1nqjd64p4pj1lks9n9s8y4zf4dp5bz8pyd0gsvviww7mv17p0whk"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system waf-build-system)
(native-inputs
@@ -720,10 +740,10 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(method url-fetch)
;; Keep this in sync with the version in the bootstrap.py
;; script of the source tarball.
- (uri "http://www.freehackers.org/~tnagy/release/waf-1.8.4")
+ (uri "http://www.freehackers.org/~tnagy/release/waf-1.8.12")
(sha256
(base32
- "1a7skwgpl91adhcwlmdr76xzdpidh91hvcmj34zz6548bpx3a87h"))))
+ "12y9c352zwliw0zk9jm2lhynsjcf5jy0k1qch1c1av8hnbm2pgq1"))))
("youtube-dl" ,youtube-dl)
("zlib" ,zlib)))
(arguments
@@ -740,10 +760,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(substitute* "wscript"
;; XXX Remove this when our Samba package provides a .pc file.
(("check_pkg_config\\('smbclient'\\)")
- "check_cc(lib='smbclient')")
- ;; XXX Remove this when our Lua package provides a .pc file.
- (("check_lua")
- "check_cc(lib='lua')")))))
+ "check_cc(lib='smbclient')")))))
;; No check function defined.
#:tests? #f))
(home-page "http://mpv.io/")
@@ -793,28 +810,28 @@ projects while introducing many more.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2015.10.16")
+ (version "2015.12.09")
(source (origin
(method url-fetch)
- (uri (string-append "https://youtube-dl.org/downloads/"
+ (uri (string-append "http://youtube-dl.org/downloads/"
version "/youtube-dl-"
version ".tar.gz"))
(sha256
(base32
- "001a4md0yl3zx129mksmwc85grss67r3c9rynvranf9vlpv202vn"))))
+ "11rzb30ik4all43r7bnsnm35mvs37y7xj3g9r7ig9jr7qlbhllwk"))))
(build-system python-build-system)
- (inputs `(("setuptools" ,python-setuptools)))
+ (native-inputs `(("python-setuptools" ,python-setuptools)))
(home-page "http://youtube-dl.org")
(synopsis "Download videos from YouTube.com and other sites")
(description
- "youtube-dl is a small command-line program to download videos from
+ "Youtube-dl is a small command-line program to download videos from
YouTube.com and a few more sites.")
(license license:public-domain)))
(define-public libbluray
(package
(name "libbluray")
- (version "0.9.0")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri (string-append "http://download.videolan.org/videolan/"
@@ -822,7 +839,7 @@ YouTube.com and a few more sites.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0kb9znxk6610vi0fjhqxn4z5i98nvxlsz1f8dakj99rg42livdl4"))))
+ "1sp71j4agcsg17g6b85cqz78pn5vknl5pl39rvr6mkib5ps99jgg"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-bdjava")))
(native-inputs `(("pkg-config" ,pkg-config)))
@@ -1083,15 +1100,16 @@ capabilities.")
(define-public vapoursynth
(package
(name "vapoursynth")
- (version "26")
+ (version "28")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/vapoursynth/vapoursynth/archive/R"
version ".tar.gz"))
+ (file-name (string-append name "-" version))
(sha256
(base32
- "1qbg5kg0kgrxldd0ckn1s7vy7vx2ig8nqzv6djp38fxccpzw3x9k"))))
+ "0pnrawcg1j65i46yim0z447lglq1af5zgx0lkqf1x5xl1bfwc0v7"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -1180,3 +1198,53 @@ and custom quantization matrices.")
from various services and pipes them into a video playing application.")
(home-page "http://livestreamer.io/")
(license license:bsd-2)))
+
+(define-public mlt
+ (package
+ (name "mlt")
+ (version "0.9.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/mlt/mlt/mlt-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0rmrkj7z9g3nr4099f3ff0r14l3ixcfnlx2cdbkqa6pxin0pv9bz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags '("CC=gcc")
+ #:configure-flags
+ (list "--enable-gpl3"
+ "--enable-gpl")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'configure 'override-LDFLAGS
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "config.mak"
+ (("LDFLAGS\\+=")
+ (string-append "LDFLAGS+=-Wl,-rpath="
+ (assoc-ref outputs "out")
+ "/lib ")))
+ #t)))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("fftw" ,fftw)
+ ("libxml2" ,libxml2)
+ ("jack" ,jack-1)
+ ("ladspa" ,ladspa)
+ ("libsamplerate" ,libsamplerate)
+ ("sdl" ,sdl)
+ ("sox" ,sox)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://www.mltframework.org/")
+ (synopsis "Author, manage, and run multitrack audio/video compositions")
+ (description
+ "MLT is a multimedia framework, designed and developed for television
+broadcasting. It provides a toolkit for broadcasters, video editors, media
+players, transcoders, web streamers and many more types of applications. The
+functionality of the system is provided via an assortment of ready to use
+tools, XML authoring components, and an extensible plug-in based API.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 4d526fce0c..6c3329ffb6 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -235,8 +235,9 @@ data.")
(version "0.12")
(source (origin
(method url-fetch)
- (uri (string-append "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
- version ".tar.gz"))
+ (uri (string-append
+ "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
+ version ".tar.gz"))
(sha256
(base32
"0gwzic3ifg2d0w32ya3agpxh8i083cgvf7kmc51cnbgqnfr02300"))
@@ -2977,3 +2978,28 @@ directory.")
various contexts including the R console, R Markdown documents, and Shiny web
applications.")
(license l:expat)))
+
+(define-public r-curl
+ (package
+ (name "r-curl")
+ (version "0.9.3")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "curl" version))
+ (sha256
+ (base32
+ "02p9s1jlk8dcbvn71ivn4xnrqh9dwqyhgn4s1fzcfmnmfxhl5gld"))))
+ (build-system r-build-system)
+ (inputs
+ `(("libcurl" ,curl)))
+ (home-page "https://github.com/jeroenooms/curl")
+ (synopsis "HTTP client for R")
+ (description
+ "The @code{curl()} and @code{curl_download()} functions provide highly
+configurable drop-in replacements for base @code{url()} and
+@code{download.file()} with better performance, support for encryption, gzip
+compression, authentication, and other @code{libcurl} goodies. The core of
+the package implements a framework for performing fully customized requests
+where data can be processed either in memory, on disk, or streaming via the
+callback or connection interfaces.")
+ (license l:expat)))
diff --git a/gnu/packages/weechat.scm b/gnu/packages/weechat.scm
index d88ad53166..2142f5638e 100644
--- a/gnu/packages/weechat.scm
+++ b/gnu/packages/weechat.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
+;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
+;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,6 +20,7 @@
;; TODO: Add ruby
(define-module (gnu packages weechat)
+ #:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages base)
#:use-module (gnu packages gettext)
@@ -47,11 +49,13 @@
(name "weechat")
(version "1.3")
(source (origin
- (method url-fetch)
- (uri (string-append "http://weechat.org/files/src/weechat-"
+ (method url-fetch)
+ (uri (string-append "http://weechat.org/files/src/weechat-"
version ".tar.gz"))
- (sha256
- (base32 "13b7dfs3sn71c51fi0bli5rzlsppil6gg1lzik3k8l43yhhqyv2w"))))
+ (sha256
+ (base32
+ "13b7dfs3sn71c51fi0bli5rzlsppil6gg1lzik3k8l43yhhqyv2w"))
+ (patches (list (search-patch "weechat-python.patch")))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
("pkg-config" ,pkg-config)
@@ -75,20 +79,22 @@
("python" ,python-2)
("perl" ,perl)
("tcl" ,tcl)))
- (arguments `(#:configure-flags (list
- (string-append
- "--with-tclconfig="
- (assoc-ref %build-inputs "tcl") "/lib"))
- #:phases (alist-cons-after
- 'autogen 'fix-file
- (lambda _
- (substitute* "configure"
- (("/usr/bin/file") (which "file"))))
- (alist-cons-before
- 'configure 'autogen
- (lambda _
- (zero? (system* "./autogen.sh")))
- %standard-phases))))
+ (arguments
+ `(#:configure-flags (list (string-append
+ "--with-tclconfig="
+ (assoc-ref %build-inputs "tcl") "/lib"))
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'autogen
+ (lambda _
+ (zero? (system* "./autogen.sh"))))
+ (add-before 'build 'set-python-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/plugins/python/weechat-python.c"
+ (("python2_bin = weechat_python_get_python2_bin.*;")
+ (string-append "python2_bin = strdup (\""
+ (assoc-ref inputs "python")
+ "/bin/python\");\n")))
+ #t)))))
(synopsis "Extensible chat client")
(description "WeeChat (Wee Enhanced Environment for Chat) is an
Internet Relay Chat client, which is designed to be light and fast.
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index f4ccb66d91..d8a7bea48e 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -32,7 +32,7 @@
(define-public wget
(package
(name "wget")
- (version "1.16.3")
+ (version "1.17.1")
(source
(origin
(method url-fetch)
@@ -40,7 +40,7 @@
version ".tar.xz"))
(sha256
(base32
- "0dzv5xf9qxc2bp4cyifmaghh3h464wbm73xiwcrvckf1ynqbgxv7"))))
+ "1jcpvl5sxb2ag8yahpy370c5jlfb097a21k2mhsidh4wxdhrnmgy"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7f614e18c8..1765c3a6b0 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
(define-module (gnu packages wm)
#:use-module (guix licenses)
#:use-module (guix packages)
+ #:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
@@ -177,7 +179,7 @@ commands would.")
("pkg-config" ,pkg-config)))
(home-page "http://i3wm.org/")
(synopsis "Improved tiling window manager")
- (description "i3 is a tiling window manager, completely written
+ (description "A tiling window manager, completely written
from scratch. i3 is primarily targeted at advanced users and
developers.")
(license bsd-3)))
@@ -190,10 +192,19 @@ developers.")
(source (origin
(method url-fetch)
(uri (string-append "http://hackage.haskell.org/package/xmonad/"
- "xmonad-" version ".tar.gz"))
+ name "-" version ".tar.gz"))
(sha256
(base32
- "1pfjssamiwpwjp1qqkm9m9p9s35pv381m0cwg6jxg0ppglibzq1r"))))
+ "1pfjssamiwpwjp1qqkm9m9p9s35pv381m0cwg6jxg0ppglibzq1r"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Here we update the constraints on the utf8-string package in
+ ;; the Cabal file. We allow a newer version which is compatible
+ ;; with GHC 7.10.2. The same change is applied on Hackage. See
+ ;; <https://hackage.haskell.org/package/xmonad-0.11.1/revisions/>.
+ '(substitute* "xmonad.cabal"
+ (("utf8-string >= 0.3 && < 0.4")
+ "utf8-string >= 0.3 && < 1.1")))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
@@ -232,7 +243,7 @@ tiled on several screens.")
(define-public ghc-xmonad-contrib
(package
(name "ghc-xmonad-contrib")
- (version "0.11.3")
+ (version "0.11.4")
(source
(origin
(method url-fetch)
@@ -240,10 +251,11 @@ tiled on several screens.")
"xmonad-contrib-" version ".tar.gz"))
(sha256
(base32
- "14h9vr33yljymswj50wbimav263y9abdcgi07mvfis0zd08rxqxa"))))
+ "1g5cw9vvnfbiyi599fngk02zlmdhrf82x0bndhypkn6kybab6yd3"))))
(build-system haskell-build-system)
(propagated-inputs
`(("ghc-mtl" ,ghc-mtl)
+ ("ghc-old-time" ,ghc-old-time)
("ghc-random" ,ghc-random)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
@@ -268,7 +280,8 @@ tiling window manager for X.")
version ".tar.gz"))
(sha256
(base32
- "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r"))))
+ "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r"))
+ (patches (map search-patch '("evilwm-lost-focus-bug.patch")))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index f680d253c8..4b5308c665 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -39,6 +39,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome) ;for libgudev
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages linux)
@@ -199,7 +200,7 @@ rasterisation.")
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.58")
+ (version "2.4.65")
(source
(origin
(method url-fetch)
@@ -209,7 +210,8 @@ rasterisation.")
".tar.bz2"))
(sha256
(base32
- "1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi"))))
+ "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki"))
+ (patches (list (search-patch "libdrm-symbol-check.patch")))))
(build-system gnu-build-system)
(inputs
`(("libpciaccess" ,libpciaccess)
@@ -605,6 +607,7 @@ Escape key when Left Control is pressed and released on its own.")
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
+ ("libgudev" ,libgudev)
("eudev" ,eudev)
("libxml2" ,libxml2)))
(home-page "http://linuxwacom.sourceforge.net/")
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index e42c58050d..e213fb6067 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pdf)
+ #:use-module (gnu packages polkit)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages linux)
#:use-module (gnu packages photo)
@@ -111,6 +112,8 @@ Xfce Desktop Environment.")
;; Run test-suite under a dbus session.
(setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
(string-append %output "/share"))
+ ;; For the missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0");
(zero? (system* "dbus-launch" "make" "check")))
(alist-delete 'check %standard-phases))))
(native-inputs
@@ -421,7 +424,19 @@ your system in categories, so you can quickly find and launch them.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))))
+ "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))
+ (patches
+ ;; See: https://bugzilla.xfce.org/show_bug.cgi?id=12282
+ (list (search-patch "xfce4-session-fix-xflock4.patch")))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "xfsm-shutdown-helper/main.c"
+ (("/sbin/shutdown -h now") "halt")
+ (("/sbin/shutdown -r now") "restart")
+ (("/usr/sbin/pm-suspend") "pm-suspend")
+ (("/usr/sbin/pm-hibernate") "pm-hibernate"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -431,6 +446,8 @@ your system in categories, so you can quickly find and launch them.")
("intltool" ,intltool)))
(inputs
`(("iceauth" ,iceauth)
+ ("upower" ,upower)
+ ("polkit" ,polkit)
("libsm" ,libsm)
("libwnck" ,libwnck-1)
("libxfce4ui" ,libxfce4ui)))
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index c4db640d0f..3e4d6687ea 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -4,6 +4,8 @@
;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,6 +48,7 @@
libkate
vorbis-tools
opus
+ opusfile
opus-tools))
(define libogg
@@ -163,9 +166,11 @@ stereo encoding, and voice activity detection.")
;; XXX: Should back-ends be pushed to different outputs? For instance,
;; "out" would include only the ALSA back-end, while "pulse" would
;; contain 'lib/ao/plugins-4/libpulse.*'.
- (inputs `(("pkg-config" ,pkg-config)
- ("alsa-lib" ,alsa-lib)
- ("pulseaudio" ,pulseaudio)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("pulseaudio" ,pulseaudio)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(synopsis "Cross platform audio library")
(description
"Libao is a cross-platform audio library that allows programs to
@@ -288,7 +293,7 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
(define opus
(package
(name "opus")
- (version "1.1")
+ (version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -296,7 +301,7 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
".tar.gz"))
(sha256
(base32
- "158xprn2086arvdib3vbbygz7z6jqkw2nci7nlywzzwallap0wmr"))))
+ "07iplfwim26b6k1bqjyciaqvihps9rk5gi8385axa83ppmbgz14v"))))
(build-system gnu-build-system)
(synopsis "Versatile audio codec")
(description
@@ -341,6 +346,34 @@ decoding .opus files.")
(license license:bsd-3)
(home-page "http://www.opus-codec.org")))
+(define opusfile
+ (package
+ (name "opusfile")
+ (version "0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://downloads.xiph.org/releases/opus/opusfile-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14"))))
+ (build-system gnu-build-system)
+ (propagated-inputs
+ `(("opus" ,opus)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libogg" ,libogg)
+ ("openssl" ,openssl)))
+ (synopsis "Versatile audio codec")
+ (description
+ "The opusfile library provides seeking, decode, and playback of Opus
+streams in the Ogg container (.opus files) including over http(s) on posix and
+windows systems.")
+ (license license:bsd-3)
+ (home-page "http://www.opus-codec.org")))
+
(define-public icecast
(package
(name "icecast")
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index d9c92d6d93..4e76cbc3c8 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,14 +64,14 @@ things the parser might find in the XML document (like start tags).")
(define-public libxml2
(package
(name "libxml2")
- (version "2.9.2")
+ (version "2.9.3")
(source (origin
(method url-fetch)
(uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-"
version ".tar.gz"))
(sha256
(base32
- "1g6mf03xcabmk5ing1lwqmasr803616gb2xhn7pll10x2l5w6y2i"))))
+ "0bd17g6znn2r98gzpjppsqjg33iraky4px923j3k8kdl8qgy7sad"))))
(build-system gnu-build-system)
(home-page "http://www.xmlsoft.org/")
(synopsis "C parser for XML")
@@ -129,7 +130,8 @@ project (but it is usable outside of the Gnome platform).")
version ".tar.gz"))
(sha256
(base32
- "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz"))))
+ "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz"))
+ (patches (list (search-patch "libxslt-CVE-2015-7995.patch")))))
(build-system gnu-build-system)
(home-page "http://xmlsoft.org/XSLT/index.html")
(synopsis "C library for applying XSLT stylesheets to XML documents")
@@ -410,7 +412,7 @@ parsing/saving.")
(define-public xmlto
(package
(name "xmlto")
- (version "0.0.25")
+ (version "0.0.28")
(source
(origin
(method url-fetch)
@@ -419,7 +421,7 @@ parsing/saving.")
version ".tar.bz2"))
(sha256
(base32
- "0dp5nxq491gymq806za0dk4hngfmq65ysrqbn0ypajqbbl6vf71n"))))
+ "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i"))))
(build-system gnu-build-system)
(arguments
;; Make sure the reference to util-linux's 'getopt' is kept in 'xmlto'.
@@ -489,3 +491,72 @@ Libxml2).")
UTF-8 and UTF-16 encoding.")
;; LGPL 2.0+ with additional exceptions for static linking
(license license:lgpl2.0+)))
+
+;; TinyXML is an unmaintained piece of software, so the patches and build
+;; system massaging have no upstream potential.
+(define-public tinyxml
+ (package
+ (name "tinyxml")
+ (version "2.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/tinyxml/tinyxml_"
+ (string-join (string-split version #\.) "_")
+ ".tar.gz"))
+ (sha256
+ (base32
+ "14smciid19lvkxqznfig77jxn5s4iq3jpb47vh5a6zcaqp7gvg8m"))
+ (patches (list (search-patch "tinyxml-use-stl.patch")))))
+ (build-system gnu-build-system)
+ ;; This library is missing *a lot* of the steps to make it usable, so we
+ ;; have to add them here, like every other distro must do.
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'build 'build-shared-library
+ (lambda _
+ (zero? (system* "g++" "-Wall" "-O2" "-shared" "-fpic"
+ "tinyxml.cpp" "tinyxmlerror.cpp"
+ "tinyxmlparser.cpp" "tinystr.cpp"
+ "-o" "libtinyxml.so"))))
+ (replace 'check
+ (lambda _ (zero? (system "./xmltest"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (include (string-append out "/include"))
+ (lib (string-append out "/lib"))
+ (pkgconfig (string-append out "/lib/pkgconfig"))
+ (doc (string-append out "/share/doc")))
+ ;; Install libs and headers.
+ (install-file "libtinyxml.so" lib)
+ (install-file "tinystr.h" include)
+ (install-file "tinyxml.h" include)
+ ;; Generate and install pkg-config file.
+ (mkdir-p pkgconfig)
+ ;; Software such as Kodi expect this file to be present, but
+ ;; it's not provided in the source code.
+ (call-with-output-file (string-append pkgconfig "/tinyxml.pc")
+ (lambda (port)
+ (format port "prefix=~a
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: TinyXML
+Description: A simple, small, C++ XML parser
+Version: ~a
+Libs: -L${libdir} -ltinyxml
+Cflags: -I${includedir}
+"
+ out ,version)))
+ ;; Install docs.
+ (mkdir-p doc)
+ (copy-recursively "docs" (string-append doc "tinyxml"))
+ #t))))))
+ (synopsis "Small XML parser for C++")
+ (description "TinyXML is a small and simple XML parsing library for the
+C++ programming langauge.")
+ (home-page "http://www.grinninglizard.com/tinyxml/index.html")
+ (license license:zlib)))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index b39bbd436f..42422a3c56 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
+;;; Copyright © 2015 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1128,7 +1129,7 @@ themselves.")
(define-public libpciaccess
(package
(name "libpciaccess")
- (version "0.13.2")
+ (version "0.13.4")
(source
(origin
(method url-fetch)
@@ -1138,7 +1139,7 @@ themselves.")
".tar.bz2"))
(sha256
(base32
- "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb"))))
+ "1krgryi9ngjr66242v0v5mczihgv0y7rrvx0563arr318mjn9y07"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
@@ -2709,8 +2710,8 @@ framebuffer device.")
"19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q"))
(patches (list (search-patch "xf86-video-geode-glibc-2.20.patch")))))
(build-system gnu-build-system)
- (inputs `(("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server)))
+ (inputs `(("xorg-server" ,xorg-server)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
(supported-systems
;; This driver is only supported on i686 systems.
(filter (lambda (system) (string-prefix? "i686-" system))
@@ -5439,3 +5440,44 @@ perl programs to display windows and graphics on X11 servers.")
;; of the extension modules in the directory Protocol/Ext: see those files
;; for details)."
(license (package-license perl))))
+
+(define-public xcompmgr
+ (package
+ (name "xcompmgr")
+ (version "1.1.7")
+ (source
+ (origin
+ ;; there's no current tarball
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://anongit.freedesktop.org/git/xorg/app/xcompmgr.git")
+ (commit (string-append name "-" version))))
+ (sha256
+ (base32
+ "04swkrm3gk689wrjc418bd3n25w8r20kg1xfbn5j8d7mx1r5gf16"))
+ (file-name (string-append name "-" version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (setenv "NOCONFIGURE" "t")
+ (zero? (system* "sh" "autogen.sh")))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (inputs
+ `(("libX11" ,libx11)
+ ("libXext" ,libxext)
+ ("libXcomposite" ,libxcomposite)
+ ("libXfixes" ,libxfixes)
+ ("libXdamage" ,libxdamage)
+ ("libXrender" ,libxrender)))
+ (synopsis "X Compositing manager using RENDER")
+ (description "xcompmgr is a sample compositing manager for X servers
+supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE extensions. It enables
+basic eye-candy effects.")
+ (home-page "http://cgit.freedesktop.org/xorg/app/xcompmgr/")
+ (license (license:x11-style
+ "http://cgit.freedesktop.org/xorg/app/xcompmgr/tree/COPYING"))))
diff --git a/gnu/packages/zsh.scm b/gnu/packages/zsh.scm
index 3d3d5889d9..c2f09226bd 100644
--- a/gnu/packages/zsh.scm
+++ b/gnu/packages/zsh.scm
@@ -29,13 +29,14 @@
(define-public zsh
(package
(name "zsh")
- (version "5.0.7")
+ (version "5.1.1")
(source (origin
- (method url-fetch)
- (uri (string-append "http://www.zsh.org/pub/zsh-" version
- ".tar.gz"))
- (sha256
- (base32 "06drwywxa0zm8mizk32wc6ijhpzlyy2mcmskj66bnyggg70s9w23"))))
+ (method url-fetch)
+ (uri (string-append "http://www.zsh.org/pub/zsh-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "11shllzhq53fg8ngy3bgbmpf09fn2czifg7hsb41nxi3410mpvcl"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre")
#:phases (alist-cons-before
@@ -53,6 +54,7 @@
"Test/E01options.ztst"
"Test/A05execution.ztst"
"Test/A01grammar.ztst"
+ "Test/A06assign.ztst"
"Test/B02typeset.ztst"
"Completion/Unix/Command/_init_d"
"Util/preconfig")
diff --git a/gnu/services.scm b/gnu/services.scm
index d0fe0ade17..0e1c74bda8 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -21,6 +21,7 @@
#:use-module (guix monads)
#:use-module (guix store)
#:use-module (guix records)
+ #:use-module (guix profiles)
#:use-module (guix sets)
#:use-module (guix ui)
#:use-module (gnu packages base)
@@ -48,6 +49,7 @@
service-kind
service-parameters
+ modify-services
service-back-edges
fold-services
@@ -59,12 +61,15 @@
ambiguous-target-service-error-service
ambiguous-target-service-error-target-type
+ system-service-type
boot-service-type
activation-service-type
activation-service->script
+ %linux-bare-metal-service
etc-service-type
etc-directory
setuid-program-service-type
+ profile-service-type
firmware-service-type
%boot-service
@@ -87,9 +92,10 @@
;;; by providing one procedure to compose extensions, and one procedure to
;;; extend itself.
;;;
-;;; A notable service type is BOOT-SERVICE-TYPE, which has a single instance,
-;;; %BOOT-SERVICE. %BOOT-SERVICE constitutes the root of the service DAG. It
-;;; produces the boot script that the initrd loads.
+;;; A notable service type is SYSTEM-SERVICE-TYPE, which has a single
+;;; instance, which is the root of the service DAG. Its value is the
+;;; derivation that produces the 'system' directory as returned by
+;;; 'operating-system-derivation'.
;;;
;;; The 'fold-services' procedure can be passed a list of procedures, which it
;;; "folds" by propagating extensions down the graph; it returns the root
@@ -133,13 +139,73 @@
(parameters service-parameters))
+(define-syntax %modify-service
+ (syntax-rules (=>)
+ ((_ service)
+ service)
+ ((_ svc (kind param => exp ...) clauses ...)
+ (if (eq? (service-kind svc) kind)
+ (let ((param (service-parameters svc)))
+ (service (service-kind svc)
+ (begin exp ...)))
+ (%modify-service svc clauses ...)))))
+
+(define-syntax modify-services
+ (syntax-rules ()
+ "Modify the services listed in SERVICES according to CLAUSES. Each clause
+must have the form:
+
+ (TYPE VARIABLE => BODY)
+
+where TYPE is a service type, such as 'guix-service-type', and VARIABLE is an
+identifier that is bound within BODY to the value of the service of that
+TYPE. Consider this example:
+
+ (modify-services %base-services
+ (guix-service-type config =>
+ (guix-configuration
+ (inherit config)
+ (use-substitutes? #f)
+ (extra-options '(\"--gc-keep-derivations\"))))
+ (mingetty-service-type config =>
+ (mingetty-configuration
+ (inherit config)
+ (motd (plain-file \"motd\" \"Hi there!\")))))
+
+It changes the configuration of the GUIX-SERVICE-TYPE instance, and that of
+all the MINGETTY-SERVICE-TYPE instances.
+
+This is a shorthand for (map (lambda (svc) ...) %base-services)."
+ ((_ services clauses ...)
+ (map (lambda (service)
+ (%modify-service service clauses ...))
+ services))))
;;;
;;; Core services.
;;;
-(define (compute-boot-script mexps)
+(define (system-derivation mentries mextensions)
+ "Return as a monadic value the derivation of the 'system' directory
+containing the given entries."
+ (mlet %store-monad ((entries mentries)
+ (extensions (sequence %store-monad mextensions)))
+ (lower-object
+ (file-union "system"
+ (append entries (concatenate extensions))))))
+
+(define system-service-type
+ ;; This is the ultimate service type, the root of the service DAG. The
+ ;; service of this type is extended by monadic name/item pairs. These items
+ ;; end up in the "system directory" as returned by
+ ;; 'operating-system-derivation'.
+ (service-type (name 'system)
+ (extensions '())
+ (compose identity)
+ (extend system-derivation)))
+
+(define (compute-boot-script _ mexps)
(mlet %store-monad ((gexps (sequence %store-monad mexps)))
(gexp->file "boot"
#~(begin
@@ -160,19 +226,25 @@
;; Activate the system and spawn dmd.
#$@gexps))))
-(define (second-argument a b) b)
+(define (boot-script-entry mboot)
+ "Return, as a monadic value, an entry for the boot script in the system
+directory."
+ (mlet %store-monad ((boot mboot))
+ (return `(("boot" ,boot)))))
(define boot-service-type
;; The service of this type is extended by being passed gexps as monadic
;; values. It aggregates them in a single script, as a monadic value, which
;; becomes its 'parameters'. It is the only service that extends nothing.
(service-type (name 'boot)
- (extensions '())
- (compose compute-boot-script)
- (extend second-argument)))
+ (extensions
+ (list (service-extension system-service-type
+ boot-script-entry)))
+ (compose append)
+ (extend compute-boot-script)))
(define %boot-service
- ;; This is the ultimate service, the root of the service DAG.
+ ;; The service that produces the boot script.
(service boot-service-type #t))
(define* (file-union name files) ;FIXME: Factorize.
@@ -202,20 +274,6 @@ file."
(union-build #$output '#$things))
#:modules '((guix build union))))))
-(define (modprobe-wrapper)
- "Return a wrapper for the 'modprobe' command that knows where modules live.
-
-This wrapper is typically invoked by the Linux kernel ('call_modprobe', in
-kernel/kmod.c), a situation where the 'LINUX_MODULE_DIRECTORY' environment
-variable is not set---hence the need for this wrapper."
- (let ((modprobe "/run/current-system/profile/bin/modprobe"))
- (gexp->script "modprobe"
- #~(begin
- (setenv "LINUX_MODULE_DIRECTORY"
- "/run/booted-system/kernel/lib/modules")
- (apply execl #$modprobe
- (cons #$modprobe (cdr (command-line))))))))
-
(define* (activation-service->script service)
"Return as a monadic value the activation script for SERVICE, a service of
ACTIVATION-SCRIPT-TYPE."
@@ -240,8 +298,7 @@ ACTIVATION-SCRIPT-TYPE."
(mlet* %store-monad ((actions (service-activations))
(modules (imported-modules %modules))
- (compiled (compiled-modules %modules))
- (modprobe (modprobe-wrapper)))
+ (compiled (compiled-modules %modules)))
(gexp->file "activate"
#~(begin
(eval-when (expand load eval)
@@ -256,12 +313,6 @@ ACTIVATION-SCRIPT-TYPE."
(activate-/bin/sh
(string-append #$(canonical-package bash) "/bin/sh"))
- ;; Tell the kernel to use our 'modprobe' command.
- (activate-modprobe #$modprobe)
-
- ;; Let users debug their own processes!
- (activate-ptrace-attach)
-
;; Run the services' activation snippets.
;; TODO: Use 'load-compiled'.
(for-each primitive-load '#$actions)
@@ -274,6 +325,8 @@ ACTIVATION-SCRIPT-TYPE."
(mlet %store-monad ((script (activation-script gexps)))
(return #~(primitive-load #$script))))
+(define (second-argument a b) b)
+
(define activation-service-type
(service-type (name 'activate)
(extensions
@@ -287,6 +340,41 @@ ACTIVATION-SCRIPT-TYPE."
;; receives.
(service activation-service-type #t))
+(define %modprobe-wrapper
+ ;; Wrapper for the 'modprobe' command that knows where modules live.
+ ;;
+ ;; This wrapper is typically invoked by the Linux kernel ('call_modprobe',
+ ;; in kernel/kmod.c), a situation where the 'LINUX_MODULE_DIRECTORY'
+ ;; environment variable is not set---hence the need for this wrapper.
+ (let ((modprobe "/run/current-system/profile/bin/modprobe"))
+ (program-file "modprobe"
+ #~(begin
+ (setenv "LINUX_MODULE_DIRECTORY"
+ "/run/booted-system/kernel/lib/modules")
+ (apply execl #$modprobe
+ (cons #$modprobe (cdr (command-line))))))))
+
+(define %linux-kernel-activation
+ ;; Activation of the Linux kernel running on the bare metal (as opposed to
+ ;; running in a container.)
+ #~(begin
+ ;; Tell the kernel to use our 'modprobe' command.
+ (activate-modprobe #$%modprobe-wrapper)
+
+ ;; Let users debug their own processes!
+ (activate-ptrace-attach)))
+
+(define linux-bare-metal-service-type
+ (service-type (name 'linux-bare-metal)
+ (extensions
+ (list (service-extension activation-service-type
+ (const %linux-kernel-activation))))))
+
+(define %linux-bare-metal-service
+ ;; The service that does things that are needed on the "bare metal", but not
+ ;; necessary or impossible in a container.
+ (service linux-bare-metal-service-type #f))
+
(define (etc-directory service)
"Return the directory for SERVICE, a service of type ETC-SERVICE-TYPE."
(files->etc-directory (service-parameters service)))
@@ -294,6 +382,12 @@ ACTIVATION-SCRIPT-TYPE."
(define (files->etc-directory files)
(file-union "etc" files))
+(define (etc-entry files)
+ "Return an entry for the /etc directory consisting of FILES in the system
+directory."
+ (with-monad %store-monad
+ (return `(("etc" ,(files->etc-directory files))))))
+
(define etc-service-type
(service-type (name 'etc)
(extensions
@@ -302,7 +396,8 @@ ACTIVATION-SCRIPT-TYPE."
(lambda (files)
(let ((etc
(files->etc-directory files)))
- #~(activate-etc #$etc))))))
+ #~(activate-etc #$etc))))
+ (service-extension system-service-type etc-entry)))
(compose concatenate)
(extend append)))
@@ -321,6 +416,23 @@ FILES must be a list of name/file-like object pairs."
(compose concatenate)
(extend append)))
+(define (packages->profile-entry packages)
+ "Return a system entry for the profile containing PACKAGES."
+ (mlet %store-monad ((profile (profile-derivation
+ (manifest (map package->manifest-entry
+ (delete-duplicates packages eq?))))))
+ (return `(("profile" ,profile)))))
+
+(define profile-service-type
+ ;; The service that populates the system's profile---i.e.,
+ ;; /run/current-system/profile. It is extended by package lists.
+ (service-type (name 'profile)
+ (extensions
+ (list (service-extension system-service-type
+ packages->profile-entry)))
+ (compose concatenate)
+ (extend append)))
+
(define (firmware->activation-gexp firmware)
"Return a gexp to make the packages listed in FIRMWARE loadable by the
kernel."
@@ -393,7 +505,8 @@ kernel."
(lambda (node)
(reverse (vhash-foldq* cons '() node edges)))))
-(define* (fold-services services #:key (target-type boot-service-type))
+(define* (fold-services services
+ #:key (target-type system-service-type))
"Fold SERVICES by propagating their extensions down to the root of type
TARGET-TYPE; return the root service adjusted accordingly."
(define dependents
diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm
index 18131fe561..49a737f090 100644
--- a/gnu/services/avahi.scm
+++ b/gnu/services/avahi.scm
@@ -107,19 +107,24 @@
(stop #~(make-kill-destructor))))))
(define avahi-service-type
- (service-type (name 'avahi)
- (extensions
- (list (service-extension dmd-root-service-type
- avahi-dmd-service)
- (service-extension dbus-root-service-type
- (compose list
- avahi-configuration-avahi))
- (service-extension account-service-type
- (const %avahi-accounts))
- (service-extension activation-service-type
- (const %avahi-activation))
- (service-extension nscd-service-type
- (const (list nss-mdns)))))))
+ (let ((avahi-package (compose list avahi-configuration-avahi)))
+ (service-type (name 'avahi)
+ (extensions
+ (list (service-extension dmd-root-service-type
+ avahi-dmd-service)
+ (service-extension dbus-root-service-type
+ avahi-package)
+ (service-extension account-service-type
+ (const %avahi-accounts))
+ (service-extension activation-service-type
+ (const %avahi-activation))
+ (service-extension nscd-service-type
+ (const (list nss-mdns)))
+
+ ;; Provide 'avahi-browse', 'avahi-resolve', etc. in
+ ;; the system profile.
+ (service-extension profile-service-type
+ avahi-package))))))
(define* (avahi-service #:key (avahi avahi)
host-name
@@ -132,7 +137,9 @@ mDNS/DNS-SD responder that allows for service discovery and
\"zero-configuration\" host name lookups (see @uref{http://avahi.org/}), and
extends the name service cache daemon (nscd) so that it can resolve
@code{.local} host names using
-@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}.
+@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}. Additionally,
+add the @var{avahi} package to the system profile so that commands such as
+@command{avahi-browse} are directly usable.
If @var{host-name} is different from @code{#f}, use that as the host name to
publish for this machine; otherwise, use the machine's actual host name.
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 336cc4dec9..a86e8e04c7 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,12 +24,12 @@
#:use-module (gnu services)
#:use-module (gnu services dmd)
#:use-module (gnu services networking)
+ #:use-module (gnu system pam)
#:use-module (gnu system shadow) ; 'user-account', etc.
- #:use-module (gnu system linux) ; 'pam-service', etc.
#:use-module (gnu system file-systems) ; 'file-system', etc.
#:use-module (gnu packages admin)
#:use-module ((gnu packages linux)
- #:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils crda))
+ #:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils crda gpm))
#:use-module ((gnu packages base)
#:select (canonical-package glibc))
#:use-module (gnu packages package-management)
@@ -48,15 +49,23 @@
device-mapping-service
swap-service
user-processes-service
+ session-environment-service
+ session-environment-service-type
host-name-service
console-keymap-service
console-font-service
+
+ udev-configuration
+ udev-configuration?
+ udev-configuration-rules
udev-service-type
udev-service
+ udev-rule
mingetty-configuration
mingetty-configuration?
mingetty-service
+ mingetty-service-type
%nscd-default-caches
%nscd-default-configuration
@@ -74,6 +83,13 @@
guix-configuration
guix-configuration?
guix-service
+ guix-service-type
+ guix-publish-configuration
+ guix-publish-configuration?
+ guix-publish-service
+ guix-publish-service-type
+ gpm-service-type
+ gpm-service
%base-services))
@@ -142,6 +158,18 @@ FILE-SYSTEM."
(symbol-append 'file-system-
(string->symbol (file-system-mount-point file-system))))
+(define (mapped-device->dmd-service-name md)
+ "Return the symbol that denotes the dmd service of MD, a <mapped-device>."
+ (symbol-append 'device-mapping-
+ (string->symbol (mapped-device-target md))))
+
+(define dependency->dmd-service-name
+ (match-lambda
+ ((? mapped-device? md)
+ (mapped-device->dmd-service-name md))
+ ((? file-system? fs)
+ (file-system->dmd-service-name fs))))
+
(define file-system-service-type
;; TODO(?): Make this an extensible service that takes <file-system> objects
;; and returns a list of <dmd-service>.
@@ -158,7 +186,7 @@ FILE-SYSTEM."
(dmd-service
(provision (list (file-system->dmd-service-name file-system)))
(requirement `(root-file-system
- ,@(map file-system->dmd-service-name dependencies)))
+ ,@(map dependency->dmd-service-name dependencies)))
(documentation "Check, mount, and unmount the given file system.")
(start #~(lambda args
;; FIXME: Use or factorize with 'mount-file-system'.
@@ -198,7 +226,14 @@ FILE-SYSTEM."
(chdir "/")
(umount #$target)
- #f)))))))
+ #f))
+
+ ;; We need an additional module.
+ (modules `(((gnu build file-systems)
+ #:select (check-file-system canonicalize-device-spec))
+ ,@%default-modules))
+ (imported-modules `((gnu build file-systems)
+ ,@%default-imported-modules)))))))
(define* (file-system-service file-system)
"Return a service that mounts @var{file-system}, a @code{<file-system>}
@@ -336,6 +371,39 @@ stopped before 'kill' is called."
;;;
+;;; System-wide environment variables.
+;;;
+
+(define (environment-variables->environment-file vars)
+ "Return a file for pam_env(8) that contains environment variables VARS."
+ (apply mixed-text-file "environment"
+ (append-map (match-lambda
+ ((key . value)
+ (list key "=" value "\n")))
+ vars)))
+
+(define session-environment-service-type
+ (service-type
+ (name 'session-environment)
+ (extensions
+ (list (service-extension
+ etc-service-type
+ (lambda (vars)
+ (list `("environment"
+ ,(environment-variables->environment-file vars)))))))
+ (compose concatenate)
+ (extend append)))
+
+(define (session-environment-service vars)
+ "Return a service that builds the @file{/etc/environment}, which can be read
+by PAM-aware applications to set environment variables for sessions.
+
+VARS should be an association list in which both the keys and the values are
+strings or string-valued gexps."
+ (service session-environment-service-type vars))
+
+
+;;;
;;; Console & co.
;;;
@@ -691,6 +759,11 @@ If configuration file name @var{config-file} is not specified, use some
reasonable default settings."
(service syslog-service-type config-file))
+
+;;;
+;;; Guix services.
+;;;
+
(define* (guix-build-accounts count #:key
(group "guixbuild")
(first-uid 30001)
@@ -751,6 +824,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(default #t))
(use-substitutes? guix-configuration-use-substitutes? ;Boolean
(default #t))
+ (substitute-urls guix-configuration-substitute-urls ;list of strings
+ (default %default-substitute-urls))
(extra-options guix-configuration-extra-options ;list of strings
(default '()))
(lsof guix-configuration-lsof ;<package>
@@ -765,7 +840,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
"Return a <dmd-service> for the Guix daemon service with CONFIG."
(match config
(($ <guix-configuration> guix build-group build-accounts authorize-key?
- use-substitutes? extra-options lsof lsh)
+ use-substitutes? substitute-urls extra-options
+ lsof lsh)
(list (dmd-service
(documentation "Run the Guix daemon.")
(provision '(guix-daemon))
@@ -777,6 +853,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
#$@(if use-substitutes?
'()
'("--no-substitutes"))
+ "--substitute-urls" #$(string-join substitute-urls)
#$@extra-options)
;; Add 'lsof' (for the GC) and 'lsh' (for offloading) to the
@@ -824,6 +901,58 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
@var{config}."
(service guix-service-type config))
+
+(define-record-type* <guix-publish-configuration>
+ guix-publish-configuration make-guix-publish-configuration
+ guix-publish-configuration?
+ (guix guix-publish-configuration-guix ;package
+ (default guix))
+ (port guix-publish-configuration-port ;number
+ (default 80))
+ (host guix-publish-configuration-host ;string
+ (default "localhost")))
+
+(define guix-publish-dmd-service
+ (match-lambda
+ (($ <guix-publish-configuration> guix port host)
+ (list (dmd-service
+ (provision '(guix-publish))
+ (requirement '(guix-daemon))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$guix "/bin/guix")
+ "publish" "-u" "guix-publish"
+ "-p" #$(number->string port)
+ (string-append "--listen=" #$host))))
+ (stop #~(make-kill-destructor)))))))
+
+(define %guix-publish-accounts
+ (list (user-group (name "guix-publish") (system? #t))
+ (user-account
+ (name "guix-publish")
+ (group "guix-publish")
+ (system? #t)
+ (comment "guix publish user")
+ (home-directory "/var/empty")
+ (shell #~(string-append #$shadow "/sbin/nologin")))))
+
+(define guix-publish-service-type
+ (service-type (name 'guix-publish)
+ (extensions
+ (list (service-extension dmd-root-service-type
+ guix-publish-dmd-service)
+ (service-extension account-service-type
+ (const %guix-publish-accounts))))))
+
+(define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost"))
+ "Return a service that runs @command{guix publish} listening on @var{host}
+and @var{port} (@pxref{Invoking guix publish}).
+
+This assumes that @file{/etc/guix} already contains a signing key pair as
+created by @command{guix archive --generate-key} (@pxref{Invoking guix
+archive}). If that is not the case, the service will fail to start."
+ (service guix-publish-service-type
+ (guix-publish-configuration (guix guix) (port port) (host host))))
+
;;;
;;; Udev.
@@ -864,12 +993,9 @@ item of @var{packages}."
#:modules '((guix build union)
(guix build utils))))
-(define* (kvm-udev-rule)
- "Return a directory with a udev rule that changes the group of
-@file{/dev/kvm} to \"kvm\" and makes it #o660."
- ;; Apparently QEMU-KVM used to ship this rule, but now we have to add it by
- ;; ourselves.
- (computed-file "kvm-udev-rules"
+(define (udev-rule file-name contents)
+ "Return a directory with a udev rule file FILE-NAME containing CONTENTS."
+ (computed-file file-name
#~(begin
(use-modules (guix build utils))
@@ -878,20 +1004,26 @@ item of @var{packages}."
(mkdir-p rules.d)
(call-with-output-file
- (string-append rules.d "/90-kvm.rules")
+ (string-append rules.d "/" #$file-name)
(lambda (port)
- ;; Build users are part of the "kvm" group, so we
- ;; can fearlessly make /dev/kvm 660 (see
- ;; <http://bugs.gnu.org/18994>, for background.)
- (display "\
-KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0660\"\n" port))))
+ (display #$contents port))))
#:modules '((guix build utils))))
+(define kvm-udev-rule
+ ;; Return a directory with a udev rule that changes the group of /dev/kvm to
+ ;; "kvm" and makes it #o660. Apparently QEMU-KVM used to ship this rule,
+ ;; but now we have to add it by ourselves.
+
+ ;; Build users are part of the "kvm" group, so we can fearlessly make
+ ;; /dev/kvm 660 (see <http://bugs.gnu.org/18994>, for background.)
+ (udev-rule "90-kvm.rules"
+ "KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0660\"\n"))
+
(define udev-dmd-service
;; Return a <dmd-service> for UDEV with RULES.
(match-lambda
(($ <udev-configuration> udev rules)
- (let* ((rules (udev-rules-union (cons* udev (kvm-udev-rule) rules)))
+ (let* ((rules (udev-rules-union (cons* udev kvm-udev-rule rules)))
(udev.conf (computed-file "udev.conf"
#~(call-with-output-file #$output
(lambda (port)
@@ -1034,6 +1166,60 @@ gexp, to open it, and evaluate @var{close} to close it."
"Return a service that uses @var{device} as a swap device."
(service swap-service-type device))
+
+(define-record-type* <gpm-configuration>
+ gpm-configuration make-gpm-configuration gpm-configuration?
+ (gpm gpm-configuration-gpm) ;package
+ (options gpm-configuration-options)) ;list of strings
+
+(define gpm-dmd-service
+ (match-lambda
+ (($ <gpm-configuration> gpm options)
+ (list (dmd-service
+ (requirement '(udev))
+ (provision '(gpm))
+ (start #~(lambda ()
+ ;; 'gpm' runs in the background and sets a PID file.
+ ;; Note that it requires running as "root".
+ (false-if-exception (delete-file "/var/run/gpm.pid"))
+ (fork+exec-command (list (string-append #$gpm "/sbin/gpm")
+ #$@options))
+
+ ;; Wait for the PID file to appear; declare failure if
+ ;; it doesn't show up.
+ (let loop ((i 3))
+ (or (file-exists? "/var/run/gpm.pid")
+ (if (zero? i)
+ #f
+ (begin
+ (sleep 1)
+ (loop (1- i))))))))
+
+ (stop #~(lambda (_)
+ ;; Return #f if successfully stopped.
+ (not (zero? (system* (string-append #$gpm "/sbin/gpm")
+ "-k"))))))))))
+
+(define gpm-service-type
+ (service-type (name 'gpm)
+ (extensions
+ (list (service-extension dmd-root-service-type
+ gpm-dmd-service)))))
+
+(define* (gpm-service #:key (gpm gpm)
+ (options '("-m" "/dev/input/mice" "-t" "ps2")))
+ "Run @var{gpm}, the general-purpose mouse daemon, with the given
+command-line @var{options}. GPM allows users to use the mouse in the console,
+notably to select, copy, and paste text. The default value of @var{options}
+uses the @code{ps2} protocol, which works for both USB and PS/2 mice.
+
+This service is not part of @var{%base-services}."
+ ;; To test in QEMU, use "-usbdevice mouse" and then, in the monitor, use
+ ;; "info mice" and "mouse_set X" to use the right mouse.
+ (service gpm-service-type
+ (gpm-configuration (gpm gpm) (options options))))
+
+
(define %base-services
;; Convenience variable holding the basic services.
(let ((motd (plain-file "motd" "
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index e4ecd961c5..9b0d198683 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,7 +21,7 @@
#:use-module (gnu services)
#:use-module (gnu services dmd)
#:use-module (gnu system shadow)
- #:use-module (gnu packages glib)
+ #:use-module ((gnu packages glib) #:select (dbus/activation))
#:use-module (gnu packages admin)
#:use-module (guix gexp)
#:use-module (guix records)
@@ -37,13 +38,38 @@
dbus-configuration make-dbus-configuration
dbus-configuration?
(dbus dbus-configuration-dbus ;<package>
- (default dbus))
+ (default dbus/activation))
(services dbus-configuration-services ;list of <package>
(default '())))
-(define (dbus-configuration-directory dbus services)
- "Return a configuration directory for @var{dbus} that includes the
-@code{etc/dbus-1/system.d} directories of each package listed in
+(define (system-service-directory services)
+ "Return the system service directory, containing @code{.service} files for
+all the services that may be activated by the daemon."
+ (computed-file "dbus-system-services"
+ #~(begin
+ (use-modules (guix build utils)
+ (srfi srfi-1))
+
+ (define files
+ (append-map (lambda (service)
+ (find-files (string-append
+ service
+ "/share/dbus-1/system-services")
+ "\\.service$"))
+ (list #$@services)))
+
+ (mkdir #$output)
+ (for-each (lambda (file)
+ (symlink file
+ (string-append #$output "/"
+ (basename file))))
+ files)
+ #t)
+ #:modules '((guix build utils))))
+
+(define (dbus-configuration-directory services)
+ "Return a directory contains the @code{system-local.conf} file for DBUS that
+includes the @code{etc/dbus-1/system.d} directories of each package listed in
@var{services}."
(define build
#~(begin
@@ -53,24 +79,27 @@
(define (services->sxml services)
;; Return the SXML 'includedir' clauses for DIRS.
`(busconfig
+ (servicehelper "/run/setuid-programs/dbus-daemon-launch-helper")
+
+ ;; First, the '.service' files of services subject to activation.
+ ;; We use a fixed location under /etc because the setuid helper
+ ;; looks for them in that location and nowhere else. See
+ ;; <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
+ (servicedir "/etc/dbus-1/system-services")
+
,@(append-map (lambda (dir)
`((includedir
,(string-append dir "/etc/dbus-1/system.d"))
- (servicedir ;for '.service' files
- ,(string-append dir "/share/dbus-1/services"))
- (servicedir ;likewise, for auto-activation
- ,(string-append
- dir
- "/share/dbus-1/system-services"))))
+ (servicedir ;for '.service' files
+ ,(string-append dir "/share/dbus-1/services"))))
services)))
(mkdir #$output)
- (copy-file (string-append #$dbus "/etc/dbus-1/system.conf")
- (string-append #$output "/system.conf"))
- ;; The default 'system.conf' has an <includedir> clause for
- ;; 'system.d', so create it.
- (mkdir (string-append #$output "/system.d"))
+ ;; Provide /etc/dbus-1/system-services, which is where the setuid
+ ;; helper looks for system service files.
+ (symlink #$(system-service-directory services)
+ (string-append #$output "/system-services"))
;; 'system-local.conf' is automatically included by the default
;; 'system.conf', so this is where we stuff our own things.
@@ -81,6 +110,12 @@
(computed-file "dbus-configuration" build))
+(define (dbus-etc-files config)
+ "Return a list of FILES for @var{etc-service-type} to build the
+@code{/etc/dbus-1} directory."
+ (list `("dbus-1" ,(dbus-configuration-directory
+ (dbus-configuration-services config)))))
+
(define %dbus-accounts
;; Accounts used by the system bus.
(list (user-group (name "messagebus") (system? #t))
@@ -92,6 +127,12 @@
(home-directory "/var/run/dbus")
(shell #~(string-append #$shadow "/sbin/nologin")))))
+(define dbus-setuid-programs
+ ;; Return the file name of the setuid program that we need.
+ (match-lambda
+ (($ <dbus-configuration> dbus services)
+ (list #~(string-append #$dbus "/libexec/dbus-daemon-launch-helper")))))
+
(define (dbus-activation config)
"Return an activation gexp for D-Bus using @var{config}."
#~(begin
@@ -120,18 +161,15 @@
(define dbus-dmd-service
(match-lambda
- (($ <dbus-configuration> dbus services)
- (let ((conf (dbus-configuration-directory dbus services)))
- (list (dmd-service
- (documentation "Run the D-Bus system daemon.")
- (provision '(dbus-system))
- (requirement '(user-processes))
- (start #~(make-forkexec-constructor
- (list (string-append #$dbus "/bin/dbus-daemon")
- "--nofork"
- (string-append "--config-file=" #$conf
- "/system.conf"))))
- (stop #~(make-kill-destructor))))))))
+ (($ <dbus-configuration> dbus)
+ (list (dmd-service
+ (documentation "Run the D-Bus system daemon.")
+ (provision '(dbus-system))
+ (requirement '(user-processes))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$dbus "/bin/dbus-daemon")
+ "--nofork" "--system")))
+ (stop #~(make-kill-destructor)))))))
(define dbus-root-service-type
(service-type (name 'dbus)
@@ -140,14 +178,15 @@
dbus-dmd-service)
(service-extension activation-service-type
dbus-activation)
+ (service-extension etc-service-type
+ dbus-etc-files)
(service-extension account-service-type
- (const %dbus-accounts))))
+ (const %dbus-accounts))
+ (service-extension setuid-program-service-type
+ dbus-setuid-programs)))
;; Extensions consist of lists of packages (representing D-Bus
;; services) that we just concatenate.
- ;;
- ;; FIXME: We need 'dbus-daemon-launch-helper' to be
- ;; setuid-root for auto-activation to work.
(compose concatenate)
;; The service's parameters field is extended by augmenting
@@ -159,7 +198,7 @@
(append (dbus-configuration-services config)
services)))))))
-(define* (dbus-service #:key (dbus dbus) (services '()))
+(define* (dbus-service #:key (dbus dbus/activation) (services '()))
"Return a service that runs the \"system bus\", using @var{dbus}, with
support for @var{services}.
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 69edc6d9bb..694a8eda7e 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -27,13 +27,15 @@
#:use-module (gnu services xorg)
#:use-module (gnu services networking)
#:use-module (gnu system shadow)
- #:use-module (gnu system linux) ; unix-pam-service
+ #:use-module (gnu system pam)
#:use-module (gnu packages glib)
#:use-module (gnu packages admin)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gnome)
#:use-module (gnu packages avahi)
#:use-module (gnu packages polkit)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages suckless)
#:use-module (guix records)
#:use-module (guix packages)
#:use-module (guix store)
@@ -41,6 +43,7 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (upower-service
+ udisks-service
colord-service
geoclue-application
%standard-geoclue-applications
@@ -224,65 +227,6 @@ levels, with the given configuration settings. It implements the
;;;
-;;; Colord D-Bus service.
-;;;
-
-(define %colord-activation
- #~(begin
- (use-modules (guix build utils))
- (mkdir-p "/var/lib/colord")
- (let ((user (getpwnam "colord")))
- (chown "/var/lib/colord"
- (passwd:uid user) (passwd:gid user)))))
-
-(define %colord-accounts
- (list (user-group (name "colord") (system? #t))
- (user-account
- (name "colord")
- (group "colord")
- (system? #t)
- (comment "colord daemon user")
- (home-directory "/var/empty")
- (shell #~(string-append #$shadow "/sbin/nologin")))))
-
-(define (colord-dmd-service colord)
- "Return a dmd service for COLORD."
- ;; TODO: Remove when D-Bus activation works.
- (list (dmd-service
- (documentation "Run the colord color management service.")
- (provision '(colord-daemon))
- (requirement '(dbus-system udev))
- (start #~(make-forkexec-constructor
- (list (string-append #$colord "/libexec/colord"))))
- (stop #~(make-kill-destructor)))))
-
-(define colord-service-type
- (service-type (name 'colord)
- (extensions
- (list (service-extension account-service-type
- (const %colord-accounts))
- (service-extension activation-service-type
- (const %colord-activation))
- (service-extension dmd-root-service-type
- colord-dmd-service)
-
- ;; Colord is a D-Bus service that dbus-daemon can
- ;; activate.
- (service-extension dbus-root-service-type list)
-
- ;; Colord provides "color device" rules for udev.
- (service-extension udev-service-type list)))))
-
-(define* (colord-service #:key (colord colord))
- "Return a service that runs @command{colord}, a system service with a D-Bus
-interface to manage the color profiles of input and output devices such as
-screens and scanners. It is notably used by the GNOME Color Manager graphical
-tool. See @uref{http://www.freedesktop.org/software/colord/, the colord web
-site} for more information."
- (service colord-service-type colord))
-
-
-;;;
;;; GeoClue D-Bus service.
;;;
@@ -343,23 +287,6 @@ users are allowed."
"GEOCLUE_CONFIG_FILE"
(geoclue-configuration-file config))))
-(define (geoclue-dmd-service config)
- "Return a GeoClue dmd service for CONFIG."
- ;; TODO: Remove when D-Bus activation works.
- (let ((geoclue (geoclue-configuration-geoclue config))
- (config (geoclue-configuration-file config)))
- (list (dmd-service
- (documentation "Run the GeoClue location service.")
- (provision '(geoclue-daemon))
- (requirement '(dbus-system))
-
- (start #~(make-forkexec-constructor
- (list (string-append #$geoclue "/libexec/geoclue"))
- #:user "geoclue"
- #:environment-variables
- (list (string-append "GEOCLUE_CONFIG_FILE=" #$config))))
- (stop #~(make-kill-destructor))))))
-
(define %geoclue-accounts
(list (user-group (name "geoclue") (system? #t))
(user-account
@@ -375,8 +302,6 @@ users are allowed."
(extensions
(list (service-extension dbus-root-service-type
geoclue-dbus-service)
- (service-extension dmd-root-service-type
- geoclue-dmd-service)
(service-extension account-service-type
(const %geoclue-accounts))))))
@@ -413,6 +338,14 @@ site} for more information."
;;; Polkit privilege management service.
;;;
+(define-record-type* <polkit-configuration>
+ polkit-configuration make-polkit-configuration
+ polkit-configuration?
+ (polkit polkit-configuration-polkit ;<package>
+ (default polkit))
+ (actions polkit-configuration-actions ;list of <package>
+ (default '())))
+
(define %polkit-accounts
(list (user-group (name "polkitd") (system? #t))
(user-account
@@ -424,23 +357,34 @@ site} for more information."
(shell "/run/current-system/profile/sbin/nologin"))))
(define %polkit-pam-services
- (list (unix-pam-service "polkitd")))
+ (list (unix-pam-service "polkit-1")))
-(define (polkit-dmd-service polkit)
- "Return the <dmd-service> for POLKIT."
- ;; TODO: Remove when D-Bus activation works.
- (list (dmd-service
- (documentation "Run the polkit privilege management service.")
- (provision '(polkit-daemon))
- (requirement '(dbus-system))
+(define (polkit-directory packages)
+ "Return a directory containing an @file{actions} and possibly a
+@file{rules.d} sub-directory, for use as @file{/etc/polkit-1}."
+ (computed-file "etc-polkit-1"
+ #~(begin
+ (use-modules (guix build union) (srfi srfi-26))
+
+ (union-build #$output
+ (map (cut string-append <>
+ "/share/polkit-1")
+ (list #$@packages))))
+ #:modules '((guix build union))))
- (start #~(make-forkexec-constructor
- (list (string-append #$polkit "/lib/polkit-1/polkitd"))))
- (stop #~(make-kill-destructor)))))
+(define polkit-etc-files
+ (match-lambda
+ (($ <polkit-configuration> polkit packages)
+ `(("polkit-1" ,(polkit-directory packages))))))
+
+(define polkit-setuid-programs
+ (match-lambda
+ (($ <polkit-configuration> polkit)
+ (list #~(string-append #$polkit
+ "/lib/polkit-1/polkit-agent-helper-1")
+ #~(string-append #$polkit "/bin/pkexec")))))
(define polkit-service-type
- ;; TODO: Make it extensible so it can collect policy files from other
- ;; services.
(service-type (name 'polkit)
(extensions
(list (service-extension account-service-type
@@ -448,17 +392,118 @@ site} for more information."
(service-extension pam-root-service-type
(const %polkit-pam-services))
(service-extension dbus-root-service-type
- list)
- (service-extension dmd-root-service-type
- polkit-dmd-service)))))
+ (compose
+ list
+ polkit-configuration-polkit))
+ (service-extension etc-service-type
+ polkit-etc-files)
+ (service-extension setuid-program-service-type
+ polkit-setuid-programs)))
+
+ ;; Extensions are lists of packages that provide polkit rules
+ ;; or actions under share/polkit-1/{actions,rules.d}.
+ (compose concatenate)
+ (extend (lambda (config actions)
+ (polkit-configuration
+ (inherit config)
+ (actions
+ (append (polkit-configuration-actions config)
+ actions)))))))
(define* (polkit-service #:key (polkit polkit))
- "Return a service that runs the @command{polkit} privilege management
-service. By querying the @command{polkit} service, a privileged system
-component can know when it should grant additional capabilities to ordinary
-users. For example, an ordinary user can be granted the capability to suspend
-the system if the user is logged in locally."
- (service polkit-service-type polkit))
+ "Return a service that runs the
+@uref{http://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege
+management service}, which allows system administrators to grant access to
+privileged operations in a structured way. By querying the Polkit service, a
+privileged system component can know when it should grant additional
+capabilities to ordinary users. For example, an ordinary user can be granted
+the capability to suspend the system if the user is logged in locally."
+ (service polkit-service-type
+ (polkit-configuration (polkit polkit))))
+
+
+;;;
+;;; Colord D-Bus service.
+;;;
+
+(define %colord-activation
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/var/lib/colord")
+ (let ((user (getpwnam "colord")))
+ (chown "/var/lib/colord"
+ (passwd:uid user) (passwd:gid user)))))
+
+(define %colord-accounts
+ (list (user-group (name "colord") (system? #t))
+ (user-account
+ (name "colord")
+ (group "colord")
+ (system? #t)
+ (comment "colord daemon user")
+ (home-directory "/var/empty")
+ (shell #~(string-append #$shadow "/sbin/nologin")))))
+
+(define colord-service-type
+ (service-type (name 'colord)
+ (extensions
+ (list (service-extension account-service-type
+ (const %colord-accounts))
+ (service-extension activation-service-type
+ (const %colord-activation))
+
+ ;; Colord is a D-Bus service that dbus-daemon can
+ ;; activate.
+ (service-extension dbus-root-service-type list)
+
+ ;; Colord provides "color device" rules for udev.
+ (service-extension udev-service-type list)
+
+ ;; It provides polkit "actions".
+ (service-extension polkit-service-type list)))))
+
+(define* (colord-service #:key (colord colord))
+ "Return a service that runs @command{colord}, a system service with a D-Bus
+interface to manage the color profiles of input and output devices such as
+screens and scanners. It is notably used by the GNOME Color Manager graphical
+tool. See @uref{http://www.freedesktop.org/software/colord/, the colord web
+site} for more information."
+ (service colord-service-type colord))
+
+
+;;;
+;;; UDisks.
+;;;
+
+(define-record-type* <udisks-configuration>
+ udisks-configuration make-udisks-configuration
+ udisks-configuration?
+ (udisks udisks-configuration-udisks
+ (default udisks)))
+
+(define udisks-service-type
+ (let ((udisks-package (lambda (config)
+ (list (udisks-configuration-udisks config)))))
+ (service-type (name 'udisks)
+ (extensions
+ (list (service-extension polkit-service-type
+ udisks-package)
+ (service-extension dbus-root-service-type
+ udisks-package)
+ (service-extension udev-service-type
+ udisks-package)
+
+ ;; Profile 'udisksctl' & co. in the system profile.
+ (service-extension profile-service-type
+ udisks-package))))))
+
+(define* (udisks-service #:key (udisks udisks))
+ "Return a service for @uref{http://udisks.freedesktop.org/docs/latest/,
+UDisks}, a @dfn{disk management} daemon that provides user interfaces with
+notifications and ways to mount/unmount disks. Programs that talk to UDisks
+include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
+ (service udisks-service-type
+ (udisks-configuration (udisks udisks))))
;;;
@@ -601,6 +646,8 @@ the system if the user is logged in locally."
(define (elogind-dmd-service config)
"Return a dmd service for elogind, using @var{config}."
+ ;; TODO: We could probably rely on service activation but the '.service'
+ ;; file currently contains an erroneous 'Exec' line.
(let ((config-file (elogind-configuration-file config))
(elogind (elogind-package config)))
(list (dmd-service
@@ -623,7 +670,9 @@ the system if the user is logged in locally."
(compose list elogind-package))
(service-extension udev-service-type
(compose list elogind-package))
- ;; TODO: Extend polkit(?) and PAM.
+ (service-extension polkit-service-type
+ (compose list elogind-package))
+ ;; TODO: Extend PAM with pam_elogind.so.
))))
(define* (elogind-service #:key (config (elogind-configuration)))
@@ -643,9 +692,14 @@ when they log out."
;; List of services typically useful for a "desktop" use case.
(cons* (slim-service)
+ ;; Screen lockers are a pretty useful thing and these are small.
+ (screen-locker-service slock)
+ (screen-locker-service xlockmore "xlock")
+
;; The D-Bus clique.
(avahi-service)
(wicd-service)
+ (udisks-service)
(upower-service)
(colord-service)
(geoclue-service)
diff --git a/gnu/services/dmd.scm b/gnu/services/dmd.scm
index e87b9e4415..545087acc9 100644
--- a/gnu/services/dmd.scm
+++ b/gnu/services/dmd.scm
@@ -45,6 +45,11 @@
dmd-service-start
dmd-service-stop
dmd-service-auto-start?
+ dmd-service-modules
+ dmd-service-imported-modules
+
+ %default-imported-modules
+ %default-modules
dmd-service-back-edges))
@@ -99,6 +104,18 @@ service that extends DMD-ROOT-SERVICE-TYPE and nothing else."
(list (service-extension dmd-root-service-type
(compose list proc))))))
+(define %default-imported-modules
+ ;; Default set of modules imported for a service's consumption.
+ '((guix build utils)
+ (guix build syscalls)))
+
+(define %default-modules
+ ;; Default set of modules visible in a service's file.
+ `((dmd service)
+ (oop goops)
+ (guix build utils)
+ (guix build syscalls)))
+
(define-record-type* <dmd-service>
dmd-service make-dmd-service
dmd-service?
@@ -113,64 +130,106 @@ service that extends DMD-ROOT-SERVICE-TYPE and nothing else."
(stop dmd-service-stop ;g-expression (procedure)
(default #~(const #f)))
(auto-start? dmd-service-auto-start? ;Boolean
- (default #t)))
+ (default #t))
+ (modules dmd-service-modules ;list of module names
+ (default %default-modules))
+ (imported-modules dmd-service-imported-modules ;list of module names
+ (default %default-imported-modules)))
-(define (assert-no-duplicates services)
- "Raise an error if SERVICES provide the same dmd service more than once.
+(define (assert-valid-graph services)
+ "Raise an error if SERVICES does not define a valid dmd service graph, for
+instance if a service requires a nonexistent service, or if more than one
+service uses a given name.
-This is a constraint that dmd's 'register-service' verifies but we'd better
-verify it here statically than wait until PID 1 halts with an assertion
+These are constraints that dmd's 'register-service' verifies but we'd better
+verify them here statically than wait until PID 1 halts with an assertion
failure."
- (fold (lambda (service set)
- (define (assert-unique symbol)
- (when (set-contains? set symbol)
- (raise (condition
- (&message
- (message
- (format #f (_ "service '~a' provided more than once")
- symbol)))))))
-
- (for-each assert-unique (dmd-service-provision service))
- (fold set-insert set (dmd-service-provision service)))
- (setq)
- services))
+ (define provisions
+ ;; The set of provisions (symbols). Bail out if a symbol is given more
+ ;; than once.
+ (fold (lambda (service set)
+ (define (assert-unique symbol)
+ (when (set-contains? set symbol)
+ (raise (condition
+ (&message
+ (message
+ (format #f (_ "service '~a' provided more than once")
+ symbol)))))))
+
+ (for-each assert-unique (dmd-service-provision service))
+ (fold set-insert set (dmd-service-provision service)))
+ (setq 'dmd)
+ services))
+
+ (define (assert-satisfied-requirements service)
+ ;; Bail out if the requirements of SERVICE aren't satisfied.
+ (for-each (lambda (requirement)
+ (unless (set-contains? provisions requirement)
+ (raise (condition
+ (&message
+ (message
+ (format #f (_ "service '~a' requires '~a', \
+which is undefined")
+ (match (dmd-service-provision service)
+ ((head . _) head)
+ (_ service))
+ requirement)))))))
+ (dmd-service-requirement service)))
+
+ (for-each assert-satisfied-requirements services))
+
+(define (dmd-service-file-name service)
+ "Return the file name where the initialization code for SERVICE is to be
+stored."
+ (let ((provisions (string-join (map symbol->string
+ (dmd-service-provision service)))))
+ (string-append "dmd-"
+ (string-map (match-lambda
+ (#\/ #\-)
+ (chr chr))
+ provisions)
+ ".scm")))
+
+(define (dmd-service-file service)
+ "Return a file defining SERVICE."
+ (gexp->file (dmd-service-file-name service)
+ #~(begin
+ (use-modules #$@(dmd-service-modules service))
+
+ (make <service>
+ #:docstring '#$(dmd-service-documentation service)
+ #:provides '#$(dmd-service-provision service)
+ #:requires '#$(dmd-service-requirement service)
+ #:respawn? '#$(dmd-service-respawn? service)
+ #:start #$(dmd-service-start service)
+ #:stop #$(dmd-service-stop service)))))
(define (dmd-configuration-file services)
"Return the dmd configuration file for SERVICES."
(define modules
- ;; Extra modules visible to dmd.conf.
- '((guix build syscalls)
- (gnu build file-systems)
- (guix build utils)))
+ (delete-duplicates
+ (append-map dmd-service-imported-modules services)))
- (assert-no-duplicates services)
+ (assert-valid-graph services)
(mlet %store-monad ((modules (imported-modules modules))
- (compiled (compiled-modules modules)))
+ (compiled (compiled-modules modules))
+ (files (mapm %store-monad dmd-service-file services)))
(define config
#~(begin
(eval-when (expand load eval)
(set! %load-path (cons #$modules %load-path))
(set! %load-compiled-path
- (cons #$compiled %load-compiled-path)))
-
- (use-modules (ice-9 ftw)
- (guix build syscalls)
- (guix build utils)
- ((gnu build file-systems)
- #:select (check-file-system canonicalize-device-spec)))
-
- (register-services
- #$@(map (lambda (service)
- #~(make <service>
- #:docstring '#$(dmd-service-documentation service)
- #:provides '#$(dmd-service-provision service)
- #:requires '#$(dmd-service-requirement service)
- #:respawn? '#$(dmd-service-respawn? service)
- #:start #$(dmd-service-start service)
- #:stop #$(dmd-service-stop service)))
- services))
+ (cons #$compiled %load-compiled-path)))
+
+ (use-modules (system repl error-handling))
+
+ ;; Arrange to spawn a REPL if loading one of FILES fails. This is
+ ;; better than a kernel panic.
+ (call-with-error-handling
+ (lambda ()
+ (apply register-services (map primitive-load '#$files))))
;; guix-daemon 0.6 aborts if 'PATH' is undefined, so work around it.
(setenv "PATH" "/run/current-system/profile/bin")
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 003d5a5010..ce21b1d9ff 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -22,15 +22,18 @@
#:use-module (gnu services dmd)
#:use-module (gnu services dbus)
#:use-module (gnu system shadow)
- #:use-module (gnu system linux) ;PAM
+ #:use-module (gnu system pam)
#:use-module (gnu packages admin)
#:use-module (gnu packages linux)
#:use-module (gnu packages tor)
#:use-module (gnu packages messaging)
#:use-module (gnu packages ntp)
#:use-module (gnu packages wicd)
+ #:use-module (gnu packages gnome)
#:use-module (guix gexp)
#:use-module (guix records)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (%facebook-host-aliases
@@ -38,9 +41,11 @@
dhcp-client-service
%ntp-servers
ntp-service
+ tor-hidden-service
tor-service
bitlbee-service
- wicd-service))
+ wicd-service
+ network-manager-service))
;;; Commentary:
;;;
@@ -305,6 +310,15 @@ keep the system clock synchronized with that of @var{servers}."
;;; Tor.
;;;
+(define-record-type* <tor-configuration>
+ tor-configuration make-tor-configuration
+ tor-configuration?
+ (tor tor-configuration-tor
+ (default tor))
+ (config-file tor-configuration-config-file)
+ (hidden-services tor-configuration-hidden-services
+ (default '())))
+
(define %tor-accounts
;; User account and groups for Tor.
(list (user-group (name "tor") (system? #t))
@@ -316,20 +330,93 @@ keep the system clock synchronized with that of @var{servers}."
(home-directory "/var/empty")
(shell #~(string-append #$shadow "/sbin/nologin")))))
-(define (tor-dmd-service tor)
+(define-record-type <hidden-service>
+ (hidden-service name mapping)
+ hidden-service?
+ (name hidden-service-name) ;string
+ (mapping hidden-service-mapping)) ;list of port/address tuples
+
+(define (tor-configuration->torrc config)
+ "Return a 'torrc' file for CONFIG."
+ (match config
+ (($ <tor-configuration> tor config-file services)
+ (computed-file
+ "torrc"
+ #~(begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+
+ (call-with-output-file #$output
+ (lambda (port)
+ (display "\
+# The beginning was automatically added.
+User tor
+DataDirectory /var/lib/tor
+Log notice syslog\n" port)
+
+ (for-each (match-lambda
+ ((service (ports hosts) ...)
+ (format port "\
+HiddenServiceDir /var/lib/tor/hidden-services/~a~%"
+ service)
+ (for-each (lambda (tcp-port host)
+ (format port "\
+HiddenServicePort ~a ~a~%"
+ tcp-port host))
+ ports hosts)))
+ '#$(map (match-lambda
+ (($ <hidden-service> name mapping)
+ (cons name mapping)))
+ services))
+
+ ;; Append the user's config file.
+ (call-with-input-file #$config-file
+ (lambda (input)
+ (dump-port input port)))
+ #t)))
+ #:modules '((guix build utils))))))
+
+(define (tor-dmd-service config)
"Return a <dmd-service> running TOR."
- (let ((torrc (plain-file "torrc" "User tor\n")))
- (list (dmd-service
- (provision '(tor))
+ (match config
+ (($ <tor-configuration> tor)
+ (let ((torrc (tor-configuration->torrc config)))
+ (list (dmd-service
+ (provision '(tor))
+
+ ;; Tor needs at least one network interface to be up, hence the
+ ;; dependency on 'loopback'.
+ (requirement '(user-processes loopback syslogd))
+
+ (start #~(make-forkexec-constructor
+ (list (string-append #$tor "/bin/tor") "-f" #$torrc)))
+ (stop #~(make-kill-destructor))
+ (documentation "Run the Tor anonymous network overlay.")))))))
+
+(define (tor-hidden-service-activation config)
+ "Return the activation gexp for SERVICES, a list of hidden services."
+ #~(begin
+ (use-modules (guix build utils))
+
+ (define %user
+ (getpw "tor"))
- ;; Tor needs at least one network interface to be up, hence the
- ;; dependency on 'loopback'.
- (requirement '(user-processes loopback))
+ (define (initialize service)
+ (let ((directory (string-append "/var/lib/tor/hidden-services/"
+ service)))
+ (mkdir-p directory)
+ (chown directory (passwd:uid %user) (passwd:gid %user))
- (start #~(make-forkexec-constructor
- (list (string-append #$tor "/bin/tor") "-f" #$torrc)))
- (stop #~(make-kill-destructor))
- (documentation "Run the Tor anonymous network overlay.")))))
+ ;; The daemon bails out if we give wider permissions.
+ (chmod directory #o700)))
+
+ (mkdir-p "/var/lib/tor")
+ (chown "/var/lib/tor" (passwd:uid %user) (passwd:gid %user))
+ (chmod "/var/lib/tor" #o700)
+
+ (for-each initialize
+ '#$(map hidden-service-name
+ (tor-configuration-hidden-services config)))))
(define tor-service-type
(service-type (name 'tor)
@@ -337,14 +424,59 @@ keep the system clock synchronized with that of @var{servers}."
(list (service-extension dmd-root-service-type
tor-dmd-service)
(service-extension account-service-type
- (const %tor-accounts))))))
+ (const %tor-accounts))
+ (service-extension activation-service-type
+ tor-hidden-service-activation)))
+
+ ;; This can be extended with hidden services.
+ (compose concatenate)
+ (extend (lambda (config services)
+ (tor-configuration
+ (inherit config)
+ (hidden-services
+ (append (tor-configuration-hidden-services config)
+ services)))))))
+
+(define* (tor-service #:optional
+ (config-file (plain-file "empty" ""))
+ #:key (tor tor))
+ "Return a service to run the @uref{https://torproject.org, Tor} anonymous
+networking daemon.
+
+The daemon runs as the @code{tor} unprivileged user. It is passed
+@var{config-file}, a file-like object, with an additional @code{User tor} line
+and lines for hidden services added via @code{tor-hidden-service}. Run
+@command{man tor} for information about the configuration file."
+ (service tor-service-type
+ (tor-configuration (tor tor)
+ (config-file config-file))))
+
+(define tor-hidden-service-type
+ ;; A type that extends Tor with hidden services.
+ (service-type (name 'tor-hidden-service)
+ (extensions
+ (list (service-extension tor-service-type list)))))
+
+(define (tor-hidden-service name mapping)
+ "Define a new Tor @dfn{hidden service} called @var{name} and implementing
+@var{mapping}. @var{mapping} is a list of port/host tuples, such as:
-(define* (tor-service #:key (tor tor))
- "Return a service to run the @uref{https://torproject.org,Tor} daemon.
+@example
+ '((22 \"127.0.0.1:22\")
+ (80 \"127.0.0.1:8080\"))
+@end example
-The daemon runs with the default settings (in particular the default exit
-policy) as the @code{tor} unprivileged user."
- (service tor-service-type tor))
+In this example, port 22 of the hidden service is mapped to local port 22, and
+port 80 is mapped to local port 8080.
+
+This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, where
+the @file{hostname} file contains the @code{.onion} host name for the hidden
+service.
+
+See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the Tor
+project's documentation} for more information."
+ (service tor-hidden-service-type
+ (hidden-service name mapping)))
;;;
@@ -466,11 +598,58 @@ configuration file."
(service-extension dbus-root-service-type
list)
(service-extension activation-service-type
- (const %wicd-activation))))))
+ (const %wicd-activation))
+
+ ;; Add Wicd to the global profile.
+ (service-extension profile-service-type list)))))
(define* (wicd-service #:key (wicd wicd))
"Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network
-manager that aims to simplify wired and wireless networking."
+management daemon that aims to simplify wired and wireless networking.
+
+This service adds the @var{wicd} package to the global profile, providing
+several commands to interact with the daemon and configure networking:
+@command{wicd-client}, a graphical user interface, and the @command{wicd-cli}
+and @command{wicd-curses} user interfaces."
(service wicd-service-type wicd))
+
+;;;
+;;; NetworkManager
+;;;
+
+(define %network-manager-activation
+ ;; Activation gexp for NetworkManager.
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/etc/NetworkManager/system-connections")))
+
+(define (network-manager-dmd-service network-manager)
+ "Return a dmd service for NETWORK-MANAGER."
+ (list (dmd-service
+ (documentation "Run the NetworkManager.")
+ (provision '(networking))
+ (requirement '(user-processes dbus-system loopback))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$network-manager
+ "/sbin/NetworkManager")
+ "--no-daemon")))
+ (stop #~(make-kill-destructor)))))
+
+(define network-manager-service-type
+ (service-type (name 'network-manager)
+ (extensions
+ (list (service-extension dmd-root-service-type
+ network-manager-dmd-service)
+ (service-extension dbus-root-service-type list)
+ (service-extension activation-service-type
+ (const %network-manager-activation))
+ ;; Add network-manager to the system profile.
+ (service-extension profile-service-type list)))))
+
+(define* (network-manager-service #:key (network-manager network-manager))
+ "Return a service that runs NetworkManager, a network connection manager
+that attempting to keep active network connectivity when available."
+ (service network-manager-service-type network-manager))
+
;;; networking.scm ends here
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index d3a6cfb33a..4b0380e8fd 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -21,8 +21,9 @@
#:use-module (guix records)
#:use-module (gnu services)
#:use-module (gnu services dmd)
- #:use-module (gnu system linux) ; 'pam-service'
+ #:use-module (gnu system pam)
#:use-module (gnu packages lsh)
+ #:use-module (srfi srfi-26)
#:export (lsh-service))
;;; Commentary:
@@ -142,8 +143,8 @@
"--tcpip-forward" "--no-tcpip-forward")
(if (null? interfaces)
'()
- (list (string-append "--interfaces="
- (string-join interfaces ",")))))))
+ (map (cut string-append "--interface=" <>)
+ interfaces)))))
(define requires
(if (and daemonic? (lsh-configuration-syslog-output? config))
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 3a57891a96..7fea6829d5 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -21,7 +21,7 @@
#:use-module (gnu artwork)
#:use-module (gnu services)
#:use-module (gnu services dmd)
- #:use-module (gnu system linux) ; 'pam-service'
+ #:use-module (gnu system pam)
#:use-module ((gnu packages base) #:select (canonical-package))
#:use-module (gnu packages guile)
#:use-module (gnu packages xorg)
@@ -32,16 +32,23 @@
#:use-module (gnu packages bash)
#:use-module (guix gexp)
#:use-module (guix store)
+ #:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix records)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (xorg-configuration-file
xorg-start-command
%default-slim-theme
%default-slim-theme-name
- slim-service))
+ slim-configuration
+ slim-service-type
+ slim-service
+
+ screen-locker-service-type
+ screen-locker-service))
;;; Commentary:
;;;
@@ -304,7 +311,12 @@ reboot_cmd " dmd "/sbin/reboot\n"
(list (service-extension dmd-root-service-type
slim-dmd-service)
(service-extension pam-root-service-type
- slim-pam-service)))))
+ slim-pam-service)
+
+ ;; Unconditionally add xterm to the system profile, to
+ ;; avoid bad surprises.
+ (service-extension profile-service-type
+ (const (list xterm)))))))
(define* (slim-service #:key (slim slim)
(allow-empty-passwords? #t) auto-login?
@@ -350,4 +362,52 @@ theme."
(auto-login-session auto-login-session)
(startx startx))))
+
+;;;
+;;; Screen lockers & co.
+;;;
+
+(define-record-type <screen-locker>
+ (screen-locker name program empty?)
+ screen-locker?
+ (name screen-locker-name) ;string
+ (program screen-locker-program) ;gexp
+ (empty? screen-locker-allows-empty-passwords?)) ;Boolean
+
+(define screen-locker-pam-services
+ (match-lambda
+ (($ <screen-locker> name _ empty?)
+ (list (unix-pam-service name
+ #:allow-empty-passwords? empty?)))))
+
+(define screen-locker-setuid-programs
+ (compose list screen-locker-program))
+
+(define screen-locker-service-type
+ (service-type (name 'screen-locker)
+ (extensions
+ (list (service-extension pam-root-service-type
+ screen-locker-pam-services)
+ (service-extension setuid-program-service-type
+ screen-locker-setuid-programs)))))
+
+(define* (screen-locker-service package
+ #:optional
+ (program (package-name package))
+ #:key allow-empty-passwords?)
+ "Add @var{package}, a package for a screen-locker or screen-saver whose
+command is @var{program}, to the set of setuid programs and add a PAM entry
+for it. For example:
+
+@lisp
+(screen-locker-service xlockmore \"xlock\")
+@end lisp
+
+makes the good ol' XlockMore usable."
+ (service screen-locker-service-type
+ (screen-locker program
+ #~(string-append #$package
+ #$(string-append "/bin/" program))
+ allow-empty-passwords?)))
+
;;; xorg.scm ends here
diff --git a/gnu/system.scm b/gnu/system.scm
index aa768824d9..ff981d95a2 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -50,7 +50,7 @@
#:use-module (gnu system shadow)
#:use-module (gnu system nss)
#:use-module (gnu system locale)
- #:use-module (gnu system linux)
+ #:use-module (gnu system pam)
#:use-module (gnu system linux-initrd)
#:use-module (gnu system file-systems)
#:use-module (ice-9 match)
@@ -76,6 +76,7 @@
operating-system-timezone
operating-system-locale
operating-system-locale-definitions
+ operating-system-locale-libcs
operating-system-mapped-devices
operating-system-file-systems
operating-system-activation-script
@@ -144,6 +145,8 @@
(default "en_US.utf8"))
(locale-definitions operating-system-locale-definitions ; list of <locale-definition>
(default %default-locale-definitions))
+ (locale-libcs operating-system-locale-libcs ; list of <packages>
+ (default %default-locale-libcs))
(name-service-switch operating-system-name-service-switch ; <name-service-switch>
(default %default-nss))
@@ -195,19 +198,16 @@ as 'needed-for-boot'."
(file-system-device fs)))
(operating-system-mapped-devices os)))
- (define (requirements fs)
- ;; XXX: Fiddling with dmd service names is not nice.
- (append (map (lambda (fs)
- (symbol-append 'file-system-
- (string->symbol
- (file-system-mount-point fs))))
- (file-system-dependencies fs))
- (map (lambda (md)
- (symbol-append 'device-mapping-
- (string->symbol (mapped-device-target md))))
- (device-mappings fs))))
+ (define (add-dependencies fs)
+ ;; Add the dependencies due to device mappings to FS.
+ (file-system
+ (inherit fs)
+ (dependencies
+ (delete-duplicates (append (device-mappings fs)
+ (file-system-dependencies fs))
+ eq?))))
- (map file-system-service file-systems))
+ (map (compose file-system-service add-dependencies) file-systems))
(define (mapped-device-user device file-systems)
"Return a file system among FILE-SYSTEMS that uses DEVICE, or #f."
@@ -254,6 +254,21 @@ from the initrd."
"Return the list of swap services for OS."
(map swap-service (operating-system-swap-devices os)))
+(define* (operating-system-directory-base-entries os #:key container?)
+ "Return the basic entries of the 'system' directory of OS for use as the
+value of the SYSTEM-SERVICE-TYPE service."
+ (mlet %store-monad ((locale (operating-system-locale-directory os)))
+ (if container?
+ (return `(("locale" ,locale)))
+ (mlet %store-monad
+ ((kernel -> (operating-system-kernel os))
+ (initrd (operating-system-initrd-file os))
+ (params (operating-system-parameters-file os)))
+ (return `(("kernel" ,kernel)
+ ("parameters" ,params)
+ ("initrd" ,initrd)
+ ("locale" ,locale))))))) ;used by libc
+
(define* (essential-services os #:key container?)
"Return the list of essential services for OS. These are special services
that implement part of what's declared in OS are responsible for low-level
@@ -269,8 +284,11 @@ a container or that of a \"bare metal\" system."
(swaps (swap-services os))
(procs (user-processes-service
(map service-parameters other-fs)))
- (host-name (host-name-service (operating-system-host-name os))))
- (cons* %boot-service
+ (host-name (host-name-service (operating-system-host-name os)))
+ (entries (operating-system-directory-base-entries
+ os #:container? container?)))
+ (cons* (service system-service-type entries)
+ %boot-service
;; %DMD-ROOT-SERVICE must come first so that the gexp that execs
;; dmd comes last in the boot script (XXX).
@@ -281,16 +299,21 @@ a container or that of a \"bare metal\" system."
(operating-system-groups os))
(operating-system-skeletons os))
(operating-system-etc-service os)
+ (session-environment-service
+ (operating-system-environment-variables os))
host-name procs root-fs unmount
(service setuid-program-service-type
(operating-system-setuid-programs os))
+ (service profile-service-type
+ (operating-system-packages os))
(append other-fs mappings swaps
;; Add the firmware service, unless we are building for a
;; container.
(if container?
'()
- (list (service firmware-service-type
+ (list %linux-bare-metal-service
+ (service firmware-service-type
(operating-system-firmware os))))))))
(define* (operating-system-services os #:key container?)
@@ -382,38 +405,11 @@ settings for 'guix.el' to work out-of-the-box."
(chdir #$output)
(symlink #$(emacs-site-file) "site-start.el"))))
-(define (user-shells os)
- "Return the list of all the shells used by the accounts of OS. These may be
-gexps or strings."
- (map user-account-shell (operating-system-accounts os)))
-
-(define (shells-file shells)
- "Return a file-like object that builds a shell list for use as /etc/shells
-based on SHELLS. /etc/shells is used by xterm, polkit, and other programs."
- (computed-file "shells"
- #~(begin
- (use-modules (srfi srfi-1))
-
- (define shells
- (delete-duplicates (list #$@shells)))
-
- (call-with-output-file #$output
- (lambda (port)
- (display "\
-/bin/sh
-/run/current-system/profile/bin/sh
-/run/current-system/profile/bin/bash\n" port)
- (for-each (lambda (shell)
- (display shell port)
- (newline port))
- shells))))))
-
(define* (operating-system-etc-service os)
"Return a <service> that builds containing the static part of the /etc
directory."
(let ((login.defs (plain-file "login.defs" "# Empty for now.\n"))
- (shells (shells-file (user-shells os)))
(emacs (emacs-site-directory))
(issue (plain-file "issue" (operating-system-issue os)))
(nsswitch (plain-file "nsswitch.conf"
@@ -423,18 +419,6 @@ directory."
;; Startup file for POSIX-compliant login shells, which set system-wide
;; environment variables.
(profile (mixed-text-file "profile" "\
-export LANG=\"" (operating-system-locale os) "\"
-export TZ=\"" (operating-system-timezone os) "\"
-export TZDIR=\"" tzdata "/share/zoneinfo\"
-
-# Tell 'modprobe' & co. where to look for modules.
-export LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
-
-# These variables are honored by OpenSSL (libssl) and Git.
-export SSL_CERT_DIR=/etc/ssl/certs
-export SSL_CERT_FILE=\"$SSL_CERT_DIR/ca-certificates.crt\"
-export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"
-
# Crucial variables that could be missing in the profiles' 'etc/profile'
# because they would require combining both profiles.
# FIXME: See <http://bugs.gnu.org/20255>.
@@ -464,13 +448,6 @@ else
export PATH=\"$HOME/.guix-profile/bin:$PATH\"
fi
-# Append the directory of 'site-start.el' to the search path.
-export EMACSLOADPATH=:/etc/emacs
-
-# By default, applications that use D-Bus, such as Emacs, abort at startup
-# when /etc/machine-id is missing. Make sure these warnings are non-fatal.
-export DBUS_FATAL_WARNINGS=0
-
# Allow Aspell to find dictionaries installed in the user profile.
export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\"
@@ -503,7 +480,6 @@ fi\n")))
("login.defs" ,#~#$login.defs)
("issue" ,#~#$issue)
("nsswitch.conf" ,#~#$nsswitch)
- ("shells" ,#~#$shells)
("profile" ,#~#$profile)
("bashrc" ,#~#$bashrc)
("hosts" ,#~#$(or (operating-system-hosts-file os)
@@ -512,11 +488,6 @@ fi\n")))
#$(operating-system-timezone os)))
("sudoers" ,(operating-system-sudoers-file os))))))
-(define (operating-system-profile os)
- "Return a derivation that builds the system profile of OS."
- (profile-derivation (manifest (map package->manifest-entry
- (operating-system-packages os)))))
-
(define %root-account
;; Default root account.
(user-account
@@ -573,6 +544,24 @@ use 'plain-file' instead~%")
(fold-services (operating-system-services os)
#:target-type etc-service-type)))
+(define (operating-system-environment-variables os)
+ "Return the environment variables of OS for
+@var{session-environment-service-type}, to be used in @file{/etc/environment}."
+ `(("LANG" . ,(operating-system-locale os))
+ ("TZ" . ,(operating-system-timezone os))
+ ("TZDIR" . ,#~(string-append #$tzdata "/share/zoneinfo"))
+ ;; Tell 'modprobe' & co. where to look for modules.
+ ("LINUX_MODULE_DIRECTORY" . "/run/booted-system/kernel/lib/modules")
+ ;; These variables are honored by OpenSSL (libssl) and Git.
+ ("SSL_CERT_DIR" . "/etc/ssl/certs")
+ ("SSL_CERT_FILE" . "/etc/ssl/certs/ca-certificates.crt")
+ ("GIT_SSL_CAINFO" . "/etc/ssl/certs/ca-certificates.crt")
+ ;; Append the directory of 'site-start.el' to the search path.
+ ("EMACSLOADPATH" . ":/etc/emacs")
+ ;; By default, applications that use D-Bus, such as Emacs, abort at startup
+ ;; when /etc/machine-id is missing. Make sure these warnings are non-fatal.
+ ("DBUS_FATAL_WARNINGS" . "0")))
+
(define %setuid-programs
;; Default set of setuid-root programs.
(let ((shadow (@ (gnu packages admin) shadow)))
@@ -606,10 +595,27 @@ etc."
we're running in the final root. When CONTAINER? is true, skip all
hardware-related operations as necessary when booting a Linux container."
(let* ((services (operating-system-services os #:container? container?))
- (boot (fold-services services)))
+ (boot (fold-services services #:target-type boot-service-type)))
;; BOOT is the script as a monadic value.
(service-parameters boot)))
+(define* (operating-system-derivation os #:key container?)
+ "Return a derivation that builds OS."
+ (let* ((services (operating-system-services os #:container? container?))
+ (system (fold-services services)))
+ ;; SYSTEM contains the derivation as a monadic value.
+ (service-parameters system)))
+
+(define* (operating-system-profile os #:key container?)
+ "Return a derivation that builds the system profile of OS."
+ (mlet* %store-monad
+ ((services -> (operating-system-services os #:container? container?))
+ (profile (fold-services services
+ #:target-type profile-service-type)))
+ (match profile
+ (("profile" profile)
+ (return profile)))))
+
(define (operating-system-root-file-system os)
"Return the root file system of OS."
(find (match-lambda
@@ -645,7 +651,8 @@ listed in OS. The C library expects to find it under
(raise (condition
(&message (message "system locale lacks a definition")))))
- (locale-directory (operating-system-locale-definitions os)))
+ (locale-directory (operating-system-locale-definitions os)
+ #:libcs (operating-system-locale-libcs os)))
(define (kernel->grub-label kernel)
"Return a label for the GRUB menu entry that boots KERNEL."
@@ -691,24 +698,4 @@ this file is the reconstruction of GRUB menu entries for old configurations."
#$(operating-system-kernel-arguments os))
(initrd #$initrd)))))
-(define (operating-system-derivation os)
- "Return a derivation that builds OS."
- (mlet* %store-monad
- ((profile (operating-system-profile os))
- (etc -> (operating-system-etc-directory os))
- (boot (operating-system-boot-script os))
- (kernel -> (operating-system-kernel os))
- (initrd (operating-system-initrd-file os))
- (locale (operating-system-locale-directory os))
- (params (operating-system-parameters-file os)))
- (lower-object
- (file-union "system"
- `(("boot" ,#~#$boot)
- ("kernel" ,#~#$kernel)
- ("parameters" ,#~#$params)
- ("initrd" ,initrd)
- ("profile" ,#~#$profile)
- ("locale" ,#~#$locale) ;used by libc
- ("etc" ,#~#$etc))))))
-
;;; system.scm ends here
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 988b8f937f..ee660e0589 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -3,7 +3,7 @@
(use-modules (gnu) (gnu system nss))
(use-service-modules desktop)
-(use-package-modules xfce ratpoison wicd avahi xorg certs)
+(use-package-modules xfce ratpoison certs)
(operating-system
(host-name "antelope")
@@ -32,7 +32,6 @@
;; Add Xfce and Ratpoison; that allows us to choose
;; sessions using either of these at the log-in screen.
(packages (cons* xfce ratpoison ;desktop environments
- xterm wicd avahi ;useful tools
nss-certs ;for HTTPS access
%base-packages))
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 8155b273e3..0a4b385fe3 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -99,9 +99,8 @@
(default #t))
(create-mount-point? file-system-create-mount-point? ; Boolean
(default #f))
- (dependencies file-system-dependencies ; list of strings (mount
- ; points depended on)
- (default '())))
+ (dependencies file-system-dependencies ; list of <file-system>
+ (default '()))) ; or <mapped-device>
(define-inlinable (file-system-needed-for-boot? fs)
"Return true if FS has the 'needed-for-boot?' flag set, or if it's the root
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index e49b6dbe54..5b824820b1 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -30,6 +30,7 @@
#:autoload (gnu packages imagemagick) (imagemagick)
#:autoload (gnu packages compression) (gzip)
#:use-module (ice-9 match)
+ #:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:export (grub-image
grub-image?
@@ -139,7 +140,7 @@
(system* (string-append #$imagemagick "/bin/convert")
"-resize" #$size #$image #$output)))))
-(define* (grub-background-image config #:key (width 640) (height 480))
+(define* (grub-background-image config #:key (width 1024) (height 768))
"Return the GRUB background image defined in CONFIG with a ratio of
WIDTH/HEIGHT, or #f if none was found."
(let* ((ratio (/ width height))
@@ -152,10 +153,26 @@ WIDTH/HEIGHT, or #f if none was found."
(with-monad %store-monad
(return #f)))))
-(define (eye-candy config port)
+(define (eye-candy config system port)
"Return in %STORE-MONAD a gexp that writes to PORT (a port-valued gexp) the
'grub.cfg' part concerned with graphics mode, background images, colors, and
all that."
+ (define setup-gfxterm-body
+ ;; Intel systems need to be switched into graphics mode, whereas most
+ ;; other modern architectures have no other mode and therefore don't need
+ ;; to be switched.
+ (if (string-match "^(x86_64|i[3-6]86)-" system)
+ "
+ # Leave 'gfxmode' to 'auto'.
+ insmod vbe
+ insmod vga
+ insmod video_bochs
+ insmod video_cirrus
+ insmod gfxterm
+ terminal_output gfxterm
+"
+ ""))
+
(define (theme-colors type)
(let* ((theme (grub-configuration-theme config))
(colors (type theme)))
@@ -163,22 +180,15 @@ all that."
(symbol->string (assoc-ref colors 'bg)))))
(mlet* %store-monad ((image (grub-background-image config)))
- (return (and image #~(format #$port "
-function load_video {
- insmod vbe
- insmod vga
- insmod video_bochs
- insmod video_cirrus
-}
+ (return (and image
+ #~(format #$port "
+function setup_gfxterm {~a}
# Set 'root' to the partition that contains /gnu/store.
search --file --set ~a/share/grub/unicode.pf2
if loadfont ~a/share/grub/unicode.pf2; then
- set gfxmode=640x480
- load_video
- insmod gfxterm
- terminal_output gfxterm
+ setup_gfxterm
fi
insmod png
@@ -189,10 +199,11 @@ else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi~%"
- #$grub #$grub
- #$image
- #$(theme-colors grub-theme-color-normal)
- #$(theme-colors grub-theme-color-highlight))))))
+ #$setup-gfxterm-body
+ #$grub #$grub
+ #$image
+ #$(theme-colors grub-theme-color-normal)
+ #$(theme-colors grub-theme-color-highlight))))))
;;;
@@ -206,6 +217,11 @@ fi~%"
"Return the GRUB configuration file corresponding to CONFIG, a
<grub-configuration> object. OLD-ENTRIES is taken to be a list of menu
entries corresponding to old generations of the system."
+ (define linux-image-name
+ (if (string-prefix? "mips" system)
+ "vmlinuz"
+ "bzImage"))
+
(define all-entries
(append entries (grub-configuration-menu-entries config)))
@@ -214,16 +230,17 @@ entries corresponding to old generations of the system."
(($ <menu-entry> label linux arguments initrd)
#~(format port "menuentry ~s {
# Set 'root' to the partition that contains the kernel.
- search --file --set ~a/bzImage~%
+ search --file --set ~a/~a~%
- linux ~a/bzImage ~a
+ linux ~a/~a ~a
initrd ~a
}~%"
#$label
- #$linux #$linux (string-join (list #$@arguments))
+ #$linux #$linux-image-name
+ #$linux #$linux-image-name (string-join (list #$@arguments))
#$initrd))))
- (mlet %store-monad ((sugar (eye-candy config #~port)))
+ (mlet %store-monad ((sugar (eye-candy config system #~port)))
(define builder
#~(call-with-output-file #$output
(lambda (port)
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 93a6f18c49..887bceb155 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -306,6 +306,9 @@ You have been warned. Thanks for being so brave.
(console-font-service "tty5")
(console-font-service "tty6")
+ ;; To facilitate copy/paste.
+ (gpm-service)
+
;; Since this is running on a USB stick with a unionfs as the root
;; file system, use an appropriate cache configuration.
(nscd-service (nscd-configuration
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index fdf7460872..4f38c5cb0a 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -25,6 +25,7 @@
#:use-module (guix derivations)
#:use-module (guix monads)
#:use-module (gnu build linux-container)
+ #:use-module (gnu services)
#:use-module (gnu system)
#:use-module (gnu system file-systems)
#:export (mapping->file-system
@@ -46,19 +47,6 @@
(check? #f)
(create-mount-point? #t)))))
-(define (system-container os)
- "Return a derivation that builds OS as a Linux container."
- (mlet* %store-monad
- ((profile (operating-system-profile os))
- (etc (operating-system-etc-directory os))
- (boot (operating-system-boot-script os #:container? #t))
- (locale (operating-system-locale-directory os)))
- (file-union "system-container"
- `(("boot" ,#~#$boot)
- ("profile" ,#~#$profile)
- ("locale" ,#~#$locale)
- ("etc" ,#~#$etc)))))
-
(define (containerized-operating-system os mappings)
"Return an operating system based on OS for use in a Linux container
environment. MAPPINGS is a list of <file-system-mapping> to realize in the
@@ -93,7 +81,9 @@ that will be shared with the host system."
(operating-system-file-systems os)))
(specs (map file-system->spec file-systems)))
- (mlet* %store-monad ((os-drv (system-container os)))
+ (mlet* %store-monad ((os-drv (operating-system-derivation
+ os
+ #:container? #t)))
(define script
#~(begin
@@ -106,7 +96,12 @@ that will be shared with the host system."
(setenv "TMPDIR" "/tmp")
(setenv "GUIX_NEW_SYSTEM" #$os-drv)
(for-each mkdir-p '("/run" "/bin" "/etc" "/home" "/var"))
- (primitive-load (string-append #$os-drv "/boot"))))))
+ (primitive-load (string-append #$os-drv "/boot")))
+ ;; A range of 65536 uid/gids is used to cover 16 bits worth of
+ ;; users and groups, which is sufficient for most cases.
+ ;;
+ ;; See: http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#--private-users=
+ #:host-uids 65536)))
(gexp->script "run-container" script
#:modules '((ice-9 match)
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 519373fe34..6130e020c8 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -178,11 +178,13 @@ loaded at boot time in the order in which they appear."
(define linux-modules
;; Modules added to the initrd and loaded from the initrd.
`("ahci" ;for SATA controllers
- "pata_acpi" "pata_atiixp" ;for ATA controllers
- "isci" ;for SAS controllers like Intel C602
"usb-storage" "uas" ;for the installation image etc.
"usbkbd" "usbhid" ;USB keyboards, for debugging
"dm-crypt" "xts" ;for encrypted root partitions
+ ,@(if (string-match "^(x86_64|i[3-6]86)-" (%current-system))
+ '("pata_acpi" "pata_atiixp" ;for ATA controllers
+ "isci") ;for SAS controllers like Intel C602
+ '())
,@(if (or virtio? qemu-networking?)
virtio-modules
'())
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 010fb45272..e798827a01 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -18,11 +18,15 @@
(define-module (gnu system locale)
#:use-module (guix gexp)
+ #:use-module (guix store)
+ #:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (srfi srfi-26)
+ #:use-module (ice-9 match)
#:export (locale-definition
locale-definition?
locale-definition-name
@@ -31,6 +35,7 @@
locale-directory
+ %default-locale-libcs
%default-locale-definitions))
;;; Commentary:
@@ -50,6 +55,15 @@
(define* (localedef-command locale
#:key (libc (canonical-package glibc)))
"Return a gexp that runs 'localedef' from LIBC to build LOCALE."
+ (define (maybe-version-directory)
+ ;; XXX: For libc prior to 2.22, GuixSD did not store locale data in a
+ ;; version-specific sub-directory. Check whether this is the case.
+ ;; TODO: Remove this hack once libc 2.21 is buried.
+ (let ((version (package-version libc)))
+ (if (version>=? version "2.22")
+ (list version "/")
+ '())))
+
#~(begin
(format #t "building locale '~a'...~%"
#$(locale-definition-name locale))
@@ -58,20 +72,29 @@
"-i" #$(locale-definition-source locale)
"-f" #$(locale-definition-charset locale)
(string-append #$output "/"
- #$(package-version libc) "/"
+ #$@(maybe-version-directory)
#$(locale-definition-name locale))))))
-(define* (locale-directory locales
- #:key (libc (canonical-package glibc)))
+(define* (single-locale-directory locales
+ #:key (libc (canonical-package glibc)))
"Return a directory containing all of LOCALES for LIBC compiled.
Because locale data formats are incompatible when switching from one libc to
another, locale data is put in a sub-directory named after the 'version' field
of LIBC."
+ (define version
+ (package-version libc))
+
(define build
#~(begin
(mkdir #$output)
- (mkdir (string-append #$output "/" #$(package-version libc)))
+
+ ;; XXX: For libcs < 2.22, locale data is stored in the top-level
+ ;; directory.
+ ;; TODO: Remove this hack once libc 2.21 is buried.
+ #$(if (version>=? version "2.22")
+ #~(mkdir (string-append #$output "/" #$version))
+ #~(symlink "." (string-append #$output "/" #$version)))
;; 'localedef' executes 'gzip' to access compressed locale sources.
(setenv "PATH" (string-append #$gzip "/bin"))
@@ -80,9 +103,38 @@ of LIBC."
(and #$@(map (cut localedef-command <> #:libc libc)
locales)))))
- (gexp->derivation "locale" build
+ (gexp->derivation (string-append "locale-" version) build
#:local-build? #t))
+(define* (locale-directory locales
+ #:key (libcs %default-locale-libcs))
+ "Return a locale directory containing all of LOCALES for each libc package
+listed in LIBCS.
+
+It is useful to list more than one libc when willing to support
+already-installed packages built against a different libc since the locale
+data format changes between libc versions."
+ (match libcs
+ ((libc)
+ (single-locale-directory locales #:libc libc))
+ ((libcs ..1)
+ (mlet %store-monad ((dirs (mapm %store-monad
+ (lambda (libc)
+ (single-locale-directory locales
+ #:libc libc))
+ libcs)))
+ (gexp->derivation "locale-multiple-versions"
+ #~(begin
+ (use-modules (guix build union))
+ (union-build #$output (list #$@dirs)))
+ #:modules '((guix build union))
+ #:local-build? #t
+ #:substitutable? #f)))))
+
+(define %default-locale-libcs
+ ;; The libcs for which we build locales by default.
+ (list (canonical-package glibc)))
+
(define %default-locale-definitions
;; Arbitrary set of locales that are built by default. They are here mostly
;; to facilitate first-time use to some people, while others may have to add
diff --git a/gnu/system/linux.scm b/gnu/system/pam.scm
index cd14bc97be..99d94a1a81 100644
--- a/gnu/system/linux.scm
+++ b/gnu/system/pam.scm
@@ -16,7 +16,7 @@
;;; 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 system linux)
+(define-module (gnu system pam)
#:use-module (guix records)
#:use-module (guix derivations)
#:use-module (guix gexp)
@@ -36,8 +36,7 @@
;;; Commentary:
;;;
-;;; Configuration of Linux-related things, including pluggable authentication
-;;; modules (PAM).
+;;; Configuration of the pluggable authentication modules (PAM).
;;;
;;; Code:
@@ -129,7 +128,10 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE."
(define unix-pam-service
(let ((unix (pam-entry
(control "required")
- (module "pam_unix.so"))))
+ (module "pam_unix.so")))
+ (env (pam-entry ; to honor /etc/environment.
+ (control "required")
+ (module "pam_env.so"))))
(lambda* (name #:key allow-empty-passwords? motd)
"Return a standard Unix-style PAM service for NAME. When
ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords. When MOTD is true, it
@@ -151,13 +153,13 @@ should be a file-like object used as the message-of-the-day."
;; Store SHA-512 encrypted passwords in /etc/shadow.
(arguments '("sha512" "shadow")))))
(session (if motd
- (list unix
+ (list env unix
(pam-entry
(control "optional")
(module "pam_motd.so")
(arguments
(list #~(string-append "motd=" #$motd)))))
- (list unix))))))))
+ (list env unix))))))))
(define (rootok-pam-service command)
"Return a PAM service for COMMAND such that 'root' does not need to
@@ -182,8 +184,7 @@ authenticate to run COMMAND."
;; These programs are setuid-root.
(map (cut unix-pam-service <>
#:allow-empty-passwords? allow-empty-passwords?)
- '("su" "passwd" "sudo"
- "xlock" "xscreensaver"))
+ '("su" "passwd" "sudo"))
;; These programs are not setuid-root, and we want root to be able
;; to run them without having to authenticate (notably because
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 3f49c1fc9f..7f3a1dfac2 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -280,11 +280,33 @@ group."
(activate-users+groups (list #$@user-specs)
(list #$@group-specs))))
-(define (etc-skel arguments)
+(define (shells-file shells)
+ "Return a file-like object that builds a shell list for use as /etc/shells
+based on SHELLS. /etc/shells is used by xterm, polkit, and other programs."
+ (computed-file "shells"
+ #~(begin
+ (use-modules (srfi srfi-1))
+
+ (define shells
+ (delete-duplicates (list #$@shells)))
+
+ (call-with-output-file #$output
+ (lambda (port)
+ (display "\
+/bin/sh
+/run/current-system/profile/bin/sh
+/run/current-system/profile/bin/bash\n" port)
+ (for-each (lambda (shell)
+ (display shell port)
+ (newline port))
+ shells))))))
+(define (etc-files arguments)
"Filter out among ARGUMENTS things corresponding to skeletons, and return
the /etc/skel directory for those."
- (let ((skels (filter pair? arguments)))
- `(("skel" ,(skeleton-directory skels)))))
+ (let ((skels (filter pair? arguments))
+ (users (filter user-account? arguments)))
+ `(("skel" ,(skeleton-directory skels))
+ ("shells" ,(shells-file (map user-account-shell users))))))
(define account-service-type
(service-type (name 'account)
@@ -298,7 +320,7 @@ the /etc/skel directory for those."
(list (service-extension activation-service-type
account-activation)
(service-extension etc-service-type
- etc-skel)))))
+ etc-files)))))
(define (account-service accounts+groups skeletons)
"Return a <service> that takes care of user accounts and user groups, with
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index dfb6996067..1492a0bb1c 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -43,7 +43,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu system shadow)
- #:use-module (gnu system linux)
+ #:use-module (gnu system pam)
#:use-module (gnu system linux-initrd)
#:use-module (gnu system grub)
#:use-module (gnu system file-systems)
@@ -92,7 +92,7 @@
(system (%current-system))
(linux linux-libre)
initrd
- (qemu qemu-headless)
+ (qemu qemu-minimal)
(env-vars '())
(modules
'((gnu build vm)
@@ -185,7 +185,7 @@ made available under the /xchg CIFS share."
(define* (qemu-image #:key
(name "qemu-image")
(system (%current-system))
- (qemu qemu-headless)
+ (qemu qemu-minimal)
(disk-image-size (* 100 (expt 2 20)))
(disk-image-format "qcow2")
(file-system-type "ext4")