From bbe04ae102211d6486691652a4892744ee7f9a85 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 14 Oct 2015 11:56:13 +0200 Subject: gnu: dbus: Update to 1.10.0. * gnu/packages/glib.scm (dbus)[source]: Update to 1.10.0. [arguments]: Add --sysconfdir=/etc. * gnu/packages/patches/dbus-localstatedir.patch: Update. --- gnu/packages/glib.scm | 15 +++++++---- gnu/packages/patches/dbus-localstatedir.patch | 39 ++++++++++++++++----------- 2 files changed, 34 insertions(+), 20 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 2e8797560b..9137db3949 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -57,7 +57,7 @@ (define dbus (package (name "dbus") - (version "1.8.16") + (version "1.10.0") (source (origin (method url-fetch) (uri @@ -65,16 +65,21 @@ version ".tar.gz")) (sha256 (base32 - "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz")) + "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx")) (patches (list (search-patch "dbus-localstatedir.patch"))))) (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" + ;; 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 . + "--sysconfdir=/etc" "--with-session-socket-dir=/tmp") #:phases (alist-cons-after diff --git a/gnu/packages/patches/dbus-localstatedir.patch b/gnu/packages/patches/dbus-localstatedir.patch index 61bed91b5c..921ec29be4 100644 --- a/gnu/packages/patches/dbus-localstatedir.patch +++ b/gnu/packages/patches/dbus-localstatedir.patch @@ -1,25 +1,34 @@ 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 - +--- a/bus/Makefile.in ++++ b/bus/Makefile.in +@@ -565,7 +565,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + dbusdatadir = $(datadir)/dbus-1 +-legacydbusdatadir = $(sysconfdir)/dbus-1 ++legacydbusdatadir = $(prefix)/etc/dbus-1 + dbus_daemon_execdir = $(DBUS_DAEMONDIR) + DBUS_BUS_LIBS = \ + $(XML_LIBS) \ +@@ -1669,7 +1669,6 @@ clean-local: 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 + $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/session.d + $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/services +-@DBUS_UNIX_TRUE@ $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus + @DBUS_UNIX_TRUE@ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/system.d + @DBUS_UNIX_TRUE@ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/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 +diff --git a/tools/Makefile.in b/tools/Makefile.in +index 915971d..6b6897d 100644 +--- a/tools/Makefile.in ++++ b/tools/Makefile.in +@@ -1055,12 +1055,6 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_examplesSCRIPTS + .PRECIOUS: Makefile - # create the /var/lib/dbus directory for dbus-uuidgen +-# create the /var/lib/dbus directory for dbus-uuidgen -install-data-local: - $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/dbus - -- cgit v1.2.3 From 53b5856ac1b19a6e7c74f781b1f14bf37965a8a4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 14 Oct 2015 14:39:23 +0200 Subject: gnu: glib: Update to 2.46.0. * gnu/packages/glib.scm (glib): Update to 2.46.0. * gnu/packages/patches/glib-tests-desktop.patch: Add hunk to disable 'gdbus-unix-addresses' test. --- gnu/packages/glib.scm | 4 ++-- gnu/packages/patches/glib-tests-desktop.patch | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 9137db3949..c223b56096 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -124,7 +124,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.44.1") + (version "2.46.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -132,7 +132,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "01yabrfp64i11mrks3p1gcks99lw0zm7f5vhkc53sl4amyndw4c8")) + "1d5cpb2zp5js98jjnbfn1fb96kj1j3q3fz16gkqq0zdfd4sfikmi")) (patches (list (search-patch "glib-tests-homedir.patch") (search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-prlimit.patch") 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. -- cgit v1.2.3 From 25087f60b67e6031583cff2f4ac10873bf3d5520 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 1 Oct 2015 09:58:33 +0800 Subject: gnu: dbus: Drop patch. * gnu/packges/patches/dbus-localstatedir.patch: Remove file. * gnu-system.am (dist_patch_DATA): Remove it. * gnu/packages/glib.scm (dbus): Remove patch. [argumests]: Remove 'post-install' phase. Don't create localestatedir and sysconfdir in the 'install' phase. --- gnu-system.am | 1 - gnu/packages/glib.scm | 64 ++++++++++++++++++++++++++------------------------- 2 files changed, 33 insertions(+), 32 deletions(-) (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index d846bcecde..ee3c686bb3 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -427,7 +427,6 @@ dist_patch_DATA = \ gnu/packages/patches/cssc-missing-include.patch \ gnu/packages/patches/clucene-contribs-lib.patch \ gnu/packages/patches/cursynth-wave-rand.patch \ - gnu/packages/patches/dbus-localstatedir.patch \ gnu/packages/patches/dealii-p4est-interface.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \ gnu/packages/patches/dfu-programmer-fix-libusb.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index c223b56096..a34d8f8776 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -59,39 +59,41 @@ (name "dbus") (version "1.10.0") (source (origin - (method url-fetch) - (uri - (string-append "http://dbus.freedesktop.org/releases/dbus/dbus-" - version ".tar.gz")) - (sha256 - (base32 - "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx")) - (patches (list (search-patch "dbus-localstatedir.patch"))))) + (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" - - ;; 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 . - "--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 . + "--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 -- cgit v1.2.3 From 1c255eeec9a6e8f6701c8c197b52dd3006ce07a8 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Wed, 14 Oct 2015 21:42:07 +0800 Subject: gnu: Remove dbus-localstatedir.patch. This is a followup to 25087f. * gnu/packages/patches/dbus-localstatedir.patch: Remove file. --- gnu/packages/patches/dbus-localstatedir.patch | 39 --------------------------- 1 file changed, 39 deletions(-) delete mode 100644 gnu/packages/patches/dbus-localstatedir.patch (limited to 'gnu') diff --git a/gnu/packages/patches/dbus-localstatedir.patch b/gnu/packages/patches/dbus-localstatedir.patch deleted file mode 100644 index 921ec29be4..0000000000 --- a/gnu/packages/patches/dbus-localstatedir.patch +++ /dev/null @@ -1,39 +0,0 @@ -Do not try to create $localstatedir and $sysconfdir since we cannot do this -when they are /var and /etc. - ---- a/bus/Makefile.in -+++ b/bus/Makefile.in -@@ -565,7 +565,7 @@ top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - dbusdatadir = $(datadir)/dbus-1 --legacydbusdatadir = $(sysconfdir)/dbus-1 -+legacydbusdatadir = $(prefix)/etc/dbus-1 - dbus_daemon_execdir = $(DBUS_DAEMONDIR) - DBUS_BUS_LIBS = \ - $(XML_LIBS) \ -@@ -1669,7 +1669,6 @@ clean-local: - install-data-hook: - $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/session.d - $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/services --@DBUS_UNIX_TRUE@ $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus - @DBUS_UNIX_TRUE@ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/system.d - @DBUS_UNIX_TRUE@ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/system-services - # Install dbus.socket as default implementation of a D-Bus stack. -diff --git a/tools/Makefile.in b/tools/Makefile.in -index 915971d..6b6897d 100644 ---- a/tools/Makefile.in -+++ b/tools/Makefile.in -@@ -1055,12 +1055,6 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_examplesSCRIPTS - .PRECIOUS: Makefile - - --# 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. -- cgit v1.2.3 From 3c19c6a4d3e7ff87fa657f2a36e54fb51e39e853 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 20:50:40 +0800 Subject: gnu: glib: Update to 2.46.1. * gnu/packages/glib.scm (glib): Update to 2.46.1. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index a34d8f8776..407d789c1b 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -126,7 +126,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.46.0") + (version "2.46.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -134,7 +134,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "1d5cpb2zp5js98jjnbfn1fb96kj1j3q3fz16gkqq0zdfd4sfikmi")) + "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss")) (patches (list (search-patch "glib-tests-homedir.patch") (search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-prlimit.patch") -- cgit v1.2.3 From ed89d9011763bf6db774017b9d7fe01eea3dcdca Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 22:03:14 +0800 Subject: gnu: gobject-introspection: Update to 1.46.0. * gnu/packages/glib.scm (gobject-introspection): Update to 1.46.0. [source]: Add a snippet to correct python shebang. --- gnu/packages/glib.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 407d789c1b..22c8b8a12a 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -214,14 +214,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 -- cgit v1.2.3 From fa09ebfa0ef79e80b37a971c760dc3fa65ca417c Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 22:04:13 +0800 Subject: gnu: intltool: Update to 0.51.0. * gnu/packages/glib.scm (intltool): Update to 0.51.0. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 22c8b8a12a..7c3836b4e8 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -269,7 +269,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/" @@ -277,7 +277,7 @@ bindings to call into the C library.") version ".tar.gz")) (sha256 (base32 - "01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7")))) + "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7")))) (build-system gnu-build-system) (inputs `(("file" ,file))) -- cgit v1.2.3 From 93d809b0df19e5b6a3b47a1a20fd805063db7083 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 22:06:02 +0800 Subject: gnu: libsigc++: Update to 2.6.1. * gnu/packages/glib.scm (libsigc++): Update to 2.6.1. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 7c3836b4e8..f4a42aa1f7 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -393,7 +393,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++/" @@ -401,7 +401,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))) -- cgit v1.2.3 From 9b4613d2ad9376f43d64fc39be8b8238b3a1fe32 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 22:06:49 +0800 Subject: gnu: glibmm: Update to 2.46.1. * gnu/packages/glib.scm (glibmm): Update to 2.46.1. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index f4a42aa1f7..e234f466d1 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -420,7 +420,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/" @@ -428,7 +428,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 -- cgit v1.2.3 From 13ddcf404bbaaa7b6d8e3dbba2f3b2cd2b4b180a Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 22:07:41 +0800 Subject: gnu: python-pygobject: Update to 3.18.0. * gnu/packages/glib.scm (python-pygobject): Update to 3.18.0. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index e234f466d1..6ef64e4b73 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -502,7 +502,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) @@ -511,7 +511,7 @@ useful for C++.") "/pygobject-" version ".tar.xz")) (sha256 (base32 - "1hqyma73w0lnjcgx68kawhnq84aq92xlkdqphrlc2ppia38dm5kx")))) + "1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw")))) (build-system gnu-build-system) (native-inputs `(("which" ,which) -- cgit v1.2.3 From 7363cda42d2eeeddc7361241dd3d6966e6ada224 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 22:08:51 +0800 Subject: gnu: poppler: Update to 0.37.0. * gnu/packages/pdf.scm (poppler): Update to 0.37.0. --- gnu/packages/pdf.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From 492b0e383b4c5b33fe7a7ff7a6fb41cb989f7752 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 22:09:37 +0800 Subject: gnu: atk: Update to 2.18.0. * gnu/packages/gtk.scm (atk): Update to 2.18.0. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index a01e6d0dd3..fb2541acf8 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -60,7 +60,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 +68,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "0qp5i91kfk6rhrlam3s8ha0cz88lkyp89vsyn4pb5856c1h9hpq9")))) + "0ay9s137x49f0akx658p7kznz0rdapfrd8ym54q0hlgrggblhv6f")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments -- cgit v1.2.3 From 7a2c7808d0c3d7ca9abedc2961358ce6119ec77a Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:26:13 +0800 Subject: gnu: harfbuzz: Update to 1.0.5. * gnu/packages/gtk.scm (harfbuzz): Update to 1.0.5. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index fb2541acf8..0e53c51d6d 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -144,7 +144,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 +152,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 -- cgit v1.2.3 From e94578782915417ee5f4dd3b14a5a6f9e4f7c92e Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:33:43 +0800 Subject: gnu: pango: Update to 1.38.1. * gnu/packages/gtk.scm (pango): Update to 1.38.1. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 0e53c51d6d..d513286b1e 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -182,7 +182,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 +190,7 @@ affine transformation (scale, rotation, shear, etc.).") name "-" version ".tar.xz")) (sha256 (base32 - "01rdzjh68w8l5zn0648yibyarj8p6g7yfn59nw5awaz1i8dvbnqq")))) + "1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k")))) (build-system gnu-build-system) (propagated-inputs `(("cairo" ,cairo) -- cgit v1.2.3 From f14c0a49a76ccf810f59cd8938e6a8a3d98f0355 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:34:14 +0800 Subject: gnu: at-spi2-core: Update to 2.18.1. * gnu/packages/gtk.scm (at-spi2-core): Update to 2.18.1. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index d513286b1e..10b71cc999 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -381,7 +381,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 +389,7 @@ in the GNOME project.") name "-" version ".tar.xz")) (sha256 (base32 - "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw")))) + "1kq17w4fm51d49vzmglkxqdm6s0yvjvrpgw78r2hajf69jz5bmap")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments -- cgit v1.2.3 From 9fbfb4ecb041ff9e1e633be90d45e76360b7fd44 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:34:42 +0800 Subject: gnu: at-spi2-atk: Update to 2.18.1. * gnu/packages/gtk.scm (at-spi2-atk): Update to 2.18.1. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 10b71cc999..e5f2c65ed9 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -424,7 +424,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 +432,7 @@ is part of the GNOME accessibility project.") name "-" version ".tar.xz")) (sha256 (base32 - "1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq")))) + "0bf1g5cj84rmx7p1q547vwbc0hlpcs2wrxnmv96lckfkhs9mzcf4")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 9fe2e17dd1b129605603f3e1271a4ae020d0a12e Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:36:00 +0800 Subject: gnu: gtk+: Update to 3.18.2. * gnu/packages/gtk.scm (gtk+): Update to 3.18.2. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e5f2c65ed9..678d7f4d08 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -514,7 +514,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,7 +522,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "1gpzlnfrifc17yfk0zki6b2vmsfpf5cmrbh232s6iaan11np44jd")))) + "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx")))) (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) -- cgit v1.2.3 From 2079087cccb4371a9a1d32aee358e7bc81846293 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:36:39 +0800 Subject: gnu: cairomm: Update to 1.12.0. * gnu/packages/gtk.scm (cairomm): Update to 1.12.0. [source]: Change to "mirror://gnome/". --- gnu/packages/gtk.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 678d7f4d08..e602a56a48 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -731,14 +731,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. -- cgit v1.2.3 From 256da71fb154c3f15de7de21e88e639ca486231d Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:39:08 +0800 Subject: gnu: pangomm: Update to 2.38.1. * gnu/packages/gtk.scm (pangomm): Update to 2.38.1. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e602a56a48..562343dc11 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -760,7 +760,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 "/" @@ -768,7 +768,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "1w11d05nkxglzg67rfa81vqghm75xhy6j396xmmp5mq8qx96knd8")))) + "12xwjvqfxhqblcv7641k0l6r8n3qifnrx8w9571izn1nbd81iyzg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs -- cgit v1.2.3 From b172ea003f3f80116788396879f64e33fb472acb Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:39:42 +0800 Subject: gnu: atkmm: Update to 2.24.1. * gnu/packages/gtk.scm (atkmm): Update to 2.24.1. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 562343dc11..ab9966e1b2 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -786,7 +786,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 "/" @@ -794,7 +794,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz")))) + "08zd6s5c1q90wm8310mdrb5f2lj8v63wxihrybwyw13xlf6ivi16")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs -- cgit v1.2.3 From aa382d7e4673b8bdcb92f275e2c56d74d73e26d8 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Oct 2015 23:40:05 +0800 Subject: gnu: gtkmm: Update to 3.18.0. * gnu/packages/gtk.scm (gtkmm): Update to 3.18.0. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index ab9966e1b2..e7ad56ecc6 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -809,7 +809,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 "/" @@ -817,7 +817,7 @@ toolkit.") name "-" version ".tar.xz")) (sha256 (base32 - "036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv")))) + "0sxq700invkjpksn790gbnl8px8751kvgwn39663jx7dv89s37w2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs -- cgit v1.2.3 From 37fe56cff6d6de24914f724e45e522d8c6eb7a67 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 16 Oct 2015 21:07:48 +0800 Subject: gnu: at-spi2-core: Fix test failure. * gnu/packages/gtk.scm (at-spi2-core)[arguments]: Run test with 'DBUS_FATAL_WARNINGS=0'. --- gnu/packages/gtk.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e7ad56ecc6..078f0e7c84 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -402,6 +402,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. -- cgit v1.2.3 From e75230c1b7a34232ed3fb532d2696349fde507a3 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 16 Oct 2015 21:13:02 +0800 Subject: gnu: eudev: Update to 3.1.5. * gnu/packages/linux.scm (eudev): Update to 3.1.5. * gnu/packages/patches/eudev-rules-directory.patch: Adapt to it. --- gnu/packages/linux.scm | 52 +++--------------------- gnu/packages/patches/eudev-rules-directory.patch | 18 ++++---- 2 files changed, 15 insertions(+), 55 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4ee42349f8..474e914c13 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1568,7 +1568,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 @@ -1576,55 +1576,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 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 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"); -- cgit v1.2.3 From 3ad29c9ef53d13f707290b4808d7862217756380 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 16 Oct 2015 22:19:20 +0800 Subject: gnu: gtkmm-2: Fix build by passing '-std=c++11'. * gnu/packages/gtk.scm (gtkmm-2)[arguments]: Pass '-std=c++11' as CPPFLAGS. --- gnu/packages/gtk.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 078f0e7c84..cee8bd6b44 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -852,6 +852,8 @@ extensive documentation, including API reference and a tutorial.") (sha256 (base32 "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4")))) + (arguments + '(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++ (propagated-inputs `(("pangomm" ,pangomm) ("cairomm" ,cairomm) -- cgit v1.2.3 From f43c0e9c44911b1f4b0787fd8da723b32daba43c Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 16 Oct 2015 23:04:33 +0800 Subject: gnu: librsvg: Update to 2.40.11. * gnu/packages/gnome.scm (librsvg): Update to 2.40.11. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5440433402..fb7fa793ec 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -821,7 +821,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 +829,7 @@ dealing with different structured file formats.") name "-" version ".tar.xz")) (sha256 (base32 - "0y9lvnb9ij9mjg8cyp7xysi0c5ms5v4q1zrhx42b546f71s80p4n")))) + "00ifd9wjjjsw0ybk5j6qs4yyh66jj34hjmggy6dhrgfy8ksw06k1")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 5f37e56ba41edb1bd47b7b1663aea07078f943d2 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 10:30:25 +0800 Subject: gnu: librsvg: Fix tests. GLib doesn't allow duplicate test case paths any more. * gnu/packages/patches/librsvg-tests.patch: New file. * gnu/packages/gnome.scm (librsvg)[source]: Add patch. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/gnome.scm | 4 +++- gnu/packages/patches/librsvg-tests.patch | 27 +++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/librsvg-tests.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index ee3c686bb3..36c94d602b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -527,6 +527,7 @@ dist_patch_DATA = \ gnu/packages/patches/libmad-armv7-thumb-pt2.patch \ gnu/packages/patches/libmad-frame-length.patch \ gnu/packages/patches/libmad-mips-newgcc.patch \ + gnu/packages/patches/librsvg-tests.patch \ gnu/packages/patches/libtheora-config-guess.patch \ gnu/packages/patches/libtool-skip-tests2.patch \ gnu/packages/patches/libssh-CVE-2014-0017.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fb7fa793ec..5811299d35 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -829,7 +829,9 @@ dealing with different structured file formats.") name "-" version ".tar.xz")) (sha256 (base32 - "00ifd9wjjjsw0ybk5j6qs4yyh66jj34hjmggy6dhrgfy8ksw06k1")))) + "00ifd9wjjjsw0ybk5j6qs4yyh66jj34hjmggy6dhrgfy8ksw06k1")) + (patches + (list (search-patch "librsvg-tests.patch"))))) (build-system gnu-build-system) (arguments `(#:phases 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?= +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 + -- cgit v1.2.3 From f4925a4fb89c745fadbe9867ac5e017215d97acf Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 10:48:52 +0800 Subject: gnu: vala: Update to 0.30.0. * gnu/packages/gnome.scm (vala): Update to 0.30.0. [arguments]: Run tests with "DBUS_FATAL_WARNINGS=0'. --- gnu/packages/gnome.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5811299d35..dc41e9eb94 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1627,7 +1627,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 "/" @@ -1635,14 +1635,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) -- cgit v1.2.3 From 3e429a86a999897ed2bbc07a5c6fc295fe06e8c8 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 10:50:46 +0800 Subject: gnu: gsettings-desktop-schemas: Update to 3.18.0. * gnu/packages/gnome.scm (gsettings-desktop-schemas): Update to 3.18.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index dc41e9eb94..74c45ec6ea 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -446,7 +446,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 +455,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))) -- cgit v1.2.3 From aa8789c012a408aadfc36ce6e68c0f0ec26c2e21 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 10:51:20 +0800 Subject: gnu: glib-networking: Update to 2.46.1. * gnu/packages/gnome.scm (glib-networking): Update to 2.46.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 74c45ec6ea..841682062b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1875,7 +1875,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/" @@ -1883,7 +1883,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) -- cgit v1.2.3 From fd730590b6a61021196256f60024aedb4c8dcf68 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 11:06:20 +0800 Subject: gnu: libsoup: Update to 2.52.1, enable vala bindings. * gnu/packages/gnome.scm (vala): Update to 2.52.1. [native-inputs]: Add vala. [arguments]: Pass vapidir=$out/share/vala/vapi in the 'install' phase. --- gnu/packages/gnome.scm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 841682062b..a5cb7312d3 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1957,7 +1957,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/" @@ -1965,18 +1965,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 @@ -1994,13 +1990,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) -- cgit v1.2.3 From 6410d25700e3659b15d70d2bce5d54c59085c73b Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 11:27:19 +0800 Subject: gnu: libva: Update to 1.6.1. * gnu/packages/video.scm (libva): Update to 1.6.1. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 45c10998f5..26483f707b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -320,7 +320,7 @@ SMPTE 314M.") (define-public libva (package (name "libva") - (version "1.5.1") + (version "1.6.1") (source (origin (method url-fetch) @@ -328,7 +328,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))) -- cgit v1.2.3 From 381d3400b1c8d15e7cf9cc3b845597f394494c2d Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 11:39:03 +0800 Subject: gnu: libpciaccess: Update to 0.13.4. * gnu/packages/xorg.scm (libpciaccess): Update to 0.13.4. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index efef1eadc2..f90c75ae10 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1111,7 +1111,7 @@ themselves.") (define-public libpciaccess (package (name "libpciaccess") - (version "0.13.2") + (version "0.13.4") (source (origin (method url-fetch) @@ -1121,7 +1121,7 @@ themselves.") ".tar.bz2")) (sha256 (base32 - "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb")))) + "1krgryi9ngjr66242v0v5mczihgv0y7rrvx0563arr318mjn9y07")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) -- cgit v1.2.3 From 3b54548f033554c765f73d4a37fcfd8b821921b2 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 11:39:56 +0800 Subject: gnu: libdrm: Update to 2.4.65. * gnu/packages/xdisorg.scm (libdrm): Update to 2.4.65. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index fbe8af33d0..7a0b50bdab 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -197,7 +197,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.58") + (version "2.4.65") (source (origin (method url-fetch) @@ -207,7 +207,7 @@ rasterisation.") ".tar.bz2")) (sha256 (base32 - "1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi")))) + "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki")))) (build-system gnu-build-system) (inputs `(("libpciaccess" ,libpciaccess) -- cgit v1.2.3 From d18c3c646c9a72f843332ee5bd0abfad9cbf6998 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 13:24:47 +0800 Subject: gnu: mesa: Update to 11.0.3. * gnu/packages/gl.scm (mesa): Update to 11.0.3. --- gnu/packages/gl.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index e8003f88a3..25d65a0fd2 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -185,7 +185,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 +193,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,9 +257,6 @@ 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"))) -- cgit v1.2.3 From ecd9c37f1f720f344975337410ec3c77a1cf4a55 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 14:47:28 +0800 Subject: gnu: cmake: Update to 3.3.2. * gnu/packages/cmake.scm (cmake): Update to 3.3.2. --- gnu/packages/cmake.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 128f0370dd..9b8ebde761 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -36,7 +36,7 @@ (define-public cmake (package (name "cmake") - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ (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 -- cgit v1.2.3 From 8ce36e81c216dd0484d27f4e2044f40fdb8b0c0b Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 14:48:02 +0800 Subject: gnu: freeglut: Update to 3.0.0. * gnu/packages/gl.scm (freeglut): Update to 3.0.0. --- gnu/packages/gl.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 25d65a0fd2..eee3d245ab 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) @@ -74,14 +75,15 @@ 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) + (base32 "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ; no test target (inputs `(("mesa" ,mesa) ("libx11" ,libx11) ("libxi" ,libxi) -- cgit v1.2.3 From 9b0bbb47672bb9e36cc4dda3ffd47958823ed5b0 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 15:31:20 +0800 Subject: gnu: graphite2: Update to 1.3.3. * gnu/packages/fontutils.scm (graphite2): Update to 1.3.3. --- gnu/packages/fontutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From 5fba12ecd3146e17d826167b6b9ffdfcbe2a49c9 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 17 Oct 2015 17:52:54 +0800 Subject: gnu: at-spi2-atk: Fix test. * gnu/packages/gtk.scm (at-spi2-atk)[arguments]: Run test with 'DBUS_FATAL_WARNINGS=0'. --- gnu/packages/gtk.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index cee8bd6b44..4d66dd532c 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -442,6 +442,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 -- cgit v1.2.3 From 406766c0d0f9ab45efb45baf0b542ebb7788ccd4 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 18 Oct 2015 08:41:44 +0800 Subject: gnu: xfconf: Fix test. * gnu/packages/xfce.scm (xfconf)[arguments]: Run test with 'DBUS_FATAL_WARNINGS=0'. --- gnu/packages/xfce.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index e42c58050d..ae10929bf2 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -111,6 +111,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 -- cgit v1.2.3 From 6717c87964a7b210c34c122ce9dcef54ad7119cf Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 18 Oct 2015 08:43:40 +0800 Subject: gnu: python-dbus: Fix test. * gnu/packages/python.scm (python-dbus)[arguments]: Run test with 'DBUS_FATAL_WARNINGS=0'. --- gnu/packages/python.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c972b62500..9db578ed96 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4211,6 +4211,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 -- cgit v1.2.3 From 7765bfc61f60e2aa3cbbb37b02bb66231667760a Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 18 Oct 2015 09:30:21 +0800 Subject: gnu: elogind: Fix build by explicitly link with librt. * gnu/packages/freedesktop.scm (elogind)[arguments]: Pass 'LDFLAGS=-lrt' to configure. --- gnu/packages/freedesktop.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index c085fe5770..b3503e694c 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -156,7 +156,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) -- cgit v1.2.3 From 4955ab7d651b24915b99de96587d516401c8db5e Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 18 Oct 2015 13:30:18 +0800 Subject: gnu: json-glib: Update to 1.0.4, fix test. * gnu/packages/gnome.scm (json-glib): Update to 1.0.4. [source]: Add snippet. --- gnu/packages/gnome.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a5cb7312d3..9a82762372 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1775,7 +1775,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 "/" @@ -1783,7 +1783,14 @@ configuration storage systems.") name "-" version ".tar.xz")) (sha256 (base32 - "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8")))) + "1k85vvb2prmk8aa8hmr2rp9rnbhffjgnmr18b13g24xxnqy5kww0")) + (modules '((guix build utils))) + (snippet + ;; Don't duplicate test names. + ;; . + '(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 -- cgit v1.2.3 From 80c7dd1a4ed97dc9d36616fd6441bbb7c79f53ea Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 18 Oct 2015 13:46:22 +0800 Subject: gnu: colord: Add input libgudev. * gnu/packages/gnome.scm (colord)[inputs]: Add libgudev. --- gnu/packages/gnome.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9a82762372..34608786e4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2226,6 +2226,7 @@ keyboard shortcuts.") ("lcms" ,lcms))) (inputs `(("dbus-glib" ,dbus-glib) + ("libgudev" ,libgudev) ("libusb" ,libusb) ("sqlite" ,sqlite) ("polkit" ,polkit) -- cgit v1.2.3 From a572dca8482d79366d31f6ea025496df486f6500 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 18 Oct 2015 15:02:41 +0800 Subject: gnu: gtk+: Add more inputs. * gnu/packages/gtk.scm (gtk+)[propagated-inputs]: Add libxcursor. [inputs]: Add rest, json-glib and colord. --- gnu/packages/gtk.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4d66dd532c..1ab816d717 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -531,6 +531,7 @@ application suites.") ("atk" ,atk) ("gdk-pixbuf" ,gdk-pixbuf) ("libepoxy" ,libepoxy) + ("libxcursor" ,libxcursor) ("libxi" ,libxi) ("libxinerama" ,libxinerama) ("libxdamage" ,libxdamage) @@ -538,7 +539,10 @@ application suites.") (inputs `(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg ("libxml2" ,libxml2) - ("cups" ,cups))) ;for printing support + ("colord" ,colord) + ("cups" ,cups) ;for printing support + ("rest" ,rest) + ("json-glib" ,json-glib))) (native-inputs `(("perl" ,perl) ("glib" ,glib "bin") -- cgit v1.2.3 From b2aab72c14a7992df1910cfed8cf36b789dff203 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 18 Oct 2015 23:51:53 -0400 Subject: gnu: libdrm: Fix symbol check tests on mips64el and armhf. * gnu/packages/patches/libdrm-symbol-check.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/xdisorg.scm (libdrm)[source]: Add patch. --- gnu-system.am | 1 + gnu/packages/patches/libdrm-symbol-check.patch | 195 +++++++++++++++++++++++++ gnu/packages/xdisorg.scm | 3 +- 3 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libdrm-symbol-check.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 6eb41304a7..859b123c2c 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -519,6 +519,7 @@ dist_patch_DATA = \ gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \ gnu/packages/patches/libbonobo-activation-test-race.patch \ gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch \ + gnu/packages/patches/libdrm-symbol-check.patch \ gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/libmtp-devices.patch \ gnu/packages/patches/liboop-mips64-deplibs-fix.patch \ 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/xdisorg.scm b/gnu/packages/xdisorg.scm index 42a0454a35..21e403e9ab 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -209,7 +209,8 @@ rasterisation.") ".tar.bz2")) (sha256 (base32 - "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki")))) + "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki")) + (patches (list (search-patch "libdrm-symbol-check.patch"))))) (build-system gnu-build-system) (inputs `(("libpciaccess" ,libpciaccess) -- cgit v1.2.3 From 64643b90ab490eef34226c2f01de9f782de7333f Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 18 Oct 2015 14:18:52 +0800 Subject: services: dbus: Build '/etc/dbus-1/system-local.conf'. * gnu/services/dbus.scm (dbus-etc-files): New procedure. (dbus-dmd-service): Remove the use of '--config-file'. (dbus-configuration-directory): Adjust accordingly. (dbus-root-service-type): Add extension of ETC-SERVICE-TYPE. --- gnu/services/dbus.scm | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'gnu') diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index e4ecd961c5..1fa910af56 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 +;;; Copyright © 2015 Sou Bunnbu ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,9 +42,9 @@ (services dbus-configuration-services ;list of (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 (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 @@ -65,13 +66,6 @@ services))) (mkdir #$output) - (copy-file (string-append #$dbus "/etc/dbus-1/system.conf") - (string-append #$output "/system.conf")) - - ;; The default 'system.conf' has an clause for - ;; 'system.d', so create it. - (mkdir (string-append #$output "/system.d")) - ;; 'system-local.conf' is automatically included by the default ;; 'system.conf', so this is where we stuff our own things. (call-with-output-file (string-append #$output "/system-local.conf") @@ -81,6 +75,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)) @@ -118,20 +118,15 @@ (execl prog))) (waitpid pid))))))) -(define dbus-dmd-service - (match-lambda - (($ 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)))))))) +(define (dbus-dmd-service config) + (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,6 +135,8 @@ 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)))) -- cgit v1.2.3 From 1cb16f1ea3a182339b4d4cbf28107a2cba29ac55 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 19 Oct 2015 21:39:46 +0800 Subject: gnu: gtk+: Remove colord from inputs. This broke building on non-intel systems. * gnu/packages/gtk.scm (gtk+)[inputs]: Remove colord. --- gnu/packages/gtk.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 1ab816d717..c6a61b7f44 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -539,7 +539,9 @@ application suites.") (inputs `(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg ("libxml2" ,libxml2) - ("colord" ,colord) + ;; XXX: colord depends on mozjs (through polkit), which fails on + ;; on non-intel systems now. + ;;("colord" ,colord) ("cups" ,cups) ;for printing support ("rest" ,rest) ("json-glib" ,json-glib))) -- cgit v1.2.3 From 20848f3637af2bb97db03e9cd2e01d11494c6f02 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 19 Oct 2015 22:21:21 +0800 Subject: gnu: mesa: Patch the dlopen call for 'libudev.so'. Fixes a regression introduced in d18c3c6. * gnu/packages/gl.scm (mesa)[arguments]: Update the 'substitute*' call for 'libudev.so'. --- gnu/packages/gl.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index eee3d245ab..ec6a7f1684 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -260,8 +260,9 @@ also known as DXTn or DXTC) for Mesa.") (("\"libtxc_dxtn\\.so") (string-append "\"" s2tc "/lib/libtxc_dxtn.so"))) (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"))) -- cgit v1.2.3 From e38a71eea9abaa4e03ef1d7081104f93d26e31b3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 19 Oct 2015 17:55:18 +0200 Subject: gnu: qemu: Adjust to newer GLib versions. * gnu/packages/qemu.scm (qemu-patch): New procedure. (%glib-memory-vtable-patch, %glib-duplicate-test-patch): New variables. --- gnu/packages/qemu.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index fc90346371..71600b2347 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -40,6 +40,28 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages perl)) +(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-headless ;; This is QEMU without GUI support. (package @@ -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 -- cgit v1.2.3 From 8cab7580f55fbd0951ac47be168b9ab5a003c93b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 18 Oct 2015 12:20:02 +0200 Subject: gnu: curl: Update to 7.45.0. * gnu/packages/curl.scm (curl): Update to 7.45.0. --- gnu/packages/curl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index f7c9f083b7..3e435f4b13 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 +;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2015 Ludovic Courtès @@ -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 -- cgit v1.2.3 From 938ecdfcaba2068bca1de2db27094bfefaf207d4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 20 Oct 2015 20:36:16 +0300 Subject: gnu: giflib: Update to 5.1.1. * gnu/packages/image.scm (giflib): Update to 5.1.1. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 58338af5c6..5a86beea3f 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -337,14 +337,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 -- cgit v1.2.3 From 5e3bfe9d018f42324c19a5486e91d922cde40db6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 20 Oct 2015 22:37:26 +0200 Subject: gnu: inkscape: Fix build with newer GLibmm. * gnu/packages/inkscape.scm (inkscape)[arguments]: Add #:configure-flags. --- gnu/packages/inkscape.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu') 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" -- cgit v1.2.3 From c3c239e615371c2edd9c34589ea91bdfb8ff94d8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 13:05:30 +0200 Subject: gnu: Add opusfile. * gnu/packages/xiph.scm (opusfile): New variable. --- gnu/packages/xiph.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index c4db640d0f..31251ca3a5 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2013 David Thompson ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ libkate vorbis-tools opus + opusfile opus-tools)) (define libogg @@ -341,6 +343,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") -- cgit v1.2.3 From fab7428881f76f8f3d6bed6475970f45d454d9b0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 13:12:51 +0200 Subject: gnu: Add libcue. * gnu/packages/cdrom.scm (libcue): New variable. --- gnu/packages/cdrom.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 62a6040280..884ba8bfa6 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -231,6 +232,25 @@ depend on the file system of the medium. The maximum error correction capacity is user-selectable.") (license gpl2+))) +(define-public libcue + (package + (name "libcue") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/libcue/libcue-" + version ".tar.bz2")) + (sha256 + (base32 + "17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb")))) + (build-system gnu-build-system) + (home-page "http://libcue.sourceforge.net/") + (synopsis "C library to parse cue sheets") + (description "Libcue is a C library to parse so-called @dfn{cue sheets} +which contain meta-data for CD/DVD tracks. It provides an API to manipulate +the data.") + (license gpl2+))) + (define-public cd-discid (package (name "cd-discid") -- cgit v1.2.3 From 845b4f5b7b57ce947f13745c2556e141b434f6a6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 21 Oct 2015 21:48:52 +0200 Subject: Revert "gnu: Add opusfile." This reverts commit c3c239e615371c2edd9c34589ea91bdfb8ff94d8. --- gnu/packages/xiph.scm | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 31251ca3a5..c4db640d0f 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -4,7 +4,6 @@ ;;; Copyright © 2013 David Thompson ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver -;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +46,6 @@ libkate vorbis-tools opus - opusfile opus-tools)) (define libogg @@ -343,34 +341,6 @@ 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") -- cgit v1.2.3 From a7aa4e2a64f53eff0c1d97a27e88e93fb83aedf0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 21 Oct 2015 21:56:38 +0200 Subject: gnu: Add opusfile. * gnu/packages/xiph.scm (opusfile): New variable. --- gnu/packages/xiph.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index c4db640d0f..705ebe1d73 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2013 David Thompson ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ libkate vorbis-tools opus + opusfile opus-tools)) (define libogg @@ -341,6 +343,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") -- cgit v1.2.3 From e8069d012f63979867a15b56b5490d56ef345d6c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 13:18:09 +0200 Subject: gnu: Add cmus. * gnu/packages/music.scm (cmus): New variable. --- gnu/packages/music.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a72f7543dd..7970d17978 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 +;;; Copyright © 2015 Paul van der Walt ;;; ;;; 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,66 @@ #: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")) + (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 + (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") -- cgit v1.2.3 From e11b27520412ea046834eb425f32f7592f7fe094 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 15:24:45 +0200 Subject: gnu: Add dosbox x86 emulator. * gnu/packages/games.scm (dosbox): New variable. --- gnu/packages/games.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 3023794218..6552729087 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2015 Christopher Allan Webber ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Alex Kost +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,7 +35,9 @@ #: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 autotools) #:use-module (gnu packages base) #:use-module (gnu packages admin) #:use-module (gnu packages audio) @@ -1048,6 +1051,47 @@ 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))) + ;; Use SVN head, since the last release (2010) is incompatible + ;; with GCC 4.8+ (see + ;; ). + (sha256 + (base32 + "1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before + 'configure '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") -- cgit v1.2.3 From 4a663ca4e8b5ded9a3d92870fba8f2ebde22d75a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 21 Oct 2015 23:37:02 +0200 Subject: services: dbus: Honor the config's dbus package. * gnu/services/dbus.scm (dbus-dmd-service): Rewrite using 'match-lambda' so that the config's dbus package is used. Fixes a regression introduced in 64643b9. --- gnu/services/dbus.scm | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index 1fa910af56..1d504a8309 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -118,15 +118,17 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (execl prog))) (waitpid pid))))))) -(define (dbus-dmd-service config) - (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-dmd-service + (match-lambda + (($ 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) -- cgit v1.2.3 From da51f5bb010d8bfbdeaa63db5a54788da4adf9a2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Oct 2015 00:25:03 +0200 Subject: gnu: dbus: Add variant with proper helper for service activation. * gnu/packages/patches/dbus-helper-search-path.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/glib.scm (dbus/activation): New variable. --- gnu-system.am | 1 + gnu/packages/glib.scm | 12 ++++++++++++ gnu/packages/patches/dbus-helper-search-path.patch | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 gnu/packages/patches/dbus-helper-search-path.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 859b123c2c..3daec42e28 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -427,6 +427,7 @@ dist_patch_DATA = \ gnu/packages/patches/cssc-missing-include.patch \ gnu/packages/patches/clucene-contribs-lib.patch \ gnu/packages/patches/cursynth-wave-rand.patch \ + gnu/packages/patches/dbus-helper-search-path.patch \ gnu/packages/patches/dealii-p4est-interface.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \ gnu/packages/patches/dfu-programmer-fix-libusb.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 6ef64e4b73..e4bf6ad0fc 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -59,6 +59,7 @@ (name "dbus") (version "1.10.0") (source (origin + ;; TODO: Apply patch from DBUS/ACTIVATION below. (method url-fetch) (uri (string-append "http://dbus.freedesktop.org/releases/dbus/dbus-" @@ -123,6 +124,17 @@ 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") 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); -- cgit v1.2.3 From e0a7d364589578a9b75943f827b05e74e7b63dea Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 21 Oct 2015 18:37:53 -0400 Subject: gnu: dosbox: Put the 'autogen.sh' phase after 'unpack'. * gnu/packages/games.scm (dosbox)[arguments]: Put the 'autogen.sh' phase after 'unpack', instead of before 'configure'. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 6552729087..9d2058af43 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2014 Sylvain Beucler ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Sou Bunnbu -;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015 Christopher Allan Webber @@ -1069,8 +1069,8 @@ next campaign.") (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-before - 'configure 'autogen.sh + (add-after + 'unpack 'autogen.sh (lambda _ (zero? (system* "sh" "autogen.sh"))))))) (native-inputs -- cgit v1.2.3 From cde0402169cd93497084664c8d8d399808a1ea82 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Oct 2015 00:35:10 +0200 Subject: services: dbus: Support service activation. * gnu/services/dbus.scm (system-service-directory): New procedure. (dbus-configuration-directory)[services->sxml]: Add /etc/dbus-1/system-services tag, and remove the per-service "/share/dbus-1/system-services" tag. Symlink OUTPUT/system-services. (dbus-setuid-programs): New procedure. (dbus-root-service-type): Extend SETUID-PROGRAM-SERVICE-TYPE. (dbus-service): Default to DBUS/ACTIVATION. --- gnu/services/dbus.scm | 66 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index 1d504a8309..9b0d198683 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -21,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) @@ -38,10 +38,35 @@ dbus-configuration make-dbus-configuration dbus-configuration? (dbus dbus-configuration-dbus ; - (default dbus)) + (default dbus/activation)) (services dbus-configuration-services ;list of (default '()))) +(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 @@ -54,18 +79,28 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (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 + ;; . + (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) + + ;; 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. (call-with-output-file (string-append #$output "/system-local.conf") @@ -92,6 +127,12 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (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 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 @@ -140,13 +181,12 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (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 @@ -158,7 +198,7 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (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}. -- cgit v1.2.3 From 26909789d06b1e006ff45980aac59d3faa31436e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Oct 2015 00:42:33 +0200 Subject: services: Rely on D-Bus activation for colord, geoclue, and polkit. * gnu/services/desktop.scm (colord-dmd-service): Remove. (colord-service-type): Adjust accordingly. (geoclue-dmd-service): Remove. (geoclue-service-type): Adjust accordingly. (polkit-dmd-service): Remove. (polkit-service-type): Adjust accordingly. --- gnu/services/desktop.scm | 50 +++--------------------------------------------- 1 file changed, 3 insertions(+), 47 deletions(-) (limited to 'gnu') diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 69edc6d9bb..87d3eaa1b0 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -245,17 +245,6 @@ levels, with the given configuration settings. It implements the (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 @@ -263,8 +252,6 @@ levels, with the given configuration settings. It implements the (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. @@ -343,23 +330,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 +345,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)))))) @@ -426,18 +394,6 @@ site} for more information." (define %polkit-pam-services (list (unix-pam-service "polkitd"))) -(define (polkit-dmd-service polkit) - "Return the 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)) - - (start #~(make-forkexec-constructor - (list (string-append #$polkit "/lib/polkit-1/polkitd")))) - (stop #~(make-kill-destructor))))) - (define polkit-service-type ;; TODO: Make it extensible so it can collect policy files from other ;; services. @@ -448,9 +404,7 @@ 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))))) + list))))) (define* (polkit-service #:key (polkit polkit)) "Return a service that runs the @command{polkit} privilege management @@ -601,6 +555,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 -- cgit v1.2.3 From 1e656049b01bdeb2370229641ef8e0def92b4f89 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Oct 2015 14:56:15 +0200 Subject: gnu: Add python-numexpr. * gnu/packages/python.scm (python-numexpr, python2-numexpr): New variables. --- gnu/packages/python.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c972b62500..9721343235 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3060,6 +3060,43 @@ 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") -- cgit v1.2.3 From fe4c37c244c0fb786c135e2da62306dc90df5638 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 16 Oct 2015 17:41:07 +0200 Subject: gnu: Add MOSAIK. * gnu/packages/bioinformatics.scm (mosaik): New variable. --- gnu/packages/bioinformatics.scm | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 51e3df6d81..48edd56854 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2149,6 +2149,52 @@ viewer.") (string-append bin "/samtools"))))) (delete 'patch-tests))))))) +(define-public mosaik + (let ((commit "5c25216d")) + (package + (name "mosaik") + (version "2.2.30") + (source (origin + ;; There are no release tarballs nor tags. + (method git-fetch) + (uri (git-reference + (url "https://github.com/wanpinglee/MOSAIK.git") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "17gj3s07cm77r41z92awh0bim7w7q7fbn0sf5nkqmcm1vw052qgw")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ (chdir "src") #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") + "/bin"))) + (mkdir-p bin) + (copy-recursively "../bin" bin) + #t)))))) + (inputs + `(("perl" ,perl) + ("zlib" ,zlib))) + (home-page "https://code.google.com/p/mosaik-aligner/") + (synopsis "Map nucleotide sequence reads to reference genomes") + (description + "MOSAIK is a program for mapping second and third-generation sequencing +reads to a reference genome. MOSAIK can align reads generated by all the +major sequencing technologies, including Illumina, Applied Biosystems SOLiD, +Roche 454, Ion Torrent and Pacific BioSciences SMRT.") + ;; MOSAIK is released under the GPLv2+ with the exception of third-party + ;; code released into the public domain: + ;; 1. fastlz by Ariya Hidayat - http://www.fastlz.org/ + ;; 2. MD5 implementation - RSA Data Security, RFC 1321 + (license (list license:gpl2+ license:public-domain))))) + (define-public ngs-sdk (package (name "ngs-sdk") -- cgit v1.2.3 From 1a6566724004af32c2016092d9bc6dfc2c28a933 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 21 Oct 2015 16:29:54 -0500 Subject: gnu: conkeror: Upgrade to 1.0pre1.20150730. * gnu/packages/conkeror.scm (conkeror): Upgrade to 1.0pre1.20150730. [arguments]: Adjust #:make-flags and #:phases for new Makefile, and use modify-phases. --- gnu/packages/conkeror.scm | 54 ++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm index 51bb1a260a..d91fe9e78b 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 -;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014, 2015 Eric Bavier ;;; ;;; 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. -- cgit v1.2.3 From 566fc7fa139218d216671135e03f3339dc76e610 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 11:21:51 +0200 Subject: gnu: cmus: Add file-name property. * gnu/packages/music.scm (cmus): Add file-name, since the downloaded tar.gz only contains version number. --- gnu/packages/music.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 7970d17978..c693f0faf0 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -87,6 +87,7 @@ (uri (string-append "https://github.com/" name "/" name "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1")))) -- cgit v1.2.3 From ff9a5f7e97622058940260c89b75122daa64d4f5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 11:22:36 +0200 Subject: gnu: dosbox: Add file-name property. * gnu/packages/games.scm (dosbox): Add file-name property, since the package is built from an SVN checkout. --- gnu/packages/games.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9d2058af43..9c44bbe3e0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1060,6 +1060,7 @@ next campaign.") (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 ;; ). -- cgit v1.2.3 From 5d47eab0242d6f89a6837123141acdae68745328 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Oct 2015 13:12:07 +0300 Subject: gnu: Add pbzip2. * gnu/packages/compression.scm (pbzip2): New variable. --- gnu/packages/compression.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 941844b870..0bb3919cee 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2015 Jeff Mickey +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -225,6 +226,38 @@ 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/1.1/" 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 + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr") (assoc-ref outputs "out"))) + #t))))) + (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 (ie: 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") -- cgit v1.2.3 From 9bc08aa0cb65ef0689f06fed7b0859f9fe542ae1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 12 Oct 2015 17:41:58 +0200 Subject: gnu: Add python-patsy. * gnu/packages/statistics.scm (python-patsy, python2-patsy): New variables. --- gnu/packages/statistics.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f854a44d96..14920944c5 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,14 @@ #: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 texlive) #:use-module (gnu packages texinfo) #:use-module (gnu packages base) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages zip) + #:use-module (srfi srfi-1)) (define-public r (package @@ -933,3 +937,55 @@ times.") 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:gpl2+))) + +(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)))))))) -- cgit v1.2.3 From 37fdba7e0ba3d3bd8b3e58f55fa982aec05dc163 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Oct 2015 13:28:58 +0200 Subject: gnu: Add python-statsmodels. * gnu/packages/statistics.scm (python-statsmodels, python2-statsmodels): New variables. --- gnu/packages/statistics.scm | 64 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 14920944c5..0c0464c2b9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -989,3 +989,67 @@ building design matrices.") ,@(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)))))) -- cgit v1.2.3 From dddb11b506ee9c7feca26be852d9995faf587099 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 22 Oct 2015 14:30:01 -0400 Subject: gnu: ntp: Update to 4.2.8p4. * gnu/packages/ntp.scm (ntp): Update to 4.2.8p4. --- gnu/packages/ntp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From c46c931ecfe7fd4a5cbd979263d28d3f1e02bcca Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 22 Oct 2015 14:54:43 -0400 Subject: gnu: unzip: Reorganize security fixes for improved clarity. * gnu/packages/patches/unzip-fix-overflows-and-infloop.patch: Delete file. Its contents are now split into the following new files: * gnu/packages/patches/unzip-CVE-2015-7696.patch, gnu/packages/patches/unzip-CVE-2015-7697.patch, gnu/packages/patches/unzip-overflow-on-invalid-input.patch: New files. * gnu-system.am (dist_patch_DATA): Adjust accordingly. * gnu/packages/zip.scm (unzip)[source]: Adjust patches accordingly. --- gnu-system.am | 4 +- gnu/packages/patches/unzip-CVE-2015-7696.patch | 35 +++++++ gnu/packages/patches/unzip-CVE-2015-7697.patch | 28 ++++++ .../patches/unzip-fix-overflows-and-infloop.patch | 108 --------------------- .../patches/unzip-overflow-on-invalid-input.patch | 40 ++++++++ gnu/packages/zip.scm | 4 +- 6 files changed, 109 insertions(+), 110 deletions(-) create mode 100644 gnu/packages/patches/unzip-CVE-2015-7696.patch create mode 100644 gnu/packages/patches/unzip-CVE-2015-7697.patch delete mode 100644 gnu/packages/patches/unzip-fix-overflows-and-infloop.patch create mode 100644 gnu/packages/patches/unzip-overflow-on-invalid-input.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index e62fe18c97..c4810661a2 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -647,9 +647,11 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-CVE-2014-8140.patch \ gnu/packages/patches/unzip-CVE-2014-8141.patch \ gnu/packages/patches/unzip-CVE-2014-9636.patch \ + gnu/packages/patches/unzip-CVE-2015-7696.patch \ + gnu/packages/patches/unzip-CVE-2015-7697.patch \ gnu/packages/patches/unzip-allow-greater-hostver-values.patch \ gnu/packages/patches/unzip-attribs-overflow.patch \ - gnu/packages/patches/unzip-fix-overflows-and-infloop.patch \ + gnu/packages/patches/unzip-overflow-on-invalid-input.patch \ gnu/packages/patches/unzip-format-secure.patch \ gnu/packages/patches/unzip-initialize-symlink-flag.patch \ gnu/packages/patches/unzip-overflow-long-fsize.patch \ diff --git a/gnu/packages/patches/unzip-CVE-2015-7696.patch b/gnu/packages/patches/unzip-CVE-2015-7696.patch new file mode 100644 index 0000000000..d6a4072673 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7696.patch @@ -0,0 +1,35 @@ +Copied from Debian. + +From: Petr Stodulka +Date: Mon, 14 Sep 2015 18:23:17 +0200 +Subject: Upstream fix for heap overflow +Bug-Debian: https://bugs.debian.org/802162 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: https://bugzilla.redhat.com/attachment.cgi?id=1073002 +Forwarded: yes + +--- + crypt.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +--- a/crypt.c ++++ b/crypt.c +@@ -465,7 +465,17 @@ + GLOBAL(pInfo->encrypted) = FALSE; + defer_leftover_input(__G); + for (n = 0; n < RAND_HEAD_LEN; n++) { +- b = NEXTBYTE; ++ /* 2012-11-23 SMS. (OUSPG report.) ++ * Quit early if compressed size < HEAD_LEN. The resulting ++ * error message ("unable to get password") could be improved, ++ * but it's better than trying to read nonexistent data, and ++ * then continuing with a negative G.csize. (See ++ * fileio.c:readbyte()). ++ */ ++ if ((b = NEXTBYTE) == (ush)EOF) ++ { ++ return PK_ERR; ++ } + h[n] = (uch)b; + Trace((stdout, " (%02x)", h[n])); + } diff --git a/gnu/packages/patches/unzip-CVE-2015-7697.patch b/gnu/packages/patches/unzip-CVE-2015-7697.patch new file mode 100644 index 0000000000..d688b42495 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7697.patch @@ -0,0 +1,28 @@ +Copied from Debian. + +From: Kamil Dudka +Date: Mon, 14 Sep 2015 18:24:56 +0200 +Subject: fix infinite loop when extracting empty bzip2 data +Bug-Debian: https://bugs.debian.org/802160 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: other, https://bugzilla.redhat.com/attachment.cgi?id=1073339 + +--- + extract.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/extract.c ++++ b/extract.c +@@ -2728,6 +2728,12 @@ + int repeated_buf_err; + bz_stream bstrm; + ++ if (G.incnt <= 0 && G.csize <= 0L) { ++ /* avoid an infinite loop */ ++ Trace((stderr, "UZbunzip2() got empty input\n")); ++ return 2; ++ } ++ + #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) + if (G.redirect_slide) + wsize = G.redirect_size, redirSlide = G.redirect_buffer; diff --git a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch deleted file mode 100644 index 33498db95e..0000000000 --- a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch +++ /dev/null @@ -1,108 +0,0 @@ -Copied from Fedora. - -http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e - -From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 -From: Petr Stodulka -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: [PATCH 1/3] upstream fix for heap overflow - -https://bugzilla.redhat.com/attachment.cgi?id=1073002 ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/crypt.c b/crypt.c -index 784e411..a8975f2 100644 ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } --- -2.4.6 - - -From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data - -Bug: https://sourceforge.net/p/infozip/patches/23/ ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/extract.c b/extract.c -index 7134bfe..29db027 100644 ---- a/extract.c -+++ b/extract.c -@@ -2733,6 +2733,12 @@ __GDEF - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; --- -2.4.6 - - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - diff --git a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch new file mode 100644 index 0000000000..013002a88c --- /dev/null +++ b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch @@ -0,0 +1,40 @@ +Extracted from a patch in Fedora. + +http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e + +From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Tue, 22 Sep 2015 18:52:23 +0200 +Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input + +Suggested-by: Stefan Cornelius +--- + extract.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/extract.c b/extract.c +index 29db027..b9ae667 100644 +--- a/extract.c ++++ b/extract.c +@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, + if (G.lrec.compression_method == STORED) { + zusz_t csiz_decrypted = G.lrec.csize; + +- if (G.pInfo->encrypted) ++ if (G.pInfo->encrypted) { ++ if (csiz_decrypted <= 12) { ++ /* handle the error now to prevent unsigned overflow */ ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarStringSmall(ErrUnzipNoFile), ++ LoadFarString(InvalidComprData), ++ LoadFarStringSmall2(Inflate))); ++ return PK_ERR; ++ } + csiz_decrypted -= 12; ++ } + if (G.lrec.ucsize != csiz_decrypted) { + Info(slide, 0x401, ((char *)slide, + LoadFarStringSmall2(WrnStorUCSizCSizDiff), +-- +2.5.2 + diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index 83c452778c..b7bed0e86d 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -85,11 +85,13 @@ Compression ratios of 2:1 to 3:1 are common for text files.") "unzip-CVE-2014-8140.patch" "unzip-CVE-2014-8141.patch" "unzip-CVE-2014-9636.patch" + "unzip-CVE-2015-7696.patch" + "unzip-CVE-2015-7697.patch" "unzip-allow-greater-hostver-values.patch" "unzip-initialize-symlink-flag.patch" "unzip-remove-build-date.patch" "unzip-attribs-overflow.patch" - "unzip-fix-overflows-and-infloop.patch" + "unzip-overflow-on-invalid-input.patch" "unzip-format-secure.patch" "unzip-overflow-long-fsize.patch"))))) (build-system gnu-build-system) -- cgit v1.2.3 From 2442e69e4182b592757dad473c8c7b1c48ca8284 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 22 Oct 2015 17:10:41 -0400 Subject: Revert "gnu: unzip: Reorganize security fixes for improved clarity." This reverts commit c46c931ecfe7fd4a5cbd979263d28d3f1e02bcca. --- gnu-system.am | 4 +- gnu/packages/patches/unzip-CVE-2015-7696.patch | 35 ------- gnu/packages/patches/unzip-CVE-2015-7697.patch | 28 ------ .../patches/unzip-fix-overflows-and-infloop.patch | 108 +++++++++++++++++++++ .../patches/unzip-overflow-on-invalid-input.patch | 40 -------- gnu/packages/zip.scm | 4 +- 6 files changed, 110 insertions(+), 109 deletions(-) delete mode 100644 gnu/packages/patches/unzip-CVE-2015-7696.patch delete mode 100644 gnu/packages/patches/unzip-CVE-2015-7697.patch create mode 100644 gnu/packages/patches/unzip-fix-overflows-and-infloop.patch delete mode 100644 gnu/packages/patches/unzip-overflow-on-invalid-input.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index c4810661a2..e62fe18c97 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -647,11 +647,9 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-CVE-2014-8140.patch \ gnu/packages/patches/unzip-CVE-2014-8141.patch \ gnu/packages/patches/unzip-CVE-2014-9636.patch \ - gnu/packages/patches/unzip-CVE-2015-7696.patch \ - gnu/packages/patches/unzip-CVE-2015-7697.patch \ gnu/packages/patches/unzip-allow-greater-hostver-values.patch \ gnu/packages/patches/unzip-attribs-overflow.patch \ - gnu/packages/patches/unzip-overflow-on-invalid-input.patch \ + gnu/packages/patches/unzip-fix-overflows-and-infloop.patch \ gnu/packages/patches/unzip-format-secure.patch \ gnu/packages/patches/unzip-initialize-symlink-flag.patch \ gnu/packages/patches/unzip-overflow-long-fsize.patch \ diff --git a/gnu/packages/patches/unzip-CVE-2015-7696.patch b/gnu/packages/patches/unzip-CVE-2015-7696.patch deleted file mode 100644 index d6a4072673..0000000000 --- a/gnu/packages/patches/unzip-CVE-2015-7696.patch +++ /dev/null @@ -1,35 +0,0 @@ -Copied from Debian. - -From: Petr Stodulka -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: Upstream fix for heap overflow -Bug-Debian: https://bugs.debian.org/802162 -Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 -Origin: https://bugzilla.redhat.com/attachment.cgi?id=1073002 -Forwarded: yes - ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } diff --git a/gnu/packages/patches/unzip-CVE-2015-7697.patch b/gnu/packages/patches/unzip-CVE-2015-7697.patch deleted file mode 100644 index d688b42495..0000000000 --- a/gnu/packages/patches/unzip-CVE-2015-7697.patch +++ /dev/null @@ -1,28 +0,0 @@ -Copied from Debian. - -From: Kamil Dudka -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: fix infinite loop when extracting empty bzip2 data -Bug-Debian: https://bugs.debian.org/802160 -Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 -Origin: other, https://bugzilla.redhat.com/attachment.cgi?id=1073339 - ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/extract.c -+++ b/extract.c -@@ -2728,6 +2728,12 @@ - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; diff --git a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch new file mode 100644 index 0000000000..33498db95e --- /dev/null +++ b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch @@ -0,0 +1,108 @@ +Copied from Fedora. + +http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e + +From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Mon, 14 Sep 2015 18:23:17 +0200 +Subject: [PATCH 1/3] upstream fix for heap overflow + +https://bugzilla.redhat.com/attachment.cgi?id=1073002 +--- + crypt.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/crypt.c b/crypt.c +index 784e411..a8975f2 100644 +--- a/crypt.c ++++ b/crypt.c +@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) + GLOBAL(pInfo->encrypted) = FALSE; + defer_leftover_input(__G); + for (n = 0; n < RAND_HEAD_LEN; n++) { +- b = NEXTBYTE; ++ /* 2012-11-23 SMS. (OUSPG report.) ++ * Quit early if compressed size < HEAD_LEN. The resulting ++ * error message ("unable to get password") could be improved, ++ * but it's better than trying to read nonexistent data, and ++ * then continuing with a negative G.csize. (See ++ * fileio.c:readbyte()). ++ */ ++ if ((b = NEXTBYTE) == (ush)EOF) ++ { ++ return PK_ERR; ++ } + h[n] = (uch)b; + Trace((stdout, " (%02x)", h[n])); + } +-- +2.4.6 + + +From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Mon, 14 Sep 2015 18:24:56 +0200 +Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data + +Bug: https://sourceforge.net/p/infozip/patches/23/ +--- + extract.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/extract.c b/extract.c +index 7134bfe..29db027 100644 +--- a/extract.c ++++ b/extract.c +@@ -2733,6 +2733,12 @@ __GDEF + int repeated_buf_err; + bz_stream bstrm; + ++ if (G.incnt <= 0 && G.csize <= 0L) { ++ /* avoid an infinite loop */ ++ Trace((stderr, "UZbunzip2() got empty input\n")); ++ return 2; ++ } ++ + #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) + if (G.redirect_slide) + wsize = G.redirect_size, redirSlide = G.redirect_buffer; +-- +2.4.6 + + +From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Tue, 22 Sep 2015 18:52:23 +0200 +Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input + +Suggested-by: Stefan Cornelius +--- + extract.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/extract.c b/extract.c +index 29db027..b9ae667 100644 +--- a/extract.c ++++ b/extract.c +@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, + if (G.lrec.compression_method == STORED) { + zusz_t csiz_decrypted = G.lrec.csize; + +- if (G.pInfo->encrypted) ++ if (G.pInfo->encrypted) { ++ if (csiz_decrypted <= 12) { ++ /* handle the error now to prevent unsigned overflow */ ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarStringSmall(ErrUnzipNoFile), ++ LoadFarString(InvalidComprData), ++ LoadFarStringSmall2(Inflate))); ++ return PK_ERR; ++ } + csiz_decrypted -= 12; ++ } + if (G.lrec.ucsize != csiz_decrypted) { + Info(slide, 0x401, ((char *)slide, + LoadFarStringSmall2(WrnStorUCSizCSizDiff), +-- +2.5.2 + diff --git a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch deleted file mode 100644 index 013002a88c..0000000000 --- a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch +++ /dev/null @@ -1,40 +0,0 @@ -Extracted from a patch in Fedora. - -http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index b7bed0e86d..83c452778c 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -85,13 +85,11 @@ Compression ratios of 2:1 to 3:1 are common for text files.") "unzip-CVE-2014-8140.patch" "unzip-CVE-2014-8141.patch" "unzip-CVE-2014-9636.patch" - "unzip-CVE-2015-7696.patch" - "unzip-CVE-2015-7697.patch" "unzip-allow-greater-hostver-values.patch" "unzip-initialize-symlink-flag.patch" "unzip-remove-build-date.patch" "unzip-attribs-overflow.patch" - "unzip-overflow-on-invalid-input.patch" + "unzip-fix-overflows-and-infloop.patch" "unzip-format-secure.patch" "unzip-overflow-long-fsize.patch"))))) (build-system gnu-build-system) -- cgit v1.2.3 From c595cd47d8d60688f8eb56f25baab2854880e43c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 22 Oct 2015 17:41:39 -0500 Subject: gnu: evilwm: Add patch for lost-focus bug. * gnu/packages/patches/evilwm-lost-focus-bug.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/wm.scm (evilwm)[source]: Use it. --- gnu-system.am | 1 + gnu/packages/patches/evilwm-lost-focus-bug.patch | 18 ++++++++++++++++++ gnu/packages/wm.scm | 4 +++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/evilwm-lost-focus-bug.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index e62fe18c97..3e976e9fb7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -438,6 +438,7 @@ dist_patch_DATA = \ gnu/packages/patches/elfutils-tests-ptrace.patch \ gnu/packages/patches/emacs-exec-path.patch \ gnu/packages/patches/eudev-rules-directory.patch \ + gnu/packages/patches/evilwm-lost-focus-bug.patch \ gnu/packages/patches/expat-CVE-2015-1283.patch \ gnu/packages/patches/fastcap-mulGlobal.patch \ gnu/packages/patches/fastcap-mulSetup.patch \ 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/wm.scm b/gnu/packages/wm.scm index 7f614e18c8..58d7add5e0 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -22,6 +22,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) @@ -268,7 +269,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) -- cgit v1.2.3 From 21b2ec4d3a17e7b7077cef45df5f0e92cbf7002c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Oct 2015 20:17:12 +0300 Subject: gnu: pbzip2: Various fixes. * gnu/packages/compression.scm (pbzip)[uri]: Replace hardcoded version with variable. [arguments]: Remove configure phase. Add make flag. --- gnu/packages/compression.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 0bb3919cee..a9e942efd5 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -26,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) @@ -232,8 +233,9 @@ decompression.") (version "1.1.12") (source (origin (method url-fetch) - (uri (string-append "https://launchpad.net/pbzip2/1.1/" version - "/+download/" name "-" version ".tar.gz")) + (uri (string-append "https://launchpad.net/pbzip2/" + (version-major+minor version) "/" version + "/+download/" name "-" version ".tar.gz")) (sha256 (base32 "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp")))) @@ -243,20 +245,17 @@ decompression.") (arguments `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile" - (("/usr") (assoc-ref outputs "out"))) - #t))))) + (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 (ie: anything +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.")))) + "See COPYING in the distribution.")))) (define-public xz (package -- cgit v1.2.3 From fd74cc3c72fca3b6526e95ac5551c963382f60d9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 20 Oct 2015 16:50:22 +0300 Subject: gnu: mplayer: Update to 1.2. * gnu/packages/video.scm (mplayer): Update to 1.2. [inputs]: Add previously bundled ffmpeg, libdvdcss, libdvdnav. [arguments]: Disable bundled ffmeg. --- gnu/packages/video.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 013fef9742..e3e67becf5 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2015 David Thompson ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -584,7 +585,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 +593,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 +602,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 +643,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. -- cgit v1.2.3 From 0e03d76a5128579ea8e08a51b47a6fe16ae71cf3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 18:02:45 +0200 Subject: gnu: ghc: Update to 7.10.2. * gnu/packages/haskell.scm (ghc): Update to 7.10.2. Correct bootstrap compiler path. * gnu/packages/haskell.scm (ghc-unordered-containers): Fix long line. --- gnu/packages/haskell.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 34cad87b4b..af80e0c9a1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Siniša Biđin +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,7 +74,7 @@ (define-public ghc (package (name "ghc") - (version "7.8.4") + (version "7.10.2") (source (origin (method url-fetch) @@ -81,7 +82,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 +99,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 +204,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 +232,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))))))) (home-page "https://www.haskell.org/ghc") @@ -979,9 +980,8 @@ 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")))) -- cgit v1.2.3 From a59ab2477a01d007dc3ef0e4d6e21edcccce1c4a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 19:12:09 +0200 Subject: gnu: ghc-mtl: Update to 2.2.1. * gnu/packages/haskell.scm (ghc-mtl): Update to 2.2.1. --- gnu/packages/haskell.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index af80e0c9a1..385c295737 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -462,7 +462,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 @@ -473,18 +473,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 -- cgit v1.2.3 From ac426aa53b335a01a17ba5e52dd3d8aa2ae5e8ba Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 19:12:57 +0200 Subject: gnu: ghc-utf8-string: Update to 1.0.1.1. * gnu/packages/haskell.scm (ghc-utf8-string): Update to 1.0.1.1. --- gnu/packages/haskell.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 385c295737..a6b16bde16 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -511,7 +511,7 @@ School of Functional Programming', 1995. See (define-public ghc-utf8-string (package (name "ghc-utf8-string") - (version "0.3.8") + (version "1.0.1.1") (source (origin (method url-fetch) @@ -520,12 +520,12 @@ School of Functional Programming', 1995. See 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))) -- cgit v1.2.3 From 6a0add9c6990f2e4c60f8786a31b69b47f1a7077 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 19:13:45 +0200 Subject: gnu: Add ghc-old-locale. * gnu/packages/haskell.scm (ghc-old-locale): New variable. * gnu/packages/haskell.scm (ghc-data-default-instances-old-locale): Patch to use new package ghc-old-locale. --- gnu/packages/haskell.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a6b16bde16..a12f245e5d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -362,6 +362,27 @@ package.") package.") (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-data-default-instances-old-locale (package (name "ghc-data-default-instances-old-locale") @@ -377,7 +398,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") -- cgit v1.2.3 From ca80b8ba158e714092827a28a201e4c4f4e50983 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 22:26:55 +0200 Subject: gnu: xmonad: Patch for updated libraries. * gnu/packages/wm.scm (xmonad): Replicate patch from Hackage to compile against GHC 7.10.2. --- gnu/packages/wm.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 58d7add5e0..117088ee35 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Siniša Biđin ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2015 xd1le +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -191,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 + ;; . + '(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) -- cgit v1.2.3 From 7ae4c1022746907da090cd376507106a8133cc0d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:17:02 +0200 Subject: gnu: Add ghc-old-time. * gnu/packages/haskell.scm (ghc-old-time): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a12f245e5d..b34adddf0a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -383,6 +383,36 @@ package.") 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) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-/bin/sh + (lambda _ + (setenv "CONFIG_SHELL" "sh")))))) + (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") -- cgit v1.2.3 From 2687f7db73e45e248503854213548c963048c229 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 22:28:10 +0200 Subject: gnu: ghc-xmonad-contrib: Update to version 0.11.4. * gnu/packages/wm.scm (ghc-xmonad-contrib): Update to version 0.11.4. Add input ghc-old-time, required with new GHC 7.10.2. --- gnu/packages/wm.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 117088ee35..db5fa1e3da 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -243,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) @@ -251,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) -- cgit v1.2.3 From 6fe7a7e0af29110923d795e553aa1df424416f52 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 22:46:34 +0200 Subject: gnu: ghc-dlist: Update to 0.7.1.2. * gnu/packages/haskell.scm (ghc-dlist): Update to version 0.7.1.2. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b34adddf0a..c4d9ef1063 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -440,7 +440,7 @@ old @code{time} library. For new projects, the newer (define-public ghc-dlist (package (name "ghc-dlist") - (version "0.7.1.1") + (version "0.7.1.2") (source (origin (method url-fetch) @@ -449,7 +449,7 @@ old @code{time} library. For new projects, the newer version ".tar.gz")) (sha256 - (base32 "1zayvxvkan2s2ixajdr3f5rn1gzhprzv6cww4cbpwjhzw0l7zc08")))) + (base32 "10rp96rryij7d8gz5kv8ygc6chm1624ck5mbnqs2a3fkdzqj2b9k")))) (arguments `(#:tests? #f)) (build-system haskell-build-system) (home-page "https://github.com/spl/dlist") -- cgit v1.2.3 From 409ec7c01e82cd7f9f4d6d5bfbf26961eb7c188b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:29:15 +0200 Subject: gnu: ghc-dlist: Enable tests. * gnu/packages/haskell.scm (ghc-dlist): Enable tests. --- gnu/packages/haskell.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c4d9ef1063..3d26e8bf8d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -450,8 +450,9 @@ old @code{time} library. For new projects, the newer ".tar.gz")) (sha256 (base32 "10rp96rryij7d8gz5kv8ygc6chm1624ck5mbnqs2a3fkdzqj2b9k")))) - (arguments `(#:tests? #f)) (build-system haskell-build-system) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck))) (home-page "https://github.com/spl/dlist") (synopsis "Difference lists") (description -- cgit v1.2.3 From 8431b0468ea7df92351de76235ce27f718f53bfd Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:06:16 +0200 Subject: gnu: ghc-text: Update to 1.2.1.3. * gnu/packages/haskell.scm (ghc-text): Update to 1.2.1.3. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3d26e8bf8d..edac4330ef 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -719,7 +719,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 @@ -730,7 +730,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. -- cgit v1.2.3 From 87a25ccd04277cfae6e11b0b4c5cdeff3aa86f30 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:07:08 +0200 Subject: gnu: ghc-hashable: Update to 1.2.3.3. * gnu/packages/haskell.scm (ghc-hashable): Update to 1.2.3.3. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index edac4330ef..8f1ec086f5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -749,7 +749,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 @@ -760,7 +760,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. -- cgit v1.2.3 From 4c116c6aed805774b427e865e75ba9cc4586f0d5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:07:43 +0200 Subject: gnu: ghc-primitive: Update to 0.6.1.0. * gnu/packages/haskell.scm (ghc-primitive): Update to 0.6.1.0. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8f1ec086f5..c44e6594b5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -824,7 +824,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 @@ -835,7 +835,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") -- cgit v1.2.3 From 83185924c286259de95f0bcad7f8c9877454dcb4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:08:41 +0200 Subject: gnu: ghc-quickcheck: Update to 2.8.1. * gnu/packages/haskell.scm (ghc-quickcheck): Update to 2.8.1. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c44e6594b5..a5f86579b1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -875,7 +875,7 @@ Hashing\" by Claessen, Pałka for details and the rationale of the design.") (define-public ghc-quickcheck (package (name "ghc-quickcheck") - (version "2.8") + (version "2.8.1") (outputs '("out" "doc")) (source (origin @@ -886,7 +886,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. -- cgit v1.2.3 From a306190f885d5429a5c924d6a160d5c8b1cb8225 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:09:09 +0200 Subject: gnu: ghc-syb: Update to 0.6. * gnu/packages/haskell.scm (ghc-syb): Update to 0.6. --- gnu/packages/haskell.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a5f86579b1..2c8e06f010 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -939,7 +939,7 @@ to cases.") (define-public ghc-syb (package (name "ghc-syb") - (version "0.4.4") + (version "0.6") (outputs '("out" "doc")) (source (origin @@ -950,7 +950,7 @@ to cases.") ".tar.gz")) (sha256 (base32 - "11sc9kmfvcn9bfxf227fgmny502z2h9xs3z0m9ak66lk0dw6f406")))) + "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3")))) (build-system haskell-build-system) (inputs `(("ghc-hunit" ,ghc-hunit) @@ -958,13 +958,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 -). -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.") +@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-containers -- cgit v1.2.3 From 0b61d503024c38e97fa9f9d3e1cf0153d8120d2b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:11:49 +0200 Subject: gnu: ghc-vector: Update to 0.11.0.0. * gnu/packages/haskell.scm (ghc-vector): Update to 0.11.0.0. --- gnu/packages/haskell.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2c8e06f010..5fea33161f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1114,7 +1114,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 @@ -1125,7 +1125,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))) @@ -1133,12 +1133,13 @@ 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-network (package -- cgit v1.2.3 From 13244b2438d167e7818b6e4e472ac9c00b0eb911 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:12:18 +0200 Subject: gnu: ghc-network: Update to 2.6.2.1. * gnu/packages/haskell.scm (ghc-network): Update to 2.6.2.1. * gnu/packages/haskell.scm (ghc-network-uri): Update to 2.6.0.3. --- gnu/packages/haskell.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5fea33161f..c9a1020fb2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1144,7 +1144,7 @@ optimisation framework.") (define-public ghc-network (package (name "ghc-network") - (version "2.6.0.2") + (version "2.6.2.1") (outputs '("out" "doc")) (source (origin @@ -1155,7 +1155,7 @@ optimisation framework.") ".tar.gz")) (sha256 (base32 - "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4")))) + "1yhvpd4wigz165jvyvw9zslx7lgqdj63jh3zv5s74b5ykdfa3zd3")))) (build-system haskell-build-system) (inputs `(("ghc-hunit" ,ghc-hunit))) @@ -1174,7 +1174,7 @@ 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 @@ -1185,7 +1185,7 @@ optimisation framework.") ".tar.gz")) (sha256 (base32 - "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37")))) + "1pwbqb2rk4rnvllvdch42p5368xcvpkanp7bxckdhxya8zzwvhhg")))) (build-system haskell-build-system) (inputs `(("ghc-hunit" ,ghc-hunit) -- cgit v1.2.3 From b38c1627eca82786c8a81ab74d2d5be3891ac5e5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:20:28 +0200 Subject: gnu: ghc-http: Update to 4000.2.20. * gnu/packages/haskell.scm (ghc-http): Update to 4000.2.20. Add input old-time, required in new GHC 7.10.2. --- gnu/packages/haskell.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c9a1020fb2..9cd223a06d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1205,7 +1205,7 @@ package into this package.") (define-public ghc-http (package (name "ghc-http") - (version "4000.2.19") + (version "4000.2.20") (outputs '("out" "doc")) (source (origin @@ -1216,12 +1216,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))) -- cgit v1.2.3 From 35a9b5c70be6215e2886c21a39923dd518b46768 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:20:59 +0200 Subject: gnu: cabal-install: Update to 1.22.6.0. * gnu/packages/haskell.scm (cabal-install): Update to 1.22.6.0. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9cd223a06d..9d61f6e4c9 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -484,7 +484,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) @@ -493,7 +493,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 -- cgit v1.2.3 From cd27b23d498c6112cbd0a4d6b03a58cf00694db4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:35:19 +0200 Subject: gnu: Add ghc-ansi-terminal. * gnu/package/haskell.scm (ghc-ansi-terminal): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9d61f6e4c9..3bfbb8d444 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1202,6 +1202,28 @@ 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") -- cgit v1.2.3 From 9380634c1037fa602a6d8896e94573bbf1f72396 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:36:12 +0200 Subject: gnu: Remove ghc-containers. Since GHC 7.10.2 provides containers, this package has become unneeded. * gnu/packages/haskell.scm (ghc-containers): Remove variable. --- gnu/packages/haskell.scm | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3bfbb8d444..a5ae4d14dc 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -966,36 +966,6 @@ 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.") - (license bsd-3))) - (define-public ghc-fgl (package (name "ghc-fgl") -- cgit v1.2.3 From e2fcaff2ef3804cc9e4b29e9dc99e896439c2f45 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:41:47 +0200 Subject: gnu: Add ghc-async. * gnu/packages/haskell.scm (ghc-async): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a5ae4d14dc..9e9f18c058 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1228,4 +1228,30 @@ lets you set up HTTP connections, transmitting requests and processing the responses coming back.") (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) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From a45a15df50e880b8e9eeaac75394838e632a46e1 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:00:40 +0200 Subject: gnu: Add ghc-setenv. * gnu/packages/haskell.scm (ghc-setenv): New variable. --- gnu/packages/haskell.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9e9f18c058..b5518b5e24 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -20,7 +20,7 @@ (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 expat)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -583,6 +583,27 @@ 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") -- cgit v1.2.3 From 318f9d884e705fd24fbd957afdcc71b339c42e18 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:00:53 +0200 Subject: gnu: Add ghc-stringbuilder. * gnu/packages/haskell.scm (ghc-stringbuilder): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b5518b5e24..921a48e3e0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -664,6 +664,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") -- cgit v1.2.3 From 59c9b4f678eeaba995a5baf39060ea379d6e4ba2 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 00:00:30 +0200 Subject: gnu: Add ghc-quickcheck-io. * gnu/packages/haskell.scm (ghc-quickcheck-io): Add variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 921a48e3e0..be43ac72d2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -916,6 +916,31 @@ 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-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") -- cgit v1.2.3 From 379a5ad54f54a9b4208670fffc34ce2985eccae4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:56:51 +0200 Subject: gnu: Add ghc-transformers-compat. * gnu/packages/haskell.scm (ghc-transformers-compat): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index be43ac72d2..b73ac2e597 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -916,6 +916,28 @@ 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-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-quickcheck-io (package (name "ghc-quickcheck-io") -- cgit v1.2.3 From 31cac1ee9ffeae2974461a8864cb1112072f4744 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:57:25 +0200 Subject: gnu: Add ghc-exceptions. * gnu/packages/haskell.scm (ghc-exceptions): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b73ac2e597..9d649da25d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -938,6 +938,32 @@ 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-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-quickcheck-io (package (name "ghc-quickcheck-io") -- cgit v1.2.3 From 5257c341506c4d277b98e580a82857daafe073c7 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:57:53 +0200 Subject: gnu: Add ghc-temporary. * gnu/packages/haskell.scm (ghc-temporary): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9d649da25d..8dd09ba642 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -964,6 +964,31 @@ but also need those types.") 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-quickcheck-io (package (name "ghc-quickcheck-io") -- cgit v1.2.3 From acd881a49ca1b90fd53754e485961c6b4fdf20d9 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:58:17 +0200 Subject: gnu: Add ghc-silently. * gnu/packages/haskell.scm (ghc-silently): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8dd09ba642..32a8663b90 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -989,6 +989,30 @@ that you can use them without linking against Cabal or depending on it being installed.") (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-io (package (name "ghc-quickcheck-io") -- cgit v1.2.3 From 327348c629a37e24b83d150dc081af1d74292999 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:04:20 +0200 Subject: gnu: Add ghc-hspec-expectations. * gnu/packages/haskell.scm (ghc-hspec-expectations): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 32a8663b90..0bcf648bb7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1394,6 +1394,28 @@ lets you set up HTTP connections, transmitting requests and processing the responses coming back.") (license bsd-3))) +(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 ghc-async (package (name "ghc-async") -- cgit v1.2.3 From daf5cd28dc562a1abea9f267231c787bbfeb935e Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:05:38 +0200 Subject: gnu: Add ghc-hspec-core. * gnu/packages/haskell.scm (ghc-hspec-core): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0bcf648bb7..df5c82b2fd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1416,6 +1416,38 @@ responses coming back.") @uref{https://github.com/sol/hspec-expectations#readme, the README}.") (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-async (package (name "ghc-async") -- cgit v1.2.3 From 45882aafcb283d1e3ca6caf5e9df410db9f0ab62 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:06:14 +0200 Subject: gnu: Add ghc-hspec-meta. * gnu/packages/haskell.scm (ghc-hspec-meta): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index df5c82b2fd..aff6931ea0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1448,6 +1448,36 @@ responses coming back.") 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-async (package (name "ghc-async") -- cgit v1.2.3 From 6d71fcdf9ea6536593feadcb2b08a2e2b6b49a08 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:06:41 +0200 Subject: gnu: Add hspec-discover. * gnu/packages/haskell.scm (hspec-discover): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index aff6931ea0..fa8e07822c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1416,6 +1416,30 @@ responses coming back.") @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") -- cgit v1.2.3 From df12a41294df0af81e2bcbf9ac6ede35a1cd5147 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:07:02 +0200 Subject: gnu: Add ghc-hspec. * gnu/packages/haskell.scm (ghc-hspec): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fa8e07822c..3c8c1fce75 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1394,6 +1394,36 @@ 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-expectations (package (name "ghc-hspec-expectations") -- cgit v1.2.3 From 9d5f0399f9e292cc4f319c2d3b3677d2722177e1 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:08:15 +0200 Subject: gnu: Add ghc-regex-base. * gnu/packages/haskell.scm (ghc-regex-base): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3c8c1fce75..d80eaf5dcd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -938,6 +938,30 @@ 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-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-exceptions (package (name "ghc-exceptions") -- cgit v1.2.3 From 76ae28f16beac4df3aea7557d0487ea00fd7f30d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:08:39 +0200 Subject: gnu: Add ghc-appar. * gnu/packages/haskell.scm (ghc-appar): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d80eaf5dcd..0f075be00a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -962,6 +962,28 @@ but also need those types.") regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (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-exceptions (package (name "ghc-exceptions") -- cgit v1.2.3 From 78c5b39d0877eca8fa0c18e239f1bcf966b7a01a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:09:00 +0200 Subject: gnu: Add ghc-safe. * gnu/packages/haskell.scm (ghc-safe): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0f075be00a..c6dea86d64 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -984,6 +984,28 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") 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-exceptions (package (name "ghc-exceptions") -- cgit v1.2.3 From 476f7bab8b1782b9c6a52f2146c4c03b49fb0718 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:09:27 +0200 Subject: gnu: Add ghc-generic-deriving. * gnu/packages/haskell.scm (ghc-generic-deriving): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c6dea86d64..e75e46ba7e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1006,6 +1006,27 @@ style.") 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-exceptions (package (name "ghc-exceptions") -- cgit v1.2.3 From b10f7be3e36473614cf3d1bbd852d30eb3f63218 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:10:01 +0200 Subject: gnu: Add ghc-pcre-light. * gnu/packages/haskell.scm (ghc-pcre-light): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e75e46ba7e..1775e8eb28 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages python) + #:use-module (gnu packages pcre) #:use-module (gnu packages xorg)) (define ghc-bootstrap-x86_64-7.8.4 @@ -1027,6 +1028,31 @@ exceptions.") 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-exceptions (package (name "ghc-exceptions") -- cgit v1.2.3 From 748463bec4db837a9f510cd6cad0a9237795d53a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:10:24 +0200 Subject: gnu: Add ghc-logict. * gnu/packages/haskell.scm (ghc-logict): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1775e8eb28..0d28fd6b7c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1053,6 +1053,31 @@ 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-exceptions (package (name "ghc-exceptions") -- cgit v1.2.3 From d10fed28b820dcd0a287d3aead15a87602985100 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:11:02 +0200 Subject: gnu: Add ghc-xml. * gnu/packages/haskell.scm (ghc-xml): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0d28fd6b7c..74a8c2f67d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1078,6 +1078,28 @@ 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") -- cgit v1.2.3 From 2108eac211c44ecaf12bcd8662d757737585677e Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:11:15 +0200 Subject: gnu: Add ghc-quickcheck-unicode. * gnu/packages/haskell.scm (ghc-quickcheck-unicode): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 74a8c2f67d..0a8cb01f6c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1175,6 +1175,29 @@ installed.") writing to stdout and other handles.") (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") -- cgit v1.2.3 From 565f040df469091ffedc31f2d12ac10bf5f341b6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:01:17 +0200 Subject: gnu: ghc-split: Update dependencies. * gnu/packages/haskell.scm (ghc-split): Update package dependencies for compatibility with new GHC. Replicate Cabal-file patch from Hackage. --- gnu/packages/haskell.scm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0a8cb01f6c..dde297d6aa 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1389,15 +1389,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 + ;; . + '(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 -- cgit v1.2.3 From 4e1254971d121806db23901a898eec2e9dcda69b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:12:46 +0200 Subject: gnu: Add ghc-annotated-wl-pprint. * gnu/packages/haskell.scm (ghc-annotated-wl-pprint): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dde297d6aa..59cb473601 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,31 @@ optimized for performance critical use, both in terms of large data quantities and high speed.") (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-split (package (name "ghc-split") -- cgit v1.2.3 From e93333483cb9228c805410abf5c1f1b9fe064f6b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:13:08 +0200 Subject: gnu: Add ghc-ansi-wl-pprint. * gnu/packages/haskell.scm (ghc-ansi-wl-pprint): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 59cb473601..7bf8ece6f0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1400,6 +1400,30 @@ 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") -- cgit v1.2.3 From 3410470d16c1295161f3cc54ba6ac801e3cee85a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:11:56 +0200 Subject: gnu: Add ghc-base64-bytestring. * gnu/packages/haskell.scm (ghc-base64-bytestring): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7bf8ece6f0..cfa39acf15 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,28 @@ optimized for performance critical use, both in terms of large data quantities and high speed.") (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") -- cgit v1.2.3 From 10de4306d623cb01475653190e8aa8eafee3367b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:14:29 +0200 Subject: gnu: Add ghc-uniplate. * gnu/packages/haskell.scm (ghc-uniplate): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index cfa39acf15..b11b0de624 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,32 @@ 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") -- cgit v1.2.3 From 49465144373fad97afb5e04529d0f66505c1f2bc Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:14:40 +0200 Subject: gnu: Add ghc-fingertree. * gnu/packages/haskell.scm (ghc-fingertree): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b11b0de624..fb2339b852 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1847,4 +1847,29 @@ 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 918f690a83af54d1735acd64f68149940ce694b9 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:14:55 +0200 Subject: gnu: Add ghc-optparse-applicative. * gnu/packages/haskell.scm (ghc-optparse-applicative): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fb2339b852..f17ae3c60e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1872,4 +1872,27 @@ 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 09fb622cb36c2c8eb4163dfb4900c750461f0007 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:15:11 +0200 Subject: gnu: Add ghc-base-orphans. * gnu/packages/haskell.scm (ghc-base-orphans): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f17ae3c60e..968438cc55 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1895,4 +1895,28 @@ simple general-purpose data structure\".") 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 6ecc4723c2b9f97cade7ff7a76d6d4a1fb4f2e72 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:24:54 +0200 Subject: gnu: Add ghc-vault. * gnu/packages/haskell.scm (ghc-vault): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 968438cc55..2eec529218 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1821,6 +1821,35 @@ be used to extend Hspec's functionality.") 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-async (package (name "ghc-async") -- cgit v1.2.3 From 899916b51ed6cfc4185a2ab97cd7af20c931d476 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:16:45 +0200 Subject: gnu: Add ghc-mmorph. * gnu/packages/haskell.scm (ghc-mmorph): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2eec529218..02ab82faca 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1850,6 +1850,29 @@ 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-async (package (name "ghc-async") -- cgit v1.2.3 From c27f3aced3d3d9c109248f8664447a9fba067689 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:17:17 +0200 Subject: gnu: Add ghc-transformers-base. * gnu/packages/haskell.scm (ghc-transformers-base): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 02ab82faca..935ee441bd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -917,6 +917,35 @@ 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") -- cgit v1.2.3 From 85160205074a3213cfd3168b786a2af5555f13a8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:18:26 +0200 Subject: gnu: Add ghc-monad-control. * gnu/packages/haskell.scm (ghc-monad-control): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 935ee441bd..717eef0a12 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1902,6 +1902,32 @@ representing a store for a single element.") 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-async (package (name "ghc-async") -- cgit v1.2.3 From 27e7c8b6a6c3a49ac8f734232c9e7f4407937a46 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:18:48 +0200 Subject: gnu: Add ghc-byteorder. * gnu/packages/haskell.scm (ghc-byteorder): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 717eef0a12..7c07ff2dea 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1928,6 +1928,30 @@ 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-async (package (name "ghc-async") -- cgit v1.2.3 From 9525e25fc1daa6c551ef6a979e8edd36c557931a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:19:03 +0200 Subject: gnu: Add ghc-easy-file. * gnu/packages/haskell.scm (ghc-easy-file): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7c07ff2dea..d3fc7693dc 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1952,6 +1952,27 @@ a subset of @code{MonadBase} into which generic control operations such as system.") (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") -- cgit v1.2.3 From 71470eddfa585b45b1de0d3c7e2ba058ea88c5a6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 13:56:59 +0200 Subject: gnu: Add ghc-base-compat. * gnu/packages/haskell.scm (ghc-base-compat): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d3fc7693dc..9dea805abe 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1952,6 +1952,31 @@ a subset of @code{MonadBase} into which generic control operations such as 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-easy-file (package (name "ghc-easy-file") -- cgit v1.2.3 From 94e1dc7a57a4a1e4ab2003f04408e87088b25125 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 13:58:43 +0200 Subject: gnu: Add ghc-blaze-builder. * gnu/packages/haskell.scm (ghc-blaze-builder): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9dea805abe..a2650ce159 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1977,6 +1977,34 @@ 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-easy-file (package (name "ghc-easy-file") -- cgit v1.2.3 From a311f5d00089287b1a6192f65397d93a932027c8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:00:17 +0200 Subject: gnu: Add ghc-blaze-markup. * gnu/packages/haskell.scm (ghc-blaze-markup): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a2650ce159..4c52f02e72 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2005,6 +2005,31 @@ 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-easy-file (package (name "ghc-easy-file") -- cgit v1.2.3 From a195cd795f2d09f167ce68f3a75e9dee6845ae35 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:01:15 +0200 Subject: gnu: Add ghc-blaze-html. * gnu/packages/haskell.scm (ghc-blaze-html): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4c52f02e72..c43bbdcd86 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2030,6 +2030,31 @@ interoperate with code that uses the new implementation.") 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") -- cgit v1.2.3 From cb2119e4f5da8bb34ea865504250759138bf38ba Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:03:37 +0200 Subject: gnu: Add ghc-doctest. * gnu/packages/haskell.scm (ghc-doctest): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c43bbdcd86..d7e07efcdf 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2174,4 +2174,39 @@ command line options in Haskell.") available in later versions of base to a wider (older) range of compilers.") (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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From bc0fb230f92a5ad2ef04b9bdcc08b08535314b2f Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:05:15 +0200 Subject: gnu: Add ghc-auto-update. * gnu/packages/haskell.scm (ghc-auto-update): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d7e07efcdf..f54af62f46 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2174,6 +2174,27 @@ command line options in Haskell.") 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-doctest (package (name "ghc-doctest") -- cgit v1.2.3 From 7f0d5857e64f33f3843248ddac68a441a47a4e06 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:07:16 +0200 Subject: gnu: Add ghc-tagged. * gnu/packages/haskell.scm (ghc-tagged): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f54af62f46..1d5fa6c6a5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2195,6 +2195,27 @@ available in later versions of base to a wider (older) range of compilers.") 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-doctest (package (name "ghc-doctest") -- cgit v1.2.3 From a24ec6f271675acb760d197a1a6eb8ba395cb5d0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:11:03 +0200 Subject: gnu: Add ghc-unbounded-delays. * gnu/packages/haskell.scm (ghc-unbounded-delays): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1d5fa6c6a5..63b1603a47 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2216,6 +2216,29 @@ periodic, on-demand actions in Haskell.") 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))) + (define-public ghc-doctest (package (name "ghc-doctest") -- cgit v1.2.3 From 685502dc936dc7362026dca6a6267651db7c6049 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:12:38 +0200 Subject: gnu: Add ghc-iproute. * gnu/packages/haskell.scm (ghc-iproute): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 63b1603a47..d15a9ad4cd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -968,6 +968,36 @@ 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-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") -- cgit v1.2.3 From 5ef40cb26a70a48680ce32875d7f0c4f2a95c746 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:13:33 +0200 Subject: gnu: Add ghc-unix-time. * gnu/packages/haskell.scm (ghc-unix-time): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d15a9ad4cd..ebaf1f75e0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -968,6 +968,38 @@ 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. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-/bin/sh + (lambda _ + (setenv "CONFIG_SHELL" "sh")))))) + (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-iproute (package (name "ghc-iproute") -- cgit v1.2.3 From 801cc88daf1ac810c95db2e5992c939bbc115d78 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:14:34 +0200 Subject: gnu: Add ghc-unix-compat. * gnu/packages/haskell.scm (ghc-unix-compat): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index ebaf1f75e0..40d869dfc1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1000,6 +1000,30 @@ but also need those types.") 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-iproute (package (name "ghc-iproute") -- cgit v1.2.3 From dc5befb126c0b861f2bfb512c0cf8e336f1c6a21 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:18:44 +0200 Subject: gnu: Add ghc-quickcheck-instances. * gnu/packages/haskell.scm (ghc-quickcheck-instances): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 40d869dfc1..5ef3afd7e7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1290,6 +1290,35 @@ installed.") 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") -- cgit v1.2.3 From fe8f53e39b05fd77876e4a9fbfac2d38136a5763 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:19:12 +0200 Subject: gnu: Add ghc-http-types. * gnu/packages/haskell.scm (ghc-http-types): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5ef3afd7e7..9af661ae3f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1024,6 +1024,35 @@ 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") -- cgit v1.2.3 From 878535bd81b28a27549c589c8084ed3edfaea22c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:27:33 +0200 Subject: gnu: Add ghc-nats. * gnu/packages/haskell.scm (ghc-nats): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9af661ae3f..fcbd231d7b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2383,6 +2383,29 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (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-doctest (package (name "ghc-doctest") -- cgit v1.2.3 From 946fa8c9b0fe6d7c8663b0dc23659902f8634318 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:29:28 +0200 Subject: gnu: Add ghc-semigroups. * gnu/packages/haskell.scm (ghc-semigroups): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fcbd231d7b..e0fc9f4aff 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2406,6 +2406,39 @@ unbounded @code{Integer} type.") (description "This library provides the natural numbers 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-doctest (package (name "ghc-doctest") -- cgit v1.2.3 From 03f6074b72ebfc0711b9a6de4d604ac73b02929e Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:31:10 +0200 Subject: gnu: Add ghc-void. * gnu/packages/haskell.scm (ghc-void): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e0fc9f4aff..9570e68454 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2406,6 +2406,33 @@ unbounded @code{Integer} type.") (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-semigroups (package (name "ghc-semigroups") -- cgit v1.2.3 From 4f99755142ccc270ae4103cea1ec024fceac0b45 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:32:25 +0200 Subject: gnu: Add ghc-bifunctors. * gnu/packages/haskell.scm (ghc-bifunctors): Add variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9570e68454..6703683619 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2433,6 +2433,29 @@ unbounded @code{Integer} type.") given term should not exist.") (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-semigroups (package (name "ghc-semigroups") -- cgit v1.2.3 From f271524a1454e6c8ab12ca8388d8248cd2d26f86 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:36:03 +0200 Subject: gnu: Add ghc-statevar. * gnu/packages/haskell.scm (ghc-statevar): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6703683619..0b80b3b9a5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2433,6 +2433,29 @@ unbounded @code{Integer} type.") given term should not exist.") (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-bifunctors (package (name "ghc-bifunctors") -- cgit v1.2.3 From 624efe7304dfe9247d1078680cfe0b1704295526 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:36:19 +0200 Subject: gnu: Add ghc-contravariant. * gnu/packages/haskell.scm (ghc-contravariant): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0b80b3b9a5..d606d48fbd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2479,6 +2479,33 @@ in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (description "This package provides bifunctors for Haskell.") (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") -- cgit v1.2.3 From 9e5224e6f3d7604db3f75e70e69fdf187ec510f3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:38:27 +0200 Subject: gnu: Add ghc-digest. * gnu/packages/haskell.scm (ghc-digest): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d606d48fbd..4a399ceb6d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2456,6 +2456,33 @@ given term should not exist.") in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (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-bifunctors (package (name "ghc-bifunctors") -- cgit v1.2.3 From 6c1a7751a55617f43743529042e12e30bd1b4cd5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:39:24 +0200 Subject: gnu: Add ghc-tagsoup. * gnu/packages/haskell.scm (ghc-tagsoup): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4a399ceb6d..2611727f37 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2456,6 +2456,35 @@ given term should not exist.") in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (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") -- cgit v1.2.3 From d76bf6181b083d85e6897ff8a27d72a4c457fbb4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:48:43 +0200 Subject: gnu: Add ghc-bytestring-builder. * gnu/packages/haskell.scm (ghc-bytestring-builder): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2611727f37..3060d3bc70 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2383,6 +2383,28 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (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") -- cgit v1.2.3 From cc553d025de4a5deefb4d5129be9f958f10de76d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:52:19 +0200 Subject: gnu: Add ghc-fast-logger. * gnu/packages/haskell.scm (ghc-fast-logger): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3060d3bc70..bf24cc8ec7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2617,6 +2617,32 @@ where every element did not have to have an inverse, thus the name semigroup.") (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") -- cgit v1.2.3 From 6ffc5be71d57d5823eb8244073f06f6209136dcd Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:54:44 +0200 Subject: gnu: Add ghc-charset. * gnu/packages/haskell.scm (ghc-charset): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index bf24cc8ec7..0f0e557773 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2383,6 +2383,31 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (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") -- cgit v1.2.3 From 34128d2ba78c305ea588c761255fbc06b7819f05 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:59:46 +0200 Subject: gnu: Add ghc-regex-tdfa-rc. * gnu/packages/haskell.scm (ghc-regex-tdfa-rc): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0f0e557773..16144db2a1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1107,6 +1107,33 @@ removed. Both IPv4 and IPv6 are supported.") regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (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-appar (package (name "ghc-appar") -- cgit v1.2.3 From 6f5e312e977118cc6eff4195381263beec60dab3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:06:02 +0200 Subject: gnu: Add ghc-lifted-base. * gnu/packages/haskell.scm (ghc-lifted-base): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 16144db2a1..124c86fa2f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2730,4 +2730,35 @@ 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 281bc4fd5d0f417fcda8108cf9a24094c6b5ca3d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:16:38 +0200 Subject: gnu: Add ghc-word8. * gnu/packages/haskell.scm (ghc-word8): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 124c86fa2f..47d9db1b05 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2761,4 +2761,26 @@ 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From fa709a2fc9e5ebc98df9d61452c727283a05fcd8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:14:59 +0200 Subject: gnu: Add ghc-stringsearch. * gnu/packages/haskell.scm (ghc-stringsearch): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 47d9db1b05..8fb9844f09 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2783,4 +2783,27 @@ Kaseorg.") (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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 3f2ce1dc3f070bb1cc24616cd56b3ab66b67af80 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:57:25 +0200 Subject: gnu: Add ghc-clock-bootstrap. The ghc-clock-bootstrap package has tests disabled, since they themselves indirectly require ghc-clock. After adding ghc-tasty and ghc-tasty-quickcheck, ghc-clock is defined as a public package with tests enabled. * gnu/packages/haskell.scm (ghc-clock-bootstrap): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8fb9844f09..b8d2e0ad7c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2410,6 +2410,31 @@ 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-charset (package (name "ghc-charset") -- cgit v1.2.3 From 7cfdbc514f5b558cdae16e87f66774bd033fbc6d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:18:13 +0200 Subject: gnu: Add ghc-tasty. * gnu/packages/haskell.scm (ghc-tasty): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b8d2e0ad7c..8c1e6f799d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2831,4 +2831,36 @@ 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 + (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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 766504d19996eb531a542cf8b2ef7ade0e737e91 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:02:58 +0200 Subject: gnu: Add ghc-tasty-hunit. * gnu/packages/haskell.scm (ghc-tasty-hunit): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8c1e6f799d..bebeda52c6 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2863,4 +2863,27 @@ 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 32ce3df7584c8a0536ba09797ae8c087c7998719 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:19:25 +0200 Subject: gnu: Add ghc-tasty-quickcheck. * gnu/packages/haskell.scm (ghc-tasty-quickcheck): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index bebeda52c6..be9c76d60b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2831,6 +2831,35 @@ 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 (package (name "ghc-tasty") -- cgit v1.2.3 From f4e5c04ed15456a47c0e79fc80a6e5044de8a662 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:32:50 +0200 Subject: gnu: Add ghc-clock. Add ghc-clock, which depends indirectly on ghc-clock-bootstrap for its test suite. * gnu/packages/haskell.scm (ghc-clock): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index be9c76d60b..825cda1b6a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2435,6 +2435,29 @@ unbounded @code{Integer} type.") 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") -- cgit v1.2.3 From fa67563caf1661f20c310b58e04b5871b6eac18b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:18:31 +0200 Subject: gnu: Add ghc-temporary-rc. * gnu/packages/haskell.scm (ghc-temporary-rc): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 825cda1b6a..edc0acd882 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1322,6 +1322,35 @@ 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-silently (package (name "ghc-silently") -- cgit v1.2.3 From 9855500af6b4516da998fb51ee3c20f3677fa466 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:18:42 +0200 Subject: gnu: Add ghc-tasty-golden. * gnu/packages/haskell.scm (ghc-tasty-golden): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index edc0acd882..6da0c1d1e3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2912,6 +2912,41 @@ occurrences of a substring (the first in case of overlaps) with another.") 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") -- cgit v1.2.3 From b53fa04681cc9250837f104a34386d5521d7221b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:19:41 +0200 Subject: gnu: Add ghc-smallcheck. * gnu/packages/haskell.scm (ghc-smallcheck): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6da0c1d1e3..566f11ec4a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1351,6 +1351,33 @@ 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-silently (package (name "ghc-silently") -- cgit v1.2.3 From 275ff10bb392be3c03c6c47bab3709b75b8c1f49 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:20:27 +0200 Subject: gnu: Add ghc-tasty-smallcheck. * gnu/packages/haskell.scm (ghc-tasty-smallcheck): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 566f11ec4a..b0d379d2aa 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1378,6 +1378,32 @@ properties for all test cases up to some depth. The test cases are generated automatically by SmallCheck.") (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") -- cgit v1.2.3 From 4a2fbdfe62a9c3ca0115b965c7d7473afa7b639f Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:21:34 +0200 Subject: gnu: Add ghc-tasty-ant-xml. * gnu/packages/haskell.scm (ghc-tasty-ant-xml): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b0d379d2aa..8e3164439e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1378,6 +1378,39 @@ 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") -- cgit v1.2.3 From a43a38a129e7f9aee3079bc8a73d6234c04ba432 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:20:03 +0200 Subject: gnu: Add ghc-scientific. * gnu/packages/haskell.scm (ghc-scientific): New variable. --- gnu/packages/haskell.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8e3164439e..759d223a42 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3088,4 +3088,40 @@ and any other types of tests into a single test suite.") test framework.") (license expat))) +(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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From bc74e0e171f2df977e18b5623aed935f1b371bb8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:26:24 +0200 Subject: gnu: Add ghc-attoparsec. * gnu/packages/haskell.scm (ghc-attoparsec): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 759d223a42..fa8b5cf752 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1134,6 +1134,34 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") @code{libtre} (fork by Roman Cheplyaka).") (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) + (arguments `(#:tests? #f)) ; FIXME: ghc-test-framework unavailable + (propagated-inputs + `(("ghc-scientific" ,ghc-scientific))) + (inputs + `(("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-appar (package (name "ghc-appar") -- cgit v1.2.3 From 39505126b17dd3a19c215d95f828d81ee45ec454 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:26:43 +0200 Subject: gnu: Add ghc-aeson. * gnu/packages/haskell.scm (ghc-aeson): New variable. --- gnu/packages/haskell.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fa8b5cf752..33a603ccb1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3152,4 +3152,40 @@ and space efficient. They are represented using 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-vector" ,ghc-vector))) + (inputs + `(("ghc-hashable" ,ghc-hashable) + ("ghc-text" ,ghc-text) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 7b72df8b7adb131321153d7d5e0d33cd5e6c3404 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:27:35 +0200 Subject: gnu: Add ghc-css-text. * gnu/packages/haskell.scm (ghc-css-text): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 33a603ccb1..fe463010c7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1162,6 +1162,32 @@ 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-appar (package (name "ghc-appar") -- cgit v1.2.3 From ca41c155c5ea510fc75c2924327446959b89a359 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:29:25 +0200 Subject: gnu: Add ghc-zip-archive. * gnu/packages/haskell.scm (ghc-zip-archive): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fe463010c7..c29f1bf1d9 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages elf) #:use-module (gnu packages bootstrap) + #:use-module (gnu packages zip) #:use-module (gnu packages ghostscript) #:use-module (gnu packages libffi) #:use-module (gnu packages libedit) @@ -1188,6 +1189,36 @@ complicated text/binary file formats.") 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-appar (package (name "ghc-appar") -- cgit v1.2.3 From 10e614523f7af4e3b9ee45da01dcb11f2c827c18 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:31:24 +0200 Subject: gnu: Add ghc-cereal. * gnu/packages/haskell.scm (ghc-cereal): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c29f1bf1d9..d1edef698e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1219,6 +1219,28 @@ Haskell.") modifying, and extracting files from zip archives in Haskell.") (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-appar (package (name "ghc-appar") -- cgit v1.2.3 From fa4f5024bcc42514de005d92b138ed7f2d25e5a8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:34:48 +0200 Subject: gnu: Add ghc-distributive. * gnu/packages/haskell.scm (ghc-distributive): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d1edef698e..939d2e79c3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1219,6 +1219,32 @@ Haskell.") 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") -- cgit v1.2.3 From 40b56b52914bd53e714d401844f96d8b75881498 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:34:58 +0200 Subject: gnu: Add ghc-comonad. * gnu/packages/haskell.scm (ghc-comonad): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 939d2e79c3..dc53fb989a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1267,6 +1267,36 @@ 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 ghc-appar (package (name "ghc-appar") -- cgit v1.2.3 From ce78a0f50c30f709c5d35dd44657542f9f08496d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:36:26 +0200 Subject: gnu: Add HScolour. * gnu/packages/haskell.scm (hscolour): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dc53fb989a..8c70c7d301 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1297,6 +1297,30 @@ parser isolation, and labeled blocks for better error messages.") (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-appar (package (name "ghc-appar") -- cgit v1.2.3 From 47038762bac1b2f0144b49636d9eb0263aec8d12 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:37:28 +0200 Subject: gnu: Add ghc-polyparse. * gnu/packages/haskell.scm (ghc-polyparse): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8c70c7d301..dd525bca30 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1321,6 +1321,36 @@ 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-appar (package (name "ghc-appar") -- cgit v1.2.3 From fad564ec035a3e0b99c3e28704070fb751480852 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:39:20 +0200 Subject: gnu: Add ghc-extra. * gnu/packages/haskell.scm (ghc-extra): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dd525bca30..eeff0d8c74 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1351,6 +1351,30 @@ 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-appar (package (name "ghc-appar") -- cgit v1.2.3 From f221841c69a168ec677b29f5c4cebda863c0fda8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:40:26 +0200 Subject: gnu: Add ghc-profunctors. * gnu/packages/haskell.scm (ghc-profunctors): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index eeff0d8c74..a499a6ad69 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,31 @@ 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-appar (package (name "ghc-appar") -- cgit v1.2.3 From aee98223264974637987a7fca2c701c0954ffd79 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:43:24 +0200 Subject: gnu: Add ghc-semigroupoids. * gnu/packages/haskell.scm (ghc-semigroupoids): New variable. --- gnu/packages/haskell.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a499a6ad69..12c5a93f60 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3038,6 +3038,44 @@ are implemented as FFI bindings to efficient code from zlib.") (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") -- cgit v1.2.3 From d2639cbc1781fd39bc80d1dddad61fb85c871174 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:43:48 +0200 Subject: gnu: Add ghc-reducers. * gnu/packages/haskell.scm (ghc-reducers): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 12c5a93f60..3a3522a749 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1400,6 +1400,35 @@ this package makes them available back to GHC 7.2.") (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") -- cgit v1.2.3 From 865ac57307e2b2f13613059793824b2a31525547 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:45:12 +0200 Subject: gnu: Add ghc-reflection. * gnu/packages/haskell.scm (ghc-reflection): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3a3522a749..dae6e06ff2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -364,6 +364,31 @@ package.") package.") (license bsd-3))) +(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") -- cgit v1.2.3 From 1e473fb8dc47c62a8daac39ac45638cae19b49ee Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:48:09 +0200 Subject: gnu: Add ghc-prelude-extras. * gnu/packages/haskell.scm (ghc-prelude-extras): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dae6e06ff2..6619ec9042 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -244,6 +244,28 @@ interactive environment for the functional language Haskell.") (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") -- cgit v1.2.3 From dc2e8ab7ea84bfc980bf8bbbf22f9265afab9297 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:48:22 +0200 Subject: gnu: Add ghc-free. * gnu/packages/haskell.scm (ghc-free): New variable. --- gnu/packages/haskell.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6619ec9042..599a50d3e3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3212,6 +3212,43 @@ 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-fast-logger (package (name "ghc-fast-logger") -- cgit v1.2.3 From 52db0e13720f2281d3a7c9c6eb91990df73b4355 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:49:08 +0200 Subject: gnu: Add ghc-adjunctions. * gnu/packages/haskell.scm (ghc-adjunctions): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 599a50d3e3..f6536982ac 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3249,6 +3249,39 @@ 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") -- cgit v1.2.3 From 6729152dc5178d2af07658d6cf145d3657a09b14 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:49:54 +0200 Subject: gnu: Add ghc-simple-reflect. * gnu/packages/haskell.scm (ghc-simple-reflect): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f6536982ac..e23a3ee903 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -386,6 +386,33 @@ package.") package.") (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-reflection (package (name "ghc-reflection") -- cgit v1.2.3 From 78249cc07543032b5749757c205fe36d420fd561 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:50:54 +0200 Subject: gnu: Add cpphs. * gnu/packages/haskell.scm (cpphs): New variable. --- gnu/packages/haskell.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e23a3ee903..703ef28f4c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -20,7 +20,7 @@ (define-module (gnu packages haskell) #:use-module (ice-9 regex) - #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1 expat)) + #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1 lgpl2.1+ gpl3+ expat)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -413,6 +413,34 @@ are no options for manipulating the reflected expressions beyond showing them.") (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") -- cgit v1.2.3 From 0ba563643ebcae725a73ee1986e3c3002a389755 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:14:03 +0200 Subject: gnu: Add ghc-cmdargs. * gnu/packages/haskell.scm (ghc-cmdargs): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 703ef28f4c..300469f93b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -413,6 +413,28 @@ are no options for manipulating the reflected expressions beyond showing them.") (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 cpphs (package (name "cpphs") -- cgit v1.2.3 From 81da1a45e80d9a71fb69d2e61ba5aab7dee4149d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:14:55 +0200 Subject: gnu: Add ghc-happy. * gnu/packages/haskell.scm (ghc-happy): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 300469f93b..930df4a785 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -435,6 +435,32 @@ them.") "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 cpphs (package (name "cpphs") -- cgit v1.2.3 From 6ff19687b1b12822e86f85836c26aab9246ec713 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:16:22 +0200 Subject: gnu: Add ghc-haskell-src-exts. * gnu/packages/haskell.scm (ghc-haskell-src-exts): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 930df4a785..03c283b014 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -461,6 +461,39 @@ 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) + (inputs + `(("cpphs" ,cpphs) + ("ghc-mtl" ,ghc-mtl) + ("ghc-smallcheck" ,ghc-smallcheck) + ("ghc-tasty" ,ghc-tasty) + ("ghc-happy" ,ghc-happy) + ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck) + ("ghc-tasty-golden" ,ghc-tasty-golden) + ("ghc-syb" ,ghc-syb))) + (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 cpphs (package (name "cpphs") -- cgit v1.2.3 From 6397aef061e48e87f036fcee81cbe59349b04247 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:18:11 +0200 Subject: gnu: Add hlint. * gnu/packages/haskell.scm (hlint): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 03c283b014..6d479d208b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -494,6 +494,35 @@ 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 cpphs (package (name "cpphs") -- cgit v1.2.3 From 85b2a2f541013d841e05eb12c74285086bae172d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:18:54 +0200 Subject: gnu: Add ghc-resourcet. * gnu/packages/haskell.scm (ghc-resourcet): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6d479d208b..3e6db05be1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -523,6 +523,37 @@ 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 cpphs (package (name "cpphs") -- cgit v1.2.3 From f550db48ebea7d0ce494641ebaf7d33ccd3f40ec Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:19:56 +0200 Subject: gnu: Add ghc-streaming-commons. * gnu/packages/haskell.scm (ghc-streaming-commons): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3e6db05be1..09ab4aa349 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -554,6 +554,39 @@ unwanted suggestions, and to add your own custom suggestions.") code where you can safely allocate resources.") (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") -- cgit v1.2.3 From d6a08d24bfd4eb94d761b23d2f57810100f7abb3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:41:58 +0200 Subject: gnu: Add ghc-xss-sanitize. * gnu/packages/haskell.scm (ghc-xss-sanitize): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 09ab4aa349..19fc409943 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -554,6 +554,38 @@ unwanted suggestions, and to add your own custom suggestions.") 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-streaming-commons (package (name "ghc-streaming-commons") -- cgit v1.2.3 From e372520ec3a6b6a091d12a82291d505c1bb9b5bd Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:43:40 +0200 Subject: gnu: Add ghc-parsers. * gnu/packages/haskell.scm (ghc-parsers): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 19fc409943..1aa39ea62d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1443,6 +1443,41 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") @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-attoparsec (package (name "ghc-attoparsec") -- cgit v1.2.3 From 5722409b182f1a0bae44e1b05a65306ba4480a09 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:20:46 +0200 Subject: gnu: Add ghc-cookie. * gnu/packages/haskell.scm (ghc-cookie): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1aa39ea62d..a89e6f426b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3834,6 +3834,37 @@ and any other types of tests into a single test suite.") 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") -- cgit v1.2.3 From 3784289667f767d7232b10d8236cd84325d7d336 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:46:43 +0200 Subject: gnu: Add ghc-wai. * gnu/packages/haskell.scm (ghc-wai): New variable. --- gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a89e6f426b..2e48d57015 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3937,4 +3937,38 @@ 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From fc3aa91b55fa79debb07591f3888e2e75ea5ff56 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:51:17 +0200 Subject: gnu: Add ghc-wai-logger. * gnu/packages/haskell.scm (ghc-wai-logger): New variable. --- gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2e48d57015..f9f7449609 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3971,4 +3971,38 @@ 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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 7588e55c737ff0091a170a158374a9c7819eccea Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:48:50 +0200 Subject: gnu: Add ghc-wai-extra. * gnu/packages/haskell.scm (ghc-wai-extra): New variable. --- gnu/packages/haskell.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f9f7449609..9e95db0734 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4005,4 +4005,52 @@ communication between web applications and web servers.") (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))) + ;;; haskell.scm ends here -- cgit v1.2.3 From 576cdc5ab4c6f08048db2f3a7a4aeae663594a17 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:04:39 +0200 Subject: gnu: Add ghc-vector-binary-instances. * gnu/packages/haskell.scm (ghc-vector-binary-instances): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9e95db0734..97c61be9d4 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2519,6 +2519,34 @@ 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") -- cgit v1.2.3 From 5125f63fea0dccf4e620a81e73636ad8e2a30067 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:06:03 +0200 Subject: gnu: Add ghc-kan-extensions. * gnu/packages/haskell.scm (ghc-kan-extensions): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 97c61be9d4..a35ba5c44b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3336,6 +3336,37 @@ Compatibility package for older packages.") 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") -- cgit v1.2.3 From e1a35c39b1618814e5213fd122a60170cabc59ec Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:08:09 +0200 Subject: gnu: Add ghc-lens. * gnu/packages/haskell.scm (ghc-lens): Add variable. --- gnu/packages/haskell.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a35ba5c44b..808e5cc765 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3390,6 +3390,57 @@ forms of the Yoneda lemma, and (co)density (co)monads for Haskell.") 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") -- cgit v1.2.3 From d7e67cf1a1a057498a57859d6c64adf6b537a9a1 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:10:00 +0200 Subject: gnu: Add ghc-cheapskate. * gnu/packages/haskell.scm (ghc-cheapskate): Add variable. --- gnu/packages/haskell.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 808e5cc765..f65d412b95 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3497,6 +3497,43 @@ 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") -- cgit v1.2.3 From 93248cfdd016c36e6acb3575af9da038c4a25cc6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:11:24 +0200 Subject: gnu: Add ghc-trifecta. * gnu/packages/haskell.scm (ghc-trifecta): New variable. --- gnu/packages/haskell.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f65d412b95..80812a033c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1478,6 +1478,48 @@ 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") -- cgit v1.2.3 From 600621a182efca965cea18bf869b463f7b40cb29 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:14:44 +0200 Subject: gnu: Add Idris. * gnu/packages/haskell.scm (idris): New variable. --- gnu/packages/haskell.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 80812a033c..d8f8bede85 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages elf) #: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) @@ -4242,4 +4243,65 @@ communication between web applications and web servers.") functionality.") (license expat))) +(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 + ;; . + (("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 -- cgit v1.2.3 From 56b3bc5694837c8558c007d4112ac16bf0fdd395 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 10:59:00 +0200 Subject: gnu: Add ghc-haddock-library. * gnu/packages/haskell.scm (ghc-haddock-library): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d8f8bede85..f47f3ac398 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -387,6 +387,36 @@ 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-simple-reflect (package (name "ghc-simple-reflect") -- cgit v1.2.3 From 735bd9c952efac2ae4f9f48fe259251e1909de77 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 10:59:23 +0200 Subject: gnu: Add ghc-haddock-api. * gnu/packages/haskell.scm (ghc-haddock-api): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f47f3ac398..88a551ce36 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -417,6 +417,30 @@ 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-simple-reflect (package (name "ghc-simple-reflect") -- cgit v1.2.3 From e0492a8dd49a6b4353ddc39fcbf0807ed2090cf4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 10:59:36 +0200 Subject: gnu: Add ghc-haddock. * gnu/packages/haskell.scm (ghc-haddock): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 88a551ce36..58c68d0dc6 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -441,6 +441,32 @@ the ‘haddock’ package.") 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 + ; + (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") -- cgit v1.2.3 From e40b25432ee3eb04f14a107c17b8a47570edb725 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:06:14 +0200 Subject: gnu: Add ghc-alex. * gnu/packages/haskell.scm (ghc-alex): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 58c68d0dc6..4ea896aa71 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -494,6 +494,35 @@ are no options for manipulating the reflected expressions beyond showing them.") (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 + ; + (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-cmdargs (package (name "ghc-cmdargs") -- cgit v1.2.3 From 5e217e4df7441d8a21acc96b6265acce05666f51 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:09:28 +0200 Subject: gnu: Add ghc-multipart. * gnu/packages/haskell.scm (ghc-multipart): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4ea896aa71..54271d864f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -494,6 +494,30 @@ 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-alex (package (name "ghc-alex") -- cgit v1.2.3 From 1f477b59c1b8167d2bd347ef81f02e728bbbf869 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:09:43 +0200 Subject: gnu: Add ghc-cgi. * gnu/packages/haskell.scm (ghc-cgi): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 54271d864f..175d026e43 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -547,6 +547,37 @@ 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") -- cgit v1.2.3 From 0bc641baf86b651a059fc53358d220a08dc7123c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:10:46 +0200 Subject: gnu: Add ghc-html. * gnu/packages/haskell.scm (ghc-html): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 175d026e43..1928793536 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -518,6 +518,29 @@ them.") "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-alex (package (name "ghc-alex") -- cgit v1.2.3 From e0d17b848226ef9401b1d588896942a96b1fdbd4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:13:03 +0200 Subject: gnu: Add ghc-haskell-src. * gnu/packages/haskell.scm (ghc-haskell-src): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1928793536..b8875ae0b1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -541,6 +541,35 @@ them.") documents.") (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") -- cgit v1.2.3 From 25eb1c2227daadf85b6c20e204c2109ca70becba Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:14:01 +0200 Subject: gnu: Add ghc-xhtml. * gnu/packages/haskell.scm (ghc-xhtml): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b8875ae0b1..55f3de0e56 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -541,6 +541,28 @@ them.") 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") -- cgit v1.2.3 From e422279bbc5e4743ed7b99bbe060a52f86d9837a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:16:24 +0200 Subject: gnu: Add ghc-regex-posix. * gnu/packages/haskell.scm (ghc-regex-posix): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 55f3de0e56..7fba208d43 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1655,6 +1655,28 @@ removed. Both IPv4 and IPv6 are supported.") 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) + (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-tdfa-rc (package (name "ghc-regex-tdfa-rc") -- cgit v1.2.3 From 25d51164f7b012a089abd70ce9a97d69bdb83aea Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:17:34 +0200 Subject: gnu: Add ghc-regex-compat. * gnu/packages/haskell.scm (ghc-regex-compat): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7fba208d43..b8674e5582 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1677,6 +1677,30 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") 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") -- cgit v1.2.3 From 22db3ce71a85d8cfc697f5fdca3ec353ee80db52 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:36:34 +0200 Subject: gnu: Add ghc-half. * gnu/packages/haskell.scm (ghc-half): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b8674e5582..05031f240e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -825,6 +825,27 @@ HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS attacks.") (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-streaming-commons (package (name "ghc-streaming-commons") -- cgit v1.2.3 From c480b85e662cabb8a111873e193ebf27bcac17a0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:36:58 +0200 Subject: gnu: Add ghc-openglraw. * gnu/packages/haskell.scm (ghc-openglraw): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 05031f240e..49ce141e2f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages compression) #:use-module (gnu packages elf) + #:use-module (gnu packages gl) #:use-module (gnu packages bootstrap) #:use-module (gnu packages zip) #:use-module (gnu packages gcc) @@ -846,6 +847,38 @@ attacks.") 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-streaming-commons (package (name "ghc-streaming-commons") -- cgit v1.2.3 From 894562e3141abb68d877ea4f75b8a80c764cda03 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 18:05:08 +0200 Subject: gnu: Add ghc-gluraw. * gnu/packages/haskell.scm (ghc-gluraw): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 49ce141e2f..e561f4d2ad 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -879,6 +879,30 @@ 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-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-streaming-commons (package (name "ghc-streaming-commons") -- cgit v1.2.3 From 74fa80ee684bfc985ead95c319aae47806b482d6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:45:00 +0200 Subject: gnu: Add ghc-objectname. * gnu/packages/haskell.scm (ghc-objectname): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e561f4d2ad..069d85c7d2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -826,6 +826,29 @@ 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-half (package (name "ghc-half") -- cgit v1.2.3 From fe28ba703f1d72b15428d9c214251d6fd9bf3b5c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:45:13 +0200 Subject: gnu: Add ghc-opengl. * gnu/packages/haskell.scm (ghc-opengl): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 069d85c7d2..9c55153ad8 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -926,6 +926,34 @@ 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") -- cgit v1.2.3 From bce030840d597df195630a6883841c917da4ec75 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:51:46 +0200 Subject: gnu: Add ghc-glut. * gnu/packages/haskell.scm (ghc-glut): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9c55153ad8..1d0dd1aea1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -902,6 +902,34 @@ 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))) + (inputs + `(("ghc-opengl" ,ghc-opengl) + ("freeglut" ,freeglut))) + (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") -- cgit v1.2.3 From b784e8c5029d3cb623971288c98624460f830c47 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 14:53:49 +0200 Subject: gnu: Add ghc-sdl. * gnu/packages/haskell.scm (ghc-sdl): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1d0dd1aea1..5da52e0be3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -31,6 +31,7 @@ #: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) @@ -849,6 +850,40 @@ 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) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after + 'unpack 'fix-/bin/sh + (lambda _ + ;; Use `sh', not `/bin/sh'. + (setenv "CONFIG_SHELL" "sh")))))) + (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-half (package (name "ghc-half") -- cgit v1.2.3 From 224a0ddbd905e956a3647e956494d2b904c24457 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 14:55:05 +0200 Subject: gnu: Add ghc-sdl-mixer. * gnu/packages/haskell.scm (ghc-sdl-mixer): New variable. --- gnu/packages/haskell.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5da52e0be3..7c21ef72d7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -884,6 +884,45 @@ 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))) + #:phases + (modify-phases %standard-phases + (add-after + 'unpack 'fix-/bin/sh + (lambda _ + ;; Use `sh', not `/bin/sh'. + (setenv "CONFIG_SHELL" "sh")))))) + (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-half (package (name "ghc-half") -- cgit v1.2.3 From c783cac07006a18c4c67f7c0b77f2f94ebcff287 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 14:56:02 +0200 Subject: gnu: Add ghc-sdl-image. * gnu/packages/haskell.scm (ghc-sdl-image): New variable. --- gnu/packages/haskell.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7c21ef72d7..83ec3f9ca3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -923,6 +923,44 @@ 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))) + #:phases + (modify-phases %standard-phases + (add-after + 'unpack 'fix-/bin/sh + (lambda _ + ;; Use `sh', not `/bin/sh'. + (setenv "CONFIG_SHELL" "sh")))))) + (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") -- cgit v1.2.3 From aa6f39127e7d4bd5783b4454f5b6b7cd243aa8b8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 15:00:06 +0200 Subject: gnu: Add Raincat. * gnu/packages/games.scm (raincat): New variable. --- gnu/packages/games.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9c44bbe3e0..546944ad25 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -52,6 +52,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) @@ -81,6 +82,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)) @@ -1139,6 +1141,39 @@ 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") -- cgit v1.2.3 From 6747de140d6ef714a7940bfa4cd0db544c9fe945 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 23 Oct 2015 21:31:49 +0800 Subject: gnu: bluez: Update to 5.35, fix test. * gnu/packages/patches/bluez-tests.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/linux.scm (bluez): Update to 5.35. [source]: Add patch. --- gnu-system.am | 1 + gnu/packages/linux.scm | 6 ++++-- gnu/packages/patches/bluez-tests.patch | 25 +++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/bluez-tests.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 3daec42e28..9bb537be33 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -411,6 +411,7 @@ dist_patch_DATA = \ gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/binutils-loongson-workaround.patch \ gnu/packages/patches/bitlbee-configure-doc-fix.patch \ + gnu/packages/patches/bluez-tests.patch \ gnu/packages/patches/boost-mips-avoid-m32.patch \ gnu/packages/patches/calibre-drop-unrar.patch \ gnu/packages/patches/calibre-no-updates-dialog.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 474e914c13..2c2ebab2e4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2315,7 +2315,7 @@ applications.") (define-public bluez (package (name "bluez") - (version "5.30") + (version "5.35") (source (origin (method url-fetch) (uri (string-append @@ -2323,7 +2323,9 @@ applications.") version ".tar.xz")) (sha256 (base32 - "0b1qbnq1xzcdw5rajg9yyg31bf21jnff0n6gnf1snz89bbdllfhy")))) + "1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs")) + (patches + (list (search-patch "bluez-tests.patch"))))) (build-system gnu-build-system) (arguments '(#:configure-flags 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?= +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 + -- cgit v1.2.3 From ca9745e484474f27d5773059a063c0d8e70f7e1d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Oct 2015 15:32:31 -0400 Subject: gnu: linux-libre: Update to 4.2.4. * gnu/packages/linux.scm (linux-libre): Update to 4.2.4. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4ee42349f8..f6f2555b1c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -210,7 +210,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.2.4") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -283,7 +283,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1xpx32k6bzxqg5y8lyaana97jjcli00iyqklh5fdhirfvjb9dimd")))) + "11r9yhi4c2zwfb8i21zk014gcm1kvnabq410wjy6g6a015d5v37w")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) -- cgit v1.2.3 From a2651b5477b0f4bad5954f8756bc53dbdf123f07 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 24 Oct 2015 09:22:15 +0800 Subject: gnu: gtk+: Remove rest from inputs. This broke building on mips64el. * gnu/packages/gtk.scm (gtk+)[inputs]: Remove rest. --- gnu/packages/gtk.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index c6a61b7f44..1bfd135dc7 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -543,7 +543,8 @@ application suites.") ;; on non-intel systems now. ;;("colord" ,colord) ("cups" ,cups) ;for printing support - ("rest" ,rest) + ;; XXX: rest depends on p11-kit, which fails on mips64el now. + ;;("rest" ,rest) ("json-glib" ,json-glib))) (native-inputs `(("perl" ,perl) -- cgit v1.2.3 From 6e4512c470c7196ae19f8166c7ec2d176f87d7af Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 24 Oct 2015 09:55:34 +0800 Subject: gnu: libgnomecanvasmm: Fix build by passing '-std=c++11'. * gnu/packages/gnome.scm (libgnomecanvasmm)[arguments]: Pass '-std=c++11' as CXXFLAGS. --- gnu/packages/gnome.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 34608786e4..488d46cc70 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1206,6 +1206,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) -- cgit v1.2.3 From 51de92a08e11b11ac9e5bbb2938be2ad0de02d80 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 22 Oct 2015 14:54:43 -0400 Subject: gnu: unzip: Reorganize security fixes for improved clarity. * gnu/packages/patches/unzip-fix-overflows-and-infloop.patch: Delete file. Its contents are now split into the following new files: * gnu/packages/patches/unzip-CVE-2015-7696.patch, gnu/packages/patches/unzip-CVE-2015-7697.patch, gnu/packages/patches/unzip-overflow-on-invalid-input.patch: New files. * gnu-system.am (dist_patch_DATA): Adjust accordingly. * gnu/packages/zip.scm (unzip)[source]: Adjust patches accordingly. --- gnu-system.am | 4 +- gnu/packages/patches/unzip-CVE-2015-7696.patch | 35 +++++++ gnu/packages/patches/unzip-CVE-2015-7697.patch | 28 ++++++ .../patches/unzip-fix-overflows-and-infloop.patch | 108 --------------------- .../patches/unzip-overflow-on-invalid-input.patch | 40 ++++++++ gnu/packages/zip.scm | 4 +- 6 files changed, 109 insertions(+), 110 deletions(-) create mode 100644 gnu/packages/patches/unzip-CVE-2015-7696.patch create mode 100644 gnu/packages/patches/unzip-CVE-2015-7697.patch delete mode 100644 gnu/packages/patches/unzip-fix-overflows-and-infloop.patch create mode 100644 gnu/packages/patches/unzip-overflow-on-invalid-input.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 655c00a679..13eede8bf6 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -651,9 +651,11 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-CVE-2014-8140.patch \ gnu/packages/patches/unzip-CVE-2014-8141.patch \ gnu/packages/patches/unzip-CVE-2014-9636.patch \ + gnu/packages/patches/unzip-CVE-2015-7696.patch \ + gnu/packages/patches/unzip-CVE-2015-7697.patch \ gnu/packages/patches/unzip-allow-greater-hostver-values.patch \ gnu/packages/patches/unzip-attribs-overflow.patch \ - gnu/packages/patches/unzip-fix-overflows-and-infloop.patch \ + gnu/packages/patches/unzip-overflow-on-invalid-input.patch \ gnu/packages/patches/unzip-format-secure.patch \ gnu/packages/patches/unzip-initialize-symlink-flag.patch \ gnu/packages/patches/unzip-overflow-long-fsize.patch \ diff --git a/gnu/packages/patches/unzip-CVE-2015-7696.patch b/gnu/packages/patches/unzip-CVE-2015-7696.patch new file mode 100644 index 0000000000..d6a4072673 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7696.patch @@ -0,0 +1,35 @@ +Copied from Debian. + +From: Petr Stodulka +Date: Mon, 14 Sep 2015 18:23:17 +0200 +Subject: Upstream fix for heap overflow +Bug-Debian: https://bugs.debian.org/802162 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: https://bugzilla.redhat.com/attachment.cgi?id=1073002 +Forwarded: yes + +--- + crypt.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +--- a/crypt.c ++++ b/crypt.c +@@ -465,7 +465,17 @@ + GLOBAL(pInfo->encrypted) = FALSE; + defer_leftover_input(__G); + for (n = 0; n < RAND_HEAD_LEN; n++) { +- b = NEXTBYTE; ++ /* 2012-11-23 SMS. (OUSPG report.) ++ * Quit early if compressed size < HEAD_LEN. The resulting ++ * error message ("unable to get password") could be improved, ++ * but it's better than trying to read nonexistent data, and ++ * then continuing with a negative G.csize. (See ++ * fileio.c:readbyte()). ++ */ ++ if ((b = NEXTBYTE) == (ush)EOF) ++ { ++ return PK_ERR; ++ } + h[n] = (uch)b; + Trace((stdout, " (%02x)", h[n])); + } diff --git a/gnu/packages/patches/unzip-CVE-2015-7697.patch b/gnu/packages/patches/unzip-CVE-2015-7697.patch new file mode 100644 index 0000000000..d688b42495 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7697.patch @@ -0,0 +1,28 @@ +Copied from Debian. + +From: Kamil Dudka +Date: Mon, 14 Sep 2015 18:24:56 +0200 +Subject: fix infinite loop when extracting empty bzip2 data +Bug-Debian: https://bugs.debian.org/802160 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: other, https://bugzilla.redhat.com/attachment.cgi?id=1073339 + +--- + extract.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/extract.c ++++ b/extract.c +@@ -2728,6 +2728,12 @@ + int repeated_buf_err; + bz_stream bstrm; + ++ if (G.incnt <= 0 && G.csize <= 0L) { ++ /* avoid an infinite loop */ ++ Trace((stderr, "UZbunzip2() got empty input\n")); ++ return 2; ++ } ++ + #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) + if (G.redirect_slide) + wsize = G.redirect_size, redirSlide = G.redirect_buffer; diff --git a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch deleted file mode 100644 index 33498db95e..0000000000 --- a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch +++ /dev/null @@ -1,108 +0,0 @@ -Copied from Fedora. - -http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e - -From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 -From: Petr Stodulka -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: [PATCH 1/3] upstream fix for heap overflow - -https://bugzilla.redhat.com/attachment.cgi?id=1073002 ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/crypt.c b/crypt.c -index 784e411..a8975f2 100644 ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } --- -2.4.6 - - -From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data - -Bug: https://sourceforge.net/p/infozip/patches/23/ ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/extract.c b/extract.c -index 7134bfe..29db027 100644 ---- a/extract.c -+++ b/extract.c -@@ -2733,6 +2733,12 @@ __GDEF - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; --- -2.4.6 - - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - diff --git a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch new file mode 100644 index 0000000000..013002a88c --- /dev/null +++ b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch @@ -0,0 +1,40 @@ +Extracted from a patch in Fedora. + +http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e + +From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Tue, 22 Sep 2015 18:52:23 +0200 +Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input + +Suggested-by: Stefan Cornelius +--- + extract.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/extract.c b/extract.c +index 29db027..b9ae667 100644 +--- a/extract.c ++++ b/extract.c +@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, + if (G.lrec.compression_method == STORED) { + zusz_t csiz_decrypted = G.lrec.csize; + +- if (G.pInfo->encrypted) ++ if (G.pInfo->encrypted) { ++ if (csiz_decrypted <= 12) { ++ /* handle the error now to prevent unsigned overflow */ ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarStringSmall(ErrUnzipNoFile), ++ LoadFarString(InvalidComprData), ++ LoadFarStringSmall2(Inflate))); ++ return PK_ERR; ++ } + csiz_decrypted -= 12; ++ } + if (G.lrec.ucsize != csiz_decrypted) { + Info(slide, 0x401, ((char *)slide, + LoadFarStringSmall2(WrnStorUCSizCSizDiff), +-- +2.5.2 + diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index 83c452778c..b7bed0e86d 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -85,11 +85,13 @@ Compression ratios of 2:1 to 3:1 are common for text files.") "unzip-CVE-2014-8140.patch" "unzip-CVE-2014-8141.patch" "unzip-CVE-2014-9636.patch" + "unzip-CVE-2015-7696.patch" + "unzip-CVE-2015-7697.patch" "unzip-allow-greater-hostver-values.patch" "unzip-initialize-symlink-flag.patch" "unzip-remove-build-date.patch" "unzip-attribs-overflow.patch" - "unzip-fix-overflows-and-infloop.patch" + "unzip-overflow-on-invalid-input.patch" "unzip-format-secure.patch" "unzip-overflow-long-fsize.patch"))))) (build-system gnu-build-system) -- cgit v1.2.3 From 92e4fbe21544082308f3757ec01fd0cb7e4d12e5 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 25 Oct 2015 17:40:14 +0800 Subject: gnu: ardour: Build with '--cxx11'. * gnu/packages/audio.scm (ardour, ardour-3)[arguments]: Add '--cxx11' as #:configure-flags. --- gnu/packages/audio.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a35ef278ee..7fa7f3dd24 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -178,7 +178,8 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) (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 -- cgit v1.2.3 From 581176c00b424ea6ddbeec38ba5dfaea43b53bcc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 25 Oct 2015 19:07:29 +0200 Subject: gnu: youtube-dl: Upgrade to 2015.10.24. * gnu/packages/video.scm (youtube-dl): Upgrade to 2015.10.24. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index e3e67becf5..d22975afd9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -797,7 +797,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2015.10.16") + (version "2015.10.24") (source (origin (method url-fetch) (uri (string-append "https://youtube-dl.org/downloads/" @@ -805,7 +805,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "001a4md0yl3zx129mksmwc85grss67r3c9rynvranf9vlpv202vn")))) + "1q9srq08vb2yzl81hmjrgqwajckq52fhh9ag2ppbbxjibf91w5gs")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") -- cgit v1.2.3 From 554093b7e139ca2224b754fdeb8a3c6f2d53bde5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 23 Oct 2015 19:55:34 +0200 Subject: gnu: ghc-async: Fix description formatting. * gnu/packages/haskell.scm (ghc-async): Formatting. --- gnu/packages/haskell.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 83ec3f9ca3..4303093d99 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3645,7 +3645,7 @@ library for Haskell.") (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 +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))) -- cgit v1.2.3 From fd59d2ee65d6c86b115a19394d31c270cc8d95e2 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 23 Oct 2015 19:57:15 +0200 Subject: gnu: haskell: Remove CONFIG_SHELL patches. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A previous commit to the haskell-build-system made sure that if necessary, the CONFIG_SHELL environment variable is set. That obviates the individual patches applied to some packages. Remove them. * gnu/packages/haskell.scm (ghc-network, ghc-old-time, ghc-sdl-image, ghc-sdl-mixer, ghc-sdl, ghc-unix-time, ghc-x11)[arguments]: Remove ‘fix-/bin/sh’ phase. --- gnu/packages/haskell.scm | 53 +++++------------------------------------------- 1 file changed, 5 insertions(+), 48 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4303093d99..652efc3fbd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -865,14 +865,6 @@ OpenAL.") (base32 "1sa3zx3vrs1gbinxx33zwq0x2bsf3i964bff7419p7vzidn36k46")))) (build-system haskell-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after - 'unpack 'fix-/bin/sh - (lambda _ - ;; Use `sh', not `/bin/sh'. - (setenv "CONFIG_SHELL" "sh")))))) (inputs `(("sdl" ,sdl))) (home-page "https://hackage.haskell.org/package/SDL") @@ -903,14 +895,7 @@ award winning Linux port of \"Civilization: Call To Power.\"") `(#: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))) - #:phases - (modify-phases %standard-phases - (add-after - 'unpack 'fix-/bin/sh - (lambda _ - ;; Use `sh', not `/bin/sh'. - (setenv "CONFIG_SHELL" "sh")))))) + (list (string-append "--extra-include-dirs=" sdl-mixer-include))))) (propagated-inputs `(("ghc-sdl" ,ghc-sdl))) (inputs @@ -942,14 +927,7 @@ MIDI, Ogg Vorbis, and SMPEG MP3 libraries.") `(#: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))) - #:phases - (modify-phases %standard-phases - (add-after - 'unpack 'fix-/bin/sh - (lambda _ - ;; Use `sh', not `/bin/sh'. - (setenv "CONFIG_SHELL" "sh")))))) + (list (string-append "--extra-include-dirs=" sdl-image-include))))) (propagated-inputs `(("ghc-sdl" ,ghc-sdl))) (inputs @@ -1216,12 +1194,6 @@ date and time formats.") (base32 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw")))) (build-system haskell-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-/bin/sh - (lambda _ - (setenv "CONFIG_SHELL" "sh")))))) (propagated-inputs `(("ghc-old-locale" ,ghc-old-locale))) (home-page "http://hackage.haskell.org/package/old-time") @@ -1433,12 +1405,6 @@ environment variables.") "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) @@ -1801,13 +1767,8 @@ but also need those types.") "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. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-/bin/sh - (lambda _ - (setenv "CONFIG_SHELL" "sh")))))) + `(#: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))) @@ -3162,11 +3123,7 @@ boxed and storable vectors.") (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 -- cgit v1.2.3 From 64a719203fc5bbb6ace1e18727de6c216ad484fc Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 26 Oct 2015 13:28:20 +0100 Subject: gnu: racket: Update to 6.2.1. * gnu/packages/scheme.scm (racket): Update to 6.2.1. --- gnu/packages/scheme.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From e3e1ecf67c03836295b513d10403194a513afa2d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 26 Oct 2015 00:13:03 +0100 Subject: gnu: Add RPM. * gnu/packages/package-management.scm (rpm): New variable. * gnu/packages/backup.scm (libarchive): Add comment. --- gnu/packages/backup.scm | 1 + gnu/packages/package-management.scm | 83 ++++++++++++++++++++++++++++++++++++- 2 files changed, 83 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 84d27c08a6..99a10e1c7f 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -147,6 +147,7 @@ backups (called chunks) to allow easy burning to CD/DVD.") (search-patch "libarchive-fix-lzo-test-case.patch") (search-patch "libarchive-CVE-2013-0211.patch"))))) (build-system gnu-build-system) + ;; TODO: Add -L/path/to/nettle in libarchive.pc. (inputs `(("zlib" ,zlib) ("nettle" ,nettle) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 8fbe5b3064..4e69d6de59 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) @@ -275,3 +283,76 @@ 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+))) + -- cgit v1.2.3 From 5e1c936712d824e7ccbb3cbb8ac7ffa375237469 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 26 Oct 2015 09:58:55 +0100 Subject: gnu: Add python-file. * gnu/packages/python.scm (python-file, python2-file): New variables. --- gnu/packages/python.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9721343235..23150a3dfe 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -39,6 +39,7 @@ #: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) @@ -5750,3 +5751,29 @@ 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)) -- cgit v1.2.3 From 7dae1f4301323e5789b93e04786977c87aa8c8da Mon Sep 17 00:00:00 2001 From: Cyrill Schenkel Date: Fri, 23 Oct 2015 16:38:16 +0200 Subject: gnu: Add xcompmgr. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (xcompmgr): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b39bbd436f..a891fcc06b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015 Eric Dvorsak +;;; Copyright © 2015 Cyrill Schenkel ;;; ;;; This file is part of GNU Guix. ;;; @@ -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")))) -- cgit v1.2.3 From 7e9b07bdcbe6b5339fdc70d880089282ebc82578 Mon Sep 17 00:00:00 2001 From: Aljosha Papsch Date: Mon, 26 Oct 2015 22:27:05 +0100 Subject: gnu: Add yapet. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/password-utils.scm (yapet): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/password-utils.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 921ade1030..3cb319aeda 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 ;;; Copyright © 2015 Efraim Flashner +;;; Copyright © 2015 Aljosha Papsch ;;; ;;; 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)) @@ -104,3 +108,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+))) -- cgit v1.2.3 From b9cbe316454e86dcc465f21993d99f3b00678593 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 Oct 2015 10:05:36 +0100 Subject: gnu: libwacom: Add dependency on libgudev. * gnu/packages/xdisorg.scm (libwacom)[inputs]: Add LIBGUDEV. --- gnu/packages/xdisorg.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 21e403e9ab..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) @@ -606,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/") -- cgit v1.2.3 From ff5c33fe718dfdfcd1d9a16423426e4f456479a3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 Oct 2015 10:08:02 +0100 Subject: gnu: gtkmm: Add dependency on glib:bin. * gnu/packages/gtk.scm (gtkmm)[native-inputs]: Add glib:bin. (gtkmm-2)[native-inputs]: New field. --- gnu/packages/gtk.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 1bfd135dc7..2d35ac48b7 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -829,7 +829,8 @@ toolkit.") (base32 "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) @@ -862,6 +863,7 @@ extensive documentation, including API reference and a tutorial.") "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4")))) (arguments '(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++ + (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("pangomm" ,pangomm) ("cairomm" ,cairomm) -- cgit v1.2.3 From c21317d4250b75ee702979c67a942a618bf29628 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 Oct 2015 10:19:46 +0100 Subject: gnu: mu: Adjust to new GLib version. * gnu/packages/mail.scm (%mu-gtester-patch): New variable. (mu)[source]: Use it. --- gnu/packages/mail.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 25407b835a..9a597e2a4e 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -306,6 +306,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 +326,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) -- cgit v1.2.3 From 61d5fd03bf2840849b82c7d9ed5eebc313e043b9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Oct 2015 11:12:32 +0100 Subject: gnu: crossmap: Update to 0.2.1. * gnu/packages/bioinformatics.scm (crossmap): Update to 0.2.1. --- gnu/packages/bioinformatics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 48edd56854..4b7e70f072 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -805,15 +805,16 @@ time.") (define-public crossmap (package (name "crossmap") - (version "0.1.6") + (version "0.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/crossmap/CrossMap-" version ".tar.gz")) (sha256 (base32 - "163hi5gjgij6cndxlvbkp5jjwr0k4wbm9im6d2210278q7k9kpnp")) - ;; patch has been sent upstream already + "07y179f63d7qnzdvkqcziwk9bs3k4zhp81q392fp1hwszjdvy22f")) + ;; This patch has been sent upstream already and is available + ;; for download from Sourceforge, but it has not been merged. (patches (list (search-patch "crossmap-allow-system-pysam.patch"))) (modules '((guix build utils))) -- cgit v1.2.3 From 104c1986ac0c786440ece5d3fe88e9d501ba65e3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 23 Oct 2015 14:16:27 +0200 Subject: gnu: subread: Use SSE optimizations on x86_64 only. * gnu/packages/bioinformatics.scm (subread)[arguments]: Override CC and CCFLAGS conditionally dependent on target system. --- gnu/packages/bioinformatics.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4b7e70f072..9765f1a178 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2704,7 +2704,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 -- cgit v1.2.3 From d8c317df261507ab6fe9ce58f0148ff71db3a24d Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 27 Oct 2015 20:01:35 +0800 Subject: gnu: ganv, pavucontrol, jalv: Fix build by compile with C++11. * gnu/packages/audio.scm (jalv)[arguments], gnu/packages/gtk.scm (ganv)[arguments], gnu/packages/music.scm (non-sequencer)[arguments], gnu/packages/pulseaudio.scm (pavucontrol)[arguments]: Set 'CXXFLAGS' to '-std=c++11'. --- gnu/packages/audio.scm | 11 ++++++++++- gnu/packages/gtk.scm | 4 +++- gnu/packages/music.scm | 8 ++++++++ gnu/packages/pulseaudio.scm | 2 ++ 4 files changed, 23 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7fa7f3dd24..ca3be8e424 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -746,7 +746,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/gtk.scm b/gnu/packages/gtk.scm index 2d35ac48b7..3ae2d70af9 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -253,8 +253,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=" diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c693f0faf0..5dcb5449a2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -346,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) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index d832228278..2c283f0986 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -199,6 +199,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) -- cgit v1.2.3 From bce5ae1d2651b06bf1ce4f8ada324e6e22dd3168 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 27 Oct 2015 21:47:37 +0800 Subject: gnu: leptonica: Update to 1.72. * gnu/packages/image.scm (leptonica): Update to 1.72. --- gnu/packages/image.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 5a86beea3f..c666674318 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -184,14 +184,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 @@ -228,7 +228,8 @@ 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")))))))) (home-page "http://www.leptonica.com/") (synopsis "Library and tools for image processing and analysis") (description -- cgit v1.2.3 From 9a9e143b7501eef808159d74932f30948820dfba Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Oct 2015 14:04:56 -0500 Subject: gnu: guile-next: Update to 20151025.e5bccb6 * gnu/packages/guile.scm (guile-next): Update to 20151025.e5bccb6. --- gnu/packages/guile.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index e778bf0f6e..da75addc94 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -189,15 +189,15 @@ without requiring the source code to be rewritten.") (define-public guile-next (package (inherit guile-2.0) (name "guile-next") - (version "20150815.00884bb") + (version "20151025.e5bccb6") (source (origin (method git-fetch) (uri (git-reference (url "git://git.sv.gnu.org/guile.git") - (commit "00884bb79fff41fdf5f22f24a74e366a94a14c9b"))) + (commit "e5bccb6e5df3485152bc6501e1f36275e09c6352"))) (sha256 (base32 - "0qk8m9aq3i7pzw6npim58xmsvjqfz5kl1pkyb6b43awn2vydydi5")))) + "0z7ywryfcargrpz8hdrz6sfs06c2h2y9baqin3mbjvvg96a5bx47")))) (arguments (substitute-keyword-arguments `(;; Tests aren't passing for now. -- cgit v1.2.3 From c364a287ad6ed581af4de457e7d968d815578f39 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Oct 2015 13:02:37 +0200 Subject: gnu: gcj: Run libjava tests. * gnu/packages/gcc.scm (gcj)[native-inputs]: Add dejagnu. [arguments]: Enable tests and set test target to "check-target-libjava". --- gnu/packages/gcc.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 7e4f18b887..419e2c9cbf 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 ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2014 Ricardo Wurmus +;;; Copyright © 2014, 2015 Ricardo Wurmus ;;; Copyright © 2015 Andreas Enge ;;; ;;; 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) @@ -460,6 +461,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. @@ -471,7 +475,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" -- cgit v1.2.3 From a10d3a687dc299e1e6c8b08ad97cb6de6a45612d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 27 Oct 2015 11:06:37 +0100 Subject: gnu: qt: Update to 5.5.1. * gnu/packages/qt.scm (qt): Update to 5.5.1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ab390d37de..9813f5b0fd 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -95,7 +95,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 +107,7 @@ X11 (yet).") version ".tar.xz")) (sha256 (base32 - "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) + "0615cn4n3n78v48lnmapqz2jizm2pzrjwvsjlnsf4awrsiiqw0kg")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 85d4aeacc49f2793b7d67914fd4086e2d7b2e6f8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 Oct 2015 20:43:11 +0100 Subject: gnu: Add python-debian. * gnu/packages/python.scm (python-debian, python2-debian): New variables. --- gnu/packages/python.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 23150a3dfe..8fc87599fd 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5777,3 +5777,43 @@ Python's @code{ctypes} foreign function interface (FFI).") (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 + "This package provides Python modules that abstract many formats of +Debian-related files, such as: + +@itemize +@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 itemize\n") + + ;; Modules are either GPLv2+ or GPLv3+. + (license gpl3+))) + +(define-public python2-debian + (package-with-python2 python-debian)) -- cgit v1.2.3 From 816a653884558feab29ccf470c972262708309f9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 Oct 2015 20:53:48 +0100 Subject: gnu: Add python-chardet. * gnu/packages/python.scm (python-chardet, python2-chardet): New variables. --- gnu/packages/python.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8fc87599fd..45fd417e86 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5817,3 +5817,30 @@ Debian-related files, such as: (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)) -- cgit v1.2.3 From 08dcff47445b4029f7f4b4a42750b29a2a184131 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 27 Oct 2015 21:01:55 +0100 Subject: gnu: Add Diffoscope. * gnu/packages/package-management.scm (diffoscope): New variable. --- gnu/packages/package-management.scm | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4e69d6de59..65464f7691 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -356,3 +356,57 @@ 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+))) -- cgit v1.2.3 From c448bf7443dcfbc44f525526a43ac52754a0cd87 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 19 Aug 2015 16:30:02 -0400 Subject: system: grub: On MIPS, the linux image name is vmlinuz, not bzImage. * gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name' internal procedure. Use it from 'entry->gexp'. --- gnu/system/grub.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index e49b6dbe54..7f85adf065 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -206,6 +206,11 @@ fi~%" "Return the GRUB configuration file corresponding to CONFIG, a 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,13 +219,14 @@ entries corresponding to old generations of the system." (($ 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))) -- cgit v1.2.3 From 6b173ac0041539989f1c892b35ea8817fda18ad4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 9 Aug 2015 18:45:49 -0400 Subject: system: grub: Adjust eye-candy to work on non-Intel systems. * gnu/system/grub.scm (eye-candy): Accept additional 'system' argument. Add local 'setup-gfxterm-body' variable. Replace the 'load_video' grub function with 'setup_gfxterm', which includes everything in the 'if loadfont' form on Intel systems, but is empty on non-Intel. (grub-configuration-file): Pass 'system' to 'eye-candy. --- gnu/system/grub.scm | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) (limited to 'gnu') diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index 7f85adf065..e0717cc59b 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? @@ -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) + " + set gfxmode=640x480 + 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)))))) ;;; @@ -229,7 +240,7 @@ entries corresponding to old generations of the system." #$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) -- cgit v1.2.3 From 9f4a2496117aa17c6badcead56aa6efce6a97cbd Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 27 Aug 2015 18:37:30 -0400 Subject: linux-initrd: Use pata_acpi, pata_atiixp, and isci modules only on Intel. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Include "pata_acpi", "pata_atiixp", and "isci" on Intel systems only. --- gnu/system/linux-initrd.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') 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 '()) -- cgit v1.2.3 From b1b9e5c8d243d37efc07568a9b96e061cf24c264 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 27 Oct 2015 20:19:01 -0400 Subject: gnu: linux-libre: Update to 4.2.5. * gnu/packages/linux.scm (linux-libre): Update to 4.2.5. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f6f2555b1c..790a500ba8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -210,7 +210,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "4.2.4") + (let* ((version "4.2.5") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -283,7 +283,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "11r9yhi4c2zwfb8i21zk014gcm1kvnabq410wjy6g6a015d5v37w")))) + "13ar9sghm2g5w2km9x2d07q3lh81rz286d6slklv56qanm24chzx")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) -- cgit v1.2.3 From 6c8d70b0b69bb842b7b5ddd8e6f354962b0a3b29 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 23 Aug 2015 13:47:13 -0400 Subject: gnu: linux-libre: Add 'supported-systems' field: Intel only for now. * gnu/packages/linux.scm (linux-libre)[supported-systems]: New field. --- gnu/packages/linux.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 790a500ba8..8b7fe35309 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -285,6 +285,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (base32 "13ar9sghm2g5w2km9x2d07q3lh81rz286d6slklv56qanm24chzx")))) (build-system gnu-build-system) + (supported-systems '("x86_64-linux" "i686-linux")) (native-inputs `(("perl" ,perl) ("bc" ,bc) ("module-init-tools" ,module-init-tools) -- cgit v1.2.3 From 726029b2bac3584d7d13e577d7321ed84c80aebd Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 6 Aug 2015 18:15:51 -0400 Subject: gnu: linux-libre: Add case for ARCH=mips. * gnu/packages/linux.scm (linux-libre)[build-phase]: When setting ARCH, add a case for MIPS. --- gnu/packages/linux.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8b7fe35309..d66fac5ceb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -220,6 +220,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"))) -- cgit v1.2.3 From 44a88ce49e6a6a4595a9ea6e02ea59be89614eae Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 23 Aug 2015 22:54:59 -0400 Subject: gnu: linux-libre: On MIPS, the linux image name is vmlinuz, not bzImage. * gnu/packages/linux.scm (linux-libre)[install-phase]: Add vmlinuz to the list of file names to be copied. --- gnu/packages/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d66fac5ceb..24fed02dca 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -267,7 +267,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") -- cgit v1.2.3 From 04e0eac1ed80c0ecba5a21658e951959b5e3a059 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 15 Aug 2015 01:22:06 -0400 Subject: gnu: grub: Use modify-phases and other minor cleanups. * gnu/packages/grub.scm (grub)[arguments]: Use modify-phases. Return #t from 'patch-stuff' phase. Add 'patch-stuff' phase after 'unpack' instead of before 'patch-source-shebangs'. [inputs]: Add comment noting that 'fuse' would be a desirable input. --- gnu/packages/grub.scm | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index b1da394835..4a7dca8945 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 +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,25 +85,28 @@ (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) -- cgit v1.2.3 From 58301666dd3e372ee05aa23e4043781c8d24be97 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 19 Aug 2015 13:57:30 -0400 Subject: gnu: grub: Install documentation. * gnu/packages/grub.scm (grub)[native-inputs]: Add help2man and texinfo. --- gnu/packages/grub.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index 4a7dca8945..7875a64186 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -29,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)) @@ -112,6 +114,8 @@ `(("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. -- cgit v1.2.3 From 5c7bdc9a7fb2ed4f963dbacc7c1bee8cc9223303 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 28 Oct 2015 11:59:42 +0100 Subject: gnu: python-debian: Avoid @itemize in description. * gnu/packages/python.scm (python-debian): Use @enumerate instead of @itemize. --- gnu/packages/python.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 45fd417e86..08f0146641 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5799,10 +5799,12 @@ Python's @code{ctypes} foreign function interface (FFI).") (home-page "http://packages.debian.org/sid/python-debian") (synopsis "Debian package related modules") (description + ;; XXX: Use @enumerate instead of @itemize to work around + ;; . "This package provides Python modules that abstract many formats of Debian-related files, such as: -@itemize +@enumerate @item Debtags information; @item @file{debian/changelog} files; @item packages files, pdiffs; @@ -5810,7 +5812,7 @@ Debian-related files, such as: @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 itemize\n") +@end enumerate\n") ;; Modules are either GPLv2+ or GPLv3+. (license gpl3+))) -- cgit v1.2.3 From c7c5c5ae8b9f9e3621579c84ef1d2d536f961f04 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Wed, 28 Oct 2015 20:48:45 +0800 Subject: gnu: leptonica: Disable failing tests. * gnu/packages/image.scm (leptonica)[arguments]: Add 'disable-failing-tests' phase. --- gnu/packages/image.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index c666674318..b8936c222e 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -229,7 +229,14 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.") (substitute* "prog/reg_wrapper.sh" ((" /bin/sh ") (string-append " " (which "sh") " ")) - (("which gnuplot") (which "gnuplot")))))))) + (("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 -- cgit v1.2.3 From 35b50a753563c03a57d98761d7ebff12efdd5c3d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 28 Oct 2015 15:30:31 +0100 Subject: container: Remove unnecessary CLONE_CHILD_* flags. * gnu/build/linux-container.scm (namespaces->bit-mask): Remove CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID, which are unneeded. Discussed at . --- gnu/build/linux-container.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm index e911494058..556422bc38 100644 --- a/gnu/build/linux-container.scm +++ b/gnu/build/linux-container.scm @@ -165,7 +165,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) -- cgit v1.2.3 From fb8d1be8e125722226fe3d2ae7dedb6ba7015290 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 28 Oct 2015 15:56:22 +0100 Subject: gnu: pari-gp: Add X11 input. * gnu/packages/algebra.scm (pari-gp)[inputs]: Add libx11, which enables plotting functions. --- gnu/packages/algebra.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 2f52f5545c..daa5ddd072 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) @@ -125,6 +126,7 @@ solve the shortest vector problem.") "0k1qqagfl6zn7gvwmsqffj6g9yrzqvszwh2mblhmxpjlw1pigfh8")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp) + ("libx11" ,libx11) ("perl" ,perl) ("readline" ,readline))) (arguments -- cgit v1.2.3 From 9a067efdb2076293e505c29a51a9819ff025b056 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Oct 2015 14:39:13 +0100 Subject: gnu: pbtranscript-tofu: Update to 2.2.3. * gnu/packages/bioinformatics.scm (pbtranscript-tofu): Update to 2.2.3. [source]: Remove bundled Cython sources in a snippet. Replace ".tar.gz" extension in file-name field with "-checkout". [arguments]: Replace "enter-directory-and-clean-up" phase with "enter-directory" phase, and add "patch-setuppy" phase. [inputs]: Add python2-h5py. Move python2-cython ... [native-inputs]: ... to this field. --- gnu/packages/bioinformatics.scm | 55 +++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 27 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9765f1a178..fdb42562e8 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1839,19 +1839,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 @@ -1861,34 +1867,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") -- cgit v1.2.3 From b0b9f6e0a62852a0b4d0a86d9e8427dd7d36a714 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 28 Oct 2015 18:15:49 +0100 Subject: services: 'guix-configuration' has a 'substitute-urls' field. * gnu/services/base.scm ()[substitute-urls]: New field. (guix-dmd-service): Honor it. * doc/guix.texi (Base Services): Document it. --- doc/guix.texi | 3 +++ gnu/services/base.scm | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 4fbe057614..0a3827911b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6217,6 +6217,9 @@ Whether to authorize the substitute key for @code{hydra.gnu.org} @item @code{use-substitutes?} (default: @code{#t}) Whether to use substitutes. +@item @code{substitute-urls} (default: @var{%default-substitute-urls}) +The list of URLs where to look for substitutes by default. + @item @code{extra-options} (default: @code{'()}) List of extra command-line options for @command{guix-daemon}. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 336cc4dec9..618cef8a98 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -751,6 +751,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 ; @@ -765,7 +767,8 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) "Return a for the Guix daemon service with CONFIG." (match config (($ 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 +780,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 -- cgit v1.2.3 From cd6f6c22fb581e5ef2aa88f5e9c14a4c54a071c3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 28 Oct 2015 21:36:07 +0100 Subject: services: Add 'modify-services'. * gnu/services.scm (%modify-service, modify-services): New macros. * gnu/services/base.scm (mingetty-service-type, guix-service-type): Export. * emacs/guix-devel.el (guix-devel-keywords): Add 'modify-services'. Ditto in 'guix-devel-scheme-indent' call. * doc/guix.texi (Using the Configuration System): Give an example of 'modify-services'. (Service Reference): Document it. --- .dir-locals.el | 1 + doc/guix.texi | 73 ++++++++++++++++++++++++++++++++++++++++++++++----- emacs/guix-devel.el | 2 ++ gnu/services.scm | 42 +++++++++++++++++++++++++++++ gnu/services/base.scm | 2 ++ 5 files changed, 114 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/.dir-locals.el b/.dir-locals.el index 54d5bdaefc..0873c1d747 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -23,6 +23,7 @@ (eval . (put 'lambda* 'scheme-indent-function 1)) (eval . (put 'substitute* 'scheme-indent-function 1)) (eval . (put 'modify-phases 'scheme-indent-function 1)) + (eval . (put 'modify-services 'scheme-indent-function 1)) (eval . (put 'with-directory-excursion 'scheme-indent-function 1)) (eval . (put 'package 'scheme-indent-function 0)) (eval . (put 'origin 'scheme-indent-function 0)) diff --git a/doc/guix.texi b/doc/guix.texi index 0a3827911b..01e28041f2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5363,16 +5363,40 @@ The @code{services} field lists @dfn{system services} to be made available when the system starts (@pxref{Services}). The @code{operating-system} declaration above specifies that, in addition to the basic services, we want the @command{lshd} secure shell -daemon listening on port 2222, and allowing remote @code{root} logins -(@pxref{Invoking lshd,,, lsh, GNU lsh Manual}). Under the hood, +daemon listening on port 2222 (@pxref{Networking Services, +@code{lsh-service}}). Under the hood, @code{lsh-service} arranges so that @code{lshd} is started with the right command-line options, possibly with supporting configuration files -generated as needed (@pxref{Defining Services}). @xref{operating-system -Reference}, for details about the available @code{operating-system} -fields. +generated as needed (@pxref{Defining Services}). + +@cindex customization, of services +@findex modify-services +Occasionally, instead of using the base services as is, you will want to +customize them. For instance, to change the configuration of +@code{guix-daemon} and Mingetty (the console log-in), you may write the +following instead of @var{%base-services}: + +@lisp +(modify-services %base-services + (guix-service-type config => + (guix-configuration + (inherit config) + (use-substitutes? #f) + (extra-options '("--gc-keep-outputs")))) + (mingetty-service-type config => + (mingetty-configuration + (inherit config) + (motd (plain-file "motd" "Hi there!"))))) +@end lisp + +@noindent +The effect here is to change the options passed to @command{guix-daemon} +when it is started, as well as the ``message of the day'' that appears +when logging in at the console. @xref{Service Reference, +@code{modify-services}}, for more on that. The configuration for a typical ``desktop'' usage, with the X11 display -server, a desktop environment, network management, an SSH server, and +server, a desktop environment, network management, power management, and more, would look like this: @lisp @@ -5382,6 +5406,8 @@ more, would look like this: @xref{Desktop Services}, for the exact list of services provided by @var{%desktop-services}. @xref{X.509 Certificates}, for background information about the @code{nss-certs} package that is used here. +@xref{operating-system Reference}, for details about all the available +@code{operating-system} fields. Assuming the above snippet is stored in the @file{my-system-config.scm} file, the @command{guix system reconfigure my-system-config.scm} command @@ -7539,6 +7565,41 @@ Here is an example of how a service is created and manipulated: @result{} #t @end example +The @code{modify-services} form provides a handy way to change the +parameters of some of the services of a list such as +@var{%base-services} (@pxref{Base Services, @code{%base-services}}). Of +course, you could always use standard list combinators such as +@code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, +guile, GNU Guile Reference Manual}); @code{modify-services} simply +provides a more concise form for this common pattern. + +@deffn {Scheme Syntax} modify-services @var{services} @ + (@var{type} @var{variable} => @var{body}) @dots{} + +Modify the services listed in @var{services} according to the given +clauses. Each clause has the form: + +@example +(@var{type} @var{variable} => @var{body}) +@end example + +where @var{type} is a service type, such as @var{guix-service-type}, and +@var{variable} is an identifier that is bound within @var{body} to the +value of the service of that @var{type}. @xref{Using the Configuration +System}, for an example. + +This is a shorthand for: + +@example +(map (lambda (service) @dots{}) @var{services}) +@end example +@end deffn + +Next comes the programming interface for service types. This is +something you want to know when writing new service definitions, but not +necessarily when simply looking for ways to customize your +@code{operating-system} declaration. + @deftp {Data Type} service-type @cindex service type This is the representation of a @dfn{service type} (@pxref{Service Types diff --git a/emacs/guix-devel.el b/emacs/guix-devel.el index 170ce1ad54..8eb030942c 100644 --- a/emacs/guix-devel.el +++ b/emacs/guix-devel.el @@ -198,6 +198,7 @@ to find 'modify-phases' keywords." "mbegin" "mlet" "mlet*" + "modify-services" "munless" "mwhen" "run-with-state" @@ -288,6 +289,7 @@ Each rule should have a form (SYMBOL VALUE). See `put' for details." (mlet 2) (mlet* 2) (modify-phases 1) + (modify-services 1) (munless 1) (mwhen 1) (operating-system 0) diff --git a/gnu/services.scm b/gnu/services.scm index d0fe0ade17..818252386f 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -48,6 +48,7 @@ service-kind service-parameters + modify-services service-back-edges fold-services @@ -133,6 +134,47 @@ (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)))) ;;; diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 618cef8a98..b8e8ccd5f1 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -57,6 +57,7 @@ mingetty-configuration mingetty-configuration? mingetty-service + mingetty-service-type %nscd-default-caches %nscd-default-configuration @@ -74,6 +75,7 @@ guix-configuration guix-configuration? guix-service + guix-service-type %base-services)) -- cgit v1.2.3 From 1fda9b1f46fb5fabbc08153b2fdf19c31f873e6c Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 29 Oct 2015 00:07:20 +0300 Subject: gnu: magit: Update to 2.3.0. * gnu/packages/emacs.scm (magit): Update to 2.3.0. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6416b00ee0..ae6d0db612 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -316,7 +316,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") (define-public magit (package (name "magit") - (version "2.2.2") + (version "2.3.0") (source (origin (method url-fetch) (uri (string-append @@ -324,7 +324,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1imkj4prprnivhbpdn1mdpiryxkckzy5hbnqaahv7gixwac1irh8")))) + "0bi0vqp9802f00vnii3x80iqycji20bw4pjysy6al0d86mkggjx5")))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-no-x))) -- cgit v1.2.3 From b7f16845c837e8f640b20df6c9cdeb11690df2f8 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 29 Oct 2015 00:08:03 +0300 Subject: gnu: magit-svn: Update to 2.1.1. * gnu/packages/emacs.scm (magit-svn): Update to 2.1.1. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ae6d0db612..f8be743ce5 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -372,7 +372,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 @@ -381,7 +381,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) -- cgit v1.2.3 From a0d3eff99c956847e092450a7e6b874313c69c82 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Oct 2015 23:55:27 +0200 Subject: gnu: bluez: Update to 5.35. * gnu/packages/linux.scm (bluez): Update to 5.35. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 24fed02dca..9b0af0d507 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2357,7 +2357,7 @@ applications.") (define-public bluez (package (name "bluez") - (version "5.30") + (version "5.35") (source (origin (method url-fetch) (uri (string-append @@ -2365,7 +2365,7 @@ applications.") version ".tar.xz")) (sha256 (base32 - "0b1qbnq1xzcdw5rajg9yyg31bf21jnff0n6gnf1snz89bbdllfhy")))) + "1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs")))) (build-system gnu-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From dd169b73e0104738e2be5fee4ded6143beeca044 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 29 Oct 2015 11:08:05 +0100 Subject: gnu: ghc-glut: Propagate freeglut input. * gnu/packages/haskell.scm (ghc-glut): Move freeglut to propagated-inputs. --- gnu/packages/haskell.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 652efc3fbd..b9387f8d43 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1009,10 +1009,10 @@ found at runtime, a userError is thrown.") (build-system haskell-build-system) (propagated-inputs `(("ghc-statevar" ,ghc-statevar) - ("ghc-openglraw" ,ghc-openglraw))) - (inputs - `(("ghc-opengl" ,ghc-opengl) + ("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 -- cgit v1.2.3 From 8a3a9e84cbe0b46b6ae933136210115206ab6846 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Oct 2015 14:51:23 +0100 Subject: gnu: icedtea7: Update to 2.6.2. * gnu/packages/java.scm (icedtea7): Update to 2.6.2. --- gnu/packages/java.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5fa546a98c..6d3446055a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -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"))))))) -- cgit v1.2.3 From 53e85d0aa5accd427f25cedeedd32bfa451dcb5e Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 29 Oct 2015 22:01:11 +0800 Subject: gnu: leptonica: Disable parallel tests. * gnu/packages/image.scm (leptonica)[arguments]: Add #:parallel-tests?. --- gnu/packages/image.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index b8936c222e..bde327cf91 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -216,7 +216,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 -- cgit v1.2.3 From 69851c59c7445229f798e5ea0ca918989e6772d7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Oct 2015 15:41:31 +0100 Subject: gnu: openblas: Update to 0.2.15. * gnu/packages/maths.scm (openblas): Update to 0.2.15. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 5fa37d1535..4935f8019f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1461,7 +1461,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,7 +1470,7 @@ 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 -- cgit v1.2.3 From 122c3a1d67816c2b193a46487875d363ebe35361 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 29 Oct 2015 09:58:17 +0100 Subject: system: grub: Let GRUB choose the best graphics mode. On PCs, it means that it will typically choose resolutions higher than 640x480, which is nicer. * gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Leave 'gfxmode' unset. --- gnu/system/grub.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index e0717cc59b..4c21851cb6 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -163,7 +163,7 @@ all that." ;; to be switched. (if (string-match "^(x86_64|i[3-6]86)-" system) " - set gfxmode=640x480 + # Leave 'gfxmode' to 'auto'. insmod vbe insmod vga insmod video_bochs -- cgit v1.2.3 From b416aadf7455470b702a557f4f475b04198ce698 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 29 Oct 2015 16:48:32 +0100 Subject: gnu: Move gdbm to (gnu packages databases). * gnu/packages/gdbm.scm: Remove. * gnu/packages/databases.scm (gdbm): New variable, from gdbm.scm. * gnu/packages/avahi.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/guile.scm, gnu/packages/mail.scm, gnu/packages/man.scm, gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/ruby.scm, gnu/packages/sawfish.scm: Adjust accordingly. * gnu-system.am (GNU_SYSTEM_MODULES): Remove gdbm.scm. --- gnu-system.am | 1 - gnu/packages/avahi.scm | 2 +- gnu/packages/cyrus-sasl.scm | 4 ++-- gnu/packages/databases.scm | 22 ++++++++++++++++++++++ gnu/packages/gdbm.scm | 46 --------------------------------------------- gnu/packages/guile.scm | 2 +- gnu/packages/mail.scm | 2 -- gnu/packages/man.scm | 2 +- gnu/packages/pulseaudio.scm | 2 +- gnu/packages/python.scm | 1 - gnu/packages/ruby.scm | 3 +-- gnu/packages/sawfish.scm | 2 +- 12 files changed, 30 insertions(+), 59 deletions(-) delete mode 100644 gnu/packages/gdbm.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 3e976e9fb7..d8430b4732 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -121,7 +121,6 @@ GNU_SYSTEM_MODULES = \ gnu/packages/gcc.scm \ gnu/packages/gd.scm \ gnu/packages/gdb.scm \ - gnu/packages/gdbm.scm \ gnu/packages/geeqie.scm \ gnu/packages/gettext.scm \ gnu/packages/ghostscript.scm \ 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/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 +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; ;;; 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 a17424196a..51e2a3e058 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -53,6 +53,28 @@ #:use-module (srfi srfi-26) #:use-module (ice-9 match)) +(define-public gdbm + (package + (name "gdbm") + (version "1.11") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gdbm/gdbm-" + version ".tar.gz")) + (sha256 + (base32 + "1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd")))) + (arguments `(#:configure-flags '("--enable-libgdbm-compat"))) + (build-system gnu-build-system) + (home-page "http://www.gnu.org/software/gdbm/") + (synopsis + "Hash library of database functions compatible with traditional dbm") + (description + "GDBM is a library for manipulating hashed databases. It is used to +store key/value pairs in a file in a manner similar to the Unix dbm library +and provides interfaces to the traditional file format.") + (license gpl3+))) + (define-public bdb (package (name "bdb") 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 -;;; -;;; 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 . - -(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/guile.scm b/gnu/packages/guile.scm index da75addc94..ac9e9c7b42 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -38,7 +38,7 @@ #: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 (guix packages) #:use-module (guix download) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 25407b835a..699b8802b7 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -36,7 +36,6 @@ #: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) @@ -48,7 +47,6 @@ #: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) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 46b7d8b9b0..3298268d28 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -24,9 +24,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) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index d832228278..27b269afc2 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) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 08f0146641..24a342b8d5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -41,7 +41,6 @@ #: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) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 701b7ee6ef..8bf85233ea 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 -;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014, 2015 David Thompson ;;; Copyright © 2015 Ricardo Wurmus @@ -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) 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) -- cgit v1.2.3 From 362f496da9fc929d9548b8a56990779718b13c95 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 29 Oct 2015 17:07:08 +0100 Subject: gnu: Add libchop. * gnu/packages/backup.scm (libchop): New variable. --- gnu/packages/backup.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 99a10e1c7f..40cfc4ee14 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) @@ -353,3 +356,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+))) -- cgit v1.2.3 From e502bf8953afcd1e0cf29cd729e7c62c5c27792f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 29 Oct 2015 18:22:19 +0100 Subject: system: File systems depend on their corresponding device mappings. Fixes a regression introduced in commit 0adfe95. * gnu/system.scm (other-file-system-services)[requirements]: Remove. [add-dependencies]: New procedure. Use it. * gnu/system/file-systems.scm ()[dependencies]: Update comment. * gnu/services/base.scm (mapped-device->dmd-service-name, dependency->dmd-service-name): New procedures. (file-system-service-type): Use it. --- gnu/services/base.scm | 14 +++++++++++++- gnu/system.scm | 23 ++++++++++------------- gnu/system/file-systems.scm | 5 ++--- 3 files changed, 25 insertions(+), 17 deletions(-) (limited to 'gnu') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index b8e8ccd5f1..604416b985 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -144,6 +144,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 ." + (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 objects ;; and returns a list of . @@ -160,7 +172,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'. diff --git a/gnu/system.scm b/gnu/system.scm index aa768824d9..37d6d075c5 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -195,19 +195,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)))) - - (map file-system-service file-systems)) + (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 (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." 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 + (default '()))) ; or (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 -- cgit v1.2.3 From 6726282b20918f98ba7197ea1301376f29a248af Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 29 Oct 2015 19:00:14 +0100 Subject: services: Add screen-locker service. * gnu/system/linux.scm (base-pam-services): Remove "xlock" and "xscreensaver". * gnu/services/xorg.scm (): New record type. (screen-locker-pam-services, screen-locker-setuid-programs, screen-locker-service): New procedures. (screen-locker-service-type): New variable. * gnu/services/desktop.scm (%desktop-services): Use them. * doc/guix.texi (X Window): Document 'screen-locker-service'. (Desktop Services): Mention it. --- doc/guix.texi | 16 +++++++++++++- gnu/services/desktop.scm | 6 ++++++ gnu/services/xorg.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++- gnu/system/linux.scm | 3 +-- 4 files changed, 76 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index b5c08f5d9c..844f9fa75d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6496,6 +6496,19 @@ Last, @var{extra-config} is a list of strings or objects appended to the verbatim to the configuration file. @end deffn +@deffn {Scheme Procedure} screen-locker-service @var{package} [@var{name}] +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. +@end deffn + + @node Desktop Services @subsubsection Desktop Services @@ -6513,7 +6526,8 @@ This is a list of services that builds upon @var{%base-services} and adds or adjust services for a typical ``desktop'' setup. In particular, it adds a graphical login manager (@pxref{X Window, -@code{slim-service}}), a network management tool (@pxref{Networking +@code{slim-service}}), screen lockers, +a network management tool (@pxref{Networking Services, @code{wicd-service}}), energy and color management services, the @code{elogind} login and seat manager, the Polkit privilege service, the GeoClue location service, an NTP client (@pxref{Networking diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 69edc6d9bb..f283008c4c 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -34,6 +34,8 @@ #: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) @@ -643,6 +645,10 @@ 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) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 3a57891a96..639a541777 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -32,16 +32,21 @@ #: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-service + + screen-locker-service-type + screen-locker-service)) ;;; Commentary: ;;; @@ -350,4 +355,52 @@ theme." (auto-login-session auto-login-session) (startx startx)))) + +;;; +;;; Screen lockers & co. +;;; + +(define-record-type + (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 + (($ 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/linux.scm b/gnu/system/linux.scm index cd14bc97be..487d379e65 100644 --- a/gnu/system/linux.scm +++ b/gnu/system/linux.scm @@ -182,8 +182,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 -- cgit v1.2.3 From 12f92e38d7b7add735b0cfe9a09a27c99d6f9977 Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Wed, 28 Oct 2015 22:42:42 -0400 Subject: gnu: ffmpeg: Move flags into their own argument. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/video.scm (ffmpeg)[arguments]: Move the configurable configure flag literals into the configure-flags argument. Call configure with these flags from the configure phase. Signed-off-by: Ludovic Courtès --- gnu/packages/video.scm | 168 ++++++++++++++++++++++++++----------------------- 1 file changed, 91 insertions(+), 77 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d22975afd9..554a2eaab2 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Efraim Flashner +;;; Copyright © 2015 Andy Patterson ;;; ;;; This file is part of GNU Guix. ;;; @@ -412,6 +413,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" ; 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") #:phases (modify-phases %standard-phases (replace @@ -424,83 +508,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 _ -- cgit v1.2.3 From a241a7ac65358628aecd4e8d4905cc3b66aa894c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 29 Oct 2015 22:20:57 +0100 Subject: services: Add 'linux-bare-metal-service-type'. * gnu/services.scm (modprobe-wrapper): Remove. (activation-script): Do not use it. Remove calls to 'activate-modprobe' and 'activate-ptrace-attach' in gexp. (%modprobe-wrapper, %linux-kernel-activation, linux-bare-metal-service-type, %linux-bare-metal-service): New variables. * gnu/system.scm (essential-services): Add %LINUX-BARE-METAL-SERVICE to the list, unless CONTAINER? is true. --- gnu/services.scm | 59 +++++++++++++++++++++++++++++++++++--------------------- gnu/system.scm | 3 ++- 2 files changed, 39 insertions(+), 23 deletions(-) (limited to 'gnu') diff --git a/gnu/services.scm b/gnu/services.scm index 818252386f..c8a2a2604f 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -63,6 +63,7 @@ boot-service-type activation-service-type activation-service->script + %linux-bare-metal-service etc-service-type etc-directory setuid-program-service-type @@ -244,20 +245,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." @@ -282,8 +269,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) @@ -298,12 +284,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) @@ -329,6 +309,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))) diff --git a/gnu/system.scm b/gnu/system.scm index 37d6d075c5..3d570c0d1f 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -287,7 +287,8 @@ a container or that of a \"bare metal\" system." ;; 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?) -- cgit v1.2.3 From 0bdab089622deed12383d4067ca241d639d40d7d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 29 Oct 2015 17:26:30 -0500 Subject: gnu: fish: Add python input. * gnu/packages/fish.scm (inputs): Add python. --- gnu/packages/fish.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu') 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"))) -- cgit v1.2.3 From 6072523231655f09c05dd209a980c4f4b0527be9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 29 Oct 2015 23:34:09 +0100 Subject: gnu: Remove ardour-3. * gnu/packages/audio.scm (ardour-3): Remove variable. (ardour): Copy fields from the removed ardour-3 instead of inheriting from it. --- gnu/packages/audio.scm | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index ca3be8e424..404a5d9d62 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -152,13 +152,11 @@ streams from live audio.") libdir "/vamp" "\"]")))) #t)) -(define-public ardour-3 +(define-public ardour (package (name "ardour") - (version "3.5.403") + (version "4.2") (source (origin - ;; The project only provides tarballs upon individual request - ;; (or after payment) so we take the code from git. (method git-fetch) (uri (git-reference (url "git://git.ardour.org/ardour/ardour.git") @@ -171,10 +169,10 @@ streams from live audio.") "libs/ardour/revision.cc" (lambda (port) (format port "#include \"ardour/revision.h\" -namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) +namespace ARDOUR { const char* revision = \"4.2\" ; }")))) (sha256 (base32 - "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp")) + "1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments @@ -231,35 +229,6 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio engineers, musicians, soundtrack editors and composers.") (license license:gpl2+))) -(define-public ardour - (package (inherit ardour-3) - (name "ardour") - (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") -- cgit v1.2.3 From cd4cb1b597f3d42ade7e71dac718a41070ce6acc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 30 Oct 2015 13:12:44 +0200 Subject: gnu: freeipmi: Update to 1.4.11. * gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.11. --- gnu/packages/freeipmi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index badecc60ba..6e2610409d 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -27,14 +27,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.4.10") + (version "1.4.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "1l98l8g8lha85q1d288wr7dyx00x36smh9g5wza15n4wm35c9wqs")))) + "0bkghpbj1zkxcgmx2crg0mf97y6dhnxdqvdk5mkw1pyqdxncwq3l")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("libgcrypt" ,libgcrypt))) -- cgit v1.2.3 From 7f48be419d6489f80b20bc15b77eefce722675e2 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 30 Oct 2015 20:31:27 +0800 Subject: gnu: telepathy-glib: Fix tests. * gnu/packages/glib.scm (telepathy-glib)[source]: Add a patch to unique test names. --- gnu/packages/glib.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index e4bf6ad0fc..f7e67ba9ec 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -574,7 +574,18 @@ useful for C++.") "telepathy-glib-" version ".tar.gz")) (sha256 (base32 - "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")))) + "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")) + (patches + (list + ;; Don't use the same test name for multiple tests. + ;; + (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 -- cgit v1.2.3 From 7ea3099b0516f98cad378a347659b9011a01a1d3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Oct 2015 17:12:17 +0100 Subject: gnu: Add pcre2. * gnu/packages/pcre.scm (pcre2): New variable. --- gnu/packages/pcre.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index d07e434190..d7d974fc5c 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 ;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,3 +58,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/"))) -- cgit v1.2.3 From b90e7e5d49e951a24f58d3cd29d37127982ef240 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 30 Oct 2015 08:40:58 -0400 Subject: gnu: xfce4-session: Fix xflock4. * gnu/packages/patches/xfce4-session-fix-xflock4.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/xfce.scm (xfce4-session)[source]: Add patch. --- gnu-system.am | 1 + .../patches/xfce4-session-fix-xflock4.patch | 31 ++++++++++++++++++++++ gnu/packages/xfce.scm | 5 +++- 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/xfce4-session-fix-xflock4.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index d8430b4732..575c6f53f6 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -687,6 +687,7 @@ dist_patch_DATA = \ gnu/packages/patches/xf86-video-trident-remove-mibstore.patch \ gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch \ gnu/packages/patches/xfce4-panel-plugins.patch \ + gnu/packages/patches/xfce4-session-fix-xflock4.patch \ gnu/packages/patches/xfce4-settings-defaults.patch \ gnu/packages/patches/xmodmap-asprintf.patch \ gnu/packages/patches/zathura-plugindir-environment-variable.patch 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 +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/xfce.scm b/gnu/packages/xfce.scm index e42c58050d..914012625f 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -421,7 +421,10 @@ 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"))))) (build-system gnu-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From 9fa8f436696598e783407b16f0e459791fdd9970 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 30 Oct 2015 20:46:28 +0800 Subject: gnu: mesa-utils: Fix build. * gnu/packages/gl.scm (mesa-utils)[arguments]: Pass "--disable-egl" as #:configure-flags. --- gnu/packages/gl.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index ec6a7f1684..c7bece868d 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -327,7 +327,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 + ;; + ;; + #:configure-flags '("--disable-egl") + #:phases (modify-phases %standard-phases (replace 'install -- cgit v1.2.3 From 8a637e79ed6410f093a040f788708b2cf8678bbf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 20 Jul 2015 15:05:55 +0200 Subject: gnu: openblas: Set TARGET to SICORTEX on MIPS. * gnu/packages/maths.scm (openblas)[arguments]: Add "TARGET=SICORTEX" to make-flags when building for MIPS. --- gnu/packages/maths.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4935f8019f..b5abc48b36 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1491,10 +1491,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 -- cgit v1.2.3 From bd0b4379b248dc7e08e152d3f597a2bbee81b4b3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Oct 2015 15:43:21 +0100 Subject: gnu: openblas: Make substitutable on MIPS. * gnu/packages/maths.scm (openblas)[arguments]: Make package substitutable when the system is MIPS. --- gnu/packages/maths.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index b5abc48b36..b4b930de47 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1474,13 +1474,14 @@ constant parts of it.") (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" -- cgit v1.2.3 From 8e5999e0b0a4f3e639663a803eb99486c3d8304a Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 29 Oct 2015 00:15:36 -0400 Subject: system: container: Adjust to changes in gexps. * gnu/system/linux-container.scm (system-container): 'etc' is no longer a monadic value, and the result of 'file-union' must be lowered. --- gnu/system/linux-container.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index fdf7460872..abe816f483 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 @@ -50,14 +51,15 @@ "Return a derivation that builds OS as a Linux container." (mlet* %store-monad ((profile (operating-system-profile os)) - (etc (operating-system-etc-directory 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))))) + (lower-object + (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 -- cgit v1.2.3 From 1c8a81b1af81bdb2fd87efb38004900ad5a77d36 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 8 Jun 2015 09:04:38 -0400 Subject: scripts: system: Add 'container' action. * guix/scripts/system.scm (show-help): Display 'container' action. (system-derivation-for-action, guix-system): Add 'container' case. (perform-action): Skip GRUB config generation when building a container. * doc/guix.texi (Invoking guix system): Document it. --- doc/guix.texi | 21 +++++++++++++++++++++ gnu/system/linux-container.scm | 7 ++++++- guix/scripts/system.scm | 19 +++++++++++++------ 3 files changed, 40 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 236c5973cd..a23d8244ff 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7264,6 +7264,27 @@ using the following command: # dd if=$(guix system disk-image my-os.scm) of=/dev/sdc @end example +@item container +Return a script to run the operating system declared in @var{file} +within a container. Containers are a set of lightweight isolation +mechanisms provided by the kernel Linux-libre. Containers are +substantially less resource-demanding than full virtual machines since +the kernel, shared objects, and other resources can be shared with the +host system; this also means they provide thinner isolation. + +Currently, the script must be run as root in order to support more than +a single user and group. The container shares its store with the host +system. + +As with the @code{vm} action (@pxref{guix system vm}), additional file +systems to be shared between the host and container can be specified +using the @option{--share} and @option{--expose} options: + +@example +guix system container my-config.scm \ + --expose=$HOME --share=$HOME/tmp=/exchange +@end example + @end table @var{options} can contain any of the common build options provided by diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index abe816f483..c2eb773931 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -108,7 +108,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/guix/scripts/system.scm b/guix/scripts/system.scm index d847c75444..499038ffa1 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -34,6 +34,7 @@ #:use-module (gnu build install) #:use-module (gnu system) #:use-module (gnu system file-systems) + #:use-module (gnu system linux-container) #:use-module (gnu system vm) #:use-module (gnu system grub) #:use-module (gnu services) @@ -406,6 +407,8 @@ PATTERN, a string. When PATTERN is #f, display all the system generations." (case action ((build init reconfigure) (operating-system-derivation os)) + ((container) + (container-script os #:mappings mappings)) ((vm-image) (system-qemu-image os #:disk-image-size image-size)) ((vm) @@ -438,10 +441,12 @@ building anything." #:full-boot? full-boot? #:mappings mappings)) (grub (package->derivation grub)) - (grub.cfg (operating-system-grub.cfg os - (if (eq? 'init action) - '() - (previous-grub-entries)))) + (grub.cfg (if (eq? 'container action) + (return #f) + (operating-system-grub.cfg os + (if (eq? 'init action) + '() + (previous-grub-entries))))) (drvs -> (if (and grub? (memq action '(init reconfigure))) (list sys grub grub.cfg) (list sys))) @@ -523,6 +528,8 @@ Build the operating system declared in FILE according to ACTION.\n")) list-generations list the system generations\n")) (display (_ "\ build build the operating system without installing anything\n")) + (display (_ "\ + container build a container that shares the host's store\n")) (display (_ "\ vm build a virtual machine image that shares the host's store\n")) (display (_ "\ @@ -694,7 +701,7 @@ argument list and OPTS is the option alist." (alist-cons 'argument arg result) (let ((action (string->symbol arg))) (case action - ((build vm vm-image disk-image reconfigure init + ((build container vm vm-image disk-image reconfigure init extension-graph dmd-graph list-generations) (alist-cons 'action action result)) (else (leave (_ "~a: unknown action~%") action)))))) @@ -723,7 +730,7 @@ argument list and OPTS is the option alist." (exit 1)) (case action - ((build vm vm-image disk-image reconfigure) + ((build container vm vm-image disk-image reconfigure) (unless (= count 1) (fail))) ((init) -- cgit v1.2.3 From c8dab7f4752133110b5aa2a9de375d812f1b9247 Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Thu, 29 Oct 2015 18:59:18 -0400 Subject: gnu: ffmpeg: Enable gnutls support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/package/video.scm (ffmpeg)[inputs]: Add gnutls. [arguments]: Enable it. Signed-off-by: Ludovic Courtès --- gnu/packages/video.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 554a2eaab2..eb9a503ae6 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -384,6 +384,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (inputs `(("fontconfig" ,fontconfig) ("freetype" ,freetype) + ("gnutls" ,gnutls) ("opus" ,opus) ("ladspa" ,ladspa) ("lame" ,lame) @@ -467,7 +468,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") "--enable-gpl" ; enable optional gpl licensed parts "--enable-shared" "--enable-fontconfig" - ;; "--enable-gnutls" ; causes test failures + "--enable-gnutls" "--enable-ladspa" "--enable-libass" "--enable-libbluray" -- cgit v1.2.3 From 137d957ed346547274b09ccf2383a61b5b65cce1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 24 Sep 2015 16:21:45 +0200 Subject: gnu: glibc: Add version 2.21. * gnu/packages/base.scm (glibc-2.21): New variable. --- gnu/packages/base.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f951e28b3b..61eeba3cee 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -633,6 +633,21 @@ with the Linux kernel.") (license lgpl2.0+) (home-page "http://www.gnu.org/software/libc/"))) +(define-public glibc-2.21 + ;; The old libc, which we use mostly to build locale data in the old format + ;; (which the new libc can cope with.) + (package + (inherit glibc) + (version "2.21") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" + version ".tar.xz")) + (sha256 + (base32 + "1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf")) + (patches (list (search-patch "glibc-ldd-x86_64.patch"))))))) + (define-public glibc-locales (package (inherit glibc) -- cgit v1.2.3 From 34760ae7031b19529aff2355cc458f61a8daa41f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 30 Oct 2015 23:05:52 +0100 Subject: system: Add 'locale-libcs' field. * gnu/system/locale.scm (localedef-command)[maybe-version-directory]: New procedure. Use it. (locale-directory): Rename to... (single-locale-directory): ... this. Check the version of LIBC to determine whether to create a "X.Y" sub-directory or to make it a symlink to ".". Add the version number in the derivation name. (locale-directory): New procedure. (%default-locale-libcs): New variable. * gnu/system.scm ()[locale-libcs]: New field. (operating-system-locale-directory): Pass it to 'locale-directory'. * doc/guix.texi (operating-system Reference): Document 'locale-libcs'. (Locales)[Locale Data Compatibility Considerations]: New section. --- doc/guix.texi | 56 ++++++++++++++++++++++++++++++++++++++++++++++ gnu/system.scm | 6 ++++- gnu/system/locale.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 118 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index a23d8244ff..a164608b73 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5562,6 +5562,11 @@ Library Reference Manual}). @xref{Locales}, for more information. The list of locale definitions to be compiled and that may be used at run time. @xref{Locales}. +@item @code{locale-libcs} (default: @code{(list @var{glibc})}) +The list of GNU@tie{}libc packages whose locale data and tools are used +to build the locale definitions. @xref{Locales}, for compatibility +considerations that justify this option. + @item @code{name-service-switch} (default: @var{%default-nss}) Configuration of libc's name service switch (NSS)---a @code{} object. @xref{Name Service Switch}, for @@ -6020,6 +6025,57 @@ instance it has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}. @end defvr +@subsubsection Locale Data Compatibility Considerations + +@cindex incompatibility, of locale data +@code{operating-system} declarations provide a @code{locale-libcs} field +to specify the GNU@tie{}libc packages that are used to compile locale +declarations (@pxref{operating-system Reference}). ``Why would I +care?'', you may ask. Well, it turns out that the binary format of +locale data is occasionally incompatible from one libc version to +another. + +@c See +@c and . +For instance, a program linked against libc version 2.21 is unable to +read locale data produced with libc 2.22; worse, that program +@emph{aborts} instead of simply ignoring the incompatible locale +data@footnote{Versions 2.23 and later of GNU@tie{}libc will simply skip +the incompatible locale data, which is already an improvement.}. +Similarly, a program linked against libc 2.22 can read most, but not +all, the locale data from libc 2.21 (specifically, @code{LC_COLLATE} +data is incompatible); thus calls to @code{setlocale} may fail, but +programs will not abort. + +The ``problem'' in GuixSD is that users have a lot of freedom: They can +choose whether and when to upgrade software in their profiles, and might +be using a libc version different from the one the system administrator +used to build the system-wide locale data. + +Fortunately, unprivileged users can also install their own locale data +and define @var{GUIX_LOCPATH} accordingly (@pxref{locales-and-locpath, +@code{GUIX_LOCPATH} and locale packages}). + +Still, it is best if the system-wide locale data at +@file{/run/current-system/locale} is built for all the libc versions +actually in use on the system, so that all the programs can access +it---this is especially crucial on a multi-user system. To do that, the +administrator can specify several libc packages in the +@code{locale-libcs} field of @code{operating-system}: + +@example +(use-package-modules base) + +(operating-system + ;; @dots{} + (locale-libcs (list glibc-2.21 (canonical-package glibc)))) +@end example + +This example would lead to a system containing locale definitions for +both libc 2.21 and the current version of libc in +@file{/run/current-system/locale}. + + @node Services @subsection Services diff --git a/gnu/system.scm b/gnu/system.scm index 3d570c0d1f..8fed857b39 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -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 (default %default-locale-definitions)) + (locale-libcs operating-system-locale-libcs ; list of + (default %default-locale-libcs)) (name-service-switch operating-system-name-service-switch ; (default %default-nss)) @@ -643,7 +646,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." 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 -- cgit v1.2.3 From ef89cb4263e14887385ef8240b040be052c741c1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 31 Oct 2015 12:26:43 +0100 Subject: gnu: lablgtk: Build sequentially. * gnu/packages/ocaml.scm (lablgtk)[arguments]: Add #:parallel-build? #f. --- gnu/packages/ocaml.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index fc45805958..ee4e7830b6 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -460,6 +460,11 @@ provers.") ("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 -- cgit v1.2.3 From 3c3e69728c10bcdffa0c597b2b80a482361aea14 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 31 Oct 2015 13:17:23 +0100 Subject: gnu: guitarix: Compile in C++11 mode. * gnu/packages/patches/guitarix-c++11.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/audio.scm (guitarix)[source]: Use it. [arguments]: Add --cxxflags to #:configure-flags. --- gnu-system.am | 1 + gnu/packages/audio.scm | 6 +- gnu/packages/patches/guitarix-c++11.patch | 297 ++++++++++++++++++++++++++++++ 3 files changed, 302 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/guitarix-c++11.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 0ee4eebeef..3b7e62ce7d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -495,6 +495,7 @@ dist_patch_DATA = \ gnu/packages/patches/guile-present-coding.patch \ gnu/packages/patches/guile-relocatable.patch \ gnu/packages/patches/guile-rsvg-pkgconfig.patch \ + gnu/packages/patches/guitarix-c++11.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \ gnu/packages/patches/hop-linker-flags.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 404a5d9d62..92ece7a47e 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -536,7 +536,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.") version ".tar.bz2")) (sha256 (base32 - "1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx")))) + "1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx")) + (patches (list (search-patch "guitarix-c++11.patch"))))) (build-system waf-build-system) (arguments `(#:tests? #f ; no "check" target @@ -544,7 +545,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) diff --git a/gnu/packages/patches/guitarix-c++11.patch b/gnu/packages/patches/guitarix-c++11.patch new file mode 100644 index 0000000000..599855a223 --- /dev/null +++ b/gnu/packages/patches/guitarix-c++11.patch @@ -0,0 +1,297 @@ +Work around a C++11 incompatibility when compiling the gperf-generated +'jsonrpc_methods.cc' with -std=c++11: + + default/src/gx_head/engine/jsonrpc_methods.cc: In function ‘const CmdConnection::methodnames* in_word_set(const char*, unsigned int)’: + default/src/gx_head/engine/jsonrpc_methods.cc:211:26: error: reference to ‘hash’ is ambiguous + register int key = hash (str, len); + ^ +The solution is to run 'gperf -L C++' so that it generates code with +appropriate C++ name-spacing to avoid the ambiguity. + +--- guitarix-0.33.0/tools/make_jsonrpc_methods 2015-10-31 12:45:52.756587435 +0100 ++++ guitarix-0.33.0/tools/make_jsonrpc_methods 2015-10-31 12:47:02.801103366 +0100 +@@ -14,7 +14,7 @@ def add_enums(template_name, hashtable_n + hashtable = open(hashtable_name, "w") + hashtable.write(headline) + hashtable.flush() +- gperf = Popen(gperf_program, stdin=PIPE, stdout=hashtable) ++ gperf = Popen([gperf_program, "-L", "C++"], stdin=PIPE, stdout=hashtable) + enumlist = [] + section = 0 + in_comment = False + +--- guitarix-0.33.0/src/gx_head/engine/jsonrpc.cpp 2015-10-31 12:50:33.934647842 +0100 ++++ guitarix-0.33.0/src/gx_head/engine/jsonrpc.cpp 2015-10-31 12:50:51.238773730 +0100 +@@ -1171,7 +1171,7 @@ bool CmdConnection::request(gx_system::J + } + } + jp.next(gx_system::JsonParser::end_object); +- const methodnames *p = in_word_set(method.c_str(), method.size()); ++ const methodnames *p = Perfect_Hash::in_word_set(method.c_str(), method.size()); + if (!p) { + throw RpcError(-32601, Glib::ustring::compose("Method not found -- '%1'", method)); + } + + +The following part is adapted from an upstream patch for the new libsigc++. + +commit 001aa683814a7bf4537882c7c3acf1dafd851cd5 +Author: Hermann Meyer +Date: Sat Oct 31 09:33:16 2015 +0100 + + * fix libsigc++ removes sigc::group + +diff --git a/src/gx_head/gui/avahi_discover.cpp b/src/gx_head/gui/avahi_discover.cpp +index c49746e..88993c2 100644 +--- a/src/gx_head/gui/avahi_discover.cpp ++++ b/src/gx_head/gui/avahi_discover.cpp +@@ -193,7 +193,9 @@ SelectInstance::SelectInstance(gx_system::CmdlineOptions& options, Gtk::Window * + win->signal_response().connect(sigc::mem_fun(this, &SelectInstance::on_response)); + bld->get_widget("treeview", view); + view->signal_row_activated().connect( +- sigc::group(sigc::mem_fun(win, &Gtk::Dialog::response), 1)); ++ sigc::mem_fun(this,&SelectInstance::on_row)); ++ //view->signal_row_activated().connect( ++ //sigc::group(sigc::mem_fun(win, &Gtk::Dialog::response), 1)); + view->set_model(Gtk::ListStore::create(cols)); + view->get_selection()->set_mode(Gtk::SELECTION_BROWSE); + view->get_selection()->signal_changed().connect( +@@ -242,6 +244,10 @@ void SelectInstance::on_avahi_changed() { + } + } + ++void SelectInstance::on_row(const Gtk::TreePath& path, Gtk::TreeViewColumn* column) { ++ on_response(1); ++} ++ + void SelectInstance::on_response(int response_id) { + if (response_id == 1) { + Gtk::TreeIter i = view->get_selection()->get_selected(); +diff --git a/src/gx_head/gui/gx_main.cpp b/src/gx_head/gui/gx_main.cpp +index d1ad329..a207aa6 100644 +--- a/src/gx_head/gui/gx_main.cpp ++++ b/src/gx_head/gui/gx_main.cpp +@@ -281,8 +281,10 @@ void ErrorPopup::show_msg() { + align->set_padding(50,20,0,10); + Gtk::VBox *vbox = dynamic_cast(dialog->get_child()); + vbox->set_redraw_on_allocate(true); +- vbox->signal_expose_event().connect( +- sigc::group(&gx_cairo::error_box_expose,GTK_WIDGET(vbox->gobj()),sigc::_1,(void*)0),false); ++ g_signal_connect(GTK_WIDGET(vbox->gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::error_box_expose), NULL); ++ // vbox->signal_expose_event().connect( ++ //sigc::group(&gx_cairo::error_box_expose,GTK_WIDGET(vbox->gobj()),sigc::_1,(void*)0),false); + dialog->set_title(_("GUITARIX ERROR")); + dialog->signal_response().connect( + sigc::mem_fun(*this, &ErrorPopup::on_response)); +@@ -306,9 +308,11 @@ GxSplashBox::GxSplashBox() + : Gtk::Window(Gtk::WINDOW_POPUP) { + set_redraw_on_allocate(true); + set_app_paintable(); +- signal_expose_event().connect( +- sigc::group(&gx_cairo::splash_expose, GTK_WIDGET(gobj()), +- sigc::_1, (void*)0), false); ++ g_signal_connect(GTK_WIDGET(gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::splash_expose), NULL); ++ //signal_expose_event().connect( ++ // sigc::group(&gx_cairo::splash_expose, GTK_WIDGET(gobj()), ++ // sigc::_1, (void*)0), false); + set_decorated(false); + set_type_hint(Gdk::WINDOW_TYPE_HINT_SPLASHSCREEN); + set_position(Gtk::WIN_POS_CENTER ); +diff --git a/src/gx_head/gui/gx_main_window.cpp b/src/gx_head/gui/gx_main_window.cpp +index 23c9ae6..eb0e201 100644 +--- a/src/gx_head/gui/gx_main_window.cpp ++++ b/src/gx_head/gui/gx_main_window.cpp +@@ -1303,6 +1303,23 @@ void MainWindow::on_log_activate() { + fLoggingWindow.hide(); + } + } ++// show loggingbox ++bool MainWindow::on_log_activated(GdkEventButton* ev) { ++ if (ev->type == GDK_BUTTON_PRESS && ev->button == 1) { ++ if (!actions.loggingbox->get_active()) { ++ actions.loggingbox->set_active(true); ++ gint rxorg, ryorg; ++ window->get_position(rxorg, ryorg); ++ fLoggingWindow.move(rxorg+5, ryorg+272); ++ fLoggingWindow.show_all(); ++ on_msg_level_changed(); ++ } else { ++ fLoggingWindow.hide(); ++ actions.loggingbox->set_active(false); ++ } ++ } ++ return true; ++} + + void MainWindow::on_engine_toggled() { + gx_engine::GxEngineState s; +@@ -2119,6 +2136,14 @@ bool MainWindow::on_toggle_mute(GdkEventButton* ev) { + return true; + } + ++bool MainWindow::on_jackserverconnection(GdkEventButton* ev) { ++ if (ev->type == GDK_BUTTON_PRESS && ev->button == 1) { ++ bool v = actions.jackserverconnection->get_active(); ++ actions.jackserverconnection->set_active(!v); ++ } ++ return true; ++} ++ + void MainWindow::on_msg_level_changed() { + switch (fLoggingWindow.get_unseen_msg_level()) { + case GxLogger::kWarning: logstate_image->set(pixbuf_log_yellow); break; +@@ -2683,12 +2708,14 @@ MainWindow::MainWindow(gx_engine::GxMachineBase& machine_, gx_system::CmdlineOpt + */ + if (jack) { + jackd_image->set(pixbuf_jack_disconnected); +- jackd_image->get_parent()->signal_button_press_event().connect( +- sigc::bind_return( +- sigc::group( +- sigc::ptr_fun(toggle_action), +- actions.jackserverconnection), +- true)); ++ jackd_image->get_parent()->signal_button_press_event().connect( ++ sigc::mem_fun(*this, &MainWindow::on_jackserverconnection)); ++ //jackd_image->get_parent()->signal_button_press_event().connect( ++ // sigc::bind_return( ++ // sigc::group( ++ // sigc::ptr_fun(toggle_action), ++ // actions.jackserverconnection), ++ // true)); + } else { + jackd_image->hide(); + } +@@ -2823,11 +2850,14 @@ MainWindow::MainWindow(gx_engine::GxMachineBase& machine_, gx_system::CmdlineOpt + false)); + on_msg_level_changed(); + logstate_image->get_parent()->signal_button_press_event().connect( +- sigc::bind_return( +- sigc::group( +- sigc::ptr_fun(toggle_action), +- actions.loggingbox), +- true)); ++ sigc::mem_fun(*this, &MainWindow::on_log_activated)); ++ ++ //logstate_image->get_parent()->signal_button_press_event().connect( ++ //sigc::bind_return( ++ // sigc::group( ++ // sigc::ptr_fun(toggle_action), ++ // actions.loggingbox), ++ // true)); + + /* + ** load plugin definitions into plugin_dict, add to effects_toolpalette +diff --git a/src/gx_head/gui/gx_portmap.cpp b/src/gx_head/gui/gx_portmap.cpp +index d8a6ae6..e711ee7 100644 +--- a/src/gx_head/gui/gx_portmap.cpp ++++ b/src/gx_head/gui/gx_portmap.cpp +@@ -578,12 +578,16 @@ PortMapWindow::PortMapWindow(Glib::RefPtr bld, gx_jack::GxJac + b->set_name("rack_button"); + Gtk::VBox *vbox1; + bld->find_widget("dialog-vbox1", vbox1); +- vbox1->signal_expose_event().connect( +- sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox1->gobj()),sigc::_1,(void*)0),false); ++ g_signal_connect(GTK_WIDGET(vbox1->gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::rectangle_skin_color_expose), NULL); ++ // vbox1->signal_expose_event().connect( ++ //sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox1->gobj()),sigc::_1,(void*)0),false); + Gtk::VBox *vbox2; + bld->find_widget("dialog-vbox2", vbox2); +- vbox2->signal_expose_event().connect( +- sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox2->gobj()),sigc::_1,(void*)0),false); ++ g_signal_connect(GTK_WIDGET(vbox2->gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::rectangle_skin_color_expose), NULL); ++ // vbox2->signal_expose_event().connect( ++// sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox2->gobj()),sigc::_1,(void*)0),false); + vbox1->set_redraw_on_allocate(true); + vbox2->set_redraw_on_allocate(true); + for (int i = 0; i < number_of_ports; ++i) { +diff --git a/src/headers/avahi_discover.h b/src/headers/avahi_discover.h +index 5af5949..b6f523a 100644 +--- a/src/headers/avahi_discover.h ++++ b/src/headers/avahi_discover.h +@@ -91,6 +91,7 @@ private: + } cols; + private: + void on_response(int response_id); ++ void on_row(const Gtk::TreePath& path, Gtk::TreeViewColumn* column); + void on_avahi_changed(); + void on_selection_changed(); + public: +diff --git a/src/headers/gx_main_window.h b/src/headers/gx_main_window.h +index 3b54285..e7c02ce 100644 +--- a/src/headers/gx_main_window.h ++++ b/src/headers/gx_main_window.h +@@ -720,6 +720,7 @@ private: + void on_load_ladspa(); + void delete_select_jack_control(); + void on_log_activate(); ++ bool on_log_activated(GdkEventButton* ev); + void do_program_change(int pgm); + void on_engine_toggled(); + void on_engine_state_change(gx_engine::GxEngineState state); +@@ -728,6 +729,7 @@ private: + void setup_tuner_temperament(Gxw::RackTuner& tuner); + void setup_tuner(Gxw::RackTuner& tuner); + bool on_toggle_mute(GdkEventButton* ev); ++ bool on_jackserverconnection(GdkEventButton* ev); + void on_msg_level_changed(); + void on_ampdetail_switch(bool compress, bool setparam); + void on_show_oscilloscope(bool v); + +The following is adapted from this upstream patch, which does a whole +bunch of unrelated things. + +commit 44ab541a5a846c0b3832f4225d1ae92183d55550 +Author: Hermann Meyer +Date: Fri Oct 30 08:47:42 2015 +0100 + + * add 53 tet tuner option + * add online preset download widget (requiers libwebkit-1.0 + * fix bug #27 + * fix build fail with c++11 system libs (make c++11 default) + +--- a/src/LV2/gx_amp.lv2/gxamp_gui.cpp ++++ b/src/LV2/gx_amp.lv2/gxamp_gui.cpp +@@ -124,7 +124,7 @@ void GXPluginGUI::set_skin() + gtk_rc_parse_string (toparse.c_str()); + } + +-inline std::string to_string(long long _Val) ++inline std::string t_string(long long _Val) + { // convert int to string + char _Buf[128]; + sprintf(_Buf, "%lld", _Val); +@@ -136,7 +136,7 @@ void GXPluginGUI::set_plug_name() + // Here the plugin should have different name for different amp..... + addKnob = ""; + plugskin = "amp21.png"; +- plug_name = "GUITARIXLV2" + to_string(reinterpret_cast(this)); ++ plug_name = "GUITARIXLV2" + t_string(reinterpret_cast(this)); + //fprintf(stderr,"%s",plug_name.c_str()); + } + +diff --git a/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp b/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp +index d5947ee..edc1caa 100644 +--- a/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp ++++ b/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp +@@ -124,7 +124,7 @@ void GXPluginGUI::set_skin() + gtk_rc_parse_string (toparse.c_str()); + } + +-inline std::string to_string(long long _Val) ++inline std::string t_string(long long _Val) + { // convert int to string + char _Buf[128]; + sprintf(_Buf, "%lld", _Val); +@@ -135,7 +135,7 @@ void GXPluginGUI::set_plug_name() + { + addKnob = ""; + plugskin = "amp21.png"; +- plug_name = "GUITARIXLV2" + to_string(reinterpret_cast(this)); ++ plug_name = "GUITARIXLV2" + t_string(reinterpret_cast(this)); + } + + GtkWidget* GXPluginGUI::make_gui() -- cgit v1.2.3 From 375c610844c7776470edb88eafb18c48c6c90187 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 31 Oct 2015 11:17:08 +0100 Subject: services: 'tor-service' takes a 'config-file' parameter. * gnu/services/networking.scm (tor-dmd-service): Take a 'config' parameter and honor it. (tor-service): Take a 'config-file' parameter. Pass it in the service's value. * doc/guix.texi (Networking Services): Adjust accordingly. --- doc/guix.texi | 10 +++++---- gnu/services/networking.scm | 49 ++++++++++++++++++++++++++++++--------------- 2 files changed, 39 insertions(+), 20 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 84f194b14b..483d6e2608 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6393,11 +6393,13 @@ keep the system clock synchronized with that of @var{servers}. List of host names used as the default NTP servers. @end defvr -@deffn {Scheme Procedure} tor-service [#:tor tor] -Return a service to run the @uref{https://torproject.org,Tor} daemon. +@deffn {Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}] +Return a service to run the @uref{https://torproject.org, Tor} anonymous +networking daemon. -The daemon runs with the default settings (in particular the default exit -policy) as the @code{tor} unprivileged user. +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. Run @command{man tor} for information about the configuration file. @end deffn @deffn {Scheme Procedure} bitlbee-service [#:bitlbee bitlbee] @ diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 003d5a5010..d33ff4fc4a 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -316,20 +316,33 @@ 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 (tor-dmd-service config) "Return a running TOR." - (let ((torrc (plain-file "torrc" "User tor\n"))) - (list (dmd-service - (provision '(tor)) + (match config + ((tor config-file) + (let ((torrc (computed-file "torrc" + #~(begin + (use-modules (guix build utils)) + (call-with-output-file #$output + (lambda (port) + (display "\ +User tor # automatically added\n" port) + (call-with-input-file #$config-file + (lambda (input) + (dump-port input port))) + #t))) + #:modules '((guix build utils))))) + (list (dmd-service + (provision '(tor)) - ;; Tor needs at least one network interface to be up, hence the - ;; dependency on 'loopback'. - (requirement '(user-processes loopback)) + ;; Tor needs at least one network interface to be up, hence the + ;; dependency on 'loopback'. + (requirement '(user-processes loopback)) - (start #~(make-forkexec-constructor - (list (string-append #$tor "/bin/tor") "-f" #$torrc))) - (stop #~(make-kill-destructor)) - (documentation "Run the Tor anonymous network overlay."))))) + (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-service-type (service-type (name 'tor) @@ -339,12 +352,16 @@ keep the system clock synchronized with that of @var{servers}." (service-extension account-service-type (const %tor-accounts)))))) -(define* (tor-service #:key (tor tor)) - "Return a service to run the @uref{https://torproject.org,Tor} daemon. +(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 with the default settings (in particular the default exit -policy) as the @code{tor} unprivileged user." - (service tor-service-type tor)) +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. Run @command{man tor} for information about the configuration file." + (service tor-service-type (list tor config-file))) ;;; -- cgit v1.2.3 From 08859404c0a52af8ef9a083399814d081774893a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 1 Nov 2015 13:23:08 +0100 Subject: gnu: Remove aarddict. * gnu/packages/aarddict.scm: Remove file. * gnu-system.am (GNU_SYSTEM_MODULES): Unregister file. --- gnu-system.am | 1 - gnu/packages/aarddict.scm | 70 ----------------------------------------------- 2 files changed, 71 deletions(-) delete mode 100644 gnu/packages/aarddict.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 3b7e62ce7d..f140ab6be8 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -25,7 +25,6 @@ GNU_SYSTEM_MODULES = \ gnu.scm \ gnu/artwork.scm \ gnu/packages.scm \ - gnu/packages/aarddict.scm \ gnu/packages/abduco.scm \ gnu/packages/abiword.scm \ gnu/packages/acct.scm \ 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 -;;; -;;; 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 . - -(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))) -- cgit v1.2.3 From c51525895aa6f9ae7a6d2cd67c023f7c875f6a4b Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sun, 1 Nov 2015 14:03:16 +0200 Subject: gnu: gnumach-headers: Update to 1.6 * gnu/packages/hurd.scm (gnumach-headers): Update to version 1.6. --- gnu/packages/hurd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 3867b4d7ec..9248236cef 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 -- cgit v1.2.3 From 212c664889d4a8bc0cfa3d5ac6bc4b4a2f8be327 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sun, 1 Nov 2015 14:40:01 +0200 Subject: gnu: mig: Update to 1.6 * gnu/packages/hurd.scm (mig): Update to version 1.6. --- gnu/packages/hurd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 9248236cef..2cc4670c75 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -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) -- cgit v1.2.3 From 67010dd886402d60c6cb2776b7c1b4655ac87986 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sun, 1 Nov 2015 15:46:27 +0200 Subject: gnu: hurd-headers: Update to 0.7 * gnu/packages/hurd.scm (hurd-headers): Update to version 0.7. --- gnu/packages/hurd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 2cc4670c75..e95f50ab6e 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -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 -- cgit v1.2.3 From 222e3319bd9e942070be57933a50996e3c73cb39 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 17:19:33 +0100 Subject: services: 'polkit-service-type' can now be extended. * gnu/packages/polkit.scm (polkit)[source]: Adjust snippet so that rules and actions are looked for under /etc/polkit-1. * gnu/services/desktop.scm (): New record type. (polkit-directory, polkit-etc-files, polkit-setuid-programs): New procedures. (polkit-service-type)[compose, extend]: New fields. (polkit-service): Refine docstring. (colord-service-type): Extend POLKIT-SERVICE-TYPE. (elogind-configuration-file): Extend POLKIT-SERVICE-TYPE. * doc/guix.texi (Desktop Services): Update 'polkit-service' documentation. --- doc/guix.texi | 13 ++-- gnu/packages/polkit.scm | 18 +++-- gnu/services/desktop.scm | 166 +++++++++++++++++++++++++++++++---------------- 3 files changed, 125 insertions(+), 72 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index b59b3b22e5..1215c6c277 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6716,12 +6716,13 @@ their default values are: @deffn {Scheme Procedure} polkit-service @ [#:polkit @var{polkit}] -Return a service that runs the Polkit privilege manager. -@uref{http://www.freedesktop.org/wiki/Software/polkit/, Polkit} allows -system administrators to grant access to privileged operations in a -structured way. For example, polkit rules can allow a logged-in user -whose session is active to shut down the machine, if there are no other -users active. +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. @end deffn @deffn {Scheme Procedure} upower-service [#:upower @var{upower}] @ 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/services/desktop.scm b/gnu/services/desktop.scm index 166895663f..af4fe53dd0 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -224,52 +224,6 @@ levels, with the given configuration settings. It implements the (critical-power-action critical-power-action)))) (service upower-service-type config))) - -;;; -;;; 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))))) - -(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. @@ -383,6 +337,14 @@ site} for more information." ;;; Polkit privilege management service. ;;; +(define-record-type* + polkit-configuration make-polkit-configuration + polkit-configuration? + (polkit polkit-configuration-polkit ; + (default polkit)) + (actions polkit-configuration-actions ;list of + (default '()))) + (define %polkit-accounts (list (user-group (name "polkitd") (system? #t)) (user-account @@ -396,9 +358,31 @@ site} for more information." (define %polkit-pam-services (list (unix-pam-service "polkitd"))) +(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)))) + +(define polkit-etc-files + (match-lambda + (($ polkit packages) + `(("polkit-1" ,(polkit-directory packages)))))) + +(define polkit-setuid-programs + (match-lambda + (($ polkit) + (list #~(string-append #$polkit + "/lib/polkit-1/polkit-agent-helper-1"))))) + (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 @@ -406,15 +390,83 @@ site} for more information." (service-extension pam-root-service-type (const %polkit-pam-services)) (service-extension dbus-root-service-type - list))))) + (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)) ;;; @@ -581,7 +633,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))) -- cgit v1.2.3 From 5905114a10572e1858b653bc3fbf21e581344c75 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 17:43:50 +0100 Subject: gnu: udisks: Find the 'mount' command. * gnu/packages/freedesktop.scm (udisks)[inputs]: Add UTIL-LINUX. [arguments]: Add 'set-mount-file-name' phase. --- gnu/packages/freedesktop.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index ee94db440a..b428041423 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -343,7 +343,8 @@ Analysis and Reporting Technology) functionality.") `(("acl" ,acl) ("libatasmart" ,libatasmart) ("libgudev" ,libgudev) - ("polkit" ,polkit))) + ("polkit" ,polkit) + ("util-linux" ,util-linux))) (arguments `(#:tests? #f ; requiring system message dbus #:configure-flags @@ -360,7 +361,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 -- cgit v1.2.3 From 35263cd8627b296c3badc21de355b4fe613d7cd4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 17:44:56 +0100 Subject: gnu: udisks: Mount things under /media. * gnu/packages/freedesktop.scm (udisks)[arguments]: Add --enable-fhs-media. --- gnu/packages/freedesktop.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index b428041423..28e9001384 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -350,6 +350,7 @@ Analysis and Reporting Technology) functionality.") #:configure-flags (list "--disable-man" "--localstatedir=/var" + "--enable-fhs-media" ;mount devices in /media, not /run/media (string-append "--with-udevdir=" %output "/lib/udev")) #:phases (modify-phases %standard-phases -- cgit v1.2.3 From daa3b04cd8020e365d3c551bc498363a284f5acf Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 17:49:51 +0100 Subject: gnu: udisks: Separate HTML documentation. * gnu/packages/freedesktop.scm (udisks)[outputs]: New field. [arguments]: Pass the --with-html-dir configure flag. --- gnu/packages/freedesktop.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 28e9001384..28883d1e99 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -345,12 +345,17 @@ Analysis and Reporting Technology) functionality.") ("libgudev" ,libgudev) ("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 -- cgit v1.2.3 From 2b9e0a948be33ad53825b26fa22b89f13500a7c7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 17:55:26 +0100 Subject: services: Add 'udisks-service'. * gnu/services/desktop.scm (): New record type. (udisks-service-type): New variable. (udisks-service): New procedure. (%desktop-services): Use it. * doc/guix.texi (Desktop Services): Document it. --- doc/guix.texi | 7 +++++++ gnu/services/desktop.scm | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 1215c6c277..e8b79ecf98 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6744,6 +6744,13 @@ levels, with the given configuration settings. It implements the GNOME. @end deffn +@deffn {Scheme Procedure} udisks-service [#:udisks @var{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. +@end deffn + @deffn {Scheme Procedure} colord-service [#:colord @var{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 diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index af4fe53dd0..f0ae1085cc 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -43,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 @@ -468,6 +469,37 @@ 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 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)))))) + +(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)))) + ;;; ;;; Elogind login and seat management service. @@ -662,6 +694,7 @@ when they log out." ;; The D-Bus clique. (avahi-service) (wicd-service) + (udisks-service) (upower-service) (colord-service) (geoclue-service) -- cgit v1.2.3 From 4da85bc3bbca654177e7e1c379242937f251d957 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 1 Nov 2015 19:44:31 +0200 Subject: gnu: youtube-dl: Update to 2015.11.01. * gnu/packages/video.scm (youtube-dl): Update to 2015.11.01. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f4b242df87..8fac3aa271 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -812,7 +812,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2015.10.24") + (version "2015.11.01") (source (origin (method url-fetch) (uri (string-append "https://youtube-dl.org/downloads/" @@ -820,7 +820,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "1q9srq08vb2yzl81hmjrgqwajckq52fhh9ag2ppbbxjibf91w5gs")))) + "0fhz6ml9mlz4g4xfm6kmkcks4p5j6srnszdrh9rmcc4gf36q3aaq")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") -- cgit v1.2.3 From b798dfde47e41aa006018ad8922f7a0d887e6d50 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 1 Nov 2015 19:56:33 +0200 Subject: gnu: youtube-dl: Minor fixes. * gnu/packages/video.scm (youtube-dl)[url]: Change to http. [description]: Fix capitalization. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8fac3aa271..deb2cf1dc4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -815,7 +815,7 @@ projects while introducing many more.") (version "2015.11.01") (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 @@ -826,7 +826,7 @@ projects while introducing many more.") (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))) -- cgit v1.2.3 From 7824d4450d6b47ae7c5634e8952edad644854b2b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 21:27:36 +0100 Subject: Revert "services: polkit: Use the right executable name for PAM." This reverts commit 7f39e181dfb34db8f245f3ffafe34eec9cee910d. Polkit actually uses the name "polkit-1" in calls to 'pam_start'. --- gnu/services/desktop.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index f0ae1085cc..31d196da78 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -357,7 +357,7 @@ 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-directory packages) "Return a directory containing an @file{actions} and possibly a -- cgit v1.2.3 From 52d76b64e000c83edd75b78775343cb122a66fa5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 21:49:51 +0100 Subject: gnu: xz: Add alternate URL. Fixes . * gnu/packages/compression.scm (xz)[source]: Add alternate URL. --- gnu/packages/compression.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index a9e942efd5..fd3a9ce98e 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -263,8 +263,10 @@ compressed with pbzip2 can be decompressed with bzip2).") (version "5.0.4") (source (origin (method url-fetch) - (uri (string-append "http://tukaani.org/xz/xz-" version - ".tar.gz")) + (uri (list (string-append "http://tukaani.org/xz/xz-" version + ".tar.gz") + (string-append "http://multiprecision.org/guix/xz-" + version ".tar.gz"))) (sha256 (base32 "1dl35ca8fdss9z2d6y234gxh24ixq904xksizrjmjr5dimwhax6n")))) -- cgit v1.2.3 From 6d6e628119a043b3d8dd309d3e6d5a35bcd37618 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 22:14:47 +0100 Subject: doc: Give an example with an encrypted root partition. * gnu/system/examples/desktop.tmpl: Add 'mapped-devices' field. Use it in 'file-systems'. * doc/guix.texi (System Installation): Suggest encrypted partitions. Give an example of a command sequence. --- doc/guix.texi | 14 ++++++++++++-- gnu/system/examples/desktop.tmpl | 12 ++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index e8b79ecf98..bd9b42b20f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5237,14 +5237,24 @@ Setting up network access is almost always a requirement because the image does not contain all the software and tools that may be needed. @item -Unless this has already been done, you must partition and format the -target partitions. +Unless this has already been done, you must partition, optionally +encrypt, and then format the target partitions. Preferably, assign partitions a label so that you can easily and reliably refer to them in @code{file-system} declarations (@pxref{File Systems}). This is typically done using the @code{-L} option of @command{mkfs.ext4} and related commands. +A typical command sequence may be: + +@example +# fdisk /dev/sdX +@dots{} Create partitions etc.@dots{} +# cryptsetup luksFormat /dev/sdX1 +# cryptsetup open --type luks /dev/sdX1 my-partition +# mkfs.ext4 -L my-root /dev/mapper/my-partition +@end example + The installation image includes Parted (@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, Cryptsetup/LUKS for disk encryption, and e2fsprogs, the suite of tools to manipulate diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 988b8f937f..41f66f693a 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -13,9 +13,17 @@ ;; Assuming /dev/sdX is the target hard disk, and "root" is ;; the label of the target root file system. (bootloader (grub-configuration (device "/dev/sdX"))) + + ;; Here we assume that /dev/sdX1 contains a LUKS-encrypted + ;; root partition created with 'cryptsetup luksFormat'. + (mapped-devices (list (mapped-device + (source "/dev/sdX1") + (target "root-partition") + (type luks-device-mapping)))) + + ;; Mount said encrypted partition. (file-systems (cons (file-system - (device "root") - (title 'label) + (device "/dev/mapper/root-partition") (mount-point "/") (type "ext4")) %base-file-systems)) -- cgit v1.2.3 From 7c5a442091175361263ca15c50432488c5af89f6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 1 Nov 2015 12:00:15 -0600 Subject: gnu: synergy: Upgrade to 1.7.4. * gnu/packages/synergy.scm (synergy): Upgrade to 1.7.4. --- gnu/packages/synergy.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') 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 +;;; Copyright © 2014, 2015 Eric Bavier ;;; ;;; 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 -- cgit v1.2.3 From cb7fed9285e6eb7b9b4a2dd7a6c5b553de86771d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Nov 2015 10:46:56 +0200 Subject: gnu: links: Update to 2.12. * gnu/packages/links.scm (links): Update to 2.12. Various whitespace and line length fixes. --- gnu/packages/links.scm | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/links.scm b/gnu/packages/links.scm index 04abf06991..e0a3da8fe6 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 +;;; Copyright © 2014 John Darrington +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,21 +32,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,8 +56,7 @@ (zero? (system* "./configure" (string-append "--prefix=" out) - "--enable-graphics" - )))) + "--enable-graphics")))) %standard-phases))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("zlib" ,zlib) @@ -69,14 +69,11 @@ (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+))) -- cgit v1.2.3 From a83adbf681b7f0ce68eaff2b55f17ea5563f66bc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Nov 2015 10:50:08 +0200 Subject: gnu: links: Build with libevent. * gnu/packages/links.scm (links)[inputs]: Add libevent. --- gnu/packages/links.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/links.scm b/gnu/packages/links.scm index e0a3da8fe6..41fac8c305 100644 --- a/gnu/packages/links.scm +++ b/gnu/packages/links.scm @@ -24,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) @@ -63,6 +64,7 @@ ("openssl" ,openssl) ("libjpeg" ,libjpeg) ("libtiff" ,libtiff) + ("libevent" ,libevent) ("libpng" ,libpng) ("libxt" ,libxt))) (synopsis "Text and graphics mode web browser") -- cgit v1.2.3 From 6394fe650e7246dd0fcfb3f92a1797f7b6f3fcd1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2015 22:29:53 +0100 Subject: system: grub: Use a bigger background image. * gnu/system/grub.scm (grub-background-image): Increase the default values of WIDTH and HEIGHT. After all, it's 2015 already! --- gnu/system/grub.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index 4c21851cb6..5b824820b1 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -140,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)) -- cgit v1.2.3 From f3674b1c80a95d77be8aadea4575eb788cfac7cf Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 15 Oct 2015 22:53:31 +1000 Subject: gnu: Add express-beta-diversity. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm (express-beta-diversity): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/bioinformatics.scm | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fdb42562e8..953684101d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1090,6 +1090,51 @@ analysis (from RNA-Seq), transcription factor binding quantification in ChIP-Seq, and analysis of metagenomic data.") (license license:artistic2.0))) +(define-public express-beta-diversity + (package + (name "express-beta-diversity") + (version "1.0.7") + (source (origin + (method url-fetch) + (uri + (string-append + "https://github.com/dparks1134/ExpressBetaDiversity/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1djvdlmqvjf6h0zq7w36y8cl5cli6rgj86x65znl48agnwmzxfxr")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'enter-source (lambda _ (chdir "source") #t)) + (replace 'check + (lambda _ (zero? (system* "../bin/ExpressBetaDiversity" + "-u")))) + (add-after 'check 'exit-source (lambda _ (chdir "..") #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") + "/bin"))) + (mkdir-p bin) + (copy-file "scripts/convertToEBD.py" + (string-append bin "/convertToEBD.py")) + (copy-file "bin/ExpressBetaDiversity" + (string-append bin "/ExpressBetaDiversity")) + #t)))))) + (inputs + `(("python" ,python-2))) + (home-page "http://kiwi.cs.dal.ca/Software/ExpressBetaDiversity") + (synopsis "Taxon- and phylogenetic-based beta diversity measures") + (description + "Express Beta Diversity (EBD) calculates ecological beta diversity +(dissimilarity) measures between biological communities. EBD implements a +variety of diversity measures including those that make use of phylogenetic +similarity of community members.") + (license license:gpl3+))) + (define-public fasttree (package (name "fasttree") -- cgit v1.2.3 From 762b1971d8e21ffbc46d28b37c9bace64c2369bc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Nov 2015 13:29:51 +0200 Subject: gnu: claws-mail: Update to 3.13.0. * gnu/packages/mail.scm (claws-mail): Update to 3.13.0. [url]: Update to new location. --- gnu/packages/mail.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1a0a42d267..1e3ba8fd54 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -513,14 +513,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) -- cgit v1.2.3 From 6b5b656f71c4b3a098e9c0de16997514b1015855 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 2 Nov 2015 14:08:45 +0100 Subject: gnu: shogun: Disable build on non-x86_64. * gnu/packages/machine-learning.scm (shogun)[supported-systems]: Add field. --- gnu/packages/machine-learning.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') 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 -- cgit v1.2.3 From 69b96e5eee36dd2f15790c6022a5c162e3206291 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 2 Nov 2015 14:26:05 +0100 Subject: gnu: python-simplegeneric: Add setuptools to native inputs. * gnu/packages/python.scm (python-simplegeneric)[native-inputs]: Add python-setuptools. --- gnu/packages/python.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b37bb1360f..1055c6f242 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3961,7 +3961,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 -- cgit v1.2.3 From 60af3d82419c7b31fedb8ebb54e2ce85f87a2ccd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 2 Nov 2015 14:36:36 +0100 Subject: gnu: hisat: Disable build on non-x86_64. * gnu/packages/bioinformatics.scm (hisat)[supported-systems]: Add field. --- gnu/packages/bioinformatics.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 953684101d..2e048bdabc 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1374,6 +1374,9 @@ estimates transcript expression.") `(("perl" ,perl) ("python" ,python) ("zlib" ,zlib))) + ;; Non-portable SSE instructions are used so building fails on platforms + ;; other than x86_64. + (supported-systems '("x86_64-linux")) (home-page "http://ccb.jhu.edu/software/hisat/index.shtml") (synopsis "Hierarchical indexing for spliced alignment of transcripts") (description -- cgit v1.2.3 From f13636f29179e0d7eb9b2e0416f771848a9d2e1e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 15 Oct 2015 12:29:07 +0200 Subject: gnu: Add ruby-rubygems-tasks. * gnu/packages/ruby.scm (ruby-rubygems-tasks): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8bf85233ea..92e726de64 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -752,6 +752,28 @@ 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-useragent (package (name "ruby-useragent") -- cgit v1.2.3 From 2417fce3afa1f1908462c2176dedd810cb639085 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 16 Sep 2015 11:05:50 +0200 Subject: gnu: Add ruby-ffi. * gnu/packages/ruby.scm (ruby-ffi): New variable. --- gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 92e726de64..fcb800a788 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -774,6 +774,34 @@ 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-useragent (package (name "ruby-useragent") -- cgit v1.2.3 From 58b59742f47e4aee243bd75af8e6dda5f92ed57a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 16 Sep 2015 11:06:25 +0200 Subject: gnu: Add ruby-simplecov-html. * gnu/packages/ruby.scm (ruby-simplecov-html): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index fcb800a788..3cd1465afa 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -802,6 +802,25 @@ 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 + "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj")))) + (build-system ruby-build-system) + (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-useragent (package (name "ruby-useragent") -- cgit v1.2.3 From 48e6851f2f51bd9b21f30bc1e669cfc07341b0da Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 30 Oct 2015 16:43:51 +0100 Subject: gnu: Add ruby-rb-inotify. * gnu/packages/ruby.scm (ruby-rb-inotify): New variable. --- gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3cd1465afa..471ce0f406 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1279,6 +1279,39 @@ 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-json (package (name "ruby-json") -- cgit v1.2.3 From b86be2ad1a947957f69c84c8d80c92cc568a7d7a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 30 Oct 2015 16:44:12 +0100 Subject: gnu: Add ruby-listen. * gnu/packages/ruby.scm (ruby-listen): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 471ce0f406..30a927779b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1331,6 +1331,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") -- cgit v1.2.3 From 8d9e9f28574e51e6cc3a5f8efc9c80bd7185bd71 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 30 Oct 2015 17:17:21 +0100 Subject: gnu: Add ruby-permutation. * gnu/packages/ruby.scm (ruby-permutation): New variable. --- gnu/packages/ruby.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 30a927779b..137b75a24f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -649,6 +649,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") -- cgit v1.2.3 From f1339551221c3fb220939cd1e8404785af96a8af Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 1 Nov 2015 09:39:13 +0200 Subject: gnu: gsl: Update to 2.0. * gnu/packages/maths.scm (gsl): Update to 2.0. [source]: Remove patches. * gnu/packages/patches/gsl-poly-test-fix-pt1.patch, gnu/packages/patches/gsl-poly-test-fix-pt2.patch: Remove files. * gnu-system.am (dist_patch_DATA): Remove patches. --- gnu-system.am | 2 - gnu/packages/maths.scm | 6 +- gnu/packages/patches/gsl-poly-test-fix-pt1.patch | 84 ------------------------ gnu/packages/patches/gsl-poly-test-fix-pt2.patch | 27 -------- 4 files changed, 2 insertions(+), 117 deletions(-) delete mode 100644 gnu/packages/patches/gsl-poly-test-fix-pt1.patch delete mode 100644 gnu/packages/patches/gsl-poly-test-fix-pt2.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index f140ab6be8..36e7b6e937 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -485,8 +485,6 @@ dist_patch_DATA = \ gnu/packages/patches/grep-CVE-2015-1345.patch \ gnu/packages/patches/grub-gets-undeclared.patch \ gnu/packages/patches/grub-freetype.patch \ - gnu/packages/patches/gsl-poly-test-fix-pt1.patch \ - gnu/packages/patches/gsl-poly-test-fix-pt2.patch \ gnu/packages/patches/guile-1.8-cpp-4.5.patch \ gnu/packages/patches/guile-arm-fixes.patch \ gnu/packages/patches/guile-default-utf8.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index b4b930de47..1aba3623a3 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -149,7 +149,7 @@ semiconductors.") (define-public gsl (package (name "gsl") - (version "1.16") + (version "2.0") (source (origin (method url-fetch) @@ -157,9 +157,7 @@ semiconductors.") version ".tar.gz")) (sha256 (base32 - "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k")) - (patches (map search-patch '("gsl-poly-test-fix-pt1.patch" - "gsl-poly-test-fix-pt2.patch"))))) + "0bfahlsgil0695104a44c3c8vjkyvxmg3s92371fddcrj6qz0qg3")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f 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 -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 - #include - -+/* 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 -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 - -- cgit v1.2.3 From 5adbe65feceeb6d2a08abe644f4a66f598985182 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 1 Nov 2015 09:42:23 +0200 Subject: gnu: gsl: Enable tests. * gnu/packages/maths.scm (gsl)[arguments]: Enable tests for i686-linux. --- gnu/packages/maths.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1aba3623a3..4eeb39d955 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -160,19 +161,7 @@ semiconductors.") "0bfahlsgil0695104a44c3c8vjkyvxmg3s92371fddcrj6qz0qg3")))) (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 -- cgit v1.2.3 From 3a391e68dafe81560d3e4936a1ec5ac3b06d43bb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 2 Nov 2015 17:01:32 +0100 Subject: services: Clarify extend/compose of BOOT-SERVICE-TYPE. * gnu/services.scm (compute-boot-script): Add first placeholder parameter. (boot-service-type): Change 'compose' to APPEND, and 'extend' to COMPUTE-BOOT-SCRIPT. --- gnu/services.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/services.scm b/gnu/services.scm index c8a2a2604f..ecf3532e52 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -182,7 +182,7 @@ This is a shorthand for (map (lambda (svc) ...) %base-services)." ;;; Core services. ;;; -(define (compute-boot-script mexps) +(define (compute-boot-script _ mexps) (mlet %store-monad ((gexps (sequence %store-monad mexps))) (gexp->file "boot" #~(begin @@ -203,16 +203,14 @@ This is a shorthand for (map (lambda (svc) ...) %base-services)." ;; Activate the system and spawn dmd. #$@gexps)))) -(define (second-argument a b) b) - (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))) + (compose append) + (extend compute-boot-script))) (define %boot-service ;; This is the ultimate service, the root of the service DAG. @@ -296,6 +294,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 -- cgit v1.2.3 From d62e201cfd0f1e48c14586489d0e2b80ce943d4f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 2 Nov 2015 18:44:17 +0100 Subject: services: Add 'system-service-type'. * gnu/services.scm (system-derivation): New procedure. (system-service-type): New variable. (boot-script-entry): New procedure. (boot-service-type): Extend SYSTEM-SERVICE-TYPE. (etc-entry): New procedure. (etc-service-type): Extend SYSTEM-SERVICE-TYPE. (fold-services): Change default #:target-type to SYSTEM-SERVICE-TYPE. * gnu/system.scm (operating-system-directory-base-entries): New procedure. (essential-services): Use it. Add an instance of SYSTEM-SERVICE-TYPE. (operating-system-boot-script): Pass #:target-type to 'fold-services'. (operating-system-derivation): Rewrite in terms of 'fold-services'. * gnu/system/linux-container.scm (system-container): Remove. (container-script): Use 'operating-system-derivation'. * guix/scripts/system.scm (export-extension-graph): Replace BOOT-SERVICE-TYPE by SYSTEM-SERVICE-TYPE. * doc/images/service-graph.dot: Add 'system' node and edges. * doc/guix.texi (Service Composition): Mention SYSTEM-SERVICE-TYPE. (Service Reference): Document it. Update 'fold-services' documentation. --- doc/guix.texi | 26 +++++++++++++------- doc/images/service-graph.dot | 5 +++- gnu/services.scm | 51 +++++++++++++++++++++++++++++++++------ gnu/system.scm | 54 ++++++++++++++++++++++++------------------ gnu/system/linux-container.scm | 18 +++----------- guix/scripts/system.scm | 6 ++--- 6 files changed, 103 insertions(+), 57 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 74e0977db5..6ab98deef3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7589,8 +7589,11 @@ as arrows, a typical system might provide something like this: @image{images/service-graph,,5in,Typical service extension graph.} -At the bottom, we see the @dfn{boot service}, which produces the boot -script that is executed at boot time from the initial RAM disk. +@cindex system service +At the bottom, we see the @dfn{system service}, which produces the +directory containing everything to run and boot the system, as returned +by the @command{guix system build} command. @xref{Service Reference}, +to learn about the other service types shown here. @xref{system-extension-graph, the @command{guix system extension-graph} command}, for information on how to generate this representation for a particular operating system definition. @@ -7853,12 +7856,14 @@ Return true if @var{obj} is a service extension. At the core of the service abstraction lies the @code{fold-services} procedure, which is responsible for ``compiling'' a list of services -down to a single boot script. In essence, it propagates service -extensions down the service graph, updating each node parameters on the -way, until it reaches the root node. +down to a single directory that contains everything needed to boot and +run the system---the directory shown by the @command{guix system build} +command (@pxref{Invoking guix system}). In essence, it propagates +service extensions down the service graph, updating each node parameters +on the way, until it reaches the root node. @deffn {Scheme Procedure} fold-services @var{services} @ - [#:target-type @var{boot-service-type}] + [#:target-type @var{system-service-type}] Fold @var{services} by propagating their extensions down to the root of type @var{target-type}; return the root service adjusted accordingly. @end deffn @@ -7866,9 +7871,14 @@ type @var{target-type}; return the root service adjusted accordingly. Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below. +@defvr {Scheme Variable} system-service-type +This is the root of the service graph. It produces the system directory +as returned by the @command{guix system build} command. +@end defvr + @defvr {Scheme Variable} boot-service-type -The type of the ``boot service'', which is the root of the service -graph. +The type of the ``boot service'', which produces the @dfn{boot script}. +The boot script is what the initial RAM disk runs when booting. @end defvr @defvr {Scheme Variable} etc-service-type diff --git a/doc/images/service-graph.dot b/doc/images/service-graph.dot index 3397b878e9..04f231bb09 100644 --- a/doc/images/service-graph.dot +++ b/doc/images/service-graph.dot @@ -4,7 +4,8 @@ digraph "Service Type Dependencies" { etc [shape = box, fontname = Helvetica]; accounts [shape = box, fontname = Helvetica]; activation [shape = box, fontname = Helvetica]; - boot [shape = house, fontname = Helvetica]; + boot [shape = box, fontname = Helvetica]; + system [shape = house, fontname = Helvetica]; lshd -> dmd; lshd -> pam; udev -> dmd; @@ -32,4 +33,6 @@ digraph "Service Type Dependencies" { guix -> dmd; guix -> activation; guix -> accounts; + boot -> system; + etc -> system; } diff --git a/gnu/services.scm b/gnu/services.scm index ecf3532e52..8a66d453df 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -60,6 +60,7 @@ ambiguous-target-service-error-service ambiguous-target-service-error-target-type + system-service-type boot-service-type activation-service-type activation-service->script @@ -89,9 +90,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 @@ -182,6 +184,25 @@ This is a shorthand for (map (lambda (svc) ...) %base-services)." ;;; Core services. ;;; +(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" @@ -203,17 +224,25 @@ This is a shorthand for (map (lambda (svc) ...) %base-services)." ;; Activate the system and spawn dmd. #$@gexps)))) +(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 '()) + (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. @@ -351,6 +380,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 @@ -359,7 +394,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))) @@ -450,7 +486,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/system.scm b/gnu/system.scm index 8fed857b39..c26d27028b 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -254,6 +254,24 @@ 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 ((profile (operating-system-profile os)) + (locale (operating-system-locale-directory os))) + (if container? + (return `(("profile" ,profile) + ("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) + ("profile" ,profile) + ("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 +287,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). @@ -607,10 +628,17 @@ 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-root-file-system os) "Return the root file system of OS." (find (match-lambda @@ -693,24 +721,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/linux-container.scm b/gnu/system/linux-container.scm index c2eb773931..4f38c5cb0a 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -47,20 +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))) - (lower-object - (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 to realize in the @@ -95,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 diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 7be734785a..7a8a751df9 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -491,10 +491,10 @@ building anything." (define (export-extension-graph os port) "Export the service extension graph of OS to PORT." (let* ((services (operating-system-services os)) - (boot (find (lambda (service) - (eq? (service-kind service) boot-service-type)) + (system (find (lambda (service) + (eq? (service-kind service) system-service-type)) services))) - (export-graph (list boot) (current-output-port) + (export-graph (list system) (current-output-port) #:node-type (service-node-type services) #:reverse-edges? #t))) -- cgit v1.2.3 From af4c3fd5e37d477bffce167909fbc0776a860204 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 2 Nov 2015 21:52:28 +0100 Subject: services: Add 'profile-service-type'. * gnu/services.scm (packages->profile-entry): New procedure. (profile-service-type): New variable. * gnu/system.scm (operating-system-directory-base-entries): Remove the "profile" entry. (essential-services): Add a PROFILE-SERVICE-TYPE instance. (operating-system-profile): Rewrite in terms of 'fold-services'. * doc/guix.texi (Service Reference): Add 'profile-service-type'. * doc/images/service-graph.dot: Likewise. --- doc/guix.texi | 6 ++++++ doc/images/service-graph.dot | 2 ++ gnu/services.scm | 19 +++++++++++++++++++ gnu/system.scm | 24 ++++++++++++++---------- 4 files changed, 41 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 6ab98deef3..897675291e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7899,6 +7899,12 @@ executable file names, passed as gexps, and adds them to the set of setuid-root programs on the system (@pxref{Setuid Programs}). @end defvr +@defvr {Scheme Variable} profile-service-type +Type of the service that populates the @dfn{system profile}---i.e., the +programs under @file{/run/current-system/profile}. Other services can +extend it by passing it lists of packages to add to the system profile. +@end defvr + @node dmd Services @subsubsection dmd Services diff --git a/doc/images/service-graph.dot b/doc/images/service-graph.dot index 04f231bb09..b084005984 100644 --- a/doc/images/service-graph.dot +++ b/doc/images/service-graph.dot @@ -2,6 +2,7 @@ digraph "Service Type Dependencies" { dmd [shape = box, fontname = Helvetica]; pam [shape = box, fontname = Helvetica]; etc [shape = box, fontname = Helvetica]; + profile [shape = box, fontname = Helvetica]; accounts [shape = box, fontname = Helvetica]; activation [shape = box, fontname = Helvetica]; boot [shape = box, fontname = Helvetica]; @@ -35,4 +36,5 @@ digraph "Service Type Dependencies" { guix -> accounts; boot -> system; etc -> system; + profile -> system; } diff --git a/gnu/services.scm b/gnu/services.scm index 8a66d453df..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) @@ -68,6 +69,7 @@ etc-service-type etc-directory setuid-program-service-type + profile-service-type firmware-service-type %boot-service @@ -414,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." diff --git a/gnu/system.scm b/gnu/system.scm index c26d27028b..85a596ddb9 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -257,11 +257,9 @@ from the initrd." (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 ((profile (operating-system-profile os)) - (locale (operating-system-locale-directory os))) + (mlet %store-monad ((locale (operating-system-locale-directory os))) (if container? - (return `(("profile" ,profile) - ("locale" ,locale))) + (return `(("locale" ,locale))) (mlet %store-monad ((kernel -> (operating-system-kernel os)) (initrd (operating-system-initrd-file os)) @@ -269,7 +267,6 @@ value of the SYSTEM-SERVICE-TYPE service." (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) - ("profile" ,profile) ("locale" ,locale))))))) ;used by libc (define* (essential-services os #:key container?) @@ -305,6 +302,8 @@ a container or that of a \"bare metal\" system." 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 @@ -534,11 +533,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 @@ -639,6 +633,16 @@ hardware-related operations as necessary when booting a Linux container." ;; 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 -- cgit v1.2.3 From 87f40011462eea9142de9853377b2cee3c0df785 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 2 Nov 2015 22:03:15 +0100 Subject: services: wicd: Add Wicd to the system profile. * gnu/services/networking.scm (wicd-service-type): Extend PROFILE-SERVICE-TYPE. (wicd-service): Mention it in docstring. * doc/guix.texi (Networking Services): Update documentation accordingly. * gnu/system/examples/desktop.tmpl (packages): Remove WICD. --- doc/guix.texi | 10 ++++++++-- gnu/services/networking.scm | 12 ++++++++++-- gnu/system/examples/desktop.tmpl | 4 ++-- 3 files changed, 20 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 897675291e..28c9a9c0cf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6447,9 +6447,15 @@ gateway. @end deffn @cindex wicd +@cindex network management @deffn {Scheme Procedure} wicd-service [#:wicd @var{wicd}] -Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a -network manager that aims to simplify wired and wireless networking. +Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network +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. @end deffn @deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @ diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index d33ff4fc4a..8f67976b23 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -483,11 +483,19 @@ 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)) ;;; networking.scm ends here diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 41f66f693a..0e26a7ec5e 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 avahi xorg certs) (operating-system (host-name "antelope") @@ -40,7 +40,7 @@ ;; 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 + xterm avahi ;useful tools nss-certs ;for HTTPS access %base-packages)) -- cgit v1.2.3 From e9b8212414ce9eb113ab36c2353d0bfa1a1acab4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 2 Nov 2015 22:04:17 +0100 Subject: services: slim: Add xterm to the system profile. * gnu/services/xorg.scm (slim-service-type): Extend PROFILE-SERVICE-TYPE. * gnu/system/examples/desktop.tmpl (packages): Remove XTERM. --- gnu/services/xorg.scm | 7 ++++++- gnu/system/examples/desktop.tmpl | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 639a541777..f4bc8245f5 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -309,7 +309,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? diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 0e26a7ec5e..ff2a1b7306 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 avahi xorg certs) +(use-package-modules xfce ratpoison avahi certs) (operating-system (host-name "antelope") @@ -40,7 +40,7 @@ ;; 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 avahi ;useful tools + avahi ;useful tools nss-certs ;for HTTPS access %base-packages)) -- cgit v1.2.3 From 1065bed9c41f8a9b0718ae2db0fd42f286c1b8be Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 2 Nov 2015 22:13:01 +0100 Subject: services: avahi: Add Avahi to the system profile. * gnu/services/avahi.scm (avahi-service-type): Extend PROFILE-SERVICE-TYPE. (avahi-service): Adjust docstring. * doc/guix.texi (Networking Services): Adjust accordingly. * gnu/system/examples/desktop.tmpl (packages): Remove AVAHI. --- doc/guix.texi | 4 +++- gnu/services/avahi.scm | 35 +++++++++++++++++++++-------------- gnu/system/examples/desktop.tmpl | 3 +-- 3 files changed, 25 insertions(+), 17 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 28c9a9c0cf..3afa496ea3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6571,7 +6571,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/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/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index ff2a1b7306..7a479d1123 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 avahi certs) +(use-package-modules xfce ratpoison certs) (operating-system (host-name "antelope") @@ -40,7 +40,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 - avahi ;useful tools nss-certs ;for HTTPS access %base-packages)) -- cgit v1.2.3 From beca0807ebd85c367eb88fdce04d826b6901c5fe Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 2 Nov 2015 22:22:36 +0100 Subject: services: udisks: Add UDisks to the system profile. * gnu/services/desktop.scm (udisks-service-type): Extend PROFILE-SERVICE-TYPE. --- gnu/services/desktop.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 31d196da78..1986764697 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -490,6 +490,10 @@ site} for more information." (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)) -- cgit v1.2.3 From 42e8f7345ffbe5977fc9d2bb3d2615ad355a04b2 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 3 Nov 2015 10:07:30 +0800 Subject: gnu: libpcap: Update to 1.7.4. * gnu/packages/admin.scm (libpcap): Update to 1.7.4. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 455f7ee2a4..bfab7cd9ce 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") -- cgit v1.2.3 From 6e32aa568c0a1f4f41d61167cb328ca56f2de250 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 3 Nov 2015 10:08:19 +0800 Subject: gnu: tcpdump: Update to 4.7.4. * gnu/packages/admin.scm (tcpdump): Update to 4.7.4. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index bfab7cd9ce..aba5a51a4c 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -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))) -- cgit v1.2.3 From dc57d527aee4eb18ec5fb345f90d6637bbd1a4d2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 3 Nov 2015 09:37:52 +0100 Subject: gnu: guix: Update development snapshot. * gnu/packages/package-management.scm (guix-0.8.3)[arguments]: In 'disable-container-tests' phase, modify "tests/guix-environment-container.sh". Add 'set-SHELL' phase. * gnu/packages/package-management.scm (guix-devel): Update to b485f75. --- gnu/packages/package-management.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 65464f7691..c1ef2e15c4 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -82,6 +82,7 @@ (string-append "--with-libgcrypt-prefix=" (assoc-ref %build-inputs "libgcrypt"))) + #:parallel-tests? #f ;work around #:phases (modify-phases %standard-phases (add-before 'configure 'copy-bootstrap-guile @@ -117,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) @@ -184,7 +195,7 @@ 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")) + (let ((commit "b485f75")) (package (inherit guix-0.8.3) (version (string-append "0.8.3." commit)) (source (origin @@ -194,7 +205,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "1zgjj5knpz3qbbqdjm4yh436bzfgasc6p0k3xnx58hfjd88mdsga")) + "1frn74y5c3n91qxs5b3sxbr8ai43s6svlb2djfnp7nqbr1ax3mph")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.8.3) -- cgit v1.2.3 From 03d521f92e7ab2dec20c576d2fd9f391bd29d725 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Sun, 1 Nov 2015 19:38:53 +0100 Subject: gnu: Add nestopia-ue. * gnu/packages/games.scm (nestopia-ue): New variable. --- gnu/packages/games.scm | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 546944ad25..9c57a88dee 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -38,6 +38,7 @@ #:use-module (guix svn-download) #:use-module (gnu packages) #: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) @@ -1212,3 +1213,62 @@ 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 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))) + ;; We don't need libretro for the GNU/Linux build. + (snippet + '(delete-file-recursively "libretro")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("ao" ,ao) + ("glu" ,glu) + ("gtk+" ,gtk+) + ("libarchive" ,libarchive) + ("mesa" ,mesa) + ("sdl2" ,sdl2))) + (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+))) -- cgit v1.2.3 From c56ab21b2af601bd20af08c6924df2a5121e132a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 3 Nov 2015 14:43:42 +0100 Subject: gnu: guix: Do not retain dependency on Graphviz. * gnu/packages/package-management.scm (guix-devel)[arguments]: Add ac_cv_path_DOT_USER_PROGRAM=dot to #:configure-flags. --- gnu/packages/package-management.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c1ef2e15c4..1c480be67e 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -209,6 +209,11 @@ the Nix package manager.") (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.8.3) + ((#: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 -- cgit v1.2.3 From 31e021f8767abb2c37e1c7a2e7aa6be276667bd3 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 3 Nov 2015 21:58:28 +0800 Subject: gnu: gstreamer: Update to 1.6.1. * gnu/packages/gstreamer.scm (gstreamer): Update to 1.6.1. [arguments]: Remove #:make-flags. --- gnu/packages/gstreamer.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 0ac9783550..90061b2e94 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -83,7 +83,7 @@ arrays of data.") (define-public gstreamer (package (name "gstreamer") - (version "1.4.5") + (version "1.6.1") (source (origin (method url-fetch) @@ -91,12 +91,11 @@ arrays of data.") 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")))) -- cgit v1.2.3 From 7bc36f8d96fb40a449c405a29ecdceb69a658132 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 3 Nov 2015 22:00:04 +0800 Subject: gnu: gst-plugins-base: Update to 1.6.1. * gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.6.1. [arguments]: Disable parallel tests. --- gnu/packages/gstreamer.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 90061b2e94..619a63f934 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -130,7 +130,7 @@ 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) @@ -138,7 +138,7 @@ This package provides the core library and elements.") version ".tar.xz")) (sha256 (base32 - "07ampnfa6p41s0lhia62l9h8bdx3c7vxvdz93pbx64m3wycq3gbp")))) + "18sbyjcp281zb3bsqji3pglsdsxi0s6ai7rx90sx8cpflkxdqcwm")))) (build-system gnu-build-system) (outputs '("out" "doc")) (propagated-inputs @@ -161,7 +161,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")) @@ -170,9 +171,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 -- cgit v1.2.3 From a64e5d451b2aef2a36a92a0b6ed626cb29169def Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 3 Nov 2015 22:01:15 +0800 Subject: gnu: gst-plugins-good: Update to 1.6.1. * gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.6.1. --- gnu/packages/gstreamer.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 619a63f934..2ef22f51ed 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -184,7 +184,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) @@ -193,7 +193,7 @@ for the GStreamer multimedia library.") version ".tar.xz")) (sha256 (base32 - "0hg6qzdpib9nwn3hdxv0d4rvivi1c4bmxsq2a9hqmamwyzrvbcbr")))) + "0darc3058kbnql3mnlpizl0sq0hhli7vkm0rpqb7nywz14abim46")))) (build-system gnu-build-system) (inputs `(("aalib" ,aalib) @@ -227,7 +227,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) -- cgit v1.2.3 From 72131606f1e8b4dcb8f0c4e14823249dab865de6 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 3 Nov 2015 22:01:54 +0800 Subject: gnu: gst-plugins-ugly: Update to 1.6.1. * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.6.1. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 2ef22f51ed..6dad2ad15c 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -244,7 +244,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) @@ -252,7 +252,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) -- cgit v1.2.3 From c869eed1a7034d1930343e70950c50a5a2814963 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 3 Nov 2015 22:02:32 +0800 Subject: gnu: gst-libav: Update to 1.6.1. * gnu/packages/gstreamer.scm (gst-libav): Update to 1.6.1. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 6dad2ad15c..a52106b898 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -282,7 +282,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 @@ -290,7 +290,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") -- cgit v1.2.3 From 9ff7827a21c13e67fb72196da10ab1ad30d79ddf Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Tue, 3 Nov 2015 16:22:56 +0100 Subject: gnu: nestopia-ue: Use system zlib. * gnu/packages/games.scm (nestopia-ue): Remove bundled zlib, patch files to include system zlib.h, and add zlib as input. --- gnu/packages/games.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9c57a88dee..f522db3073 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1228,9 +1228,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (base32 "07h49xwvg61dx20rk5p4r3ax2ar5y0ppvm60cqwqljyi9rdfbh7p")) (modules '((guix build utils))) - ;; We don't need libretro for the GNU/Linux build. (snippet - '(delete-file-recursively "libretro")))) + '(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 ")))))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1240,7 +1245,8 @@ world}, @uref{http://evolonline.org, Evol Online} and ("gtk+" ,gtk+) ("libarchive" ,libarchive) ("mesa" ,mesa) - ("sdl2" ,sdl2))) + ("sdl2" ,sdl2) + ("zlib" ,zlib))) (arguments '(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From b7d48312bbfc7bdbb3895eb10edc352eeb555b98 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 3 Nov 2015 08:32:53 -0500 Subject: build: container: Add feature test predicates. * gnu/build/linux-container.scm (user-namespace-supported?, unprivileged-user-namespace-supported?, setgroups-supported?): New procedures. * tests/container.scm: Use predicates. * tests/syscalls.scm: Likewise. --- gnu/build/linux-container.scm | 22 +++++++++++++++++++++- tests/containers.scm | 5 +++-- tests/syscalls.scm | 11 ++++++++--- 3 files changed, 32 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm index 556422bc38..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)) diff --git a/tests/containers.scm b/tests/containers.scm index 0ba81491ba..12982a64f7 100644 --- a/tests/containers.scm +++ b/tests/containers.scm @@ -28,8 +28,9 @@ ;; Skip these tests unless user namespaces are available and the setgroups ;; file (introduced in Linux 3.19 to address a security issue) exists. -(unless (and (file-exists? "/proc/self/ns/user") - (file-exists? "/proc/self/setgroups")) +(unless (and (user-namespace-supported?) + (unprivileged-user-namespace-supported?) + (setgroups-supported?)) (exit 77)) (test-begin "containers") diff --git a/tests/syscalls.scm b/tests/syscalls.scm index 86783b96c4..a57a9ca9f9 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm @@ -20,6 +20,7 @@ (define-module (test-syscalls) #:use-module (guix utils) #:use-module (guix build syscalls) + #:use-module (gnu build linux-container) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-64) @@ -80,7 +81,11 @@ (define (user-namespace pid) (string-append "/proc/" (number->string pid) "/ns/user")) -(unless (file-exists? (user-namespace (getpid))) +(define perform-container-tests? + (and (user-namespace-supported?) + (unprivileged-user-namespace-supported?))) + +(unless perform-container-tests? (test-skip 1)) (test-assert "clone" (match (clone (logior CLONE_NEWUSER SIGCHLD)) @@ -93,7 +98,7 @@ ((_ . status) (= 42 (status:exit-val status)))))))) -(unless (file-exists? (user-namespace (getpid))) +(unless perform-container-tests? (test-skip 1)) (test-assert "setns" (match (clone (logior CLONE_NEWUSER SIGCHLD)) @@ -122,7 +127,7 @@ (waitpid fork-pid) result)))))))) -(unless (file-exists? (user-namespace (getpid))) +(unless perform-container-tests? (test-skip 1)) (test-assert "pivot-root" (match (pipe) -- cgit v1.2.3 From 1c52181f33ec6c2b91f1361f7251769dd29c6ef2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 3 Nov 2015 17:23:10 +0100 Subject: services: Add 'guix-publish-service'. * gnu/services/base.scm (): New record type. (guix-publish-dmd-service): New procedure. (%guix-publish-accounts, guix-publish-service-type): New variables. (guix-publish-service): New procedure. * doc/guix.texi (Invoking guix publish): Add xref to 'guix-publish-service' anchor. (Base Services): Document 'guix-publish-service'. --- doc/guix.texi | 16 ++++++++++++++ gnu/services/base.scm | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 2ec25b21a1..996192c0ea 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4918,6 +4918,11 @@ Reference Manual}) on @var{port} (37146 by default). This is used primarily for debugging a running @command{guix publish} server. @end table +Enabling @command{guix publish} on a GuixSD system is a one-liner: just +add a call to @code{guix-publish-service} in the @code{services} field +of the @code{operating-system} declaration (@pxref{guix-publish-service, +@code{guix-publish-service}}). + @node Invoking guix challenge @section Invoking @command{guix challenge} @@ -6428,6 +6433,17 @@ Return a service to load console keymap from @var{file} using @command{loadkeys} command. @end deffn +@anchor{guix-publish-service} +@deffn {Scheme Procedure} guix-publish-service [#:guix @var{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. +@end deffn + @node Networking Services @subsubsection Networking Services diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 604416b985..9d495565ad 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -76,6 +76,10 @@ guix-configuration? guix-service guix-service-type + guix-publish-configuration + guix-publish-configuration? + guix-publish-service + guix-publish-service-type %base-services)) @@ -705,6 +709,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) @@ -842,6 +851,58 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) @var{config}." (service guix-service-type config)) + +(define-record-type* + 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 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. -- cgit v1.2.3 From 6e82863463c641571e852291481e2b64401c2fe2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 3 Nov 2015 18:08:47 +0100 Subject: system: Rename (gnu system linux) to (gnu system pam). * gnu/system/linux.scm: Rename to... * gnu/system/pam.scm: ... this. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu.scm, gnu/services/base.scm, gnu/services/desktop.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system.scm, gnu/system/vm.scm: Likewise. --- gnu-system.am | 2 +- gnu.scm | 2 +- gnu/services/base.scm | 2 +- gnu/services/desktop.scm | 2 +- gnu/services/networking.scm | 2 +- gnu/services/ssh.scm | 2 +- gnu/services/xorg.scm | 2 +- gnu/system.scm | 2 +- gnu/system/linux.scm | 214 -------------------------------------------- gnu/system/pam.scm | 213 +++++++++++++++++++++++++++++++++++++++++++ gnu/system/vm.scm | 2 +- 11 files changed, 222 insertions(+), 223 deletions(-) delete mode 100644 gnu/system/linux.scm create mode 100644 gnu/system/pam.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 36e7b6e937..c5b87cc6f4 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -359,11 +359,11 @@ GNU_SYSTEM_MODULES = \ gnu/system/file-systems.scm \ gnu/system/grub.scm \ gnu/system/install.scm \ - gnu/system/linux.scm \ gnu/system/linux-container.scm \ gnu/system/linux-initrd.scm \ gnu/system/locale.scm \ gnu/system/nss.scm \ + gnu/system/pam.scm \ gnu/system/shadow.scm \ gnu/system/vm.scm \ \ diff --git a/gnu.scm b/gnu.scm index e3147b39e3..f9a13246c3 100644 --- a/gnu.scm +++ b/gnu.scm @@ -34,7 +34,7 @@ '((gnu system) (gnu system file-systems) (gnu system grub) ; 'grub-configuration' - (gnu system linux) ; 'base-pam-services' + (gnu system pam) (gnu system shadow) ; 'user-account' (gnu system linux-initrd) (gnu system nss) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 9d495565ad..6165410463 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -23,8 +23,8 @@ #: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) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 1986764697..0b4ed56d05 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -27,7 +27,7 @@ #: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) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 8f67976b23..a09714447e 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -22,7 +22,7 @@ #: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) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index d3a6cfb33a..18556d2cc5 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -21,7 +21,7 @@ #: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) #:export (lsh-service)) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index f4bc8245f5..dc2625d39b 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) diff --git a/gnu/system.scm b/gnu/system.scm index 85a596ddb9..be6b1ac2c1 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) diff --git a/gnu/system/linux.scm b/gnu/system/linux.scm deleted file mode 100644 index 487d379e65..0000000000 --- a/gnu/system/linux.scm +++ /dev/null @@ -1,214 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès -;;; -;;; 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 . - -(define-module (gnu system linux) - #:use-module (guix records) - #:use-module (guix derivations) - #:use-module (guix gexp) - #:use-module (gnu services) - #:use-module (ice-9 match) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) - #:use-module ((guix utils) #:select (%current-system)) - #:export (pam-service - pam-entry - pam-services->directory - unix-pam-service - base-pam-services - - pam-root-service-type - pam-root-service)) - -;;; Commentary: -;;; -;;; Configuration of Linux-related things, including pluggable authentication -;;; modules (PAM). -;;; -;;; Code: - -;; PAM services (see -;; .) -(define-record-type* pam-service - make-pam-service - pam-service? - (name pam-service-name) ; string - - ;; The four "management groups". - (account pam-service-account ; list of - (default '())) - (auth pam-service-auth - (default '())) - (password pam-service-password - (default '())) - (session pam-service-session - (default '()))) - -(define-record-type* pam-entry - make-pam-entry - pam-entry? - (control pam-entry-control) ; string - (module pam-entry-module) ; file name - (arguments pam-entry-arguments ; list of string-valued g-expressions - (default '()))) - -(define (pam-service->configuration service) - "Return the derivation building the configuration file for SERVICE, to be -dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE." - (define (entry->gexp type entry) - (match entry - (($ control module (arguments ...)) - #~(format #t "~a ~a ~a ~a~%" - #$type #$control #$module - (string-join (list #$@arguments)))))) - - (match service - (($ name account auth password session) - (define builder - #~(begin - (with-output-to-file #$output - (lambda () - #$@(append (map (cut entry->gexp "account" <>) account) - (map (cut entry->gexp "auth" <>) auth) - (map (cut entry->gexp "password" <>) password) - (map (cut entry->gexp "session" <>) session)) - #t)))) - - (computed-file name builder)))) - -(define (pam-services->directory services) - "Return the derivation to build the configuration directory to be used as -/etc/pam.d for SERVICES." - (let ((names (map pam-service-name services)) - (files (map pam-service->configuration services))) - (define builder - #~(begin - (use-modules (ice-9 match) - (srfi srfi-1)) - - (mkdir #$output) - (for-each (match-lambda - ((name file) - (symlink file (string-append #$output "/" name)))) - - ;; Since objects cannot be compared with - ;; 'equal?' since they contain gexps, which contain - ;; closures, use 'delete-duplicates' on the build-side - ;; instead. See . - (delete-duplicates '#$(zip names files))))) - - (computed-file "pam.d" builder))) - -(define %pam-other-services - ;; The "other" PAM configuration, which denies everything (see - ;; .) - (let ((deny (pam-entry - (control "required") - (module "pam_deny.so")))) - (pam-service - (name "other") - (account (list deny)) - (auth (list deny)) - (password (list deny)) - (session (list deny))))) - -(define unix-pam-service - (let ((unix (pam-entry - (control "required") - (module "pam_unix.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 -should be a file-like object used as the message-of-the-day." - ;; See . - (let ((name* name)) - (pam-service - (name name*) - (account (list unix)) - (auth (list (if allow-empty-passwords? - (pam-entry - (control "required") - (module "pam_unix.so") - (arguments '("nullok"))) - unix))) - (password (list (pam-entry - (control "required") - (module "pam_unix.so") - ;; Store SHA-512 encrypted passwords in /etc/shadow. - (arguments '("sha512" "shadow"))))) - (session (if motd - (list unix - (pam-entry - (control "optional") - (module "pam_motd.so") - (arguments - (list #~(string-append "motd=" #$motd))))) - (list unix)))))))) - -(define (rootok-pam-service command) - "Return a PAM service for COMMAND such that 'root' does not need to -authenticate to run COMMAND." - (let ((unix (pam-entry - (control "required") - (module "pam_unix.so")))) - (pam-service - (name command) - (account (list unix)) - (auth (list (pam-entry - (control "sufficient") - (module "pam_rootok.so")))) - (password (list unix)) - (session (list unix))))) - -(define* (base-pam-services #:key allow-empty-passwords?) - "Return the list of basic PAM services everyone would want." - ;; TODO: Add other Shadow programs? - (append (list %pam-other-services) - - ;; These programs are setuid-root. - (map (cut unix-pam-service <> - #:allow-empty-passwords? allow-empty-passwords?) - '("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 - ;; 'useradd' and 'groupadd' are run during system activation.) - (map rootok-pam-service - '("useradd" "userdel" "usermod" - "groupadd" "groupdel" "groupmod")))) - - -;;; -;;; PAM root service. -;;; - -(define (/etc-entry services) - `(("pam.d" ,(pam-services->directory services)))) - -(define pam-root-service-type - (service-type (name 'pam) - (extensions (list (service-extension etc-service-type - /etc-entry))) - (compose concatenate) - (extend append))) - -(define (pam-root-service base) - "The \"root\" PAM service, which collects instance and turns -them into a /etc/pam.d directory, including the listed in BASE." - (service pam-root-service-type base)) - -;;; linux.scm ends here diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm new file mode 100644 index 0000000000..d8470f02a3 --- /dev/null +++ b/gnu/system/pam.scm @@ -0,0 +1,213 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu system pam) + #:use-module (guix records) + #:use-module (guix derivations) + #:use-module (guix gexp) + #:use-module (gnu services) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module ((guix utils) #:select (%current-system)) + #:export (pam-service + pam-entry + pam-services->directory + unix-pam-service + base-pam-services + + pam-root-service-type + pam-root-service)) + +;;; Commentary: +;;; +;;; Configuration of the pluggable authentication modules (PAM). +;;; +;;; Code: + +;; PAM services (see +;; .) +(define-record-type* pam-service + make-pam-service + pam-service? + (name pam-service-name) ; string + + ;; The four "management groups". + (account pam-service-account ; list of + (default '())) + (auth pam-service-auth + (default '())) + (password pam-service-password + (default '())) + (session pam-service-session + (default '()))) + +(define-record-type* pam-entry + make-pam-entry + pam-entry? + (control pam-entry-control) ; string + (module pam-entry-module) ; file name + (arguments pam-entry-arguments ; list of string-valued g-expressions + (default '()))) + +(define (pam-service->configuration service) + "Return the derivation building the configuration file for SERVICE, to be +dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE." + (define (entry->gexp type entry) + (match entry + (($ control module (arguments ...)) + #~(format #t "~a ~a ~a ~a~%" + #$type #$control #$module + (string-join (list #$@arguments)))))) + + (match service + (($ name account auth password session) + (define builder + #~(begin + (with-output-to-file #$output + (lambda () + #$@(append (map (cut entry->gexp "account" <>) account) + (map (cut entry->gexp "auth" <>) auth) + (map (cut entry->gexp "password" <>) password) + (map (cut entry->gexp "session" <>) session)) + #t)))) + + (computed-file name builder)))) + +(define (pam-services->directory services) + "Return the derivation to build the configuration directory to be used as +/etc/pam.d for SERVICES." + (let ((names (map pam-service-name services)) + (files (map pam-service->configuration services))) + (define builder + #~(begin + (use-modules (ice-9 match) + (srfi srfi-1)) + + (mkdir #$output) + (for-each (match-lambda + ((name file) + (symlink file (string-append #$output "/" name)))) + + ;; Since objects cannot be compared with + ;; 'equal?' since they contain gexps, which contain + ;; closures, use 'delete-duplicates' on the build-side + ;; instead. See . + (delete-duplicates '#$(zip names files))))) + + (computed-file "pam.d" builder))) + +(define %pam-other-services + ;; The "other" PAM configuration, which denies everything (see + ;; .) + (let ((deny (pam-entry + (control "required") + (module "pam_deny.so")))) + (pam-service + (name "other") + (account (list deny)) + (auth (list deny)) + (password (list deny)) + (session (list deny))))) + +(define unix-pam-service + (let ((unix (pam-entry + (control "required") + (module "pam_unix.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 +should be a file-like object used as the message-of-the-day." + ;; See . + (let ((name* name)) + (pam-service + (name name*) + (account (list unix)) + (auth (list (if allow-empty-passwords? + (pam-entry + (control "required") + (module "pam_unix.so") + (arguments '("nullok"))) + unix))) + (password (list (pam-entry + (control "required") + (module "pam_unix.so") + ;; Store SHA-512 encrypted passwords in /etc/shadow. + (arguments '("sha512" "shadow"))))) + (session (if motd + (list unix + (pam-entry + (control "optional") + (module "pam_motd.so") + (arguments + (list #~(string-append "motd=" #$motd))))) + (list unix)))))))) + +(define (rootok-pam-service command) + "Return a PAM service for COMMAND such that 'root' does not need to +authenticate to run COMMAND." + (let ((unix (pam-entry + (control "required") + (module "pam_unix.so")))) + (pam-service + (name command) + (account (list unix)) + (auth (list (pam-entry + (control "sufficient") + (module "pam_rootok.so")))) + (password (list unix)) + (session (list unix))))) + +(define* (base-pam-services #:key allow-empty-passwords?) + "Return the list of basic PAM services everyone would want." + ;; TODO: Add other Shadow programs? + (append (list %pam-other-services) + + ;; These programs are setuid-root. + (map (cut unix-pam-service <> + #:allow-empty-passwords? allow-empty-passwords?) + '("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 + ;; 'useradd' and 'groupadd' are run during system activation.) + (map rootok-pam-service + '("useradd" "userdel" "usermod" + "groupadd" "groupdel" "groupmod")))) + + +;;; +;;; PAM root service. +;;; + +(define (/etc-entry services) + `(("pam.d" ,(pam-services->directory services)))) + +(define pam-root-service-type + (service-type (name 'pam) + (extensions (list (service-extension etc-service-type + /etc-entry))) + (compose concatenate) + (extend append))) + +(define (pam-root-service base) + "The \"root\" PAM service, which collects instance and turns +them into a /etc/pam.d directory, including the listed in BASE." + (service pam-root-service-type base)) + +;;; linux.scm ends here diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index dfb6996067..96ff27f90b 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) -- cgit v1.2.3 From f5dceecb0ce704491237bd6ad4a121088b0f47c1 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 3 Nov 2015 15:46:33 +0100 Subject: gnu: Add libesmtp. * gnu/packages/mail.scm (libesmtp): New public variable. --- gnu/packages/mail.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1e3ba8fd54..3ba956ef1b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -939,4 +939,28 @@ 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+)))) + ;;; mail.scm ends here -- cgit v1.2.3 From f8ae32a26a5f41466f5c7792261fdf2e78d1d35f Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 3 Nov 2015 15:46:44 +0100 Subject: gnu: Add esmtp. * gnu/packages/mail.scm (esmtp): New public variable. --- gnu/packages/mail.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 3ba956ef1b..d4f3deca6d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -30,6 +30,7 @@ #: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) @@ -43,6 +44,7 @@ #: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) @@ -68,6 +70,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) @@ -963,4 +966,42 @@ 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 -- cgit v1.2.3 From cbaa6a1e41178fa96c6911eb503e6ae1cc191eac Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 11 Oct 2015 05:16:28 +0200 Subject: gnu: Update python-requests. * gnu/packages/python.scm (python-requests, python2-requests): Bump to 2.8.0. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 1055c6f242..70b297d0e1 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2073,7 +2073,7 @@ with sensible defaults out of the box.") (define-public python-requests (package (name "python-requests") - (version "2.4.0") + (version "2.8.0") (source (origin (method url-fetch) (uri @@ -2082,7 +2082,7 @@ with sensible defaults out of the box.") version ".tar.gz")) (sha256 (base32 - "0gknlfx1wakrrm1zi8gi03x2lzj4dsns0vjw0nsmgqvkphyf01vh")))) + "0yrvj8hfnabrdxds59w6d6887sn5j0jlgpmcq04lk4k0kdc07w5j")))) (build-system python-build-system) (inputs `(("python-setuptools" ,python-setuptools) -- cgit v1.2.3 From 7477fbb1bed276b9cf2252126ad9ae9b2ed7e669 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 11 Oct 2015 05:20:08 +0200 Subject: gnu: Add python-mccabe 0.2.1 * gnu/packages/python.scm (python-mccabe-0.2.1, python2-mccabe-0.2.1): New variables. --- gnu/packages/python.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 70b297d0e1..e6b66f088a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4895,6 +4895,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 -- cgit v1.2.3 From abf21efcae3bb52b463c6b92f7b9132ba1c0bfa8 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 11 Oct 2015 05:21:12 +0200 Subject: gnu: Add python-flake8-2.2.4 * gnu/packages/python.scm (python-flake8-2.2.4, python2-flake8-2.2.4): New variables. --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e6b66f088a..ce424675bd 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4979,6 +4979,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") -- cgit v1.2.3 From 2ac9ba6a2914c73ff83dbd7b4ba7b47333476685 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 12 Oct 2015 00:47:16 +0200 Subject: gnu: Add python-hacking. * gnu/packages/openstack.scm (python-hacking, python2-hacking): New variables. --- gnu/packages/openstack.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 4fd1c803ff..fc868814f7 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -100,6 +100,40 @@ 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") -- cgit v1.2.3 From f4c7dc5582d02de79fcec640046486b86024bf1d Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 12 Oct 2015 00:48:40 +0200 Subject: gnu: Add python-oslosphinx. * gnu/packages/openstack.scm (python-oslosphinx, python2-oslosphinx): New variables. --- gnu/packages/openstack.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index fc868814f7..34e482b4cd 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -465,6 +465,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") -- cgit v1.2.3 From 2931f46454c3755b8c478db8dbb45e48928080cd Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 12 Oct 2015 02:06:30 +0200 Subject: gnu: Add python-os-testr. * gnu/packages/openstack.scm (python-ostestr, python2-ostestr): New variables. --- gnu/packages/openstack.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 34e482b4cd..d8f3bd364b 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -206,6 +206,40 @@ 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") -- cgit v1.2.3 From a3fc12daa7ee35d78180c21fa5d62616108fef53 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 12 Oct 2015 02:31:38 +0200 Subject: gnu: paramiko: Move python-pycrypto to the propagated inputs. * gnu/packages/python.scm (python-paramiko): Move python-pycrypto to the propagated-inputs. --- gnu/packages/python.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ce424675bd..4e54ef94f5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -413,9 +413,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, -- cgit v1.2.3 From aee6412ad8525f25b7dabe02ef5af23485f1e196 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 12 Oct 2015 23:27:16 +0200 Subject: gnu: Add python-oslo.log. * gnu/packages/openstack.scm (python-oslo.log, python2-oslo.log): New variables. --- gnu/packages/openstack.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index d8f3bd364b..7581e6a5e7 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -460,6 +460,47 @@ 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") -- cgit v1.2.3 From 39d3f2edce74247f09e7461f79e98a24ce18f89e Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Wed, 28 Oct 2015 02:30:51 +0100 Subject: gnu: python-oslotest: move mox3 to the propagated-inputs * gnu/packages/openstack.scm (python-oslotest): move mox3 to the propagated inputs. --- gnu/packages/openstack.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 7581e6a5e7..308590e4fe 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -588,10 +588,10 @@ from the OpenStack project.") (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) -- cgit v1.2.3 From 465b61fcd638e9dffe2cdd6d52f36bd692fab9a9 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 12 Oct 2015 23:33:52 +0200 Subject: gnu: Add python-tempest-lib. * gnu/packages/openstack.scm (python-tempest-lib, python2-tempest-lib): New variables. --- gnu/packages/openstack.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 308590e4fe..daec050922 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -354,6 +354,51 @@ extensions.") (define-public python2-stevedore (package-with-python2 python-stevedore)) +(define-public python-tempest-lib + (package + (name "python-tempest-lib") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tempest-lib" version)) + (sha256 + (base32 + "1s32rpxw86p41ip9nr7zbqxd60mw1cqz2isirby36rh4vl68bfhx")))) + (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 -- cgit v1.2.3 From 4ebdefc07a852842b5c9ff816bd8ed73ea7c9775 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 3 Nov 2015 22:39:18 +0100 Subject: gnu: cmake: Download over HTTPS. Reported by Gxsdnewb on #guix. * gnu/packages/cmake.scm (cmake)[source]: Use 'https' URL. --- gnu/packages/cmake.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 9b8ebde761..a58284ba17 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -39,12 +39,12 @@ (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 "08pwy9ip9cgwgynhn5vrjw8drw29gijy1rmziq22n65zds6ifnp7")) + (base32 + "08pwy9ip9cgwgynhn5vrjw8drw29gijy1rmziq22n65zds6ifnp7")) (patches (list (search-patch "cmake-fix-tests.patch"))))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From 3931607e4b215ff8e24d910575c5e80e9e0a38eb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 3 Nov 2015 23:29:24 +0100 Subject: gnu: guile-ncurses: Mask test failure with ncurses 6.0. Fixes . * gnu/packages/guile.scm (guile-ncurses)[arguments]: Add #:make-flags. --- gnu/packages/guile.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index ac9e9c7b42..9698f2b523 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -296,6 +296,10 @@ many readers as needed).") (string-append "--with-guilesitedir=" (assoc-ref %outputs "out") "/share/guile/site/2.0")) + + ;; Work around . + #:make-flags '("XFAIL_TESTS=curses_034_util.test") + #:phases (alist-cons-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3 From 718c5dd6e1f009540c6876a0f69ebe4d1268151a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 3 Nov 2015 19:01:38 -0500 Subject: gnu: esmtp: Fix 'inputs' field. This is a followup to commit f8ae32a26a5f41466f5c7792261fdf2e78d1d35f. * gnu/packages/mail.scm (esmtp)[inputs]: Add missing parentheses. --- gnu/packages/mail.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d4f3deca6d..7f7a8e308a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -993,7 +993,7 @@ program's primary purpose.") ("automake" ,automake) ("libtool" ,libtool))) (inputs - `("libesmtp" ,libesmtp)) + `(("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 -- cgit v1.2.3 From e5930e5a13b878f8ea46aa87f0c638421f32ab59 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 1 Nov 2015 09:48:35 -0600 Subject: gnu: newt: Build python bindings. * gnu/packages/slang.scm (newt)[outputs]: New field. [arguments]: Add #:make-flags argument. Add 'move-python' phase. --- gnu/packages/slang.scm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'gnu') 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 ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015 Eric Bavier ;;; ;;; 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 -- cgit v1.2.3 From b95bcb8ae0a8a4f5c29bce8f6486a91d6d5441cc Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 1 Nov 2015 09:56:05 -0600 Subject: gnu: Add byobu. * gnu/packages/screen.scm (byobu): New variable. * gnu/packages/patches/byobu-writable-status.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/patches/byobu-writable-status.patch | 13 ++++++ gnu/packages/screen.scm | 53 ++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 gnu/packages/patches/byobu-writable-status.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index c5b87cc6f4..946b77eeff 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -411,6 +411,7 @@ dist_patch_DATA = \ gnu/packages/patches/bitlbee-configure-doc-fix.patch \ gnu/packages/patches/bluez-tests.patch \ gnu/packages/patches/boost-mips-avoid-m32.patch \ + gnu/packages/patches/byobu-writable-status.patch \ gnu/packages/patches/calibre-drop-unrar.patch \ gnu/packages/patches/calibre-no-updates-dialog.patch \ gnu/packages/patches/cdparanoia-fpic.patch \ 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/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 ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2015 Eric Bavier ;;; ;;; 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+))) -- cgit v1.2.3 From ae3d99e9da4531a49f1163b31de467c549c01848 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 09:02:51 +0200 Subject: gnu: parallel: Update to 20151022. * gnu/packages/parallel.scm (parallel): Update to 20151022. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 38ce709fe1..812fac9ec4 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -28,7 +28,7 @@ (define-public parallel (package (name "parallel") - (version "20150922") + (version "20151022") (source (origin (method url-fetch) @@ -36,7 +36,7 @@ version ".tar.bz2")) (sha256 (base32 - "05zf3jhjmswfr63lgxw8q26kysd72b8m0zy5jbc94r6appx8bd7j")))) + "07cyq3lapbbxf27b47wv1yjqsz48jidqr595r1pq77ajzy4i7zl4")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (home-page "http://www.gnu.org/software/parallel/") -- cgit v1.2.3 From 7e096dd290aa192f4ed8d96ee4712f8deefe9923 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 09:16:04 +0200 Subject: gnu: ucommon: Update to 6.6.2. * gnu/packages/telephony.scm (ucommon): Update to 6.6.2. [license]: Change to gpl3+. --- gnu/packages/telephony.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 6f90843a18..2cb070dc5f 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 David Hashe +;;; Copyright © 2015 Efraim Flashner ;;; ;;; 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 -- cgit v1.2.3 From 3b6f7a0a6df0634d234b202643cfac049d942602 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 09:27:11 +0200 Subject: gnu: sipwitch: Update to 1.9.14. * gnu/packages/telephony.scm (sipwitch): Update to 1.9.14. --- gnu/packages/telephony.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 2cb070dc5f..5c61604191 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -146,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" -- cgit v1.2.3 From 7b543d1ba449a43f8480e5e0cdf359c4abfa4dd4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 09:33:47 +0200 Subject: gnu: libassuan: Update to 2.3.0. * gnu/packages/gnupg.scm (libassuan): Update to 2.3.0. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 333e88362b..44e183593a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -110,7 +110,7 @@ generation.") (define-public libassuan (package (name "libassuan") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) @@ -118,7 +118,7 @@ generation.") version ".tar.bz2")) (sha256 (base32 - "1pp2kl5gc2vja41g3wk03h1hgh7gxy6pj354fb5n4lrlg6xqb4ll")))) + "0lh4698pgb2wjrrrbdk14llizad5l74f8pdbg4ma4zq4fbsrkjc7")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error) ("pth" ,pth))) -- cgit v1.2.3 From 29852c8a99519954fb085e57d6fe02874a1f6cf0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 09:46:35 +0200 Subject: gnu: libmicrohttpd: Update to 0.9.45. * gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.45. --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 9b273ace7b..6d1a1a86bc 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -111,14 +111,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.45") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "07j1p21rvbrrfpxngk8xswzkmjkh94bp1971xfjh1p0ja709qwzj")))) + "0saawnamxjp7nr5gpg7l5fp9y5941m3a7x214ki7ncm9ipsdwx8h")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) -- cgit v1.2.3 From b871a453a0df086eea9f24b3d54c8d2039c7c2e2 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Wed, 4 Nov 2015 15:07:58 +0800 Subject: gnu: zsh: Update to 5.1.1. * gnu/packages/zsh.scm (zsh): Update to 5.1.1. --- gnu/packages/zsh.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'gnu') 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") -- cgit v1.2.3 From dee7e58e56856a81d5c82ae9557cd7195df726c0 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Wed, 4 Nov 2015 15:17:03 +0800 Subject: gnu: dosfstools: Update to 3.0.28. * gnu/packages/disk.scm (dosfstools): Update to 3.0.28. --- gnu/packages/disk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 98b13ae110..a3ecab25c6 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -124,7 +124,7 @@ to recover data more efficiently by only reading the necessary blocks.") (define-public dosfstools (package (name "dosfstools") - (version "3.0.27") + (version "3.0.28") (source (origin (method url-fetch) @@ -133,7 +133,7 @@ to recover data more efficiently by only reading the necessary blocks.") name "-" version ".tar.xz")) (sha256 (base32 - "1a2qs5g2zqbk1gzaaf4v3fw3yny6jgbzddpgcamkp3fjifn8wxl5")))) + "1qkya6lald91c8nsf29jwnk0k5v42wlj24gacfdp3wpc8hq935gf")))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "PREFIX=" %output) -- cgit v1.2.3 From 2666a126ef48da1dd5ee8465af0aeaf66216d75f Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Wed, 4 Nov 2015 15:58:48 +0800 Subject: gnu: font-adobe-source-han-sans: Update to 1.004. * gnu/packages/fonts.scm (font-adobe-source-han-sans): Update to 1.004. [license]: Change to 'silofl1.1'. --- gnu/packages/fonts.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From 9e6b9ea4b18defa78b8e1e997e8c834db99a121c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Nov 2015 09:28:46 +0100 Subject: gnu: clang-runtime: Mark MIPS as unsupported. * gnu/packages/llvm.scm (clang-runtime-from-llvm): Add 'supported-systems' field. --- gnu/packages/llvm.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu') 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) + + ;; doesn't list MIPS as supported. + (supported-systems (delete "mips64el-linux" %supported-systems)))) (define (clang-from-llvm llvm clang-runtime hash) (package -- cgit v1.2.3 From 4f14c628dc805d07fa01f25d054f030c8179c99b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Nov 2015 09:37:22 +0100 Subject: gnu: american-fuzzy-lop: Really build against QEMU 2.3.0. * gnu/packages/debug.scm (qemu-2.3.0): New variable. (american-fuzzy-lop): Use it instead of QEMU-HEADLESS. --- gnu/packages/debug.scm | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index b098832681..1e0034c100 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-headless) + (version "2.3.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://wiki.qemu-project.org/download/qemu-" + version ".tar.bz2")) + (sha256 + (base32 + "120m53c3p28qxmfzllicjzr8syjv6v4d9rsyrgkp7gnmcgvvgfmn")))) + (arguments + ;; XXX: Disable tests because of GTester's rejection of duplicate test + ;; names, which wasn't addressed in this version of QEMU. + `(#:tests? #f + ,@(package-arguments qemu-headless))))) + (define-public american-fuzzy-lop (let ((machine (match (or (%current-target-system) (%current-system)) @@ -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 -- cgit v1.2.3 From 00c16d5b84f11d4eea3d06178d93cfc27bf3a931 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Nov 2015 09:55:16 +0100 Subject: gnu: csound: Link against libmvec on x86_64. * gnu/packages/audio.scm (csound)[arguments]: New field. --- gnu/packages/audio.scm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 92ece7a47e..db3f91273c 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -320,6 +320,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) -- cgit v1.2.3 From 5ffea4776d33e73922aa5fdbb7ac4dafbfbf15c5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 11:53:41 +0200 Subject: gnu: libassuan: Update to 2.4.0. * gnu/packages/gnupg.scm (libassuan): Update to 2.4.0. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 44e183593a..ad653aaca9 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -110,7 +110,7 @@ generation.") (define-public libassuan (package (name "libassuan") - (version "2.3.0") + (version "2.4.0") (source (origin (method url-fetch) @@ -118,7 +118,7 @@ generation.") version ".tar.bz2")) (sha256 (base32 - "0lh4698pgb2wjrrrbdk14llizad5l74f8pdbg4ma4zq4fbsrkjc7")))) + "08l4261r56kv7w9qyq021s905bplh2m8h52qlkq46m7w8y9y932d")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error) ("pth" ,pth))) -- cgit v1.2.3 From 316d65be0ca41c277349c4f0127513f98dbec680 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Nov 2015 10:27:12 +0100 Subject: doc: Back up on the claim of encrypted root partitions. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by 宋文武 at . * doc/guix.texi (System Installation): Comment out encrypted root partition commands. * gnu/system/examples/desktop.tmpl (mapped-devices): Remove. (file-systems): Refer to the root by label. * NEWS: Adjust. --- NEWS | 3 ++- doc/guix.texi | 23 ++++++++++++----------- gnu/system/examples/desktop.tmpl | 12 ++---------- 3 files changed, 16 insertions(+), 22 deletions(-) (limited to 'gnu') diff --git a/NEWS b/NEWS index 5b884e31ae..269f0b8b42 100644 --- a/NEWS +++ b/NEWS @@ -74,7 +74,8 @@ Composition” in the manual. (http://bugs.gnu.org/21354) *** emacs: Fix guix-guile-program default value (http://bugs.gnu.org/21127) *** Compressed initrds no longer include timestamps -*** Fix handling of encrypted root partitions (http://bugs.gnu.org/19190) +*** Partly fix handling of encrypted root partitions + (http://bugs.gnu.org/19190) *** Python now includes tkinter (http://bugs.gnu.org/20889) *** Memoize the results of ‘package-with-python2’ (http://bugs.gnu.org/21675) *** Use the daemon's substitute URLs by default (http://bugs.gnu.org/20217) diff --git a/doc/guix.texi b/doc/guix.texi index 7898a1d3fb..7e5f9c774b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5310,23 +5310,24 @@ Setting up network access is almost always a requirement because the image does not contain all the software and tools that may be needed. @item -Unless this has already been done, you must partition, optionally -encrypt, and then format the target partitions. +Unless this has already been done, you must partition, and then format +the target partition. Preferably, assign partitions a label so that you can easily and reliably refer to them in @code{file-system} declarations (@pxref{File Systems}). This is typically done using the @code{-L} option of @command{mkfs.ext4} and related commands. -A typical command sequence may be: - -@example -# fdisk /dev/sdX -@dots{} Create partitions etc.@dots{} -# cryptsetup luksFormat /dev/sdX1 -# cryptsetup open --type luks /dev/sdX1 my-partition -# mkfs.ext4 -L my-root /dev/mapper/my-partition -@end example +@c FIXME: Uncomment this once GRUB fully supports encrypted roots. +@c A typical command sequence may be: +@c +@c @example +@c # fdisk /dev/sdX +@c @dots{} Create partitions etc.@dots{} +@c # cryptsetup luksFormat /dev/sdX1 +@c # cryptsetup open --type luks /dev/sdX1 my-partition +@c # mkfs.ext4 -L my-root /dev/mapper/my-partition +@c @end example The installation image includes Parted (@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, Cryptsetup/LUKS for disk diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 7a479d1123..ee660e0589 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -13,17 +13,9 @@ ;; Assuming /dev/sdX is the target hard disk, and "root" is ;; the label of the target root file system. (bootloader (grub-configuration (device "/dev/sdX"))) - - ;; Here we assume that /dev/sdX1 contains a LUKS-encrypted - ;; root partition created with 'cryptsetup luksFormat'. - (mapped-devices (list (mapped-device - (source "/dev/sdX1") - (target "root-partition") - (type luks-device-mapping)))) - - ;; Mount said encrypted partition. (file-systems (cons (file-system - (device "/dev/mapper/root-partition") + (device "root") + (title 'label) (mount-point "/") (type "ext4")) %base-file-systems)) -- cgit v1.2.3 From 43c082b3618f667ee163dfc6831e6afd1890bf63 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Nov 2015 14:07:26 +0100 Subject: gnu: guix: Update to 0.9.0. * gnu/packages/package-management.scm (guix-0.8.3): Rename to... (guix-0.9.0): ... this. Adjust users. (guix): Set to GUIX-0.9.0. --- gnu/packages/package-management.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 1c480be67e..d7dbb7a3b1 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -60,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 @@ -196,8 +196,8 @@ 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 "b485f75")) - (package (inherit guix-0.8.3) - (version (string-append "0.8.3." commit)) + (package (inherit guix-0.9.0) + (version (string-append "0.9.0." commit)) (source (origin (method git-fetch) (uri (git-reference @@ -208,7 +208,7 @@ the Nix package manager.") "1frn74y5c3n91qxs5b3sxbr8ai43s6svlb2djfnp7nqbr1ax3mph")) (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 @@ -232,9 +232,9 @@ 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 guix guix-0.9.0) (define-public nix (package -- cgit v1.2.3 From f8c0c8e4bfadf999fac1822a6ac3ce7d22139aee Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Nov 2015 18:22:21 +0100 Subject: gnu: guix: Update development snapshot. * gnu/packages/package-management.scm (guix-devel): Update to commit 43c082b. (guix): Set to GUIX-DEVEL. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index d7dbb7a3b1..ae52ab8300 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -195,7 +195,7 @@ 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 "b485f75")) + (let ((commit "43c082b")) (package (inherit guix-0.9.0) (version (string-append "0.9.0." commit)) (source (origin @@ -205,7 +205,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "1frn74y5c3n91qxs5b3sxbr8ai43s6svlb2djfnp7nqbr1ax3mph")) + "12ffsyrabsisyf5va4p2csvig6r8g4b7w1dxgsy446l4pjdl7ndh")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.9.0) @@ -234,7 +234,7 @@ the Nix package manager.") ("help2man" ,help2man) ,@(package-native-inputs guix-0.9.0)))))) -(define-public guix guix-0.9.0) +(define-public guix guix-devel) (define-public nix (package -- cgit v1.2.3 From 388908a08b92d1bd1109e27099743fd0cb9975be Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 19:54:56 +0200 Subject: gnu: irssi: Update to 0.8.17. * gnu/packages/irssi.scm (irssi): Update to 0.8.17. --- gnu/packages/irssi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/irssi.scm b/gnu/packages/irssi.scm index c97fd07e05..c722f0ba27 100644 --- a/gnu/packages/irssi.scm +++ b/gnu/packages/irssi.scm @@ -30,14 +30,14 @@ (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 -- cgit v1.2.3 From cc016b4ce3f6cedb884de1ca9c5ab9b16d5366b1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Nov 2015 20:15:30 +0200 Subject: gnu: irssi: Build with SSL support. * gnu/packages/irssi.scm (irssi)[inputs]: Add openssl. --- gnu/packages/irssi.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/irssi.scm b/gnu/packages/irssi.scm index c722f0ba27..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 +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +18,7 @@ ;;; along with GNU Guix. If not, see . (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,7 +26,8 @@ #: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 @@ -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+))) -- cgit v1.2.3 From a09f6edbf95276552866218b70948bd41db47555 Mon Sep 17 00:00:00 2001 From: Tomáš Čech Date: Thu, 5 Nov 2015 00:48:17 +0100 Subject: gnu: wayland: Update to 1.9.0. * gnu/packages/freedesktop.scm (wayland): Update to 1.9.0. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 28883d1e99..3db7ff7835 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -239,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) -- cgit v1.2.3 From 00dfc97c36954307b4eb6ebfdbe7d3c238f5a874 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 2 Nov 2015 22:03:25 +0100 Subject: gnu: zynaddsubfx: Remove SSE flags from generic target. * gnu/packages/music.scm (zynaddsubfx)[arguments]: Add phase to move SSE compiler flags from generic to specific targets. --- gnu/packages/music.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5dcb5449a2..baedf939e4 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -784,6 +784,19 @@ browser.") (base32 "01c4v5lbzard6y00cjq3b6a50cafqwfwibzng9gdsajczhnbkqz2")))) (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) -- cgit v1.2.3 From 6c2b26e21eb95b48616aee1613bbf80d02e22495 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 6 Nov 2015 15:22:26 +0100 Subject: gnu: Add BLESS. * gnu/packages/bioinformatics.scm (bless): New variable. Co-authored-by: Diane Trout --- gnu/packages/bioinformatics.scm | 83 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 2e048bdabc..fe55e91a91 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) @@ -524,6 +525,88 @@ 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))) + (home-page "http://sourceforge.net/projects/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") -- cgit v1.2.3 From 32e14fc1fbba7db529fc744adaa7bb860e74fec2 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 5 Nov 2015 12:20:03 -0600 Subject: gnu: guile: Add guile-irregex. * gnu/packages/guile.scm (guile-irregex): New variable. --- gnu/packages/guile.scm | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 9698f2b523..eb378740f4 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -482,6 +482,85 @@ 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 'check) + (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. -- cgit v1.2.3 From b9f1f3e2aac9ea8243ea2ec1499b0e060c435a0d Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 5 Nov 2015 19:39:58 +0300 Subject: gnu: manaplus: Update to 1.5.10.24. * gnu/packages/games.scm (manaplus): Update to 1.5.10.24. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f522db3073..f71e51bef5 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1178,7 +1178,7 @@ is programmed in Haskell.") (define-public manaplus (package (name "manaplus") - (version "1.5.9.26") + (version "1.5.10.24") (source (origin (method url-fetch) (uri (string-append @@ -1186,7 +1186,7 @@ is programmed in Haskell.") version "/manaplus-" version ".tar.xz")) (sha256 (base32 - "070ms1cv7q88284pqh66lfhacckgv7m9s8z9009k2laypibx7vs6")))) + "1bjxdyicli1pq65a6l4m84ksqwn9i90xa7yly9sfcrwq5mm1zimb")))) (build-system gnu-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From 4c60ce4a6beea4be6cc1a9aecc28f73ccb338597 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 5 Nov 2015 19:47:57 +0300 Subject: gnu: msmtp: Update to 1.6.2. * gnu/packages/mail.scm (msmtp): Update to 1.6.2. [arguments]: Use '--with-tls' configure flag instead of '--with-ssl' (deprecated). --- gnu/packages/mail.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 7f7a8e308a..b27eed8bfe 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -561,14 +561,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) @@ -581,7 +581,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 -- cgit v1.2.3 From 4d75e03ac9cdea393dd29758fbfe8ec003326f7c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 6 Nov 2015 22:29:02 +0100 Subject: gnu: bless: Correct indentation and home-page. * gnu/packages/bioinformatics.scm (bless): Fix indentation. [home-page]: Replace broken URL. --- gnu/packages/bioinformatics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fe55e91a91..f13e4050c4 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -535,8 +535,8 @@ confidence to have in an alignment.") version ".tgz")) (sha256 (base32 - "0rm0gw2s18dqwzzpl3c2x1z05ni2v0xz5dmfk3d33j6g4cgrlrdd")) - (modules '((guix build utils))) + "0rm0gw2s18dqwzzpl3c2x1z05ni2v0xz5dmfk3d33j6g4cgrlrdd")) + (modules '((guix build utils))) (snippet `(begin ;; Remove bundled boost, pigz, zlib, and .git directory @@ -595,7 +595,7 @@ confidence to have in an alignment.") ("boost" ,boost) ("pigz" ,pigz) ("zlib" ,zlib))) - (home-page "http://sourceforge.net/projects/bless-ec/wiki/Home/") + (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 -- cgit v1.2.3 From 59698c2c6c0f3471c4fecca03f44dc969f67d95f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 6 Nov 2015 16:07:07 +0100 Subject: gnu: Add guile-gnunet. * gnu/packages/gnunet.scm (guile-gnunet): New variable. --- gnu/packages/gnunet.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 6d1a1a86bc..aac1567cf3 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -29,6 +29,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 +46,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 @@ -250,3 +252,35 @@ 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))) + (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+)))) -- cgit v1.2.3 From 53ec8d48907b7d13c67ba76da9b85a8bbd97fc38 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 6 Nov 2015 23:49:40 +0100 Subject: gnu: Add GPM. * gnu/packages/linux.scm (gpm): New variable. --- gnu/packages/linux.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index aa2fc0283b..a75ea2f05e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2410,3 +2410,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+))) -- cgit v1.2.3 From 20ed2f7aa042726d67361054843575fc054d7935 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 6 Nov 2015 20:57:14 -0500 Subject: gnu: nspr: Update to 4.10.10. * gnu/packages/gnuzilla.scm (nspr): Update to 4.10.10. --- gnu/packages/gnuzilla.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 3e933e7ec5..830efb5e93 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -95,7 +95,7 @@ in C/C++.") (define-public nspr (package (name "nspr") - (version "4.10.8") + (version "4.10.10") (source (origin (method url-fetch) (uri (string-append @@ -103,7 +103,7 @@ in C/C++.") version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "05aaakz24ba2hdzlqx8qamwrsp7gni1acms8mr6m432wa9yaazjh")))) + "01ria9wk6329hxqsy75p9dkxiqkq4nkz0jjzll7hslih3jbi8dil")))) (build-system gnu-build-system) (native-inputs `(("perl", perl))) -- cgit v1.2.3 From fe88f636e3bfbbf143bd87f57e0d65a2e532d7dd Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 6 Nov 2015 21:27:10 -0500 Subject: gnu: nss: Update to 3.20.1. * gnu/packages/gnuzilla.scm (nss): Update to 3.20.1. [source]: Switch to https URI. --- gnu/packages/gnuzilla.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 830efb5e93..07453989df 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -129,18 +129,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) -- cgit v1.2.3 From 0ca1eb705d29c20f901fc385ee4e1bb1eaa52f75 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 6 Nov 2015 22:08:30 -0500 Subject: gnu: icecat: Add several security fixes. * gnu/packages/patches/icecat-CVE-2015-4513-pt01.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt04.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt05.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt06.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt07.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt08.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt09.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt10.patch, gnu/packages/patches/icecat-CVE-2015-4513-pt11.patch, gnu/packages/patches/icecat-CVE-2015-7188.patch, gnu/packages/patches/icecat-CVE-2015-7189.patch, gnu/packages/patches/icecat-CVE-2015-7193.patch, gnu/packages/patches/icecat-CVE-2015-7194.patch, gnu/packages/patches/icecat-CVE-2015-7196.patch, gnu/packages/patches/icecat-CVE-2015-7197.patch, gnu/packages/patches/icecat-CVE-2015-7198.patch, gnu/packages/patches/icecat-CVE-2015-7199.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/gnuzilla.scm (icecat)[source]: Add patches. --- gnu-system.am | 19 + gnu/packages/gnuzilla.scm | 21 +- .../patches/icecat-CVE-2015-4513-pt01.patch | 36 ++ .../patches/icecat-CVE-2015-4513-pt02.patch | 103 +++++ .../patches/icecat-CVE-2015-4513-pt03.patch | 48 +++ .../patches/icecat-CVE-2015-4513-pt04.patch | 50 +++ .../patches/icecat-CVE-2015-4513-pt05.patch | 25 ++ .../patches/icecat-CVE-2015-4513-pt06.patch | 461 +++++++++++++++++++++ .../patches/icecat-CVE-2015-4513-pt07.patch | 93 +++++ .../patches/icecat-CVE-2015-4513-pt08.patch | 41 ++ .../patches/icecat-CVE-2015-4513-pt09.patch | 65 +++ .../patches/icecat-CVE-2015-4513-pt10.patch | 110 +++++ .../patches/icecat-CVE-2015-4513-pt11.patch | 42 ++ gnu/packages/patches/icecat-CVE-2015-7188.patch | 143 +++++++ gnu/packages/patches/icecat-CVE-2015-7189.patch | 143 +++++++ gnu/packages/patches/icecat-CVE-2015-7193.patch | 397 ++++++++++++++++++ gnu/packages/patches/icecat-CVE-2015-7194.patch | 32 ++ gnu/packages/patches/icecat-CVE-2015-7196.patch | 27 ++ gnu/packages/patches/icecat-CVE-2015-7197.patch | 70 ++++ gnu/packages/patches/icecat-CVE-2015-7198.patch | 27 ++ gnu/packages/patches/icecat-CVE-2015-7199.patch | 84 ++++ 21 files changed, 2036 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt01.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt04.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt05.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt06.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt07.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt08.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt09.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt10.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-4513-pt11.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7188.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7189.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7193.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7194.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7196.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7197.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7198.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-7199.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 946b77eeff..f3ded69a78 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -500,6 +500,25 @@ dist_patch_DATA = \ gnu/packages/patches/hwloc-gather-topology-lstopo.patch \ gnu/packages/patches/hydra-automake-1.15.patch \ gnu/packages/patches/hydra-disable-darcs-test.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt01.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt04.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt05.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt06.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt07.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt08.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt09.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt10.patch \ + gnu/packages/patches/icecat-CVE-2015-4513-pt11.patch \ + gnu/packages/patches/icecat-CVE-2015-7188.patch \ + gnu/packages/patches/icecat-CVE-2015-7189.patch \ + gnu/packages/patches/icecat-CVE-2015-7193.patch \ + gnu/packages/patches/icecat-CVE-2015-7194.patch \ + gnu/packages/patches/icecat-CVE-2015-7196.patch \ + gnu/packages/patches/icecat-CVE-2015-7197.patch \ + gnu/packages/patches/icecat-CVE-2015-7198.patch \ + gnu/packages/patches/icecat-CVE-2015-7199.patch \ gnu/packages/patches/icecat-avoid-bundled-includes.patch \ gnu/packages/patches/icecat-freetype-2.6.patch \ gnu/packages/patches/icu4c-CVE-2014-6585.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 07453989df..49e3b31537 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -239,7 +239,26 @@ standards.") (base32 "0vm6f7f1i5vkq2713mgzjdfnm8rpz9l0q8sv4s123vsam0j9gzh8")) (patches (map search-patch '("icecat-avoid-bundled-includes.patch" - "icecat-freetype-2.6.patch"))) + "icecat-freetype-2.6.patch" + "icecat-CVE-2015-4513-pt01.patch" + "icecat-CVE-2015-4513-pt02.patch" + "icecat-CVE-2015-4513-pt03.patch" + "icecat-CVE-2015-4513-pt04.patch" + "icecat-CVE-2015-4513-pt05.patch" + "icecat-CVE-2015-4513-pt06.patch" + "icecat-CVE-2015-4513-pt07.patch" + "icecat-CVE-2015-4513-pt08.patch" + "icecat-CVE-2015-4513-pt09.patch" + "icecat-CVE-2015-4513-pt10.patch" + "icecat-CVE-2015-4513-pt11.patch" + "icecat-CVE-2015-7188.patch" + "icecat-CVE-2015-7189.patch" + "icecat-CVE-2015-7193.patch" + "icecat-CVE-2015-7194.patch" + "icecat-CVE-2015-7196.patch" + "icecat-CVE-2015-7197.patch" + "icecat-CVE-2015-7198.patch" + "icecat-CVE-2015-7199.patch"))) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt01.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt01.patch new file mode 100644 index 0000000000..f003e3cf68 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt01.patch @@ -0,0 +1,36 @@ +From 3df141cb85a530d7ddc3a7555d44235e49341837 Mon Sep 17 00:00:00 2001 +From: Karl Tomlinson +Date: Sat, 19 Sep 2015 00:51:03 +1200 +Subject: [PATCH] Bug 1206564 - skip copying of listeners. r=roc, a=sylvestre + +--HG-- +extra : source : ddd169d6bd65771a6811a3bb223a4a385b101690 +--- + widget/gtk/nsWindow.cpp | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp +index dd1895b..d8e8e42 100644 +--- a/widget/gtk/nsWindow.cpp ++++ b/widget/gtk/nsWindow.cpp +@@ -461,12 +461,11 @@ nsWindow::DispatchDeactivateEvent(void) + void + nsWindow::DispatchResized(int32_t aWidth, int32_t aHeight) + { +- nsIWidgetListener *listeners[] = +- { mWidgetListener, mAttachedWidgetListener }; +- for (size_t i = 0; i < ArrayLength(listeners); ++i) { +- if (listeners[i]) { +- listeners[i]->WindowResized(this, aWidth, aHeight); +- } ++ if (mWidgetListener) { ++ mWidgetListener->WindowResized(this, aWidth, aHeight); ++ } ++ if (mAttachedWidgetListener) { ++ mAttachedWidgetListener->WindowResized(this, aWidth, aHeight); + } + } + +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch new file mode 100644 index 0000000000..9a77ed908b --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch @@ -0,0 +1,103 @@ +From d463cb5f0374bfc7c62ae5f1c89edd3ca35084e5 Mon Sep 17 00:00:00 2001 +From: Olli Pettay +Date: Thu, 24 Sep 2015 03:53:31 +0300 +Subject: [PATCH] Bug 1204669 - optimize out hashtable lookups caused by extra + GetPrototypeBinding call, r=bz,waldo, a=al + +--HG-- +extra : source : 91657db26f49f885f2338cb8c9302cdf18999f1f +--- + dom/xbl/nsXBLPrototypeBinding.h | 9 +++++++-- + dom/xbl/nsXBLService.cpp | 6 +++--- + mfbt/WeakPtr.h | 8 +++++++- + 3 files changed, 17 insertions(+), 6 deletions(-) + +diff --git a/dom/xbl/nsXBLPrototypeBinding.h b/dom/xbl/nsXBLPrototypeBinding.h +index be2cb5a..1aaa07f 100644 +--- a/dom/xbl/nsXBLPrototypeBinding.h ++++ b/dom/xbl/nsXBLPrototypeBinding.h +@@ -17,6 +17,7 @@ + #include "nsXBLProtoImplMethod.h" + #include "nsXBLPrototypeHandler.h" + #include "nsXBLPrototypeResources.h" ++#include "mozilla/WeakPtr.h" + + class nsIAtom; + class nsIContent; +@@ -35,9 +36,12 @@ class CSSStyleSheet; + // Instances of this class are owned by the nsXBLDocumentInfo object returned + // by XBLDocumentInfo(). Consumers who want to refcount things should refcount + // that. +-class nsXBLPrototypeBinding final ++class nsXBLPrototypeBinding final : ++ public mozilla::SupportsWeakPtr + { + public: ++ MOZ_DECLARE_WEAKREFERENCE_TYPENAME(nsXBLPrototypeBinding) ++ + nsIContent* GetBindingElement() const { return mBinding; } + void SetBindingElement(nsIContent* aElement); + +@@ -289,7 +293,8 @@ protected: + nsXBLProtoImpl* mImplementation; // Our prototype implementation (includes methods, properties, fields, + // the constructor, and the destructor). + +- nsXBLPrototypeBinding* mBaseBinding; // Weak. The docinfo will own our base binding. ++ // Weak. The docinfo will own our base binding. ++ mozilla::WeakPtr mBaseBinding; + bool mInheritStyle; + bool mCheckedBaseProto; + bool mKeyHandlersRegistered; +diff --git a/dom/xbl/nsXBLService.cpp b/dom/xbl/nsXBLService.cpp +index 2204520..978c6fc 100644 +--- a/dom/xbl/nsXBLService.cpp ++++ b/dom/xbl/nsXBLService.cpp +@@ -732,7 +732,8 @@ nsXBLService::GetBinding(nsIContent* aBoundElement, nsIURI* aURI, + if (!docInfo) + return NS_ERROR_FAILURE; + +- nsXBLPrototypeBinding* protoBinding = docInfo->GetPrototypeBinding(ref); ++ WeakPtr protoBinding = ++ docInfo->GetPrototypeBinding(ref); + + if (!protoBinding) { + #ifdef DEBUG +@@ -783,7 +784,7 @@ nsXBLService::GetBinding(nsIContent* aBoundElement, nsIURI* aURI, + NS_ENSURE_SUCCESS(rv, rv); + + nsCOMPtr baseBindingURI; +- nsXBLPrototypeBinding* baseProto = protoBinding->GetBasePrototype(); ++ WeakPtr baseProto = protoBinding->GetBasePrototype(); + if (baseProto) { + baseBindingURI = baseProto->BindingURI(); + } +@@ -828,7 +829,6 @@ nsXBLService::GetBinding(nsIContent* aBoundElement, nsIURI* aURI, + + if (!aPeekOnly) { + // Make a new binding +- protoBinding = docInfo->GetPrototypeBinding(ref); + NS_ENSURE_STATE(protoBinding); + nsXBLBinding *newBinding = new nsXBLBinding(protoBinding); + +diff --git a/mfbt/WeakPtr.h b/mfbt/WeakPtr.h +index 6e5de43..22ba20e 100644 +--- a/mfbt/WeakPtr.h ++++ b/mfbt/WeakPtr.h +@@ -172,7 +172,13 @@ public: + + WeakPtr& operator=(T* aOther) + { +- return *this = aOther->SelfReferencingWeakPtr(); ++ if (aOther) { ++ *this = aOther->SelfReferencingWeakPtr(); ++ } else if (!mRef || mRef->get()) { ++ // Ensure that mRef is dereferenceable in the uninitialized state. ++ mRef = new WeakReference(nullptr); ++ } ++ return *this; + } + + MOZ_IMPLICIT WeakPtr(T* aOther) +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch new file mode 100644 index 0000000000..4f86629068 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch @@ -0,0 +1,48 @@ +From 88312d4d167aba886fdbd563afcfd5cc96a9d813 Mon Sep 17 00:00:00 2001 +From: Boris Zbarsky +Date: Fri, 11 Sep 2015 21:59:43 -0400 +Subject: [PATCH] Bug 1191942 - Make sure to not schedule + requestAnimationFrame callbacks if animations are paused. r=roc, a=ritu + +--HG-- +extra : source : ed8a6af1508ac68a28d017e26935e7a12dbda864 +extra : intermediate-source : 254e3cb723ed279f68b0c88ad30dc35b6a93ce84 +--- + dom/base/nsDocument.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp +index 47f611e..087501c 100644 +--- a/dom/base/nsDocument.cpp ++++ b/dom/base/nsDocument.cpp +@@ -3928,7 +3928,7 @@ void + nsDocument::DeleteShell() + { + mExternalResourceMap.HideViewers(); +- if (IsEventHandlingEnabled()) { ++ if (IsEventHandlingEnabled() && !AnimationsPaused()) { + RevokeAnimationFrameNotifications(); + } + +@@ -4687,7 +4687,7 @@ nsDocument::SetScriptGlobalObject(nsIScriptGlobalObject *aScriptGlobalObject) + // our layout history state now. + mLayoutHistoryState = GetLayoutHistoryState(); + +- if (mPresShell && !EventHandlingSuppressed()) { ++ if (mPresShell && !EventHandlingSuppressed() && !AnimationsPaused()) { + RevokeAnimationFrameNotifications(); + } + +@@ -10276,7 +10276,8 @@ nsIDocument::ScheduleFrameRequestCallback(const FrameRequestCallbackHolder& aCal + DebugOnly request = + mFrameRequestCallbacks.AppendElement(FrameRequest(aCallback, newHandle)); + NS_ASSERTION(request, "This is supposed to be infallible!"); +- if (!alreadyRegistered && mPresShell && IsEventHandlingEnabled()) { ++ if (!alreadyRegistered && mPresShell && IsEventHandlingEnabled() && ++ !AnimationsPaused()) { + mPresShell->GetPresContext()->RefreshDriver()-> + ScheduleFrameRequestCallbacks(this); + } +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt04.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt04.patch new file mode 100644 index 0000000000..f6f3cd3585 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt04.patch @@ -0,0 +1,50 @@ +From 97bd3ada2a0ac6eff0e03e6eec8d2012af3bb57d Mon Sep 17 00:00:00 2001 +From: Jan de Mooij +Date: Mon, 28 Sep 2015 13:30:42 +0200 +Subject: [PATCH] Bug 1205707 part 1 - Clean up some is-TypedArrayObject code + in Ion. r=Waldo, a=sylvestre + +--- + js/src/jit/MCallOptimize.cpp | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +diff --git a/js/src/jit/MCallOptimize.cpp b/js/src/jit/MCallOptimize.cpp +index 7fdede8..2c6a533 100644 +--- a/js/src/jit/MCallOptimize.cpp ++++ b/js/src/jit/MCallOptimize.cpp +@@ -2122,6 +2122,19 @@ IonBuilder::inlineIsTypedArray(CallInfo& callInfo) + return InliningStatus_Inlined; + } + ++static bool ++IsTypedArrayObject(CompilerConstraintList* constraints, MDefinition* def) ++{ ++ MOZ_ASSERT(def->type() == MIRType_Object); ++ ++ TemporaryTypeSet* types = def->resultTypeSet(); ++ if (!types) ++ return false; ++ ++ return types->forAllClasses(constraints, IsTypedArrayClass) == ++ TemporaryTypeSet::ForAllResult::ALL_TRUE; ++} ++ + IonBuilder::InliningStatus + IonBuilder::inlineTypedArrayLength(CallInfo& callInfo) + { +@@ -2132,8 +2145,10 @@ IonBuilder::inlineTypedArrayLength(CallInfo& callInfo) + if (getInlineReturnType() != MIRType_Int32) + return InliningStatus_NotInlined; + +- // We assume that when calling this function we always +- // have a TypedArray. The native asserts that as well. ++ // Note that the argument we see here is not necessarily a typed array. ++ // If it's not, this call should be unreachable though. ++ if (!IsTypedArrayObject(constraints(), callInfo.getArg(0))) ++ return InliningStatus_NotInlined; + + MInstruction* length = addTypedArrayLength(callInfo.getArg(0)); + current->push(length); +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt05.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt05.patch new file mode 100644 index 0000000000..b25f2231a7 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt05.patch @@ -0,0 +1,25 @@ +From d91a58cb0094d0421439a915be0b4879a45d20d4 Mon Sep 17 00:00:00 2001 +From: Brian Hackett +Date: Mon, 12 Oct 2015 17:15:12 -0600 +Subject: [PATCH] Bug 1209471 - Fix group used for Array.concat result, + r=jandem. a=al + +--- + js/src/jsarray.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/src/jsarray.cpp b/js/src/jsarray.cpp +index 3d574d5..b4ff057 100644 +--- a/js/src/jsarray.cpp ++++ b/js/src/jsarray.cpp +@@ -2661,6 +2661,7 @@ js::array_concat(JSContext* cx, unsigned argc, Value* vp) + narr = NewDenseEmptyArray(cx); + if (!narr) + return false; ++ TryReuseArrayGroup(aobj, narr); + args.rval().setObject(*narr); + length = 0; + } +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt06.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt06.patch new file mode 100644 index 0000000000..33dbf68f2c --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt06.patch @@ -0,0 +1,461 @@ +From 13b2b587c183e85618868752e05ec46bd5a0af86 Mon Sep 17 00:00:00 2001 +From: Jon Coppeard +Date: Tue, 13 Oct 2015 11:09:12 +0200 +Subject: [PATCH] Bug 1208665 - r=Waldo a=abillings a=sylvestre + +--- + js/public/Utility.h | 49 +++++++++++++++++++++++++++++++++++++-------- + js/src/ds/LifoAlloc.h | 13 ++++++------ + js/src/jit/FixedList.h | 10 +++++---- + js/src/jit/JitAllocPolicy.h | 19 ++++++++++-------- + js/src/jit/LIR.cpp | 3 +-- + js/src/jit/MIRGenerator.h | 7 ++++--- + js/src/jit/MIRGraph.cpp | 2 +- + js/src/jsalloc.h | 14 ++++++++++--- + js/src/vm/MallocProvider.h | 39 ++++++++++++++++-------------------- + js/src/vm/Runtime.h | 10 +++++---- + 10 files changed, 105 insertions(+), 61 deletions(-) + +diff --git a/js/public/Utility.h b/js/public/Utility.h +index 40b5d90..6b750c3 100644 +--- a/js/public/Utility.h ++++ b/js/public/Utility.h +@@ -217,6 +217,36 @@ static inline char* js_strdup(const char* s) + + JS_DECLARE_NEW_METHODS(js_new, js_malloc, static MOZ_ALWAYS_INLINE) + ++namespace js { ++ ++/* ++ * Calculate the number of bytes needed to allocate |numElems| contiguous ++ * instances of type |T|. Return false if the calculation overflowed. ++ */ ++template ++MOZ_WARN_UNUSED_RESULT inline bool ++CalculateAllocSize(size_t numElems, size_t* bytesOut) ++{ ++ *bytesOut = numElems * sizeof(T); ++ return (numElems & mozilla::tl::MulOverflowMask::value) == 0; ++} ++ ++/* ++ * Calculate the number of bytes needed to allocate a single instance of type ++ * |T| followed by |numExtra| contiguous instances of type |Extra|. Return ++ * false if the calculation overflowed. ++ */ ++template ++MOZ_WARN_UNUSED_RESULT inline bool ++CalculateAllocSizeWithExtra(size_t numExtra, size_t* bytesOut) ++{ ++ *bytesOut = sizeof(T) + numExtra * sizeof(Extra); ++ return (numExtra & mozilla::tl::MulOverflowMask::value) == 0 && ++ *bytesOut >= sizeof(T); ++} ++ ++} /* namespace js */ ++ + template + static MOZ_ALWAYS_INLINE void + js_delete(T* p) +@@ -242,32 +272,34 @@ template + static MOZ_ALWAYS_INLINE T* + js_pod_malloc() + { +- return (T*)js_malloc(sizeof(T)); ++ return static_cast(js_malloc(sizeof(T))); + } + + template + static MOZ_ALWAYS_INLINE T* + js_pod_calloc() + { +- return (T*)js_calloc(sizeof(T)); ++ return static_cast(js_calloc(sizeof(T))); + } + + template + static MOZ_ALWAYS_INLINE T* + js_pod_malloc(size_t numElems) + { +- if (MOZ_UNLIKELY(numElems & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!js::CalculateAllocSize(numElems, &bytes))) + return nullptr; +- return (T*)js_malloc(numElems * sizeof(T)); ++ return static_cast(js_malloc(bytes)); + } + + template + static MOZ_ALWAYS_INLINE T* + js_pod_calloc(size_t numElems) + { +- if (MOZ_UNLIKELY(numElems & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!js::CalculateAllocSize(numElems, &bytes))) + return nullptr; +- return (T*)js_calloc(numElems * sizeof(T)); ++ return static_cast(js_calloc(bytes)); + } + + template +@@ -275,9 +307,10 @@ static MOZ_ALWAYS_INLINE T* + js_pod_realloc(T* prior, size_t oldSize, size_t newSize) + { + MOZ_ASSERT(!(oldSize & mozilla::tl::MulOverflowMask::value)); +- if (MOZ_UNLIKELY(newSize & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!js::CalculateAllocSize(newSize, &bytes))) + return nullptr; +- return (T*)js_realloc(prior, newSize * sizeof(T)); ++ return static_cast(js_realloc(prior, bytes)); + } + + namespace js { +diff --git a/js/src/ds/LifoAlloc.h b/js/src/ds/LifoAlloc.h +index 9dc68c1..35cdc72 100644 +--- a/js/src/ds/LifoAlloc.h ++++ b/js/src/ds/LifoAlloc.h +@@ -310,9 +310,10 @@ class LifoAlloc + // The caller is responsible for initialization. + template + T* newArrayUninitialized(size_t count) { +- if (MOZ_UNLIKELY(count & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(count, &bytes))) + return nullptr; +- return static_cast(alloc(sizeof(T) * count)); ++ return static_cast(alloc(bytes)); + } + + class Mark { +@@ -527,16 +528,16 @@ class LifoAllocPolicy + {} + template + T* pod_malloc(size_t numElems) { +- if (MOZ_UNLIKELY(numElems & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(numElems, &bytes))) + return nullptr; +- size_t bytes = numElems * sizeof(T); + void* p = fb == Fallible ? alloc_.alloc(bytes) : alloc_.allocInfallible(bytes); + return static_cast(p); + } + template + T* pod_calloc(size_t numElems) { + T* p = pod_malloc(numElems); +- if (fb == Fallible && !p) ++ if (MOZ_UNLIKELY(!p)) + return nullptr; + memset(p, 0, numElems * sizeof(T)); + return p; +@@ -544,7 +545,7 @@ class LifoAllocPolicy + template + T* pod_realloc(T* p, size_t oldSize, size_t newSize) { + T* n = pod_malloc(newSize); +- if (fb == Fallible && !n) ++ if (MOZ_UNLIKELY(!n)) + return nullptr; + MOZ_ASSERT(!(oldSize & mozilla::tl::MulOverflowMask::value)); + memcpy(n, p, Min(oldSize * sizeof(T), newSize * sizeof(T))); +diff --git a/js/src/jit/FixedList.h b/js/src/jit/FixedList.h +index 9cea3a8..b6b37bb 100644 +--- a/js/src/jit/FixedList.h ++++ b/js/src/jit/FixedList.h +@@ -37,9 +37,10 @@ class FixedList + if (length == 0) + return true; + +- if (MOZ_UNLIKELY(length & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(length, &bytes))) + return false; +- list_ = (T*)alloc.allocate(length * sizeof(T)); ++ list_ = (T*)alloc.allocate(bytes); + return list_ != nullptr; + } + +@@ -60,9 +61,10 @@ class FixedList + size_t newlength = length_ + num; + if (newlength < length_) + return false; +- if (MOZ_UNLIKELY(newlength & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(newlength, &bytes))) + return false; +- T* list = (T*)alloc.allocate((length_ + num) * sizeof(T)); ++ T* list = (T*)alloc.allocate(bytes); + if (MOZ_UNLIKELY(!list)) + return false; + +diff --git a/js/src/jit/JitAllocPolicy.h b/js/src/jit/JitAllocPolicy.h +index 4bbd1a3..fca4b3f 100644 +--- a/js/src/jit/JitAllocPolicy.h ++++ b/js/src/jit/JitAllocPolicy.h +@@ -48,12 +48,13 @@ class TempAllocator + return p; + } + +- template +- void* allocateArray(size_t n) ++ template ++ T* allocateArray(size_t n) + { +- if (MOZ_UNLIKELY(n & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(n, &bytes))) + return nullptr; +- void* p = lifoScope_.alloc().alloc(n * ElemSize); ++ T* p = static_cast(lifoScope_.alloc().alloc(bytes)); + if (MOZ_UNLIKELY(!ensureBallast())) + return nullptr; + return p; +@@ -79,9 +80,10 @@ class JitAllocPolicy + {} + template + T* pod_malloc(size_t numElems) { +- if (MOZ_UNLIKELY(numElems & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(numElems, &bytes))) + return nullptr; +- return static_cast(alloc_.allocate(numElems * sizeof(T))); ++ return static_cast(alloc_.allocate(bytes)); + } + template + T* pod_calloc(size_t numElems) { +@@ -112,9 +114,10 @@ class OldJitAllocPolicy + {} + template + T* pod_malloc(size_t numElems) { +- if (MOZ_UNLIKELY(numElems & mozilla::tl::MulOverflowMask::value)) ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(numElems, &bytes))) + return nullptr; +- return static_cast(GetJitContext()->temp->allocate(numElems * sizeof(T))); ++ return static_cast(GetJitContext()->temp->allocate(bytes)); + } + void free_(void* p) { + } +diff --git a/js/src/jit/LIR.cpp b/js/src/jit/LIR.cpp +index 70a3fc0..a76e742 100644 +--- a/js/src/jit/LIR.cpp ++++ b/js/src/jit/LIR.cpp +@@ -105,8 +105,7 @@ LBlock::init(TempAllocator& alloc) + + int numPhis = (phi->type() == MIRType_Value) ? BOX_PIECES : 1; + for (int i = 0; i < numPhis; i++) { +- void* array = alloc.allocateArray(numPreds); +- LAllocation* inputs = static_cast(array); ++ LAllocation* inputs = alloc.allocateArray(numPreds); + if (!inputs) + return false; + +diff --git a/js/src/jit/MIRGenerator.h b/js/src/jit/MIRGenerator.h +index 01de27d..5e6b9ef 100644 +--- a/js/src/jit/MIRGenerator.h ++++ b/js/src/jit/MIRGenerator.h +@@ -60,10 +60,11 @@ class MIRGenerator + } + + template +- T * allocate(size_t count = 1) { +- if (count & mozilla::tl::MulOverflowMask::value) ++ T* allocate(size_t count = 1) { ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(count, &bytes))) + return nullptr; +- return reinterpret_cast(alloc().allocate(sizeof(T) * count)); ++ return static_cast(alloc().allocate(bytes)); + } + + // Set an error state and prints a message. Returns false so errors can be +diff --git a/js/src/jit/MIRGraph.cpp b/js/src/jit/MIRGraph.cpp +index 5d000dca..4c5cf8e 100644 +--- a/js/src/jit/MIRGraph.cpp ++++ b/js/src/jit/MIRGraph.cpp +@@ -297,7 +297,7 @@ MBasicBlock::NewAsmJS(MIRGraph& graph, CompileInfo& info, MBasicBlock* pred, Kin + size_t nphis = block->stackPosition_; + + TempAllocator& alloc = graph.alloc(); +- MPhi* phis = (MPhi*)alloc.allocateArray(nphis); ++ MPhi* phis = alloc.allocateArray(nphis); + if (!phis) + return nullptr; + +diff --git a/js/src/jsalloc.h b/js/src/jsalloc.h +index ce11ade..e20fa5f2 100644 +--- a/js/src/jsalloc.h ++++ b/js/src/jsalloc.h +@@ -53,6 +53,14 @@ class TempAllocPolicy + */ + JS_FRIEND_API(void*) onOutOfMemory(void* p, size_t nbytes); + ++ template ++ T* onOutOfMemoryTyped(void* p, size_t numElems) { ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(numElems, &bytes))) ++ return nullptr; ++ return static_cast(onOutOfMemory(p, bytes)); ++ } ++ + public: + MOZ_IMPLICIT TempAllocPolicy(JSContext* cx) : cx_((ContextFriendFields*) cx) {} // :( + MOZ_IMPLICIT TempAllocPolicy(ContextFriendFields* cx) : cx_(cx) {} +@@ -61,7 +69,7 @@ class TempAllocPolicy + T* pod_malloc(size_t numElems) { + T* p = js_pod_malloc(numElems); + if (MOZ_UNLIKELY(!p)) +- p = static_cast(onOutOfMemory(nullptr, numElems * sizeof(T))); ++ p = onOutOfMemoryTyped(nullptr, numElems); + return p; + } + +@@ -69,7 +77,7 @@ class TempAllocPolicy + T* pod_calloc(size_t numElems) { + T* p = js_pod_calloc(numElems); + if (MOZ_UNLIKELY(!p)) +- p = static_cast(onOutOfMemory(reinterpret_cast(1), numElems * sizeof(T))); ++ p = onOutOfMemoryTyped(reinterpret_cast(1), numElems); + return p; + } + +@@ -77,7 +85,7 @@ class TempAllocPolicy + T* pod_realloc(T* prior, size_t oldSize, size_t newSize) { + T* p2 = js_pod_realloc(prior, oldSize, newSize); + if (MOZ_UNLIKELY(!p2)) +- p2 = static_cast(onOutOfMemory(p2, newSize * sizeof(T))); ++ p2 = onOutOfMemoryTyped(p2, newSize); + return p2; + } + +diff --git a/js/src/vm/MallocProvider.h b/js/src/vm/MallocProvider.h +index 1ea4ce2..f334eb1 100644 +--- a/js/src/vm/MallocProvider.h ++++ b/js/src/vm/MallocProvider.h +@@ -64,30 +64,27 @@ struct MallocProvider + client()->updateMallocCounter(numElems * sizeof(T)); + return p; + } +- if (numElems & mozilla::tl::MulOverflowMask::value) { ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(numElems, &bytes))) { + client()->reportAllocationOverflow(); + return nullptr; + } +- return (T*)client()->onOutOfMemory(nullptr, numElems * sizeof(T)); ++ return static_cast(client()->onOutOfMemory(nullptr, bytes)); + } + + template + T* pod_malloc_with_extra(size_t numExtra) { +- if (MOZ_UNLIKELY(numExtra & mozilla::tl::MulOverflowMask::value)) { ++ size_t bytes; ++ if (MOZ_UNLIKELY((!CalculateAllocSizeWithExtra(numExtra, &bytes)))) { + client()->reportAllocationOverflow(); + return nullptr; + } +- size_t bytes = sizeof(T) + numExtra * sizeof(U); +- if (MOZ_UNLIKELY(bytes < sizeof(T))) { +- client()->reportAllocationOverflow(); +- return nullptr; +- } +- T* p = reinterpret_cast(js_pod_malloc(bytes)); ++ T* p = static_cast(js_malloc(bytes)); + if (MOZ_LIKELY(p)) { + client()->updateMallocCounter(bytes); + return p; + } +- return (T*)client()->onOutOfMemory(nullptr, bytes); ++ return static_cast(client()->onOutOfMemory(nullptr, bytes)); + } + + template +@@ -108,30 +105,27 @@ struct MallocProvider + client()->updateMallocCounter(numElems * sizeof(T)); + return p; + } +- if (numElems & mozilla::tl::MulOverflowMask::value) { ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(numElems, &bytes))) { + client()->reportAllocationOverflow(); + return nullptr; + } +- return (T*)client()->onOutOfMemory(nullptr, numElems * sizeof(T)); ++ return static_cast(client()->onOutOfMemory(nullptr, bytes)); + } + + template + T* pod_calloc_with_extra(size_t numExtra) { +- if (MOZ_UNLIKELY(numExtra & mozilla::tl::MulOverflowMask::value)) { +- client()->reportAllocationOverflow(); +- return nullptr; +- } +- size_t bytes = sizeof(T) + numExtra * sizeof(U); +- if (MOZ_UNLIKELY(bytes < sizeof(T))) { ++ size_t bytes; ++ if (MOZ_UNLIKELY((!CalculateAllocSizeWithExtra(numExtra, &bytes)))) { + client()->reportAllocationOverflow(); + return nullptr; + } +- T* p = reinterpret_cast(js_pod_calloc(bytes)); ++ T* p = static_cast(js_calloc(bytes)); + if (MOZ_LIKELY(p)) { + client()->updateMallocCounter(bytes); + return p; + } +- return (T*)client()->onOutOfMemory(nullptr, bytes); ++ return static_cast(client()->onOutOfMemory(nullptr, bytes)); + } + + template +@@ -151,11 +145,12 @@ struct MallocProvider + client()->updateMallocCounter((newSize - oldSize) * sizeof(T)); + return p; + } +- if (newSize & mozilla::tl::MulOverflowMask::value) { ++ size_t bytes; ++ if (MOZ_UNLIKELY(!CalculateAllocSize(newSize, &bytes))) { + client()->reportAllocationOverflow(); + return nullptr; + } +- return (T*)client()->onOutOfMemory(prior, newSize * sizeof(T)); ++ return static_cast(client()->onOutOfMemory(prior, bytes)); + } + + JS_DECLARE_NEW_METHODS(new_, pod_malloc, MOZ_ALWAYS_INLINE) +diff --git a/js/src/vm/Runtime.h b/js/src/vm/Runtime.h +index 90771d6..24c34d3 100644 +--- a/js/src/vm/Runtime.h ++++ b/js/src/vm/Runtime.h +@@ -1354,11 +1354,12 @@ struct JSRuntime : public JS::shadow::Runtime, + T* p = pod_calloc(numElems); + if (MOZ_LIKELY(!!p)) + return p; +- if (numElems & mozilla::tl::MulOverflowMask::value) { ++ size_t bytes; ++ if (MOZ_UNLIKELY(!js::CalculateAllocSize(numElems, &bytes))) { + reportAllocationOverflow(); + return nullptr; + } +- return (T*)onOutOfMemoryCanGC(reinterpret_cast(1), numElems * sizeof(T)); ++ return static_cast(onOutOfMemoryCanGC(reinterpret_cast(1), bytes)); + } + + template +@@ -1366,11 +1367,12 @@ struct JSRuntime : public JS::shadow::Runtime, + T* p2 = pod_realloc(p, oldSize, newSize); + if (MOZ_LIKELY(!!p2)) + return p2; +- if (newSize & mozilla::tl::MulOverflowMask::value) { ++ size_t bytes; ++ if (MOZ_UNLIKELY(!js::CalculateAllocSize(newSize, &bytes))) { + reportAllocationOverflow(); + return nullptr; + } +- return (T*)onOutOfMemoryCanGC(p, newSize * sizeof(T)); ++ return static_cast(onOutOfMemoryCanGC(p, bytes)); + } + + /* +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt07.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt07.patch new file mode 100644 index 0000000000..042188ee9c --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt07.patch @@ -0,0 +1,93 @@ +From 182bcb255e28b536e2d2a1208fde3324a994dbc1 Mon Sep 17 00:00:00 2001 +From: Benjamin Bouvier +Date: Tue, 13 Oct 2015 19:22:47 +0200 +Subject: [PATCH] Bug 1107011: Propagate recovered on bailout flags when + converting float32 to doubles; r=nbp, a=ritu, a=abillings + +--HG-- +extra : commitid : 51QGWZ84Mqx +extra : amend_source : 48bf9cd43b37c95d61dd4d11b184c307e84a56b5 +extra : histedit_source : ae510534e698e680103f508e0029d75f03f4e6e0%2C1d8eb51e63dd3a52898892976f50747cc3907e65 +--- + js/src/jit-test/tests/ion/bug1107011-1.js | 17 +++++++++++++++++ + js/src/jit-test/tests/ion/bug1107011-2.js | 12 ++++++++++++ + js/src/jit/TypePolicy.cpp | 2 ++ + js/src/jit/ValueNumbering.cpp | 6 ++++++ + 4 files changed, 37 insertions(+) + create mode 100644 js/src/jit-test/tests/ion/bug1107011-1.js + create mode 100644 js/src/jit-test/tests/ion/bug1107011-2.js + +diff --git a/js/src/jit-test/tests/ion/bug1107011-1.js b/js/src/jit-test/tests/ion/bug1107011-1.js +new file mode 100644 +index 0000000..458d7dd +--- /dev/null ++++ b/js/src/jit-test/tests/ion/bug1107011-1.js +@@ -0,0 +1,17 @@ ++var f32 = new Float32Array(32); ++function f(n) { ++ var x; ++ if (n > 10000) { ++ x = 4.5; ++ } else { ++ x = f32[0]; ++ } ++ f32[0] = (function() { ++ for(var f=0;f<4;++f) { ++ x=1; ++ } ++ })() < x; ++} ++for (var n = 0; n < 100; n++) ++ f(n); ++ +diff --git a/js/src/jit-test/tests/ion/bug1107011-2.js b/js/src/jit-test/tests/ion/bug1107011-2.js +new file mode 100644 +index 0000000..d59685e +--- /dev/null ++++ b/js/src/jit-test/tests/ion/bug1107011-2.js +@@ -0,0 +1,12 @@ ++function foo() { ++ var x = 0, y = 0, a = new Float32Array(1); ++ function bar() { ++ x = y; ++ y = a[0]; ++ } ++ for (var i = 0; i < 1000; i++) { ++ bar(); ++ } ++} ++for (var i=0; i < 50; i++) ++ foo(); +diff --git a/js/src/jit/TypePolicy.cpp b/js/src/jit/TypePolicy.cpp +index 4cea638..2510d50 100644 +--- a/js/src/jit/TypePolicy.cpp ++++ b/js/src/jit/TypePolicy.cpp +@@ -22,6 +22,8 @@ EnsureOperandNotFloat32(TempAllocator& alloc, MInstruction* def, unsigned op) + if (in->type() == MIRType_Float32) { + MToDouble* replace = MToDouble::New(alloc, in); + def->block()->insertBefore(def, replace); ++ if (def->isRecoveredOnBailout()) ++ replace->setRecoveredOnBailout(); + def->replaceOperand(op, replace); + } + } +diff --git a/js/src/jit/ValueNumbering.cpp b/js/src/jit/ValueNumbering.cpp +index da3e692..eb367e1 100644 +--- a/js/src/jit/ValueNumbering.cpp ++++ b/js/src/jit/ValueNumbering.cpp +@@ -726,6 +726,12 @@ ValueNumberer::visitDefinition(MDefinition* def) + return true; + } + ++ // Skip optimizations on instructions which are recovered on bailout, to ++ // avoid mixing instructions which are recovered on bailouts with ++ // instructions which are not. ++ if (def->isRecoveredOnBailout()) ++ return true; ++ + // If this instruction has a dependency() into an unreachable block, we'll + // need to update AliasAnalysis. + MInstruction* dep = def->dependency(); +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt08.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt08.patch new file mode 100644 index 0000000000..6a16b07497 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt08.patch @@ -0,0 +1,41 @@ +From 544bc596ac085ee1adc0b3d7ea793bc37d747ce2 Mon Sep 17 00:00:00 2001 +From: Carsten Book +Date: Mon, 19 Oct 2015 08:49:46 +0200 +Subject: [PATCH] Bug 1213979 - h2 paket formats. r=hurley, a=al + +--HG-- +extra : source : 551a28778624d4aff67b698952b1b3e011fc21f7 +extra : intermediate-source : ed67ac61d1c0e4a23888abe3abd3f4636757e038 +--- + netwerk/protocol/http/Http2Stream.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/netwerk/protocol/http/Http2Stream.cpp b/netwerk/protocol/http/Http2Stream.cpp +index 38fc025..340eccf 100644 +--- a/netwerk/protocol/http/Http2Stream.cpp ++++ b/netwerk/protocol/http/Http2Stream.cpp +@@ -629,9 +629,9 @@ Http2Stream::AdjustInitialWindow() + return; + } + +- uint8_t *packet = mTxInlineFrame.get() + mTxInlineFrameUsed; + EnsureBuffer(mTxInlineFrame, mTxInlineFrameUsed + Http2Session::kFrameHeaderBytes + 4, + mTxInlineFrameUsed, mTxInlineFrameSize); ++ uint8_t *packet = mTxInlineFrame.get() + mTxInlineFrameUsed; + mTxInlineFrameUsed += Http2Session::kFrameHeaderBytes + 4; + + mSession->CreateFrameHeader(packet, 4, +@@ -661,9 +661,9 @@ Http2Stream::AdjustPushedPriority() + if (mPushSource->RecvdFin() || mPushSource->RecvdReset()) + return; + +- uint8_t *packet = mTxInlineFrame.get() + mTxInlineFrameUsed; + EnsureBuffer(mTxInlineFrame, mTxInlineFrameUsed + Http2Session::kFrameHeaderBytes + 5, + mTxInlineFrameUsed, mTxInlineFrameSize); ++ uint8_t *packet = mTxInlineFrame.get() + mTxInlineFrameUsed; + mTxInlineFrameUsed += Http2Session::kFrameHeaderBytes + 5; + + mSession->CreateFrameHeader(packet, 5, +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt09.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt09.patch new file mode 100644 index 0000000000..687eb0af76 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt09.patch @@ -0,0 +1,65 @@ +From ef6298177a8390c01f5084ba89a808015a0b9473 Mon Sep 17 00:00:00 2001 +From: Gerald Squelart +Date: Thu, 22 Oct 2015 10:00:12 +0200 +Subject: [PATCH] Bug 1204580 - Check box ranges for overflow - r=rillian, a=al + +--- + media/libstagefright/binding/Box.cpp | 21 +++++++++++++++++++-- + 1 file changed, 19 insertions(+), 2 deletions(-) + +diff --git a/media/libstagefright/binding/Box.cpp b/media/libstagefright/binding/Box.cpp +index 71c79ed..2558be0 100644 +--- a/media/libstagefright/binding/Box.cpp ++++ b/media/libstagefright/binding/Box.cpp +@@ -40,6 +40,11 @@ Box::Box(BoxContext* aContext, uint64_t aOffset, const Box* aParent) + : mContext(aContext), mParent(aParent) + { + uint8_t header[8]; ++ ++ if (aOffset > INT64_MAX - sizeof(header)) { ++ return; ++ } ++ + MediaByteRange headerRange(aOffset, aOffset + sizeof(header)); + if (mParent && !mParent->mRange.Contains(headerRange)) { + return; +@@ -67,11 +72,14 @@ Box::Box(BoxContext* aContext, uint64_t aOffset, const Box* aParent) + uint64_t size = BigEndian::readUint32(header); + if (size == 1) { + uint8_t bigLength[8]; ++ if (aOffset > INT64_MAX - sizeof(header) - sizeof(bigLength)) { ++ return; ++ } + MediaByteRange bigLengthRange(headerRange.mEnd, + headerRange.mEnd + sizeof(bigLength)); + if ((mParent && !mParent->mRange.Contains(bigLengthRange)) || + !byteRange->Contains(bigLengthRange) || +- !mContext->mSource->CachedReadAt(aOffset, bigLength, ++ !mContext->mSource->CachedReadAt(aOffset + sizeof(header), bigLength, + sizeof(bigLength), &bytes) || + bytes != sizeof(bigLength)) { + return; +@@ -82,10 +90,19 @@ Box::Box(BoxContext* aContext, uint64_t aOffset, const Box* aParent) + mBodyOffset = headerRange.mEnd; + } + ++ if (size > INT64_MAX) { ++ return; ++ } ++ int64_t end = static_cast(aOffset) + static_cast(size); ++ if (end < static_cast(aOffset)) { ++ // Overflowed. ++ return; ++ } ++ + mType = BigEndian::readUint32(&header[4]); + mChildOffset = mBodyOffset + BoxOffset(mType); + +- MediaByteRange boxRange(aOffset, aOffset + size); ++ MediaByteRange boxRange(aOffset, end); + if (mChildOffset > boxRange.mEnd || + (mParent && !mParent->mRange.Contains(boxRange)) || + !byteRange->Contains(boxRange)) { +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt10.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt10.patch new file mode 100644 index 0000000000..43dd17786f --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt10.patch @@ -0,0 +1,110 @@ +From 7b6c571182661cfffa0987c1a88a2cb5a3230bcd Mon Sep 17 00:00:00 2001 +From: Georg Fritzsche +Date: Tue, 18 Aug 2015 19:21:40 +0200 +Subject: [PATCH] Bug 1193038 - Purposely leak StatisticsReport object and + suppress the leak report. r=glandium,mccr8,njn, a=lizzard + +--HG-- +extra : source : 346b9ee524d1a704ea953ef16237f3d0c7ee56d1 +extra : intermediate-source : 48b17faad125691454ebba9bdef0a5def9128f11 +--- + build/valgrind/cross-architecture.sup | 9 +++++++++ + toolkit/xre/nsAppRunner.cpp | 22 +++++++++++++++------- + 2 files changed, 24 insertions(+), 7 deletions(-) + +diff --git a/build/valgrind/cross-architecture.sup b/build/valgrind/cross-architecture.sup +index 9215d3b..1e9d7ab 100644 +--- a/build/valgrind/cross-architecture.sup ++++ b/build/valgrind/cross-architecture.sup +@@ -34,6 +34,15 @@ + fun:_ZN13CrashReporter14SetupExtraDataEP7nsIFileRK19nsACString_internal + ... + } ++{ ++ We purposely leak the StatisticsReporter object ++ Memcheck:Leak ++ fun:malloc ++ fun:moz_xmalloc ++ fun:operator new ++ fun:_Z21XRE_CreateStatsObjectv ++ ... ++} + + #################################### + # Leaks in third party libraries # +diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp +index 5334a05..037aeac 100644 +--- a/toolkit/xre/nsAppRunner.cpp ++++ b/toolkit/xre/nsAppRunner.cpp +@@ -20,6 +20,7 @@ + #include "mozilla/Poison.h" + #include "mozilla/Preferences.h" + #include "mozilla/Telemetry.h" ++#include "mozilla/MemoryChecking.h" + + #include "nsAppRunner.h" + #include "mozilla/AppData.h" +@@ -3004,7 +3005,6 @@ public: + + ~XREMain() { + mScopedXPCOM = nullptr; +- mStatisticsRecorder = nullptr; + mAppData = nullptr; + } + +@@ -3023,7 +3023,6 @@ public: + #endif + + UniquePtr mScopedXPCOM; +- UniquePtr mStatisticsRecorder; + nsAutoPtr mAppData; + + nsXREDirProvider mDirProvider; +@@ -4268,10 +4267,6 @@ XREMain::XRE_main(int argc, char* argv[], const nsXREAppData* aAppData) + + NS_ENSURE_TRUE(aAppData, 2); + +- // A initializer to initialize histogram collection, a chromium +- // thing used by Telemetry. +- mStatisticsRecorder = MakeUnique(); +- + mAppData = new ScopedAppData(aAppData); + if (!mAppData) + return 1; +@@ -4345,7 +4340,6 @@ XREMain::XRE_main(int argc, char* argv[], const nsXREAppData* aAppData) + } + + mScopedXPCOM = nullptr; +- mStatisticsRecorder = nullptr; + + // unlock the profile after ScopedXPCOMStartup object (xpcom) + // has gone out of scope. see bug #386739 for more details +@@ -4531,11 +4525,25 @@ XRE_StopLateWriteChecks(void) { + mozilla::StopLateWriteChecks(); + } + ++// Separate stub function to let us specifically suppress it in Valgrind ++void ++XRE_CreateStatsObject() ++{ ++ // A initializer to initialize histogram collection, a chromium ++ // thing used by Telemetry (and effectively a global; it's all static). ++ // Note: purposely leaked ++ base::StatisticsRecorder* statistics_recorder = new base::StatisticsRecorder(); ++ MOZ_LSAN_INTENTIONALLY_LEAK_OBJECT(statistics_recorder); ++ unused << statistics_recorder; ++} ++ + int + XRE_main(int argc, char* argv[], const nsXREAppData* aAppData, uint32_t aFlags) + { + #if !defined(MOZ_METRO) || !defined(XP_WIN) + XREMain main; ++ ++ XRE_CreateStatsObject(); + int result = main.XRE_main(argc, argv, aAppData); + mozilla::RecordShutdownEndTimeStamp(); + return result; +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt11.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt11.patch new file mode 100644 index 0000000000..c4b326b9ed --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt11.patch @@ -0,0 +1,42 @@ +From 72185a2795d4627203970e3c17fd9b3a6944edc6 Mon Sep 17 00:00:00 2001 +From: "Nicolas B. Pierron" +Date: Thu, 15 Oct 2015 10:57:39 +0200 +Subject: [PATCH] Bug 1204700 - ARM: Use a different scratch register for + store32. r=sstangl, a=lizzard + +--HG-- +extra : commitid : 8itRSfm5tEh +extra : source : ebafbc7c1a870499159cdd2ee91573f1b52c728a +--- + js/src/jit/arm/MacroAssembler-arm.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/js/src/jit/arm/MacroAssembler-arm.cpp b/js/src/jit/arm/MacroAssembler-arm.cpp +index 7b8c06e..c8030bb 100644 +--- a/js/src/jit/arm/MacroAssembler-arm.cpp ++++ b/js/src/jit/arm/MacroAssembler-arm.cpp +@@ -2487,8 +2487,8 @@ MacroAssemblerARMCompat::store32(Imm32 src, const Address& address) + void + MacroAssemblerARMCompat::store32(Imm32 imm, const BaseIndex& dest) + { +- ma_mov(imm, secondScratchReg_); +- store32(secondScratchReg_, dest); ++ ma_mov(imm, ScratchRegister); ++ store32(ScratchRegister, dest); + } + + void +@@ -2498,8 +2498,8 @@ MacroAssemblerARMCompat::store32(Register src, const BaseIndex& dest) + uint32_t scale = Imm32::ShiftOf(dest.scale).value; + + if (dest.offset != 0) { +- ma_add(base, Imm32(dest.offset), ScratchRegister); +- base = ScratchRegister; ++ ma_add(base, Imm32(dest.offset), secondScratchReg_); ++ base = secondScratchReg_; + } + ma_str(src, DTRAddr(base, DtrRegImmShift(dest.index, LSL, scale))); + } +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7188.patch b/gnu/packages/patches/icecat-CVE-2015-7188.patch new file mode 100644 index 0000000000..15e26e3a6e --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7188.patch @@ -0,0 +1,143 @@ +From 23e5bd6ffab4b6fa17a92d0bc58fbd185e9a7e6e Mon Sep 17 00:00:00 2001 +From: Valentin Gosu +Date: Tue, 13 Oct 2015 11:10:26 +0200 +Subject: [PATCH] Bug 1199430 - Reject hostnames containing @. r=mcmanus, a=al + +--- + docshell/test/unit/test_nsDefaultURIFixup_info.js | 16 ++++++------ + netwerk/base/nsStandardURL.cpp | 30 ++++++++++++++--------- + netwerk/base/nsStandardURL.h | 2 +- + 3 files changed, 27 insertions(+), 21 deletions(-) + +diff --git a/docshell/test/unit/test_nsDefaultURIFixup_info.js b/docshell/test/unit/test_nsDefaultURIFixup_info.js +index b178ea9..dbb55c6 100644 +--- a/docshell/test/unit/test_nsDefaultURIFixup_info.js ++++ b/docshell/test/unit/test_nsDefaultURIFixup_info.js +@@ -199,12 +199,10 @@ let testcases = [ { + protocolChange: true + }, { + input: "[::1][100", +- fixedURI: "http://[::1][100/", +- alternateURI: "http://[::1][100/", ++ fixedURI: null, ++ alternateURI: null, + keywordLookup: true, +- protocolChange: true, +- affectedByWhitelist: true, +- affectedByDNSForSingleHosts: true, ++ protocolChange: true + }, { + input: "[::1]]", + keywordLookup: true, +@@ -514,15 +512,15 @@ if (Services.appinfo.OS.toLowerCase().startsWith("win")) { + input: "//mozilla", + fixedURI: "file:////mozilla", + protocolChange: true, +- }); ++ }); // \ is an invalid character in the hostname until bug 652186 is implemented + testcases.push({ + input: "mozilla\\", +- fixedURI: "http://mozilla\\/", +- alternateURI: "http://www.mozilla/", ++ // fixedURI: "http://mozilla\\/", ++ // alternateURI: "http://www.mozilla/", + keywordLookup: true, + protocolChange: true, + affectedByWhitelist: true, +- affectedByDNSForSingleHosts: true, ++ // affectedByDNSForSingleHosts: true, + }); + } + +diff --git a/netwerk/base/nsStandardURL.cpp b/netwerk/base/nsStandardURL.cpp +index f5f516f..cff90fc 100644 +--- a/netwerk/base/nsStandardURL.cpp ++++ b/netwerk/base/nsStandardURL.cpp +@@ -427,14 +427,16 @@ nsStandardURL::NormalizeIDN(const nsCSubstring &host, nsCString &result) + } + + bool +-nsStandardURL::ValidIPv6orHostname(const char *host) ++nsStandardURL::ValidIPv6orHostname(const char *host, uint32_t length) + { +- if (!host || !*host) { +- // Should not be NULL or empty string ++ if (!host) { + return false; + } + +- int32_t length = strlen(host); ++ if (length != strlen(host)) { ++ // Embedded null ++ return false; ++ } + + bool openBracket = host[0] == '['; + bool closeBracket = host[length - 1] == ']'; +@@ -448,8 +450,9 @@ nsStandardURL::ValidIPv6orHostname(const char *host) + return false; + } + +- if (PL_strchr(host, ':')) { +- // Hostnames should not contain a colon ++ const char *end = host + length; ++ if (end != net_FindCharInSet(host, end, "\t\n\v\f\r #/:?@[\\]")) { ++ // % is allowed because we don't do hostname percent decoding yet. + return false; + } + +@@ -587,6 +590,11 @@ nsStandardURL::BuildNormalizedSpec(const char *spec) + approxLen += encHost.Length(); + else + approxLen += mHost.mLen; ++ ++ if ((useEncHost && !ValidIPv6orHostname(encHost.BeginReading(), encHost.Length())) || ++ (!useEncHost && !ValidIPv6orHostname(tempHost.BeginReading(), tempHost.Length()))) { ++ return NS_ERROR_MALFORMED_URI; ++ } + } + + // +@@ -1580,14 +1588,10 @@ nsStandardURL::SetHost(const nsACString &input) + if (strchr(host, ' ')) + return NS_ERROR_MALFORMED_URI; + +- if (!ValidIPv6orHostname(host)) { +- return NS_ERROR_MALFORMED_URI; +- } +- + InvalidateCache(); + mHostEncoding = eEncoding_ASCII; + +- int32_t len; ++ uint32_t len; + nsAutoCString hostBuf; + if (NormalizeIDN(flat, hostBuf)) { + host = hostBuf.get(); +@@ -1596,6 +1600,10 @@ nsStandardURL::SetHost(const nsACString &input) + else + len = flat.Length(); + ++ if (!ValidIPv6orHostname(host, len)) { ++ return NS_ERROR_MALFORMED_URI; ++ } ++ + if (mHost.mLen < 0) { + int port_length = 0; + if (mPort != -1) { +diff --git a/netwerk/base/nsStandardURL.h b/netwerk/base/nsStandardURL.h +index 179a618..c56426e 100644 +--- a/netwerk/base/nsStandardURL.h ++++ b/netwerk/base/nsStandardURL.h +@@ -173,7 +173,7 @@ private: + void Clear(); + void InvalidateCache(bool invalidateCachedFile = true); + +- bool ValidIPv6orHostname(const char *host); ++ bool ValidIPv6orHostname(const char *host, uint32_t aLen); + bool NormalizeIDN(const nsCSubstring &host, nsCString &result); + void CoalescePath(netCoalesceFlags coalesceFlag, char *path); + +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7189.patch b/gnu/packages/patches/icecat-CVE-2015-7189.patch new file mode 100644 index 0000000000..329d1b6f1f --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7189.patch @@ -0,0 +1,143 @@ +From 377e1cefec0fcf230caafb97b4414c835d27c7fe Mon Sep 17 00:00:00 2001 +From: Milan Sreckovic +Date: Fri, 2 Oct 2015 09:18:26 +0200 +Subject: [PATCH] Bug 1205900 - Compare context and canvas element sizes before + extracting the data. r=gwright, a=al + +--HG-- +extra : source : f6c99c8baa9b0b6a34d6791e5d4031a2de8f2087 +--- + dom/canvas/CanvasRenderingContext2D.cpp | 2 -- + dom/canvas/CanvasRenderingContext2D.h | 7 +++---- + dom/canvas/WebGLContext.cpp | 2 -- + dom/canvas/WebGLContext.h | 3 +-- + dom/canvas/nsICanvasRenderingContextInternal.h | 8 +++----- + dom/html/HTMLCanvasElement.cpp | 13 +++++++------ + 6 files changed, 14 insertions(+), 21 deletions(-) + +diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp +index d9eaf99..a06fbce 100644 +--- a/dom/canvas/CanvasRenderingContext2D.cpp ++++ b/dom/canvas/CanvasRenderingContext2D.cpp +@@ -1418,7 +1418,6 @@ CanvasRenderingContext2D::EnsureTarget(RenderingMode aRenderingMode) + return mode; + } + +-#ifdef DEBUG + int32_t + CanvasRenderingContext2D::GetWidth() const + { +@@ -1430,7 +1429,6 @@ CanvasRenderingContext2D::GetHeight() const + { + return mHeight; + } +-#endif + + NS_IMETHODIMP + CanvasRenderingContext2D::SetDimensions(int32_t width, int32_t height) +diff --git a/dom/canvas/CanvasRenderingContext2D.h b/dom/canvas/CanvasRenderingContext2D.h +index af29c78..e853987 100644 +--- a/dom/canvas/CanvasRenderingContext2D.h ++++ b/dom/canvas/CanvasRenderingContext2D.h +@@ -481,10 +481,9 @@ public: + + nsresult Redraw(); + +-#ifdef DEBUG +- virtual int32_t GetWidth() const override; +- virtual int32_t GetHeight() const override; +-#endif ++ virtual int32_t GetWidth() const override; ++ virtual int32_t GetHeight() const override; ++ + // nsICanvasRenderingContextInternal + /** + * Gets the pres shell from either the canvas element or the doc shell +diff --git a/dom/canvas/WebGLContext.cpp b/dom/canvas/WebGLContext.cpp +index 1c22c27..f2a620a 100644 +--- a/dom/canvas/WebGLContext.cpp ++++ b/dom/canvas/WebGLContext.cpp +@@ -463,7 +463,6 @@ WebGLContext::SetContextOptions(JSContext* cx, JS::Handle options) + return NS_OK; + } + +-#ifdef DEBUG + int32_t + WebGLContext::GetWidth() const + { +@@ -475,7 +474,6 @@ WebGLContext::GetHeight() const + { + return mHeight; + } +-#endif + + /* So there are a number of points of failure here. We might fail based + * on EGL vs. WGL, or we might fail to alloc a too-large size, or we +diff --git a/dom/canvas/WebGLContext.h b/dom/canvas/WebGLContext.h +index 63c4091..210f341 100644 +--- a/dom/canvas/WebGLContext.h ++++ b/dom/canvas/WebGLContext.h +@@ -202,10 +202,9 @@ public: + NS_DECL_NSIDOMWEBGLRENDERINGCONTEXT + + // nsICanvasRenderingContextInternal +-#ifdef DEBUG + virtual int32_t GetWidth() const override; + virtual int32_t GetHeight() const override; +-#endif ++ + NS_IMETHOD SetDimensions(int32_t width, int32_t height) override; + NS_IMETHOD InitializeWithSurface(nsIDocShell*, gfxASurface*, int32_t, + int32_t) override +diff --git a/dom/canvas/nsICanvasRenderingContextInternal.h b/dom/canvas/nsICanvasRenderingContextInternal.h +index 3b1120f..fb1ef7c 100644 +--- a/dom/canvas/nsICanvasRenderingContextInternal.h ++++ b/dom/canvas/nsICanvasRenderingContextInternal.h +@@ -81,11 +81,9 @@ public: + return mCanvasElement; + } + +-#ifdef DEBUG +- // Useful for testing +- virtual int32_t GetWidth() const = 0; +- virtual int32_t GetHeight() const = 0; +-#endif ++ // Dimensions of the canvas, in pixels. ++ virtual int32_t GetWidth() const = 0; ++ virtual int32_t GetHeight() const = 0; + + // Sets the dimensions of the canvas, in pixels. Called + // whenever the size of the element changes. +diff --git a/dom/html/HTMLCanvasElement.cpp b/dom/html/HTMLCanvasElement.cpp +index f326662..68649f5 100644 +--- a/dom/html/HTMLCanvasElement.cpp ++++ b/dom/html/HTMLCanvasElement.cpp +@@ -526,18 +526,19 @@ HTMLCanvasElement::ToBlob(JSContext* aCx, + return; + } + +-#ifdef DEBUG + if (mCurrentContext) { + // We disallow canvases of width or height zero, and set them to 1, so + // we will have a discrepancy with the sizes of the canvas and the context. + // That discrepancy is OK, the rest are not. + nsIntSize elementSize = GetWidthHeight(); +- MOZ_ASSERT(elementSize.width == mCurrentContext->GetWidth() || +- (elementSize.width == 0 && mCurrentContext->GetWidth() == 1)); +- MOZ_ASSERT(elementSize.height == mCurrentContext->GetHeight() || +- (elementSize.height == 0 && mCurrentContext->GetHeight() == 1)); ++ if ((elementSize.width != mCurrentContext->GetWidth() && ++ (elementSize.width != 0 || mCurrentContext->GetWidth() != 1)) || ++ (elementSize.height != mCurrentContext->GetHeight() && ++ (elementSize.height != 0 || mCurrentContext->GetHeight() != 1))) { ++ aRv.Throw(NS_ERROR_FAILURE); ++ return; ++ } + } +-#endif + + uint8_t* imageBuffer = nullptr; + int32_t format = 0; +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7193.patch b/gnu/packages/patches/icecat-CVE-2015-7193.patch new file mode 100644 index 0000000000..798799de9f --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7193.patch @@ -0,0 +1,397 @@ +From d135e3b3c48811c577e1632a41c5c50bc55c035c Mon Sep 17 00:00:00 2001 +From: Ehsan Akhgari +Date: Tue, 20 Oct 2015 11:40:12 +0200 +Subject: [PATCH] Bug 1210302 - Add a NS_ParseRequestContentType API; ba=al, + r=mcmanus, r=sicking, a=al + +--HG-- +extra : amend_source : d93021b626709b03f6499029dc3d1813cccba386 +--- + docshell/base/nsDocShell.cpp | 2 +- + dom/base/Navigator.cpp | 4 +-- + dom/base/nsContentUtils.cpp | 2 +- + dom/html/nsHTMLDocument.cpp | 2 +- + dom/manifest/ManifestProcessor.jsm | 6 ++-- + netwerk/base/moz.build | 1 + + netwerk/base/nsINetUtil_ESR_38.idl | 14 +++++++++ + netwerk/base/nsIOService.cpp | 12 ++++++++ + netwerk/base/nsIOService.h | 3 ++ + netwerk/base/nsNetUtil.h | 21 +++++++++++++ + netwerk/base/nsURLHelper.cpp | 60 +++++++++++++++++++++++++++++++++++--- + netwerk/base/nsURLHelper.h | 32 +++++++++++++++----- + 12 files changed, 139 insertions(+), 20 deletions(-) + create mode 100644 netwerk/base/nsINetUtil_ESR_38.idl + +diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp +index bcc205c..4fc7c34 100644 +--- a/docshell/base/nsDocShell.cpp ++++ b/docshell/base/nsDocShell.cpp +@@ -13519,7 +13519,7 @@ nsDocShell::OnLinkClickSync(nsIContent* aContent, + anchor->GetType(typeHint); + NS_ConvertUTF16toUTF8 utf8Hint(typeHint); + nsAutoCString type, dummy; +- NS_ParseContentType(utf8Hint, type, dummy); ++ NS_ParseRequestContentType(utf8Hint, type, dummy); + CopyUTF8toUTF16(type, typeHint); + } + +diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp +index f4ea502..7288420 100644 +--- a/dom/base/Navigator.cpp ++++ b/dom/base/Navigator.cpp +@@ -1221,9 +1221,9 @@ Navigator::SendBeacon(const nsAString& aUrl, + rv = secMan->CheckSameOriginURI(documentURI, uri, false); + bool crossOrigin = NS_FAILED(rv); + nsAutoCString contentType, parsedCharset; +- rv = NS_ParseContentType(mimeType, contentType, parsedCharset); ++ rv = NS_ParseRequestContentType(mimeType, contentType, parsedCharset); + if (crossOrigin && +- contentType.Length() > 0 && ++ mimeType.Length() > 0 && + !contentType.Equals(APPLICATION_WWW_FORM_URLENCODED) && + !contentType.Equals(MULTIPART_FORM_DATA) && + !contentType.Equals(TEXT_PLAIN)) { +diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp +index 5e8dbd6..686f7bf 100644 +--- a/dom/base/nsContentUtils.cpp ++++ b/dom/base/nsContentUtils.cpp +@@ -7001,7 +7001,7 @@ nsContentUtils::IsAllowedNonCorsContentType(const nsACString& aHeaderValue) + nsAutoCString contentType; + nsAutoCString unused; + +- nsresult rv = NS_ParseContentType(aHeaderValue, contentType, unused); ++ nsresult rv = NS_ParseRequestContentType(aHeaderValue, contentType, unused); + if (NS_FAILED(rv)) { + return false; + } +diff --git a/dom/html/nsHTMLDocument.cpp b/dom/html/nsHTMLDocument.cpp +index 7481109..d195792 100644 +--- a/dom/html/nsHTMLDocument.cpp ++++ b/dom/html/nsHTMLDocument.cpp +@@ -1422,7 +1422,7 @@ nsHTMLDocument::Open(JSContext* cx, + nsAutoString type; + nsContentUtils::ASCIIToLower(aType, type); + nsAutoCString actualType, dummy; +- NS_ParseContentType(NS_ConvertUTF16toUTF8(type), actualType, dummy); ++ NS_ParseRequestContentType(NS_ConvertUTF16toUTF8(type), actualType, dummy); + if (!actualType.EqualsLiteral("text/html") && + !type.EqualsLiteral("replace")) { + contentType.AssignLiteral("text/plain"); +diff --git a/dom/manifest/ManifestProcessor.jsm b/dom/manifest/ManifestProcessor.jsm +index b6df920..f16881a 100644 +--- a/dom/manifest/ManifestProcessor.jsm ++++ b/dom/manifest/ManifestProcessor.jsm +@@ -31,7 +31,7 @@ const imports = {}; + Cu.import('resource://gre/modules/Services.jsm', imports); + Cu.importGlobalProperties(['URL']); + const securityManager = imports.Services.scriptSecurityManager; +-const netutil = Cc['@mozilla.org/network/util;1'].getService(Ci.nsINetUtil); ++const netutil = Cc['@mozilla.org/network/util;1'].getService(Ci.nsINetUtil_ESR_38); + const defaultDisplayMode = 'browser'; + const displayModes = new Set([ + 'fullscreen', +@@ -258,7 +258,7 @@ this.ManifestProcessor.prototype.process = function({ + }; + let value = extractValue(obj), + isParsable = (typeof value === 'string' && value.length > 0); +- value = (isParsable) ? netutil.parseContentType(value.trim(), charset, hadCharset) : undefined; ++ value = (isParsable) ? netutil.parseRequestContentType(value.trim(), charset, hadCharset) : undefined; + return (value === '') ? undefined : value; + } + +@@ -354,4 +354,4 @@ this.ManifestProcessor.prototype.process = function({ + }; + processedManifest.scope = processScopeMember(manifest, manifestURL, docURL, processedManifest.start_url); + return processedManifest; +-}; +\ No newline at end of file ++}; +diff --git a/netwerk/base/moz.build b/netwerk/base/moz.build +index 877365b..deedf76 100644 +--- a/netwerk/base/moz.build ++++ b/netwerk/base/moz.build +@@ -59,6 +59,7 @@ XPIDL_SOURCES += [ + 'nsINestedURI.idl', + 'nsINetAddr.idl', + 'nsINetUtil.idl', ++ 'nsINetUtil_ESR_38.idl', + 'nsINetworkInterceptController.idl', + 'nsINetworkLinkService.idl', + 'nsINetworkPredictor.idl', +diff --git a/netwerk/base/nsINetUtil_ESR_38.idl b/netwerk/base/nsINetUtil_ESR_38.idl +new file mode 100644 +index 0000000..7ef40e9 +--- /dev/null ++++ b/netwerk/base/nsINetUtil_ESR_38.idl +@@ -0,0 +1,14 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * License, v. 2.0. If a copy of the MPL was not distributed with this ++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ ++ ++#include "nsISupports.idl" ++ ++[scriptable, uuid(e82f2b9d-8bac-48bb-ade7-26a7cd4fb894)] ++interface nsINetUtil_ESR_38 : nsISupports ++{ ++ AUTF8String parseRequestContentType(in AUTF8String aTypeHeader, ++ out AUTF8String aCharset, ++ out boolean aHadCharset); ++}; +diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp +index 83db86f..9a17e8b 100644 +--- a/netwerk/base/nsIOService.cpp ++++ b/netwerk/base/nsIOService.cpp +@@ -321,6 +321,7 @@ NS_IMPL_ISUPPORTS(nsIOService, + nsIIOService, + nsIIOService2, + nsINetUtil, ++ nsINetUtil_ESR_38, + nsISpeculativeConnect, + nsIObserver, + nsISupportsWeakReference) +@@ -1280,6 +1281,17 @@ nsIOService::Observe(nsISupports *subject, + + // nsINetUtil interface + NS_IMETHODIMP ++nsIOService::ParseRequestContentType(const nsACString &aTypeHeader, ++ nsACString &aCharset, ++ bool *aHadCharset, ++ nsACString &aContentType) ++{ ++ net_ParseRequestContentType(aTypeHeader, aContentType, aCharset, aHadCharset); ++ return NS_OK; ++} ++ ++// nsINetUtil interface ++NS_IMETHODIMP + nsIOService::ParseContentType(const nsACString &aTypeHeader, + nsACString &aCharset, + bool *aHadCharset, +diff --git a/netwerk/base/nsIOService.h b/netwerk/base/nsIOService.h +index acd501c..b125709 100644 +--- a/netwerk/base/nsIOService.h ++++ b/netwerk/base/nsIOService.h +@@ -14,6 +14,7 @@ + #include "nsIObserver.h" + #include "nsWeakReference.h" + #include "nsINetUtil.h" ++#include "nsINetUtil_ESR_38.h" + #include "nsIChannelEventSink.h" + #include "nsCategoryCache.h" + #include "nsISpeculativeConnect.h" +@@ -47,6 +48,7 @@ namespace net { + class nsIOService final : public nsIIOService2 + , public nsIObserver + , public nsINetUtil ++ , public nsINetUtil_ESR_38 + , public nsISpeculativeConnect + , public nsSupportsWeakReference + { +@@ -56,6 +58,7 @@ public: + NS_DECL_NSIIOSERVICE2 + NS_DECL_NSIOBSERVER + NS_DECL_NSINETUTIL ++ NS_DECL_NSINETUTIL_ESR_38 + NS_DECL_NSISPECULATIVECONNECT + + // Gets the singleton instance of the IO Service, creating it as needed +diff --git a/netwerk/base/nsNetUtil.h b/netwerk/base/nsNetUtil.h +index ec69716..df8874c 100644 +--- a/netwerk/base/nsNetUtil.h ++++ b/netwerk/base/nsNetUtil.h +@@ -56,6 +56,7 @@ + #include "nsISyncStreamListener.h" + #include "nsInterfaceRequestorAgg.h" + #include "nsINetUtil.h" ++#include "nsINetUtil_ESR_38.h" + #include "nsIURIWithPrincipal.h" + #include "nsIAuthPrompt.h" + #include "nsIAuthPrompt2.h" +@@ -1228,6 +1229,26 @@ NS_GetReferrerFromChannel(nsIChannel *channel, + } + + inline nsresult ++NS_ParseRequestContentType(const nsACString &rawContentType, ++ nsCString &contentType, ++ nsCString &contentCharset) ++{ ++ // contentCharset is left untouched if not present in rawContentType ++ nsresult rv; ++ nsCOMPtr util = do_GetNetUtil(&rv); ++ NS_ENSURE_SUCCESS(rv, rv); ++ nsCOMPtr utilESR38 = do_QueryInterface(util, &rv); ++ NS_ENSURE_SUCCESS(rv, rv); ++ nsCString charset; ++ bool hadCharset; ++ rv = utilESR38->ParseRequestContentType(rawContentType, charset, &hadCharset, ++ contentType); ++ if (NS_SUCCEEDED(rv) && hadCharset) ++ contentCharset = charset; ++ return rv; ++} ++ ++inline nsresult + NS_ParseContentType(const nsACString &rawContentType, + nsCString &contentType, + nsCString &contentCharset) +diff --git a/netwerk/base/nsURLHelper.cpp b/netwerk/base/nsURLHelper.cpp +index 10ea849..cdb2120 100644 +--- a/netwerk/base/nsURLHelper.cpp ++++ b/netwerk/base/nsURLHelper.cpp +@@ -803,7 +803,8 @@ net_ParseMediaType(const nsACString &aMediaTypeStr, + int32_t aOffset, + bool *aHadCharset, + int32_t *aCharsetStart, +- int32_t *aCharsetEnd) ++ int32_t *aCharsetEnd, ++ bool aStrict) + { + const nsCString& flatStr = PromiseFlatCString(aMediaTypeStr); + const char* start = flatStr.get(); +@@ -820,6 +821,8 @@ net_ParseMediaType(const nsACString &aMediaTypeStr, + int32_t charsetParamStart = 0; + int32_t charsetParamEnd = 0; + ++ uint32_t consumed = typeEnd - type; ++ + // Iterate over parameters + bool typeHasCharset = false; + uint32_t paramStart = flatStr.FindChar(';', typeEnd - start); +@@ -843,6 +846,7 @@ net_ParseMediaType(const nsACString &aMediaTypeStr, + charsetParamEnd = curParamEnd; + } + ++ consumed = curParamEnd; + curParamStart = curParamEnd + 1; + } while (curParamStart < flatStr.Length()); + } +@@ -872,8 +876,10 @@ net_ParseMediaType(const nsACString &aMediaTypeStr, + // some servers give junk after the charset parameter, which may + // include a comma, so this check makes us a bit more tolerant. + +- if (type != typeEnd && strncmp(type, "*/*", typeEnd - type) != 0 && +- memchr(type, '/', typeEnd - type) != nullptr) { ++ if (type != typeEnd && ++ memchr(type, '/', typeEnd - type) != nullptr && ++ (aStrict ? (net_FindCharNotInSet(start + consumed, end, HTTP_LWS) == end) : ++ (strncmp(type, "*/*", typeEnd - type) != 0))) { + // Common case here is that aContentType is empty + bool eq = !aContentType.IsEmpty() && + aContentType.Equals(Substring(type, typeEnd), +@@ -980,13 +986,59 @@ net_ParseContentType(const nsACString &aHeaderStr, + net_ParseMediaType(Substring(flatStr, curTypeStart, + curTypeEnd - curTypeStart), + aContentType, aContentCharset, curTypeStart, +- aHadCharset, aCharsetStart, aCharsetEnd); ++ aHadCharset, aCharsetStart, aCharsetEnd, false); + + // And let's move on to the next media-type + curTypeStart = curTypeEnd + 1; + } while (curTypeStart < flatStr.Length()); + } + ++void ++net_ParseRequestContentType(const nsACString &aHeaderStr, ++ nsACString &aContentType, ++ nsACString &aContentCharset, ++ bool *aHadCharset) ++{ ++ // ++ // Augmented BNF (from RFC 7231 section 3.1.1.1): ++ // ++ // media-type = type "/" subtype *( OWS ";" OWS parameter ) ++ // type = token ++ // subtype = token ++ // parameter = token "=" ( token / quoted-string ) ++ // ++ // Examples: ++ // ++ // text/html ++ // text/html; charset=ISO-8859-1 ++ // text/html; charset="ISO-8859-1" ++ // application/octet-stream ++ // ++ ++ aContentType.Truncate(); ++ aContentCharset.Truncate(); ++ *aHadCharset = false; ++ const nsCString& flatStr = PromiseFlatCString(aHeaderStr); ++ ++ // At this point curTypeEnd points to the spot where the media-type ++ // starting at curTypeEnd ends. Time to parse that! ++ nsAutoCString contentType, contentCharset; ++ bool hadCharset = false; ++ int32_t dummy1, dummy2; ++ uint32_t typeEnd = net_FindMediaDelimiter(flatStr, 0, ','); ++ if (typeEnd != flatStr.Length()) { ++ // We have some stuff left at the end, so this is not a valid ++ // request Content-Type header. ++ return; ++ } ++ net_ParseMediaType(flatStr, contentType, contentCharset, 0, ++ &hadCharset, &dummy1, &dummy2, true); ++ ++ aContentType = contentType; ++ aContentCharset = contentCharset; ++ *aHadCharset = hadCharset; ++} ++ + bool + net_IsValidHostName(const nsCSubstring &host) + { +diff --git a/netwerk/base/nsURLHelper.h b/netwerk/base/nsURLHelper.h +index 816a3c5..21e17be 100644 +--- a/netwerk/base/nsURLHelper.h ++++ b/netwerk/base/nsURLHelper.h +@@ -172,11 +172,27 @@ char * net_RFindCharNotInSet(const char *str, const char *end, const char *set); + * specified), aHadCharset is set to false. Otherwise, it's set to + * true. Note that aContentCharset can be empty even if aHadCharset + * is true. ++ * ++ * This parsing is suitable for HTTP request. Use net_ParseContentType ++ * for parsing this header in HTTP responses. ++ */ ++void net_ParseRequestContentType(const nsACString &aHeaderStr, ++ nsACString &aContentType, ++ nsACString &aContentCharset, ++ bool* aHadCharset); ++ ++/** ++ * Parses a content-type header and returns the content type and ++ * charset (if any). aCharset is not modified if no charset is ++ * specified in anywhere in aHeaderStr. In that case (no charset ++ * specified), aHadCharset is set to false. Otherwise, it's set to ++ * true. Note that aContentCharset can be empty even if aHadCharset ++ * is true. + */ + void net_ParseContentType(const nsACString &aHeaderStr, +- nsACString &aContentType, +- nsACString &aContentCharset, +- bool* aHadCharset); ++ nsACString &aContentType, ++ nsACString &aContentCharset, ++ bool* aHadCharset); + /** + * As above, but also returns the start and end indexes for the charset + * parameter in aHeaderStr. These are indices for the entire parameter, NOT +@@ -187,11 +203,11 @@ void net_ParseContentType(const nsACString &aHeaderStr, + * *aCharsetStart is nonnegative; this corresponds to charset="". + */ + void net_ParseContentType(const nsACString &aHeaderStr, +- nsACString &aContentType, +- nsACString &aContentCharset, +- bool *aHadCharset, +- int32_t *aCharsetStart, +- int32_t *aCharsetEnd); ++ nsACString &aContentType, ++ nsACString &aContentCharset, ++ bool *aHadCharset, ++ int32_t *aCharsetStart, ++ int32_t *aCharsetEnd); + + /* inline versions */ + +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7194.patch b/gnu/packages/patches/icecat-CVE-2015-7194.patch new file mode 100644 index 0000000000..481da06a7f --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7194.patch @@ -0,0 +1,32 @@ +From 382a08fa0b21d46c44c46af39041324f304a9dfa Mon Sep 17 00:00:00 2001 +From: Aaron Klotz +Date: Tue, 13 Oct 2015 12:20:25 -0600 +Subject: [PATCH] Bug 1211262: Ensure that STORED entries in ZIP are considered + corrupt if compressed and uncompressed sizes differ; r=mwu, a=ritu + +--HG-- +extra : source : 673d9f45b802f1fd1ffaaeae19d433622fe68a5e +extra : intermediate-source : db9d3e806685d72a2891830ffbc42ef3cde559ae +--- + modules/libjar/nsZipArchive.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/modules/libjar/nsZipArchive.cpp b/modules/libjar/nsZipArchive.cpp +index bb1e21b..eaf22ac 100644 +--- a/modules/libjar/nsZipArchive.cpp ++++ b/modules/libjar/nsZipArchive.cpp +@@ -828,8 +828,10 @@ MOZ_WIN_MEM_TRY_BEGIN + // -- check if there is enough source data in the file + if (!offset || + mFd->mLen < aItem->Size() || +- offset > mFd->mLen - aItem->Size()) ++ offset > mFd->mLen - aItem->Size() || ++ (aItem->Compression() == STORED && aItem->Size() != aItem->RealSize())) { + return nullptr; ++ } + + return mFd->mFileData + offset; + MOZ_WIN_MEM_TRY_CATCH(return nullptr) +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7196.patch b/gnu/packages/patches/icecat-CVE-2015-7196.patch new file mode 100644 index 0000000000..6114ebf505 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7196.patch @@ -0,0 +1,27 @@ +From 3ed5c713015536b49dc88d3d4a36b60833ccd09a Mon Sep 17 00:00:00 2001 +From: Jan de Mooij +Date: Tue, 25 Aug 2015 13:11:41 +0200 +Subject: [PATCH] Bug 1140616 - Crash when _releaseobject is called on the + wrong thread. r=bsmedberg, a=sledru, a=lizzard + +--HG-- +extra : source : 6a513309283d06f56cebee8528cfcf134a74f3c4 +--- + dom/plugins/base/nsNPAPIPlugin.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dom/plugins/base/nsNPAPIPlugin.cpp b/dom/plugins/base/nsNPAPIPlugin.cpp +index f0d07fa..9cd2e05 100644 +--- a/dom/plugins/base/nsNPAPIPlugin.cpp ++++ b/dom/plugins/base/nsNPAPIPlugin.cpp +@@ -1413,6 +1413,7 @@ _releaseobject(NPObject* npobj) + { + if (!NS_IsMainThread()) { + NPN_PLUGIN_LOG(PLUGIN_LOG_ALWAYS,("NPN_releaseobject called from the wrong thread\n")); ++ MOZ_CRASH("NPN_releaseobject called from the wrong thread"); + } + if (!npobj) + return; +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7197.patch b/gnu/packages/patches/icecat-CVE-2015-7197.patch new file mode 100644 index 0000000000..1763341ff7 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7197.patch @@ -0,0 +1,70 @@ +From a522e727bff0fb69cb0d34c2d2ad89168d15158d Mon Sep 17 00:00:00 2001 +From: Ehsan Akhgari +Date: Sat, 12 Sep 2015 17:38:51 -0400 +Subject: [PATCH] Bug 1204269 - Use the worker private in order to determine + the origin of the entry settings object for workers; r=smaug a=me + +--- + dom/base/WebSocket.cpp | 46 ++++++++++++++++++++++++++-------------------- + 1 file changed, 26 insertions(+), 20 deletions(-) + +diff --git a/dom/base/WebSocket.cpp b/dom/base/WebSocket.cpp +index ea91232..26b94d0 100644 +--- a/dom/base/WebSocket.cpp ++++ b/dom/base/WebSocket.cpp +@@ -1503,26 +1503,32 @@ WebSocketImpl::Init(JSContext* aCx, + !Preferences::GetBool("network.websocket.allowInsecureFromHTTPS", + false)) { + // Confirmed we are opening plain ws:// and want to prevent this from a +- // secure context (e.g. https). Check the principal's uri to determine if +- // we were loaded from https. +- nsCOMPtr globalObject(GetEntryGlobal()); +- if (globalObject) { +- nsCOMPtr principal(globalObject->PrincipalOrNull()); +- if (principal) { +- nsCOMPtr uri; +- principal->GetURI(getter_AddRefs(uri)); +- if (uri) { +- bool originIsHttps = false; +- aRv = uri->SchemeIs("https", &originIsHttps); +- if (NS_WARN_IF(aRv.Failed())) { +- return; +- } +- +- if (originIsHttps) { +- aRv.Throw(NS_ERROR_DOM_SECURITY_ERR); +- return; +- } +- } ++ // secure context (e.g. https). ++ nsCOMPtr principal; ++ nsCOMPtr originURI; ++ if (mWorkerPrivate) { ++ // For workers, retrieve the URI from the WorkerPrivate ++ principal = mWorkerPrivate->GetPrincipal(); ++ } else { ++ // Check the principal's uri to determine if we were loaded from https. ++ nsCOMPtr globalObject(GetEntryGlobal()); ++ if (globalObject) { ++ principal = globalObject->PrincipalOrNull(); ++ } ++ } ++ ++ if (principal) { ++ principal->GetURI(getter_AddRefs(originURI)); ++ } ++ if (originURI) { ++ bool originIsHttps = false; ++ aRv = originURI->SchemeIs("https", &originIsHttps); ++ if (NS_WARN_IF(aRv.Failed())) { ++ return; ++ } ++ if (originIsHttps) { ++ aRv.Throw(NS_ERROR_DOM_SECURITY_ERR); ++ return; + } + } + } +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7198.patch b/gnu/packages/patches/icecat-CVE-2015-7198.patch new file mode 100644 index 0000000000..2e127897bc --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7198.patch @@ -0,0 +1,27 @@ +From cc2a334ee16e99d376fcb49203239abf9eb2c148 Mon Sep 17 00:00:00 2001 +From: Jeff Gilbert +Date: Wed, 7 Oct 2015 13:27:37 -0700 +Subject: [PATCH] Bug 1188010 - Use MOZ_RELEASE_ASSERT when failure means + overflow. - r=kamidphish, a=abillings + +--- + dom/canvas/WebGLTexture.cpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/dom/canvas/WebGLTexture.cpp b/dom/canvas/WebGLTexture.cpp +index 60afc45..d6a6ccd 100644 +--- a/dom/canvas/WebGLTexture.cpp ++++ b/dom/canvas/WebGLTexture.cpp +@@ -651,8 +651,7 @@ WebGLTexture::EnsureNoUninitializedImageData(TexImageTarget imageTarget, + imageInfo.mDepth, + bytespertexel, + mContext->mPixelStoreUnpackAlignment); +- MOZ_ASSERT(checked_byteLength.isValid()); // Should have been checked +- // earlier. ++ MOZ_RELEASE_ASSERT(checked_byteLength.isValid()); // Should have been checked earlier. + + // Infallible for now. + UniquePtr zeros((uint8_t*)moz_xcalloc(1, +-- +2.5.0 + diff --git a/gnu/packages/patches/icecat-CVE-2015-7199.patch b/gnu/packages/patches/icecat-CVE-2015-7199.patch new file mode 100644 index 0000000000..d6b830b8a0 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-7199.patch @@ -0,0 +1,84 @@ +From 04741232fa561a4c299f31a5b5fb4603da79d2c5 Mon Sep 17 00:00:00 2001 +From: Robert Longson +Date: Tue, 6 Oct 2015 13:19:03 +0100 +Subject: [PATCH] Bug 1204061 - check return values from some methods + r=dholbert, a=sylvestre + +--HG-- +extra : source : f4c2f277aeae7bf8b05c6b01d1e140cd51b693b4 +--- + dom/svg/SVGPathSegListSMILType.cpp | 23 +++++++++++------------ + 1 file changed, 11 insertions(+), 12 deletions(-) + +diff --git a/dom/svg/SVGPathSegListSMILType.cpp b/dom/svg/SVGPathSegListSMILType.cpp +index f8b67d0..6df0f53 100644 +--- a/dom/svg/SVGPathSegListSMILType.cpp ++++ b/dom/svg/SVGPathSegListSMILType.cpp +@@ -232,7 +232,7 @@ AddWeightedPathSegs(double aCoeff1, + * identity, in which case we'll grow it to the right + * size. Also allowed to be the same list as aList1. + */ +-static void ++static nsresult + AddWeightedPathSegLists(double aCoeff1, const SVGPathDataAndInfo& aList1, + double aCoeff2, const SVGPathDataAndInfo& aList2, + SVGPathDataAndInfo& aResult) +@@ -263,8 +263,9 @@ AddWeightedPathSegLists(double aCoeff1, const SVGPathDataAndInfo& aList1, + // because in that case, we will have already set iter1 to nullptr above, to + // record that our first operand is an identity value.) + if (aResult.IsIdentity()) { +- DebugOnly success = aResult.SetLength(aList2.Length()); +- MOZ_ASSERT(success, "infallible nsTArray::SetLength should succeed"); ++ if (!aResult.SetLength(aList2.Length())) { ++ return NS_ERROR_OUT_OF_MEMORY; ++ } + aResult.SetElement(aList2.Element()); // propagate target element info! + } + +@@ -280,6 +281,7 @@ AddWeightedPathSegLists(double aCoeff1, const SVGPathDataAndInfo& aList1, + iter2 == end2 && + resultIter == aResult.end(), + "Very, very bad - path data corrupt"); ++ return NS_OK; + } + + static void +@@ -429,9 +431,7 @@ SVGPathSegListSMILType::Add(nsSMILValue& aDest, + } + } + +- AddWeightedPathSegLists(1.0, dest, aCount, valueToAdd, dest); +- +- return NS_OK; ++ return AddWeightedPathSegLists(1.0, dest, aCount, valueToAdd, dest); + } + + nsresult +@@ -482,8 +482,9 @@ SVGPathSegListSMILType::Interpolate(const nsSMILValue& aStartVal, + if (check == eRequiresConversion) { + // Can't convert |start| in-place, since it's const. Instead, we copy it + // into |result|, converting the types as we go, and use that as our start. +- DebugOnly success = result.SetLength(end.Length()); +- MOZ_ASSERT(success, "infallible nsTArray::SetLength should succeed"); ++ if (!result.SetLength(end.Length())) { ++ return NS_ERROR_OUT_OF_MEMORY; ++ } + result.SetElement(end.Element()); // propagate target element info! + + ConvertAllPathSegmentData(start.begin(), start.end(), +@@ -492,10 +493,8 @@ SVGPathSegListSMILType::Interpolate(const nsSMILValue& aStartVal, + startListToUse = &result; + } + +- AddWeightedPathSegLists(1.0 - aUnitDistance, *startListToUse, +- aUnitDistance, end, result); +- +- return NS_OK; ++ return AddWeightedPathSegLists(1.0 - aUnitDistance, *startListToUse, ++ aUnitDistance, end, result); + } + + } // namespace mozilla +-- +2.5.0 + -- cgit v1.2.3 From 1c40e3b785539c4a59ede324afa250a59597ea21 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 7 Nov 2015 21:31:04 +0800 Subject: gnu: brasero: Use 'glib-or-gtk-build-system'. Fixes . Suggested by Andy Wingo . * gnu/packages/gnome.scm (brasero)[build-system]: Switch to GLIB-OR-GTK-BUILD-SYSTEM. --- gnu/packages/gnome.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 488d46cc70..f47b835116 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -104,7 +104,7 @@ (sha256 (base32 "09vi2hyhl0bz7imv3ky6h7x5m3d546n968wcghydwrkvwm9ylpls")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags (list (string-append "--with-girdir=" -- cgit v1.2.3 From 8664cc882c2bfc0be48e2b9303cf34ab12f30fa3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Nov 2015 18:47:03 +0100 Subject: services: Add 'gpm-service'. * gnu/services/base.scm (): New record type. (gpm-dmd-service): New procedure. (gpm-service-type): New variable. (gpm-service): New procedure. * doc/guix.texi (Base Services): Document it. --- doc/guix.texi | 10 +++++++++ gnu/services/base.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 67 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index fd80a30f51..6a079477b1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6445,6 +6445,16 @@ Return a service to load console keymap from @var{file} using @command{loadkeys} command. @end deffn +@deffn {Scheme Procedure} gpm-service-type [#:gpm @var{gpm}] @ + [#:options] +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}. +@end deffn + @anchor{guix-publish-service} @deffn {Scheme Procedure} guix-publish-service [#:guix @var{guix}] @ [#:port 80] [#:host "localhost"] diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 6165410463..291f1a0c58 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -28,7 +28,7 @@ #: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) @@ -80,6 +80,8 @@ guix-publish-configuration? guix-publish-service guix-publish-service-type + gpm-service-type + gpm-service %base-services)) @@ -1113,6 +1115,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 make-gpm-configuration gpm-configuration? + (gpm gpm-configuration-gpm) ;package + (options gpm-configuration-options)) ;list of strings + +(define gpm-dmd-service + (match-lambda + (($ dmd 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" " -- cgit v1.2.3 From ae7ffa9e9b9135928f67ba9fb28c9d6766bf7088 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Nov 2015 18:48:21 +0100 Subject: install: Run GPM. Suggested by Adam Pribyl at . * gnu/system/install.scm (installation-services): Add call to 'gpm-service'. * doc/guix.texi (System Installation): Mention GPM. --- doc/guix.texi | 4 +++- gnu/system/install.scm | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 6a079477b1..896a8c8496 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5286,7 +5286,9 @@ Once you have successfully booted the image on the USB stick, you should end up with a root prompt. Several console TTYs are configured and can be used to run commands as root. TTY2 shows this documentation, browsable using the Info reader commands (@pxref{Help,,, info, Info: An -Introduction}). +Introduction}). The installation system runs the GPM mouse daemon, +which allows you to select text with the left mouse button and to paste +it with the middle button. To install the system, you would: 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 -- cgit v1.2.3 From a83404825990aedc3946eac44193524d281b5eaa Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 8 Nov 2015 21:27:49 +0800 Subject: gnu: gnome-desktop: Update to 3.18.1. * gnu/packages/gnome.scm (gnome-desktop): Update to 3.18.1. Move gsettings-desktop-schemas and gtk+ to 'propagated-inputs'. [native-inputs]: Add gobject-introspection. --- gnu/packages/gnome.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f47b835116..f7f79e6a24 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -166,7 +166,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 +175,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) -- cgit v1.2.3 From b64d218c44781de778aa2c24819de1310b9d80e4 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 8 Nov 2015 21:30:08 +0800 Subject: gnu: gnome-themes-standard: Update to 3.18.0. * gnu/packages/gnome.scm (gnome-themes-standard): Update to 3.18.0. --- gnu/packages/gnome.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f7f79e6a24..c09996720b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1554,9 +1554,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) @@ -1565,7 +1563,7 @@ engineering.") version ".tar.xz")) (sha256 (base32 - "17sbcpc9df1cnz84g3npvh1na65mkxaygqcdma6wvda4knjpkssr")))) + "1jxss8kxszhf66vic9n1sagczm5amm0mgxpzyxyjna15q82fnip6")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+) -- cgit v1.2.3 From 7ce493657bdf2b77be1cef72844db0e74209cf83 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 8 Nov 2015 21:33:24 +0800 Subject: gnu: Add gnome-session. * gnu/packages/gnome.scm (gnome-session): New variable. --- gnu/packages/gnome.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c09996720b..3030f1f949 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3679,3 +3679,38 @@ 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+))) -- cgit v1.2.3 From cefdcb3801dad656c8b711979c16b34313d57dc7 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 8 Nov 2015 21:34:58 +0800 Subject: gnu: Add mozjs-24 (Mozilla SpiderMonkey 24). * gnu/packages/gnuzilla.scm (mozjs-24): New variable. --- gnu/packages/gnuzilla.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 49e3b31537..f32c947f3c 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -92,6 +92,44 @@ 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") -- cgit v1.2.3 From f47ba77e5fe0c890c412953e1621ad63d1e6f3fe Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 8 Nov 2015 21:41:52 +0800 Subject: gnu: Add gjs. * gnu/packages/gnome.scm (gjs): New variable. --- gnu/packages/gnome.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3030f1f949..3c3742770f 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -90,6 +90,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 @@ -3714,3 +3715,50 @@ such as gzip tarballs.") 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+))) -- cgit v1.2.3 From c3b9d75f8d0a6664e471767eb178799291535374 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sun, 8 Nov 2015 21:42:26 +0800 Subject: gnu: evince: Update to 3.18.1. * gnu/packages/gnome.scm (evince): Update to 3.18.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3c3742770f..32c29ca128 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -386,7 +386,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 "/" @@ -394,7 +394,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") -- cgit v1.2.3 From 552cb93c0a2b115eb37c362eb449d734d3bc6b57 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 8 Nov 2015 16:27:39 +0200 Subject: gnu: glpk: Update to 4.57. * gnu/packages/maths.scm (glpk): Update to 4.57. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4eeb39d955..1d597d2819 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -175,7 +175,7 @@ numbers.") (define-public glpk (package (name "glpk") - (version "4.56") + (version "4.57") (source (origin (method url-fetch) @@ -183,7 +183,7 @@ numbers.") version ".tar.gz")) (sha256 (base32 - "0syzix6qvpn0fzp08c84c8snansf1cam5vd0dk2w91mz2c85d18h")))) + "0p17jj1ixd2m9lnsvx8nywmfmnplfk5gvw25r1gy84qzrjkv48vk")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) -- cgit v1.2.3 From 19659accef766cbb71d1c6aff1778621d4117613 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 8 Nov 2015 18:44:06 +0200 Subject: gnu: octave: Upgrade to 4.0.0. * gnu/packages/maths.scm (octave): Update to 4.0.0. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1d597d2819..932c693898 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -401,7 +401,7 @@ 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) @@ -409,7 +409,7 @@ extremely large and complex data collections.") version ".tar.gz")) (sha256 (base32 - "05slz8yx8k91fqlnfr1f0vni95iq9qmchz41c7nf4isn3b2fjn7j")))) + "101jr9yck798586jz4vkjcgk36zksmxf1pxrzvipgn2xgyay0zjc")))) (build-system gnu-build-system) (inputs `(("lapack" ,lapack) -- cgit v1.2.3 From d8c97beb064cd710e182adec478861e62c80902f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 6 Nov 2015 14:43:15 +0200 Subject: gnu: Add wcalc. * gnu/packages/maths.scm (wcalc): New variable. --- gnu/packages/maths.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 932c693898..27b1a48809 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1962,3 +1962,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+))) -- cgit v1.2.3 From 34a04c3319e12e27f439456dc7969ad598811ecc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 2 Nov 2015 12:46:40 -0500 Subject: gnu: Remove tabulation from luajit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lua.scm (luajit): Remove tabs. Signed-off-by: Ludovic Courtès --- gnu/packages/lua.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 87f53d1637..6bedde35c9 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -89,8 +89,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 -- cgit v1.2.3 From 0f9c1f34000e7fd3f4c6bdb45c568f6416906c3b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 2 Nov 2015 12:46:42 -0500 Subject: gnu: Build lua-5.2 with a dynamic library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/lua52-liblua-so.patch: New file. * gnu/packages/lua.scm (lua-5.2): Use lua52-liblua-so.patch. Signed-off-by: Ludovic Courtès --- gnu/packages/lua.scm | 3 +- gnu/packages/patches/lua52-liblua-so.patch | 78 ++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/lua52-liblua-so.patch (limited to 'gnu') diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 6bedde35c9..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 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 +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 + -- cgit v1.2.3 From b3e91e029f8194b50fa0a20efabd826af07002a6 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 9 Nov 2015 13:07:45 +0800 Subject: gnu: cogl: Update to 1.22.0. * gnu/packages/gnome.scm (cogl): Update to 1.22.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 32c29ca128..6c2007d93b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2576,7 +2576,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) @@ -2585,7 +2585,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 -- cgit v1.2.3 From 0efd8be5ea4c1ce3b32091b5770b9ca8d7e0e7b0 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 9 Nov 2015 13:08:14 +0800 Subject: gnu: clutter: Update to 1.24.2. * gnu/packages/gnome.scm (clutter): Update to 1.24.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6c2007d93b..0d8abb1c23 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2643,7 +2643,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) @@ -2652,7 +2652,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 -- cgit v1.2.3 From c900f84307c64c00eb02754d127759d751e3c4bb Mon Sep 17 00:00:00 2001 From: David Hashe Date: Sun, 8 Nov 2015 13:51:46 -0600 Subject: gnu: Add gtksourceview. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gtk.scm (gtksourceview): Rename to... (gtksourceview-2): ... this. (gtksourceview): Update to 3.18.1. * gnu/packages/ocaml.scm (lablgtk)[inputs]: Replace "gtksourceview" with "gtksourceview-2". Co-authored-by: 宋文武 --- gnu/packages/gtk.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++- gnu/packages/ocaml.scm | 3 ++- 2 files changed, 52 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 3ae2d70af9..edfdb3fe7d 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Andy Wingo +;;; Copyright © 2015 David Hashe ;;; ;;; This file is part of GNU Guix. ;;; @@ -277,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 @@ -331,6 +332,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") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index ee4e7830b6..7f80fc8a32 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Andreas Enge +;;; Copyright © 2015 David Hashe ;;; ;;; This file is part of GNU Guix. ;;; @@ -453,7 +454,7 @@ provers.") ;; and gtk+-quartz-2.0 once available. (inputs `(("gtk+" ,gtk+-2) - ("gtksourceview" ,gtksourceview) + ("gtksourceview" ,gtksourceview-2) ("libgnomecanvas" ,libgnomecanvas) ("libgnomeui" ,libgnomeui) ("libglade" ,libglade) -- cgit v1.2.3 From 835ed74b3a4bcec041632b658ebf6863e0e7b597 Mon Sep 17 00:00:00 2001 From: David Hashe Date: Sun, 8 Nov 2015 10:57:19 -0600 Subject: gnu: Update libpeas. * gnu/packages/gnome.scm (libpeas): Update to 1.16.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0d8abb1c23..b584270ba8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -673,7 +673,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) @@ -682,7 +682,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) -- cgit v1.2.3 From 329d731b966c8e222a0997ebd4babd5f9edff3de Mon Sep 17 00:00:00 2001 From: David Hashe Date: Sun, 8 Nov 2015 13:57:44 -0600 Subject: gnu: Add gedit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (gedit): New variable. Co-authored-by: 宋文武 --- gnu/packages/gnome.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b584270ba8..cd6db9b664 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages djvu) #: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) @@ -3762,3 +3763,60 @@ configuration program to choose applications starting on login.") "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+))) -- cgit v1.2.3 From b71793637c64dd5358324290bafb51eb707e9222 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 9 Nov 2015 16:19:42 +0800 Subject: gnu: Add zenity. * gnu/packages/gnome.scm (zenity): New variable. --- gnu/packages/gnome.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cd6db9b664..0742255764 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3820,3 +3820,30 @@ javascript engine and the GObject introspection framework.") (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+))) -- cgit v1.2.3 From 60c3627cf67d0f5c477cbb8bacbc9ba8b3ffc437 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 9 Nov 2015 16:20:41 +0800 Subject: gnu: Add mutter. * gnu/packages/gnome.scm (mutter): New variable. --- gnu/packages/gnome.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0742255764..387f9ef7c6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3847,3 +3847,53 @@ powerful general purpose text editor.") "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+))) -- cgit v1.2.3 From 2cbcd23a71c2c394f6bbb949a391a9589c47cf46 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 5 Nov 2015 08:43:44 -0500 Subject: gnu: Add ruby-eventmachine. * gnu/packages/ruby.scm (ruby-eventmachine): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 137b75a24f..3193aeae91 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1649,3 +1649,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 -- cgit v1.2.3 From 2936e48f5fade6d9ec881d7f6b89b5eb32cf5b5d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 9 Nov 2015 09:33:00 -0600 Subject: gnu: guile-irregex: Remove duplicate 'check deletion in modify-phases * gnu/packages/guile.scm: Remove duplicate 'check deletion in modify-phases --- gnu/packages/guile.scm | 1 - 1 file changed, 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index eb378740f4..5c74e9f19a 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -502,7 +502,6 @@ See http://minikanren.org/ for more on miniKanren generally.") (guix build gnu-build-system)) #:phases (modify-phases %standard-phases - (delete 'check) (delete 'configure) (delete 'build) (delete 'check) -- cgit v1.2.3 From 7119cca86c1249ab77cc136608a44e64679c61c7 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sun, 8 Nov 2015 19:06:10 +0100 Subject: gnu: Add artanis. * gnu/packages/guile.scm (artanis): New variable. --- gnu/packages/guile.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5c74e9f19a..dd0457edfe 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) @@ -242,6 +243,56 @@ without requiring the source code to be rewritten.") ;;; 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") -- cgit v1.2.3 From 295fc0829be8c7c34fd262512230b87b23ab1205 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 10 Nov 2015 13:58:25 +0200 Subject: gnu: pspp: Use gtksourceview-2. * gnu/packages/maths.scm (pspp)[inputs]: Use gtksourceview-2. --- gnu/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 27b1a48809..466dc2729d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -221,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 -- cgit v1.2.3 From d2ab0e90c6dfd8c6382563403973f83be8133523 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 10 Nov 2015 09:57:14 +0800 Subject: gnu: telepathy-glib: Propagate inputs. * gnu/packages/glib.scm (telepathy-glib): Propagate inputs dbus, dbus-glib and glib. Move gobject-introspection and libxslt to 'native-inputs'. --- gnu/packages/glib.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index f7e67ba9ec..b2979b24e4 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -589,14 +589,15 @@ useful for C++.") (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 -- cgit v1.2.3 From b6072e6b9037b17bb337d787cc21500f900ca11b Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 10 Nov 2015 13:51:28 +0800 Subject: gnu: libgweather: Update to 3.18.1, enable tests. * gnu/packages/gnome.scm (libgweather): Update to 3.18.1. Enable tests. [native-inputs]: Add gobject-introspection. --- gnu/packages/gnome.scm | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 387f9ef7c6..6779cfbb63 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2377,7 +2377,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 "/" @@ -2385,22 +2385,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 -- cgit v1.2.3 From 0c15230db1a39897cbdc6dc7c47417fa3ece85e7 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:38:01 +0100 Subject: gnu: Add mupen64plus-core. * gnu/packages/games.scm (mupen64plus-core): New variable. --- gnu/packages/games.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f71e51bef5..89e9ca59dd 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Alex Kost ;;; Copyright © 2015 Paul van der Walt +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -1214,6 +1215,52 @@ world}, @uref{http://evolonline.org, Evol Online} and ;; 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)) + (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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From ac2fe449e7d20bf0b5be3623e29de2d355eb0577 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:38:13 +0100 Subject: gnu: Add mupen64plus-audio-sdl. * gnu/packages/games.scm (mupen64plus-audio-sdl): New variable. --- gnu/packages/games.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 89e9ca59dd..891abf4f71 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1261,6 +1261,52 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From d07f0ebbcc1828444eedec939d0bf0d77fab915d Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:38:28 +0100 Subject: gnu: Add mupen64plus-input-sdl. * gnu/packages/games.scm (mupen64plus-input-sdl): New variable. --- gnu/packages/games.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 891abf4f71..b4b247e87f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1307,6 +1307,51 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From 3b3358bec9d2e611a3c515a98caecbb09784eee9 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:38:40 +0100 Subject: gnu: Add mupen64plus-rsp-hle. * gnu/packages/games.scm (mupen64plus-rsp-hle): New variable. --- gnu/packages/games.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b4b247e87f..bc02fbd830 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1352,6 +1352,48 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From 50afcd1f034cb424eafc76aa01efd461a9736cc9 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:38:58 +0100 Subject: gnu: Add mupen64plus-rsp-z64. * gnu/packages/games.scm (mupen64plus-rsp-z64): New variable. --- gnu/packages/games.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index bc02fbd830..14534914fe 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1394,6 +1394,48 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From 307a536d429632b4f2fd94a3a8312bf0e0190067 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:39:42 +0100 Subject: gnu: Add mupen64plus-video-arachnoid * gnu/packages/games.scm (mupen64plus-video-arachnoid): New variable. --- gnu/packages/games.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 14534914fe..36a76cc380 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1436,6 +1436,52 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From 9a3fe16b9963d4ec17bfda635722f32586565cc6 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:39:58 +0100 Subject: gnu: Add mupen64plus-video-glide64. * gnu/packages/games.scm (mupen64plus-video-glide64): New variable. --- gnu/packages/games.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 36a76cc380..8e0f25f366 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1482,6 +1482,60 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From e8bf3ced253bcf27e95b4fc46fdf8140550e43ed Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:40:14 +0100 Subject: gnu: Add mupen64plus-video-glide64mk2. * gnu/packages/games.scm (mupen64plus-video-glide64mk2): New variable. --- gnu/packages/games.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8e0f25f366..2cf721d290 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1536,6 +1536,56 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From e91d25f9e01fe03686766fe16119174d3df09907 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:40:28 +0100 Subject: gnu: Add mupen64plus-video-rice. * gnu/packages/games.scm (mupen64plus-video-rice): New variable. --- gnu/packages/games.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2cf721d290..faf4356a59 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1586,6 +1586,54 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From 17e2bc8617abcca0a6ade6fe598dc72ef70ca47a Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:40:40 +0100 Subject: gnu: Add mupen64plus-video-z64. * gnu/packages/games.scm (mupen64plus-video-z64): New variable. --- gnu/packages/games.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index faf4356a59..732b9c6515 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1634,6 +1634,60 @@ 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 nestopia-ue (package (name "nestopia-ue") -- cgit v1.2.3 From e6974eae1d5d4111c789cf7cb347ba0658802c29 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 2 Nov 2015 00:39:22 +0100 Subject: gnu: Add mupen64plus-ui-console. * gnu/packages/games.scm (mupen64plus-ui-console): New variable. * gnu/packages/patches/mupen64plus-ui-console-notice.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/games.scm | 66 ++++++++++++++++++++++ .../patches/mupen64plus-ui-console-notice.patch | 34 +++++++++++ 3 files changed, 101 insertions(+) create mode 100644 gnu/packages/patches/mupen64plus-ui-console-notice.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index f3ded69a78..cf99a9a008 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -587,6 +587,7 @@ dist_patch_DATA = \ gnu/packages/patches/mplayer2-theora-fix.patch \ gnu/packages/patches/module-init-tools-moduledir.patch \ gnu/packages/patches/mumps-build-parallelism.patch \ + gnu/packages/patches/mupen64plus-ui-console-notice.patch \ gnu/packages/patches/mupdf-buildsystem-fix.patch \ gnu/packages/patches/mutt-store-references.patch \ gnu/packages/patches/net-tools-bitrot.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 732b9c6515..2b5d78d618 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1688,6 +1688,72 @@ 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") 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 */ -- cgit v1.2.3 From 68d85de16383d054dbf4fb5da2437f9cc743e5d2 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Tue, 10 Nov 2015 23:11:28 +0100 Subject: gnu: gtksourceview-2: Propagate input libxml2. * gnu/packages/gtk.scm (gtksourceview-2): Move libxml2 to propagated inputs. --- gnu/packages/gtk.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index edfdb3fe7d..40eb8e49ed 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -293,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))) @@ -301,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 -- cgit v1.2.3 From ba583bd2ce887cdd8b99ea55c15b57c5209e4b58 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 10 Nov 2015 18:38:04 +0100 Subject: gnu: torsocks: Upgrade to 2.0.0. * gnu/packages/tor.scm (torsocks): Update to 2.0.0. [source]: Fetch from git.torproject.org. Use 'torsocks-dns-test.patch'. [arguments, native-inputs]: New fields. [license]: Change to GPL2. * gnu/packages/patches/torsocks-dns-test.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/patches/torsocks-dns-test.patch | 18 ++++++++++++++ gnu/packages/tor.scm | 37 ++++++++++++++++++++-------- 3 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/torsocks-dns-test.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index cf99a9a008..c5b32b290e 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -661,6 +661,7 @@ dist_patch_DATA = \ gnu/packages/patches/texi2html-document-encoding.patch \ gnu/packages/patches/texi2html-i18n.patch \ gnu/packages/patches/tidy-CVE-2015-5522+5523.patch \ + gnu/packages/patches/torsocks-dns-test.patch \ gnu/packages/patches/tvtime-gcc41.patch \ gnu/packages/patches/tvtime-pngoutput.patch \ gnu/packages/patches/tvtime-videodev2.patch \ 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/tor.scm b/gnu/packages/tor.scm index 3cf45a400e..3b057d422e 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -18,13 +18,16 @@ ;;; along with GNU Guix. If not, see . (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) @@ -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 -- cgit v1.2.3 From 21059b26b070d6064202272982392a299f09b6e4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 10 Nov 2015 21:23:03 +0100 Subject: system: Populate /etc/shells from ACCOUNT-SERVICE-TYPE. * gnu/system.scm (user-shells): Remove. (operating-system-etc-service): Remove "shells" entry. (shells-file): Move to... * gnu/system/shadow.scm (shells-file): ... here. New procedure. (etc-skel): Rename to... (etc-files): ... this. Add "shells" entry. (account-service-type): Adjust accordingly. --- gnu/system.scm | 28 ---------------------------- gnu/system/shadow.scm | 30 ++++++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 32 deletions(-) (limited to 'gnu') diff --git a/gnu/system.scm b/gnu/system.scm index be6b1ac2c1..2755d85b23 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -403,38 +403,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 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" @@ -524,7 +497,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) 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 that takes care of user accounts and user groups, with -- cgit v1.2.3 From a4564c629f43862a5d5590516f94e1806165d476 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 10 Nov 2015 23:06:28 -0500 Subject: gnu: git: Update to 2.6.3. * gnu/packages/version-control.scm (git): Update to 2.6.3. (git-manpages)[source]: Update hash. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index b4c518acf7..77486cd3fb 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -105,14 +105,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 +279,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)) -- cgit v1.2.3 From 533c1b04bc8bf90cae8209719d3d657ae28fd637 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 11 Nov 2015 01:15:32 -0500 Subject: gnu: linux-libre: Update to 4.2.6. * gnu/packages/linux.scm (linux-libre): Update to 4.2.6. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a75ea2f05e..39983dafb3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -210,7 +210,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "4.2.5") + (let* ((version "4.2.6") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -284,7 +284,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "13ar9sghm2g5w2km9x2d07q3lh81rz286d6slklv56qanm24chzx")))) + "0phjk4dp0bk9s5mwawkxg3myl7fh244s833b33dc6m2y9clvzskl")))) (build-system gnu-build-system) (supported-systems '("x86_64-linux" "i686-linux")) (native-inputs `(("perl" ,perl) -- cgit v1.2.3 From 875b2f3d5e7c04176239d16c1832543f315cbf91 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 11 Nov 2015 13:05:56 +0200 Subject: gnu: youtube-dl: Upgrade to 2015.11.10. * gnu/packages/video.scm (youtube-dl): Upgrade to 2015.11.10. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index deb2cf1dc4..687057fb88 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -812,7 +812,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2015.11.01") + (version "2015.11.10") (source (origin (method url-fetch) (uri (string-append "http://youtube-dl.org/downloads/" @@ -820,7 +820,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "0fhz6ml9mlz4g4xfm6kmkcks4p5j6srnszdrh9rmcc4gf36q3aaq")))) + "1gp68wzsfg31xx6iv7ga6cp022ak14r7ghg7mbhk9zr7rz5lx8y5")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") -- cgit v1.2.3 From 419630e0bec46b9cb33047dea1662df0c400ade3 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 11 Nov 2015 07:43:12 -0500 Subject: gnu: wpa-supplicant: Add fixes for CVE-2015-{5310,5314,5315,5316}. * gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch, gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch, gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch, gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/admin.scm (wpa-supplicant-minimal)[source]: Add patches. --- gnu-system.am | 4 ++ gnu/packages/admin.scm | 7 ++- .../patches/wpa-supplicant-CVE-2015-5310.patch | 32 +++++++++++++ .../patches/wpa-supplicant-CVE-2015-5314.patch | 51 ++++++++++++++++++++ .../patches/wpa-supplicant-CVE-2015-5315.patch | 54 ++++++++++++++++++++++ .../patches/wpa-supplicant-CVE-2015-5316.patch | 34 ++++++++++++++ 6 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch create mode 100644 gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch create mode 100644 gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch create mode 100644 gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index c5b32b290e..e53bb3ecf4 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -692,6 +692,10 @@ dist_patch_DATA = \ gnu/packages/patches/wicd-template-instantiation.patch \ gnu/packages/patches/wicd-urwid-1.3.patch \ gnu/packages/patches/wmctrl-64-fix.patch \ + gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch \ + gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch \ + gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch \ + gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch \ gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \ gnu/packages/patches/xf86-video-ast-remove-mibstore.patch \ gnu/packages/patches/xf86-video-geode-glibc-2.20.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index aba5a51a4c..6aca8570c0 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -716,7 +716,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/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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 + -- cgit v1.2.3 From e61d9e3966a8043208a4beca4bcf8f5a8d7458f3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Nov 2015 17:23:32 +0100 Subject: gnu: Add gfortran 5. * gnu/packages/gcc.scm (gfortran-5): New variable. --- gnu/packages/gcc.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 419e2c9cbf..8465859c24 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -436,6 +436,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 -- cgit v1.2.3 From e5e206855174586bd646615a8955f90bbc03dfa8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Nov 2015 10:44:20 +0100 Subject: gnu: ardour: Update to 4.4. * gnu/packages/audio.scm (ardour): Update to 4.4. --- gnu/packages/audio.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index db3f91273c..a6899a07f6 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -155,7 +155,7 @@ streams from live audio.") (define-public ardour (package (name "ardour") - (version "4.2") + (version "4.4") (source (origin (method git-fetch) (uri (git-reference @@ -169,10 +169,10 @@ streams from live audio.") "libs/ardour/revision.cc" (lambda (port) (format port "#include \"ardour/revision.h\" -namespace ARDOUR { const char* revision = \"4.2\" ; }")))) +namespace ARDOUR { const char* revision = \"4.4-210-ga4daf93\" ; }")))) (sha256 (base32 - "1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00")) + "1gnrcnq2ksnh7fsa301v1c4p5dqrbqpjylf02rg3za3ab58wxi7l")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments -- cgit v1.2.3 From 42f8504ccc7729b536e3137e71eb45806968e41a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 6 Nov 2015 22:35:33 +0100 Subject: gnu: Add prefix to license imports in (gnu packages avr). * gnu/packages/avr.scm: Import (guix licenses) with prefix "license:". --- gnu/packages/avr.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index d7ca1b1ace..105c741b8d 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (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) @@ -48,4 +48,4 @@ (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")))) -- cgit v1.2.3 From 6d2e833495f8bd63ea3893c23a0762ad88a11cef Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 6 Nov 2015 22:37:40 +0100 Subject: gnu: Add microscheme. * gnu/packages/avr.scm (microscheme): New variable. --- gnu/packages/avr.scm | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index 105c741b8d..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 +;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +23,9 @@ #: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 @@ -49,3 +52,40 @@ "AVR Libc is a project whose goal is to provide a high quality C library for use with GCC on Atmel AVR microcontrollers.") (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))) -- cgit v1.2.3 From 8fe0b262a97427003ec20e653b08efc259ec7be8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 Nov 2015 23:39:15 +0100 Subject: gnu: libmicrohttpd: Update to 0.9.46. * gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.46. --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index aac1567cf3..40ad0a2459 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -113,14 +113,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.45") + (version "0.9.46") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "0saawnamxjp7nr5gpg7l5fp9y5941m3a7x214ki7ncm9ipsdwx8h")))) + "0yc97flxi6pjkfj9k0d3cpnw59j92ky67q3g37la23rr9xjx5nq6")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) -- cgit v1.2.3 From ddfd70da8e698ddde7dc070371581d4f2c9bca05 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 Nov 2015 23:45:29 +0100 Subject: gnu: stow: Update to 2.2.2. * gnu/packages/package-management.scm (stow): Update to 2.2.2. [native-inputs]: Add PERL-IO-STRINGY. --- gnu/packages/package-management.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index ae52ab8300..b6385a2605 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -275,21 +275,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 -- cgit v1.2.3 From 685cee8779f9e414370017ea3f694cc60b13fb7e Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 10 Nov 2015 15:17:22 +0800 Subject: gnu: Add gnome-online-accounts. * gnu/packages/gnome.scm (gnome-online-accounts): New variable. --- gnu/packages/gnome.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6779cfbb63..70b92859f3 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3901,3 +3901,41 @@ 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+))) -- cgit v1.2.3 From df217748e1de2d6399a50e7c0ff2367aee265fef Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 10 Nov 2015 16:55:56 +0800 Subject: gnu: Add evolution-data-server. * gnu/packages/gnome.scm (evolution-data-server): New variable. --- gnu/packages/gnome.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 70b92859f3..452fad91ab 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -39,6 +39,7 @@ #: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) @@ -52,6 +53,7 @@ #: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) @@ -3939,3 +3941,64 @@ 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))) -- cgit v1.2.3 From bd7dfafaa37fa26d47ac2d681b3b1a278663e9e2 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Tue, 10 Nov 2015 16:57:08 +0800 Subject: gnu: Add caribou. * gnu/packages/gnome.scm (caribou): New variable. --- gnu/packages/gnome.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 452fad91ab..8869b62629 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4002,3 +4002,68 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") 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))) -- cgit v1.2.3 From 0086ec733c9a968da1f817c3004b4e8742ab4f4d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 12 Nov 2015 11:45:23 +0100 Subject: gnu: sudo: Upgrade to 1.8.15 [fixes CVE-2015-5602]. * gnu/packages/admin.scm (sudo)[arguments]: Add CPPFLAGS to #:configure-flags. In 'pre-configure' phase, modify 'sudo_usage.h.in'. Add pattern to remove '-o 0 -g 0' installation flag in 'Makefile.in', and remove pattern for '-O 0 -G 0'. Remove modifications of 'configure'. --- gnu/packages/admin.scm | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 6aca8570c0..7fbc9fdc30 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -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,31 @@ 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\"'")) #: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) -- cgit v1.2.3 From 029d9f77abc0d2699ae1314156d0a04bdcc84990 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 23 Oct 2015 10:35:00 +0200 Subject: gnu: mosaik: Build only on x86_64. * gnu/packages/bioinformatics.scm (mosaik)[supported-systems]: Add field. --- gnu/packages/bioinformatics.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f13e4050c4..56a31f9488 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2315,6 +2315,7 @@ viewer.") (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 -- cgit v1.2.3 From fb3f69394a139fca0d60efb49843599fcc2e6e28 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Nov 2015 14:56:55 +0200 Subject: gnu: libvpx: Update to 1.5.0. * gnu/packages/video.scm (libvpx): Update to 1.5.0. --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 687057fb88..d534d74834 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -775,7 +775,7 @@ projects while introducing many more.") (define-public libvpx (package (name "libvpx") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "http://storage.googleapis.com/" @@ -783,7 +783,7 @@ projects while introducing many more.") name "-" version ".tar.bz2")) (sha256 (base32 - "1r0ql5kgy0c8mh5w7iiqvsd7w5njl9f9cclc7m52ln8assrdk0pm")))) + "15v7qw0ydyxn08ksb6lxn1l51pxgpwgshdwd3275yrr5hs86fv9h")))) (build-system gnu-build-system) (arguments `(#:phases (alist-replace @@ -800,7 +800,7 @@ projects while introducing many more.") "--size-limit=16384x16384" (string-append "--prefix=" out))))) %standard-phases) - #:tests? #f)) ; no check target + #:tests? #f)) ; tests involve downloading files (native-inputs `(("perl" ,perl) ("yasm" ,yasm))) -- cgit v1.2.3 From 9e81af9e72651cc4fdc700b29c44beb18a3743ba Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Sep 2015 15:24:27 +0300 Subject: gnu: Add qtkeychain. * gnu/packages/qt.scm (qtkeychain): New variable. --- gnu/packages/qt.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9813f5b0fd..8f148c9e90 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,10 +20,11 @@ ;;; along with GNU Guix. If not, see . (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) @@ -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))) -- cgit v1.2.3 From b2e93b9e4522816e8959016ef5c22b2ccd9699a2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Nov 2015 19:31:31 +0200 Subject: gnu: Add owncloud-client. * gnu/packages/owncloud.scm (owncloud-client): New variable. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/owncloud.scm | 80 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 gnu/packages/owncloud.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 0b716c76ab..3378fa77ea 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -241,6 +241,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/openstack.scm \ gnu/packages/orpheus.scm \ gnu/packages/ots.scm \ + gnu/packages/owncloud.scm \ gnu/packages/package-management.scm \ gnu/packages/parallel.scm \ gnu/packages/password-utils.scm \ 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 +;;; +;;; 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 . + +(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+))) -- cgit v1.2.3 From 0137992a389732a169a8efdf91feb98eed2fb2a5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 29 Oct 2015 16:18:36 +0200 Subject: gnu: Add c-ares. * gnu/packages/aria2.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/aria2.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 gnu/packages/aria2.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 3378fa77ea..b7699fc246 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -35,6 +35,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/aidc.scm \ gnu/packages/apl.scm \ gnu/packages/apr.scm \ + gnu/packages/aria2.scm \ gnu/packages/asciidoc.scm \ gnu/packages/aspell.scm \ gnu/packages/attr.scm \ 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 +;;; +;;; 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 . + +(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")))) -- cgit v1.2.3 From 0534dd93ce1c46cfa61ef0b8e2b3389d3d6181e0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Nov 2015 16:53:43 +0200 Subject: gnu: gsl: Update to 2.1. * gnu/packages/maths.scm (gsl): Update to 2.1. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 466dc2729d..a56b7ce966 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -150,7 +150,7 @@ semiconductors.") (define-public gsl (package (name "gsl") - (version "2.0") + (version "2.1") (source (origin (method url-fetch) @@ -158,7 +158,7 @@ semiconductors.") version ".tar.gz")) (sha256 (base32 - "0bfahlsgil0695104a44c3c8vjkyvxmg3s92371fddcrj6qz0qg3")))) + "0rhcia9jhr3p1f1wybwyllwqfs9bggz99i3mi5lpyqcpff1hdbar")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f)) -- cgit v1.2.3 From 2f1531f008665496f144a39544980b2f07713174 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 12 Nov 2015 15:47:48 +0100 Subject: gnu: Add inklingreader. * gnu/packages/inklingreader.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Mathieu Lirzin --- gnu-system.am | 1 + gnu/packages/inklingreader.scm | 59 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 gnu/packages/inklingreader.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index b7699fc246..009ca766d2 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -159,6 +159,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/image.scm \ gnu/packages/imagemagick.scm \ gnu/packages/indent.scm \ + gnu/packages/inklingreader.scm \ gnu/packages/inkscape.scm \ gnu/packages/irssi.scm \ gnu/packages/iso-codes.scm \ 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 +;;; +;;; 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 . + +(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+))) -- cgit v1.2.3 From 9c9be34871a6d2a7708b63ac96716f08b38956ce Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Thu, 12 Nov 2015 15:52:04 +0100 Subject: gnu: mupen64plus-core: Specify supported-systems. * gnu/packages/games.scm (mupen64plus-core): Specify supported-systems. --- gnu/packages/games.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2b5d78d618..9118158e0c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1253,6 +1253,7 @@ world}, @uref{http://evolonline.org, Evol Online} and (list "all" (string-append "PREFIX=" out))) ;; There are no tests. #:tests? #f)) + (supported-systems '("i686-linux" "x86_64-linux")) (home-page "http://www.mupen64plus.org/") (synopsis "Nintendo 64 emulator core library") (description -- cgit v1.2.3 From bff3c670c29189ecfb4eafa9316cc2d896c5d468 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Thu, 12 Nov 2015 17:25:40 +0100 Subject: gnu: mupen64plus-core: Add comment. * gnu/packages/games.scm (mupen64plus-core): Comment the reason for the supported-systems field. --- gnu/packages/games.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9118158e0c..4274d4ce38 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1253,6 +1253,7 @@ world}, @uref{http://evolonline.org, Evol Online} and (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") -- cgit v1.2.3 From 4f8f15cd5ca6da045ac811552f503b32aced8935 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Nov 2015 19:59:42 +0200 Subject: Revert "gnu: libvpx: Update to 1.5.0." This reverts commit fb3f69394a139fca0d60efb49843599fcc2e6e28. --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d534d74834..687057fb88 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -775,7 +775,7 @@ projects while introducing many more.") (define-public libvpx (package (name "libvpx") - (version "1.5.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (string-append "http://storage.googleapis.com/" @@ -783,7 +783,7 @@ projects while introducing many more.") name "-" version ".tar.bz2")) (sha256 (base32 - "15v7qw0ydyxn08ksb6lxn1l51pxgpwgshdwd3275yrr5hs86fv9h")))) + "1r0ql5kgy0c8mh5w7iiqvsd7w5njl9f9cclc7m52ln8assrdk0pm")))) (build-system gnu-build-system) (arguments `(#:phases (alist-replace @@ -800,7 +800,7 @@ projects while introducing many more.") "--size-limit=16384x16384" (string-append "--prefix=" out))))) %standard-phases) - #:tests? #f)) ; tests involve downloading files + #:tests? #f)) ; no check target (native-inputs `(("perl" ,perl) ("yasm" ,yasm))) -- cgit v1.2.3 From f888502cfaa8c956817034fda5393894739307f1 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 12 Nov 2015 17:43:58 +0800 Subject: gnu: nix: Update to 1.10. * gnu/packages/package-management.scm (nix): Update to 1.10. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index b6385a2605..244cd49cf3 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -239,14 +239,14 @@ the Nix package manager.") (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 -- cgit v1.2.3 From 9083788a294e5ccbbd9bd4b2bb2867dae7079018 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 12 Nov 2015 17:59:34 +0800 Subject: gnu: nix: Don't propagate Perl libraries. * gnu/packages/package-management.scm (nix): Move perl-www-curl, perl-dbi and perl-dbd-sqlite from 'propagated-inputs' to 'inputs'. [arguments]: Add #:configure-flags. --- gnu/packages/package-management.scm | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 244cd49cf3..1c15196bf3 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -251,16 +251,29 @@ the Nix package manager.") ;; 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 -- cgit v1.2.3 From 2af4f5b051702551afd95079cdb0c2e51a902777 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 13 Nov 2015 17:48:11 +0800 Subject: gnu: gcr: Update to 3.18.0, enable introspection. * gnu/packages/gnome.scm (gcr): Update to 3.18.0. [native-inputs]: Add gobject-introspection and libxslt. --- gnu/packages/gnome.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8869b62629..f51532fdd8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -247,7 +247,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 "/" @@ -255,7 +255,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 @@ -274,7 +274,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) -- cgit v1.2.3 From ebeabe2d35b93ed9d2fe5b88ccb7dc8f0fc0547c Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 13 Nov 2015 17:51:27 +0800 Subject: gnu: upower: Enable GObject introspection. * gnu/packages/gnome.scm (upower)[native-inputs]: Add gobject-introspection. --- gnu/packages/gnome.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f51532fdd8..be2662379c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2362,7 +2362,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 -- cgit v1.2.3 From d777e048b5244dd264e1314b51f871af21ae9985 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 13 Nov 2015 17:56:22 +0800 Subject: gnu: upower: Update to 0.99.3. * gnu/packages/gnome.scm (upower): Update to 0.99.3. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index be2662379c..79846ae2e8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2332,14 +2332,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 -- cgit v1.2.3 From a124bbd2f41410e1c33654f4ff9865765baf28a7 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 13 Nov 2015 22:50:36 +0800 Subject: gnu: Adjust formatting as recommended by 'guix lint'. * gnu/packages/aidc.scm (barcode, qrencode), gnu/packages/bash.scm (bash, bash-completion), gnu/packages/busybox.scm (busybox), gnu/packages/cdrom.scm (cdparanoia), gnu/packages/cmake.scm (cmake), gnu/packages/conkeror.scm (conkeror), gnu/packages/cook.scm (cook), gnu/packages/curl.scm (curl), gnu/packages/docbook.scm (docbook-xsl), gnu/packages/enlightenment.scm (enlightenment), gnu/packages/games.scm (abbaye), gnu/packages/geeqie.scm (exiv2), gnu/packages/gimp.scm (gegl), gnu/packages/gl.scm (glu, freeglut, ftgl), gnu/packages/glib.scm (glib), gnu/packages/gnome.scm (orbit2, gconf, geocode-glib), gnu/packages/gstreamer.scm (gstreamer, gst-plugins-base), gnu/packages/linux.scm (util-linux), gnu/packages/lisp.scm (gcl, ecl), gnu/packages/maths.scm (gnuplot, hdf5), gnu/packages/ssh.scm (dropbear), gnu/packages/web.scm (json-c): Remove tabulations and trailing white spaces or reformat to fit within 80 columns. * gnu/packages/audio.scm (aubio), gnu/packages/emacs.scm (emacs-s), gnu/packages/engineering.scm (geda-gaf), gnu/packages/games.scm (dosbox), gnu/packages/gnome.scm (gusb), gnu/packages/gtk.scm (gtk+), gnu/packages/guile.scm (guile-wisp), gnu/packages/hurd.scm (hurd-headers), gnu/packages/wm.scm (i3-wm): Adjust synopsis or description. --- gnu/packages/aidc.scm | 9 +++---- gnu/packages/audio.scm | 2 +- gnu/packages/bash.scm | 8 ++++--- gnu/packages/busybox.scm | 10 ++++---- gnu/packages/cdrom.scm | 3 ++- gnu/packages/cmake.scm | 3 ++- gnu/packages/conkeror.scm | 8 +++---- gnu/packages/cook.scm | 8 +++---- gnu/packages/curl.scm | 4 ++-- gnu/packages/docbook.scm | 5 ++-- gnu/packages/emacs.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/enlightenment.scm | 2 +- gnu/packages/games.scm | 6 ++--- gnu/packages/geeqie.scm | 3 ++- gnu/packages/gimp.scm | 2 +- gnu/packages/gl.scm | 53 +++++++++++++++++++++++------------------- gnu/packages/glib.scm | 3 ++- gnu/packages/gnome.scm | 44 ++++++++++++++++++----------------- gnu/packages/gstreamer.scm | 9 +++---- gnu/packages/gtk.scm | 2 +- gnu/packages/guile.scm | 4 ++-- gnu/packages/hurd.scm | 2 +- gnu/packages/linux.scm | 2 +- gnu/packages/lisp.scm | 14 +++++------ gnu/packages/maths.scm | 6 ++--- gnu/packages/ssh.scm | 3 ++- gnu/packages/web.scm | 5 ++-- gnu/packages/wm.scm | 2 +- 29 files changed, 122 insertions(+), 104 deletions(-) (limited to 'gnu') 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/audio.scm b/gnu/packages/audio.scm index a6899a07f6..77842f8c48 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -128,7 +128,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 diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 180c64e872..bdb5a760f7 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -191,7 +191,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." ;; Bash is reportedly not parallel-safe. See, for instance, ;; and - ;; . + ;; . #:parallel-build? #f #:parallel-tests? #f @@ -290,8 +290,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/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 884ba8bfa6..9a216f789d 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -157,7 +157,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 diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index a58284ba17..2efce6fd87 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -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/conkeror.scm b/gnu/packages/conkeror.scm index d91fe9e78b..cfeb22e8c3 100644 --- a/gnu/packages/conkeror.scm +++ b/gnu/packages/conkeror.scm @@ -76,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/curl.scm b/gnu/packages/curl.scm index 3e435f4b13..16140f0f9c 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -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/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 f8be743ce5..67f1ea20ef 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1023,7 +1023,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..97e7d38215 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -277,7 +277,7 @@ Libraries with some extra bells and whistles.") (string-append "https://download.enlightenment.org/rel/apps/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 + (base32 "098bdx9qmv1yqqwfydrzs7fvbnhsf3vaib9pmqsyg4ihgqrkrwjm")))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 4274d4ce38..8dcedc11e8 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -158,8 +158,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")))) @@ -1089,7 +1089,7 @@ next campaign.") ("glu" ,glu) ("mesa" ,mesa))) (home-page "http://www.dosbox.com") - (synopsis "x86 emulator with CGA/EGA/VGA/etc. graphics and sound") + (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 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: . - ;; The core is GPLv2+: . + ;; The core is GPLv2+: + ;; . (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 c7bece868d..33312ba127 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -49,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 @@ -77,20 +78,22 @@ as ASCII text.") (name "freeglut") (version "3.0.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/project/freeglut/freeglut/" - version "/freeglut-" version ".tar.gz")) - (sha256 - (base32 "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra")))) + (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) @@ -116,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 diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index b2979b24e4..146d3f563b 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -188,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) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 79846ae2e8..4bd9d9c881 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -930,23 +930,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 @@ -955,9 +958,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+))) @@ -1014,9 +1017,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 @@ -2308,8 +2311,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) @@ -3293,7 +3295,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 diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index a52106b898..1235b3185a 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -87,8 +87,9 @@ arrays of data.") (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 "172w1bpnkn6mm1wi37n03apdbb6cdkykhzjf1vfxchcd7hhkyflp")))) @@ -134,8 +135,8 @@ This package provides the core library and elements.") (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 "18sbyjcp281zb3bsqji3pglsdsxi0s6ai7rx90sx8cpflkxdqcwm")))) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 40eb8e49ed..c0c0794f4a 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1108,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 dd0457edfe..82776e6cd3 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -796,8 +796,8 @@ 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+))) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index e95f50ab6e..ff29aee489 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -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/linux.scm b/gnu/packages/linux.scm index 39983dafb3..9252ca8504 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -572,7 +572,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., - ;; .) + ;; .) #:configure-flags '("--disable-libblkid" "--disable-libuuid" "--disable-uuidd" "--disable-fsck" 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 . ;; @@ -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/maths.scm b/gnu/packages/maths.scm index a56b7ce966..c916fe79f1 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -363,7 +363,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 @@ -406,10 +406,10 @@ extremely large and complex data collections.") (origin (method url-fetch) (uri (string-append "mirror://gnu/octave/octave-" - version ".tar.gz")) + version ".tar.gz")) (sha256 (base32 - "101jr9yck798586jz4vkjcgk36zksmxf1pxrzvipgn2xgyay0zjc")))) + "101jr9yck798586jz4vkjcgk36zksmxf1pxrzvipgn2xgyay0zjc")))) (build-system gnu-build-system) (inputs `(("lapack" ,lapack) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 7a62d0bdee..0a57d26be5 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -325,7 +325,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/web.scm b/gnu/packages/web.scm index 4d526fce0c..6a47f3b6c9 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")) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index db5fa1e3da..1765c3a6b0 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -179,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))) -- cgit v1.2.3 From 9715df7fbed076a1073a5d90d81a26f2b8e24df8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 8 Nov 2015 23:00:28 -0500 Subject: gnu: mit-krb5: Update to 1.13.2. * gnu/packages/mit-krb5.scm (mit-krb5): Update to 1.13.2. [native-inputs]: Remove "patch/init-fix". * gnu/packages/patches/mit-krb5-init-fix.patch: Delete file. * gnu-system.am (dist_patch_DATA): Remove it. --- gnu-system.am | 1 - gnu/packages/mit-krb5.scm | 7 +++---- gnu/packages/patches/mit-krb5-init-fix.patch | 18 ------------------ 3 files changed, 3 insertions(+), 23 deletions(-) delete mode 100644 gnu/packages/patches/mit-krb5-init-fix.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 009ca766d2..6cb37297f7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -586,7 +586,6 @@ dist_patch_DATA = \ gnu/packages/patches/mcron-install.patch \ gnu/packages/patches/mdadm-gcc-4.9-fix.patch \ gnu/packages/patches/mhash-keygen-test-segfault.patch \ - gnu/packages/patches/mit-krb5-init-fix.patch \ gnu/packages/patches/mpc123-initialize-ao.patch \ gnu/packages/patches/mplayer2-theora-fix.patch \ gnu/packages/patches/module-init-tools-moduledir.patch \ diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index b79d4d34bc..4327e1da65 100644 --- a/gnu/packages/mit-krb5.scm +++ b/gnu/packages/mit-krb5.scm @@ -29,18 +29,17 @@ (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 #\.)) "/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) + `(("bison" ,bison) ("perl" ,perl))) (arguments '(#:phases 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 . - ---- 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; -- cgit v1.2.3 From 4d53c29e6ca0fb432e92c298f9537c688fbbc10e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 8 Nov 2015 22:37:33 -0500 Subject: gnu: mit-krb5: Refactor build code; support multiple patches. * gnu/packages/mit-krb5.scm (mit-krb5)[source]: Use version-major+minor. [arguments]: Use modify-phases. Split and rewrite 'unpack' phase into 'unpack', 'apply-patches', and 'enter-source-directory' phases. Add a 'pre-check' phase instead of replacing the 'check' phase. Combine substitutions on the same file. In the 'unpack' phase, find native-inputs with names starting with "patch/" and apply them all. Print a message for each patch applied. Do not rely on the result of 'chdir', which is unspecified. Determine the names of the inner tar file and the directory in a more robust way. Add (ice-9 ftw), (ice-9 match) and (srfi srfi-1) to #:modules. --- gnu/packages/mit-krb5.scm | 85 +++++++++++++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 33 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index 4327e1da65..76d8b2473e 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 +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #: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 @@ -33,7 +35,7 @@ (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 "1qbdzyrws7d0q4filsibh28z54pd5l987jr0ygv43iq9085w6a75")))) @@ -42,40 +44,57 @@ `(("bison" ,bison) ("perl" ,perl))) (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. -- cgit v1.2.3 From ff45a00e798350676ca7a4cf1cac349cc0b4c1f6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 8 Nov 2015 23:05:11 -0500 Subject: gnu: mit-krb5: Add fixes for CVE-2015-{2695,2696,2697,2698}. * gnu/packages/patches/mit-krb5-CVE-2015-2695-pt1.patch, gnu/packages/patches/mit-krb5-CVE-2015-2695-pt2.patch, gnu/packages/patches/mit-krb5-CVE-2015-2696.patch, gnu/packages/patches/mit-krb5-CVE-2015-2697.patch, gnu/packages/patches/mit-krb5-CVE-2015-2698-pt1.patch, gnu/packages/patches/mit-krb5-CVE-2015-2698-pt2.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/mit-krb5.scm (mit-krb5)[native-inputs]: Add patches. --- gnu-system.am | 6 + gnu/packages/mit-krb5.scm | 14 +- .../patches/mit-krb5-CVE-2015-2695-pt1.patch | 569 ++++++++++++++++ .../patches/mit-krb5-CVE-2015-2695-pt2.patch | 65 ++ gnu/packages/patches/mit-krb5-CVE-2015-2696.patch | 736 +++++++++++++++++++++ gnu/packages/patches/mit-krb5-CVE-2015-2697.patch | 55 ++ .../patches/mit-krb5-CVE-2015-2698-pt1.patch | 43 ++ .../patches/mit-krb5-CVE-2015-2698-pt2.patch | 132 ++++ 8 files changed, 1619 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mit-krb5-CVE-2015-2695-pt1.patch create mode 100644 gnu/packages/patches/mit-krb5-CVE-2015-2695-pt2.patch create mode 100644 gnu/packages/patches/mit-krb5-CVE-2015-2696.patch create mode 100644 gnu/packages/patches/mit-krb5-CVE-2015-2697.patch create mode 100644 gnu/packages/patches/mit-krb5-CVE-2015-2698-pt1.patch create mode 100644 gnu/packages/patches/mit-krb5-CVE-2015-2698-pt2.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 6cb37297f7..c80f08678d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -586,6 +586,12 @@ dist_patch_DATA = \ gnu/packages/patches/mcron-install.patch \ gnu/packages/patches/mdadm-gcc-4.9-fix.patch \ gnu/packages/patches/mhash-keygen-test-segfault.patch \ + gnu/packages/patches/mit-krb5-CVE-2015-2695-pt1.patch \ + gnu/packages/patches/mit-krb5-CVE-2015-2695-pt2.patch \ + gnu/packages/patches/mit-krb5-CVE-2015-2696.patch \ + gnu/packages/patches/mit-krb5-CVE-2015-2697.patch \ + gnu/packages/patches/mit-krb5-CVE-2015-2698-pt1.patch \ + gnu/packages/patches/mit-krb5-CVE-2015-2698-pt2.patch \ gnu/packages/patches/mpc123-initialize-ao.patch \ gnu/packages/patches/mplayer2-theora-fix.patch \ gnu/packages/patches/module-init-tools-moduledir.patch \ diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index 76d8b2473e..16bef8d97d 100644 --- a/gnu/packages/mit-krb5.scm +++ b/gnu/packages/mit-krb5.scm @@ -42,7 +42,19 @@ (build-system gnu-build-system) (native-inputs `(("bison" ,bison) - ("perl" ,perl))) + ("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 `(#:modules ((ice-9 ftw) (ice-9 match) 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 +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 +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 +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 +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 +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 +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 -- cgit v1.2.3 From 2abcc935ce87221009acc9f211badbe6cd27191d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Nov 2015 22:46:54 +0100 Subject: gnu: eigen: Update to 3.2.7. * gnu/packages/algebra.scm (eigen): Upgrade to 3.2.7. [source]: Add 'file-name' field. --- gnu/packages/algebra.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index daa5ddd072..2ea6c1f5c8 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -383,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, -- cgit v1.2.3 From 73cea74ddaf98fc526f633e5c5768a6ead4d312d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 14 Nov 2015 09:44:32 +0100 Subject: gnu: calf: Update tarball URL. * gnu/packages/audio.scm (calf)[source]: Use tarball from new project website instead of sourceforge. --- gnu/packages/audio.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 77842f8c48..4a86a8d543 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -271,9 +271,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")))) -- cgit v1.2.3 From 5649c8cd894f2cf6fc7c9ab08974ff03d3580448 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 13 Nov 2015 18:07:21 -0500 Subject: gnu: Add guile-sly. * gnu/packages/guile.scm (guile-sly): New variable. --- gnu/packages/guile.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 82776e6cd3..8714332312 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -41,6 +41,10 @@ #:use-module (gnu packages gettext) #: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) @@ -802,4 +806,39 @@ 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 "http://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 -- cgit v1.2.3 From 511495fb24aef0a9db5318d7d5c7f78e6c344ad0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Nov 2015 16:49:20 +0100 Subject: gnu: sudo: Build sequentially. Possibly fixes . * gnu/packages/admin.scm (sudo)[arguments]: Add #:parallel-build? #f. --- gnu/packages/admin.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7fbc9fdc30..5b9f5d1650 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -671,6 +671,10 @@ system administrator.") (string-append "CPPFLAGS=-D_PATH_MV='\"" (assoc-ref %build-inputs "coreutils") "/bin/mv\"'")) + + ;; Avoid non-determinism; see . + #:parallel-build? #f + #:phases (alist-cons-before 'configure 'pre-configure (lambda _ -- cgit v1.2.3 From 19a696ed728e11a01bcc8e6532103125204057e6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Nov 2015 00:07:38 +0200 Subject: gnu: youtube-dl: Update to 2015.11.13. * gnu/packages/video.scm (youtube-dl): Update to 2015.11.13. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 687057fb88..219159d24d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -812,7 +812,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2015.11.10") + (version "2015.11.13") (source (origin (method url-fetch) (uri (string-append "http://youtube-dl.org/downloads/" @@ -820,7 +820,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "1gp68wzsfg31xx6iv7ga6cp022ak14r7ghg7mbhk9zr7rz5lx8y5")))) + "02140awgwvspnq226xpbc4clijmqkk8hlmfqhmmzzbihvs2b4xfx")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") -- cgit v1.2.3 From 1c8a70a3505dc3062a3fe18b967376449981cc9e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Nov 2015 09:27:46 +0200 Subject: gnu: efl: Update to 1.16.0. * gnu/packages/enlightenment.scm (efl): Update to 1.16.0. --- gnu/packages/enlightenment.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 97e7d38215..b9e4443cc6 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 ;;; Copyright © 2015 Daniel Pimentel +;;; Copyright © 2015 Efraim Flashner ;;; ;;; 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))) -- cgit v1.2.3 From 5fbf590a906c0986f733c525bc38adbd701f5d14 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Nov 2015 09:46:50 +0200 Subject: gnu: elementary: Update to 1.16.0. * gnu/packages/enlightenment.scm (elementary): Update to 1.16.0. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index b9e4443cc6..07e55ecf6f 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -135,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 @@ -143,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))) -- cgit v1.2.3 From 96479cf10dd01cd52699e91441b6273e57d555e2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Nov 2015 10:22:11 +0200 Subject: gnu: emotion-generic-players: Update to 1.16.0. * gnu/packages/enlightenment.scm (emotion-generic-players): Update to 1.16.0. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 07e55ecf6f..ab45a9ba0c 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -192,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 @@ -201,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))) -- cgit v1.2.3 From 90b57418697ad112428ae2c982fa7a7ce7fa49b1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Nov 2015 10:25:16 +0200 Subject: gnu: evas-generic-loaders: Update to 1.16.0. * gnu/packages/enlightenment.scm (evas-generic-loaders): Update to 1.16.0. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index ab45a9ba0c..0c8d9b76c5 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -160,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 @@ -170,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))) -- cgit v1.2.3 From 5de56b611c75e6866339faaefc4706b2b8b10a81 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Nov 2015 11:03:03 +0200 Subject: gnu: enlightenment: Update to 0.19.13. * gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.13. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 0c8d9b76c5..d28a29ce45 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -271,7 +271,7 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.19.12") + (version "0.19.13") (source (origin (method url-fetch) (uri @@ -279,7 +279,7 @@ Libraries with some extra bells and whistles.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "098bdx9qmv1yqqwfydrzs7fvbnhsf3vaib9pmqsyg4ihgqrkrwjm")))) + "1kl9r3amvgrb283b7d9wn5p4aqz9v9ba9xz25cdyfa28fkmfdayd")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 000e36f2eec02b8bf57bd54e857e56628e184b31 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 16 Nov 2015 03:51:34 +0100 Subject: gnu: pari-gp: Update to 2.7.5. * gnu/packages/algebra.scm (pari-gp): Update to 2.7.5. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 2ea6c1f5c8..07dfaafdc3 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -115,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 @@ -123,7 +123,7 @@ solve the shortest vector problem.") version ".tar.gz")) (sha256 (base32 - "0k1qqagfl6zn7gvwmsqffj6g9yrzqvszwh2mblhmxpjlw1pigfh8")))) + "0c8l83a0gjq73r9hndsrzkypwxvnnm4pxkkzbg6jm95m80nzwh11")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp) ("libx11" ,libx11) -- cgit v1.2.3 From b6bbebbcab34267aaae7dba8170ae453e68c37db Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 30 Oct 2015 11:41:10 +0100 Subject: gnu: gnucash: Update to 2.6.9. * gnu/packages/gnucash.scm (gnucash): Update to 2.6.9. [home-page]: Update. --- gnu/packages/gnucash.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From 1b076e630f4a7245d14634b047e1d1a91ee2659e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Nov 2015 09:50:33 +0100 Subject: gnu: libpng: Use 1.5.24 as a replacement [fixes CVE-2015-8126]. Reported by Leo Famulari . * gnu/packages/image.scm (libpng-urls): New procedure. (libpng)[source]: Use it. [replacement]: New field. (libpng-1.5.24): New variable. --- gnu/packages/image.scm | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index bde327cf91..b7b8eac24b 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -46,23 +46,28 @@ #:use-module (guix build-system cmake) #:use-module (srfi srfi-1)) +(define (libpng-urls version) + "Return a list of URLs for libpng VERSION." + ;; Note: upstream removes older tarballs. + (list (string-append "mirror://sourceforge/libpng/libpng15/" + version "/libpng-" version ".tar.xz") + (string-append + "ftp://ftp.simplesystems.org/pub/libpng/png/src" + "/libpng15/libpng-" version ".tar.xz"))) + (define-public libpng (package (name "libpng") (version "1.5.21") (source (origin (method url-fetch) - - ;; Note: upstream removes older tarballs. - (uri (list (string-append "mirror://sourceforge/libpng/libpng15/" - version "/libpng-" version ".tar.xz") - (string-append - "ftp://ftp.simplesystems.org/pub/libpng/png/src" - "/libpng15/libpng-" version ".tar.xz"))) + (uri (libpng-urls version)) (sha256 (base32 "19yvzw6sf9gf7v25ha9bla8bw1nijh82wj8ag6brjj3hpij1q5dm")))) (build-system gnu-build-system) + (replacement libpng-1.5.24) ;CVE-2015-8126 + ;; libpng.la says "-lz", so propagate it. (propagated-inputs `(("zlib" ,zlib))) @@ -73,6 +78,16 @@ library. It supports almost all PNG features and is extensible.") (license license:zlib) (home-page "http://www.libpng.org/pub/png/libpng.html"))) +(define libpng-1.5.24 + (package + (inherit libpng) + (source (origin + (method url-fetch) + (uri (libpng-urls "1.5.24")) + (sha256 + (base32 + "1qhvfk1ypsaf6q6xkspyqqzmghpbahhq54ms8fa5ssqkyds38bmr")))))) + (define-public libjpeg (package (name "libjpeg") -- cgit v1.2.3 From fcc43c1f7b998b9ffd2f734a4c99d6e17d7cf102 Mon Sep 17 00:00:00 2001 From: Amirouche Boubekki Date: Fri, 13 Nov 2015 15:09:08 +0100 Subject: gnu: images: Add jpegoptim 1.4.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/images.scm (jpegoptim): New variable jpegoptim Signed-off-by: Ludovic Courtès --- gnu/packages/image.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index b7b8eac24b..1acc5ee973 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014, 2015 Alex Kost ;;; Copyright © 2014 Ricardo Wurmus ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Amirouche Boubekki ;;; Copyright © 2014 John Darrington ;;; ;;; This file is part of GNU Guix. @@ -119,6 +120,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") -- cgit v1.2.3 From 5f4621de1fc4ef99b6dd9cbc978e010168de67dd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Nov 2015 15:55:51 +0100 Subject: gnu: Add r-curl. * gnu/packages/web.scm (r-curl): New variable. --- gnu/packages/web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6a47f3b6c9..6c3329ffb6 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2978,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))) -- cgit v1.2.3 From 67a167fdf7410791cb57e2948dedc519d75bb80b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Nov 2015 16:10:09 +0100 Subject: gnu: Add r-xml2. * gnu/packages/statistics.scm (r-xml2): New variable. --- gnu/packages/statistics.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 0c0464c2b9..cbcb05c32f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages texlive) #:use-module (gnu packages texinfo) #:use-module (gnu packages base) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages zip) #:use-module (srfi srfi-1)) @@ -1053,3 +1054,27 @@ inference for statistical models.") (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+))) -- cgit v1.2.3 From 6140747f062d0e05fc4d9c9e013d65d20529e0ac Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Nov 2015 16:17:34 +0100 Subject: gnu: Add r-rversions. * gnu/packages/statistics.scm (r-rversions): New variable. --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index cbcb05c32f..a0ae5c18dc 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages texlive) #:use-module (gnu packages texinfo) #:use-module (gnu packages base) + #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages zip) @@ -1078,3 +1079,25 @@ inference for statistical models.") "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))) -- cgit v1.2.3 From 1a77eccd0e4f95a4e2517c0f6c3e33ade3ff089b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Nov 2015 16:19:16 +0100 Subject: gnu: Add r-whisker. * gnu/packages/statistics.scm (r-whisker): New variable. --- gnu/packages/statistics.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a0ae5c18dc..a5be5d96af 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1101,3 +1101,21 @@ files in R. It is built on top of the libxml2 C library.") 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+))) -- cgit v1.2.3 From 13d083af59143cb458851a6944552acb60c1267c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Nov 2015 16:20:25 +0100 Subject: gnu: Add r-brew. * gnu/packages/statistics.scm (r-brew): New variable. --- gnu/packages/statistics.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a5be5d96af..5ab13d1e71 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1119,3 +1119,22 @@ previous R versions and their release dates.") "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+))) -- cgit v1.2.3 From 167c988263439146db655f2f976daead677e26de Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Nov 2015 16:28:23 +0100 Subject: gnu: Add r-roxygen2. * gnu/packages/statistics.scm (r-roxygen2): New variable. --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5ab13d1e71..8062a51af4 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1138,3 +1138,27 @@ limited to 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+))) -- cgit v1.2.3 From 681e03c12ddf1bd1022b7478d2182559a2273149 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Nov 2015 16:40:04 +0100 Subject: gnu: Add r-httr. * gnu/packages/statistics.scm (r-httr): New variable. --- gnu/packages/statistics.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 8062a51af4..9c277b4851 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1162,3 +1162,30 @@ module, Java Server Pages, and Python's psp module.") "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))) -- cgit v1.2.3 From 035711f1f57dcb2967dfc4b6a71b363350fdfcbc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Nov 2015 14:07:24 +0100 Subject: gnu: Add r-git2r. * gnu/packages/statistics.scm (r-git2r): New variable. --- gnu/packages/statistics.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 9c277b4851..fb13284fe1 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -38,8 +38,10 @@ #: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 web) #:use-module (gnu packages xml) @@ -1189,3 +1191,29 @@ 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))) -- cgit v1.2.3 From 81a4228b185b64415f98c5d812602ab0da240e5d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Nov 2015 14:07:47 +0100 Subject: gnu: Add r-rstudioapi. * gnu/packages/statistics.scm (r-rstudioapi): New variable. --- gnu/packages/statistics.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index fb13284fe1..896f52993a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1217,3 +1217,21 @@ functions make it easy to control additional request components.") 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))) -- cgit v1.2.3 From d6e21589afb29e4d6d5b124cbfd533299567fb28 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Nov 2015 14:08:46 +0100 Subject: gnu: Add r-devtools. * gnu/packages/statistics.scm (r-devtools): New variable. --- gnu/packages/statistics.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 896f52993a..2af9de2344 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1235,3 +1235,32 @@ pure C implementation of the Git core methods.") "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+))) -- cgit v1.2.3 From 54567afa13a9ac5376cbfea1e6b514bf850a88c6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 16 Nov 2015 15:04:34 +0200 Subject: gnu: mpv: Update to 0.13.0. * gnu/packages/video.scm (mpv): Update to 0.13.0. --- gnu/packages/video.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 219159d24d..b46e609aad 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -690,7 +690,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 @@ -698,7 +698,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 @@ -739,10 +739,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 -- cgit v1.2.3 From 782770d1c2fb00b77bf23d3d556bb980af0faac2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 16 Nov 2015 15:18:30 +0200 Subject: gnu: mpv: Remove lua configure hack. * gnu/packages/video.scm (mpv)[arguments]: Remove obsolete code that helped configure find lua. --- gnu/packages/video.scm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b46e609aad..fb4db6243c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -759,10 +759,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/") -- cgit v1.2.3 From 2776d72c7cdea26ac997c4dc8a5190c788c36b29 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 10 Nov 2015 11:32:43 +0200 Subject: gnu: vte: Provide 0.36.5. * gnu/packages/gnome.scm (vte): Add version 0.36.5. --- gnu/packages/gnome.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4bd9d9c881..8eec16df91 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 David Thompson +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -1708,6 +1709,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) -- cgit v1.2.3 From 6a7e1a180b79b722bbac606234103f78259e2e9b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 24 Aug 2015 22:48:40 +0300 Subject: gnu: Add tilda. * gnu/packages/terminals.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/terminals.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 gnu/packages/terminals.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index c80f08678d..75914b7153 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -302,6 +302,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/tcl.scm \ gnu/packages/tcsh.scm \ gnu/packages/telephony.scm \ + gnu/packages/terminals.scm \ gnu/packages/texinfo.scm \ gnu/packages/texlive.scm \ gnu/packages/textutils.scm \ diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm new file mode 100644 index 0000000000..0c28c5d465 --- /dev/null +++ b/gnu/packages/terminals.scm @@ -0,0 +1,72 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Efraim Flashner +;;; +;;; 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 . + +(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) + #:use-module (gnu packages zip)) + +(define-public tilda + (package + (name "tilda") + (version "1.2.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/lanoxx/tilda/archive/" + "tilda-" version ".zip")) + (sha256 + (base32 + "06r7q0b1xjclagsnw0ilxhw5az5ddly2f7xc1lcwlrf337x0jrar")))) + (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) + ("unzip" ,unzip))) + (inputs + `(("glib" ,glib "bin") + ("gtk+" ,gtk+) + ("libconfuse" ,libconfuse) + ("vte" ,vte-0.36))) ; TODO: try to use vte-0.38+ in 1.3 + ; https://github.com/lanoxx/tilda/issues/94 + (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+))) -- cgit v1.2.3 From 3aab2c839fe04f503668029204e21358f901e62f Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 14 Nov 2015 13:56:40 -0500 Subject: gnu: Add devil. * gnu/packages/image.scm (devil): New variable. * gnu/packages/patches/devil-fix-libpng.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/image.scm | 52 +++++++++++++++++++++++++++++ gnu/packages/patches/devil-fix-libpng.patch | 36 ++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 gnu/packages/patches/devil-fix-libpng.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 75914b7153..ccc1255c5b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -433,6 +433,7 @@ dist_patch_DATA = \ gnu/packages/patches/cursynth-wave-rand.patch \ gnu/packages/patches/dbus-helper-search-path.patch \ gnu/packages/patches/dealii-p4est-interface.patch \ + gnu/packages/patches/devil-fix-libpng.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \ gnu/packages/patches/dfu-programmer-fix-libusb.patch \ gnu/packages/patches/doxygen-test.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1acc5ee973..979d144ca4 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -666,3 +666,55 @@ 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+))) 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 +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 -- cgit v1.2.3 From 83a4a70b504e158055e384c6a0e267c1270c6beb Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 14 Nov 2015 14:00:20 -0500 Subject: gnu: Add love. * gnu/packages/game-development.scm (love): New variable. --- gnu/packages/game-development.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'gnu') 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))) -- cgit v1.2.3 From a4eb83b709349ebbfe72ed473d0f65cdf5c4cbc7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Nov 2015 15:51:43 +0100 Subject: gnu: eigen: Fix 'Cflags' value in 'eigen3.pc'. * gnu/packages/algebra.scm (eigen)[source]: Augment snippet to address . --- gnu/packages/algebra.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 07dfaafdc3..fb3b3e94b3 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -399,7 +399,11 @@ 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 + ;; . + (("\"include/eigen3\"") + "\"${CMAKE_INSTALL_PREFIX}/include/eigen3\""))))) (build-system cmake-build-system) (arguments '(;; Turn off debugging symbols to save space. -- cgit v1.2.3 From 354f4fe2926d52fcd767022cd9b5ded319807e0e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Nov 2015 15:52:56 +0100 Subject: gnu: eigen: Use 'modify-phases'. * gnu/packages/algebra.scm (eigen)[arguments]: Use 'modify-phases' instead of 'alist-cons-before'. --- gnu/packages/algebra.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index fb3b3e94b3..41464ca882 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -413,19 +413,18 @@ cosine/ sine transforms or DCT/DST).") ;; . #:test-target "check" - #:phases (alist-cons-before - 'check 'build-tests - (lambda _ - ;; First build the tests, in parallel. - ;; See . - (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) + #:phases (modify-phases %standard-phases + (add-before 'check 'build-tests + (lambda _ + ;; First build the tests, in parallel. + ;; See . + (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))) + (zero? (system* "make" "buildtests" dash-j)))))))) (home-page "http://eigen.tuxfamily.org") (synopsis "C++ template library for linear algebra") (description -- cgit v1.2.3 From d3a33fe28d7933afda7bfa2e421bf0000c0c0eac Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Nov 2015 16:01:33 +0100 Subject: gnu: eigen: Run 'ctest' in verbose mode. * gnu/packages/algebra.scm (eigen)[arguments]: Add "-V" in 'EIGEN_CTEST_ARGS'. --- gnu/packages/algebra.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 41464ca882..75eaf26559 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -422,7 +422,11 @@ cosine/ sine transforms or DCT/DST).") (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) + + ;; Use '-V' to get more details in case of test + ;; failures. + (setenv "EIGEN_CTEST_ARGS" + (string-append "-V " dash-j)) (zero? (system* "make" "buildtests" dash-j)))))))) (home-page "http://eigen.tuxfamily.org") -- cgit v1.2.3 From 9832ecf09a87bf5e4dcedba0ac2cd1df89c3b361 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 16 Nov 2015 13:37:01 -0500 Subject: gnu: dovecot: Update to 2.2.19. * gnu/packages/mail.scm (dovecot): Update to 2.2.19. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b27eed8bfe..7f8f5ca07f 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -678,7 +678,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) @@ -686,7 +686,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))) -- cgit v1.2.3 From 4ca02340691624316330619fc6fec5a5e68e00b7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 17 Nov 2015 00:46:21 +0200 Subject: gnu: wget: Update to 1.17. * gnu/packages/wget.scm (wget): Update to 1.17. --- gnu/packages/wget.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index f4ccb66d91..2a4ae8aed7 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,7 @@ (define-public wget (package (name "wget") - (version "1.16.3") + (version "1.17") (source (origin (method url-fetch) @@ -40,7 +41,7 @@ version ".tar.xz")) (sha256 (base32 - "0dzv5xf9qxc2bp4cyifmaghh3h464wbm73xiwcrvckf1ynqbgxv7")))) + "11xvs919a8xr595hs6hk323rkk7yshyfdfyfdhlahagkrcxdcsdx")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) -- cgit v1.2.3 From ae916e02cbd4bd41b3f486d71f00f68b6fea4b7b Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 16 Nov 2015 11:16:16 +0800 Subject: gnu: Add ppp. * gnu/packages/samba.scm (ppp): New variable. --- gnu/packages/samba.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu') 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)))) -- cgit v1.2.3 From bf50f7b5870c08342a8eba7941923ed48404aa9c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 14 Nov 2015 17:18:02 +0100 Subject: gnu: Add prefix to license imports in (gnu packages imagemagick). * gnu/packages/imagemagick.scm: Import (guix licenses) with prefix "license:". --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index f154e19d35..43f14cb350 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -22,7 +22,7 @@ #: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 licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages compression) @@ -104,7 +104,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 -- cgit v1.2.3 From ac838d0f8e65113356ba6cf63f0e47cecd2b29d4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 14 Nov 2015 17:19:04 +0100 Subject: gnu: Add GraphicsMagick. * gnu/packages/imagemagick.scm (graphicsmagick): New variable. --- gnu/packages/imagemagick.scm | 49 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 43f14cb350..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 ;;; Copyright © 2015 Eric Bavier +;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (guix download) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages algebra) @@ -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))) -- cgit v1.2.3 From 3279b7ec47ad33911309d3b58eea60002229458e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 14 Nov 2015 22:26:44 +0100 Subject: gnu: Add Scribus. * gnu/packages/scribus.scm: New file * gnu/packages/patches/scribus-qobject.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES, dist_patch_DATA): Add them. --- gnu-system.am | 2 + gnu/packages/patches/scribus-qobject.patch | 17 +++++++ gnu/packages/scribus.scm | 79 ++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 gnu/packages/patches/scribus-qobject.patch create mode 100644 gnu/packages/scribus.scm (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index ccc1255c5b..60f16bf8fc 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -281,6 +281,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/scanner.scm \ gnu/packages/scheme.scm \ gnu/packages/screen.scm \ + gnu/packages/scribus.scm \ gnu/packages/sdl.scm \ gnu/packages/search.scm \ gnu/packages/serveez.scm \ @@ -658,6 +659,7 @@ dist_patch_DATA = \ gnu/packages/patches/sed-hurd-path-max.patch \ gnu/packages/patches/scheme48-tests.patch \ gnu/packages/patches/scotch-test-threading.patch \ + gnu/packages/patches/scribus-qobject.patch \ gnu/packages/patches/sdl-libx11-1.6.patch \ gnu/packages/patches/serf-comment-style-fix.patch \ gnu/packages/patches/serf-deflate-buckets-test-fix.patch \ 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 //necessary to avoid msvc warnings induced by SCRIBUS_API on ScLayers + early instanciation of templates + #include //necessary to avoid msvc warnings induced by SCRIBUS_API on ScLayers + early instanciation of templates ++#include + #include + + ScLayer::ScLayer(void) 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 +;;; +;;; 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 . + +(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+))) -- cgit v1.2.3 From b494d198cde5a4569155dd8ea3c607cb5ab69f21 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 17 Nov 2015 21:32:58 +0200 Subject: gnu: youtube-dl: Update to 2015.11.15. * gnu/packages/video.scm (youtube-dl): Update to 2015.11.15. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index fb4db6243c..6cc3aabad3 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -809,7 +809,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2015.11.13") + (version "2015.11.15") (source (origin (method url-fetch) (uri (string-append "http://youtube-dl.org/downloads/" @@ -817,7 +817,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "02140awgwvspnq226xpbc4clijmqkk8hlmfqhmmzzbihvs2b4xfx")))) + "0ik0nnsflshmjvg7niyfa85hmwy0vispn48vpapjljwxqgm4x5ih")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") -- cgit v1.2.3 From ba5dd1055fc97d96eb4c08ebfd61a7140ae7a94e Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 16 Nov 2015 11:48:28 +0800 Subject: gnu: Add network-manager. * gnu/packages/gnome.scm (%network-manager-glib-duplicate-test-patch) (network-manager): New variables. --- gnu/packages/gnome.scm | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8eec16df91..d699806a38 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -36,6 +36,7 @@ #: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) @@ -45,6 +46,7 @@ #: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) @@ -68,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) @@ -4094,3 +4097,95 @@ Evolution (hence the name), but is now used by other packages as well.") "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+))) -- cgit v1.2.3 From 4d62a9d304e17fa4793d557f6e065a0998e56e70 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 16 Nov 2015 12:34:53 +0800 Subject: gnu: Add network-manager-applet. * gnu/packages/gnome.scm (network-manager-applet): New variable. --- gnu/packages/gnome.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d699806a38..0bd4c4e9b6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4189,3 +4189,38 @@ 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+))) -- cgit v1.2.3 From 49846012f098be181ca84d66233edb07fbc77d67 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 18 Nov 2015 08:36:27 +0200 Subject: Revert "gnu: wget: Update to 1.17." This reverts commit 4ca02340691624316330619fc6fec5a5e68e00b7. --- gnu/packages/wget.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 2a4ae8aed7..f4ccb66d91 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -1,7 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015 Ludovic Courtès -;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,7 +32,7 @@ (define-public wget (package (name "wget") - (version "1.17") + (version "1.16.3") (source (origin (method url-fetch) @@ -41,7 +40,7 @@ version ".tar.xz")) (sha256 (base32 - "11xvs919a8xr595hs6hk323rkk7yshyfdfyfdhlahagkrcxdcsdx")))) + "0dzv5xf9qxc2bp4cyifmaghh3h464wbm73xiwcrvckf1ynqbgxv7")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) -- cgit v1.2.3 From f7d17ac7565b6b1d005ff735180e5b24c9bf32cc Mon Sep 17 00:00:00 2001 From: Erik Edrosa Date: Sun, 15 Nov 2015 20:29:46 -0500 Subject: gnu: Add python-pystache. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python.scm (python-pystache, python2-pystache): New variables. Signed-off-by: Ludovic Courtès --- gnu/packages/python.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 4e54ef94f5..508479b250 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2015 Ben Woodcroft +;;; Copyright © 2015 Erik Edrosa ;;; ;;; This file is part of GNU Guix. ;;; @@ -2352,6 +2353,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") -- cgit v1.2.3 From f836fb8d0ce2d4170cd4364cccb1f10df664e33e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Nov 2015 14:06:31 +0100 Subject: gnu: zynaddsubfx: Update to 2.5.2. * gnu/packages/music.scm (zynaddsubfx): Update to 2.5.2. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index baedf939e4..a217a89a19 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -774,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 @@ -782,7 +782,7 @@ browser.") version "/zynaddsubfx-" version ".tar.gz")) (sha256 (base32 - "01c4v5lbzard6y00cjq3b6a50cafqwfwibzng9gdsajczhnbkqz2")))) + "11yrady7xwfrzszkk2fvq81ymv99mq474h60qnirk27khdygk24m")))) (build-system cmake-build-system) (arguments `(#:phases -- cgit v1.2.3 From 3698a77588250134f7e32f7b18d652ad7ce55004 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Nov 2015 09:09:29 -0500 Subject: gnu: python-cryptography-vectors: Update to 1.0.2. * gnu/packages/python.scm (python-cryptography-vectors): Update to 1.0.2. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 508479b250..5a83e945ad 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5575,7 +5575,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) @@ -5584,7 +5584,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))) -- cgit v1.2.3 From 7f51b663b01ea10060410ffa9a69ae28c184f6c1 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Nov 2015 09:11:30 -0500 Subject: gnu: python-cryptography: Update to 1.0.2. * gnu/packages/python.scm (python-cryptography): Update to 1.0.2. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 5a83e945ad..dff7948cb2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5601,7 +5601,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) @@ -5609,7 +5609,7 @@ responses, rather than doing any computation.") "cryptography/cryptography-" version ".tar.gz")) (sha256 (base32 - "1lxzvhlyl6h6nm77n34622rcj2cxnx220x9vgjlw76wjd8m0kqyg")))) + "1jmcidddbbgdavvnvjjc0pda4b9a5i9idsivchn69pqxx68x8k6n")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) -- cgit v1.2.3 From f4a4a71885f5ad6db36f8b83a1b87e86d2dbbea4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Nov 2015 09:44:37 -0500 Subject: gnu: python-tornado: Use the preferred home-page. * gnu/packages/python.scm (python-tornado)[home-page]: Use the preferred one. --- gnu/packages/python.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index dff7948cb2..ecf02ddb8b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4751,7 +4751,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, -- cgit v1.2.3 From e33cf9a69ae20d6d3098a1287d9247b1e32c7402 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Nov 2015 17:35:14 +0100 Subject: gnu: weechat: Use 'modify-phases'. * gnu/packages/weechat.scm (weechat)[arguments]: Use 'modify-phases'. Remove 'fix-file' phase. --- gnu/packages/weechat.scm | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/weechat.scm b/gnu/packages/weechat.scm index d88ad53166..18508dd09d 100644 --- a/gnu/packages/weechat.scm +++ b/gnu/packages/weechat.scm @@ -47,11 +47,11 @@ (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")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("pkg-config" ,pkg-config) @@ -75,20 +75,14 @@ ("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"))))))) (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. -- cgit v1.2.3 From a9346faee6f61d7a2b0e066b110c9ce660827dbd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Nov 2015 17:42:44 +0100 Subject: gnu: weechat: Record the absolute file name of 'python'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . Reported by Luis Felipe López Acevedo . * gnu/packages/weechat.scm (weechat)[arguments]: Add 'set-python-file-name' phase. --- gnu/packages/weechat.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/weechat.scm b/gnu/packages/weechat.scm index 18508dd09d..c0fd8c6c88 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 +;;; Copyright 2015 Ludovic Courts ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,7 +83,15 @@ #:phases (modify-phases %standard-phases (add-before 'configure 'autogen (lambda _ - (zero? (system* "./autogen.sh"))))))) + (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 = .*;") + (string-append "python2_bin = \"" + (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. -- cgit v1.2.3 From b567abcf1afb13b4f12e25df436db99a72e56443 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Nov 2015 18:01:30 +0100 Subject: gnu: weechat: Encode as UTF-8. * gnu/packages/weechat.scm: Reencode as UTF-8. --- gnu/packages/weechat.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/weechat.scm b/gnu/packages/weechat.scm index c0fd8c6c88..48250302c3 100644 --- a/gnu/packages/weechat.scm +++ b/gnu/packages/weechat.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright 2014 Kevin Lemonnier -;;; Copyright 2015 Ludovic Courts +;;; Copyright © 2014 Kevin Lemonnier +;;; Copyright © 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; -- cgit v1.2.3 From 7be4a4b0ae68de0974e0ac6a4e313f1001bcd73d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Nov 2015 18:01:50 +0100 Subject: gnu: weechat: Fix patching of assignments to 'python2_bin'. Fixes a regression introduced in a9346fa. * gnu/packages/weechat.scm (weechat)[arguments]: Make sure PYTHON2_BIN can be freed with 'free'. --- gnu/packages/weechat.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/weechat.scm b/gnu/packages/weechat.scm index 48250302c3..27349ec60d 100644 --- a/gnu/packages/weechat.scm +++ b/gnu/packages/weechat.scm @@ -87,10 +87,10 @@ (add-before 'build 'set-python-file-name (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/plugins/python/weechat-python.c" - (("python2_bin = .*;") - (string-append "python2_bin = \"" + (("python2_bin = weechat_python_get_python2_bin.*;") + (string-append "python2_bin = strdup (\"" (assoc-ref inputs "python") - "/bin/python\";\n"))) + "/bin/python\");\n"))) #t))))) (synopsis "Extensible chat client") (description "WeeChat (Wee Enhanced Environment for Chat) is an -- cgit v1.2.3 From c797fabe79619832ec1189294b2bc22397c54457 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Nov 2015 12:17:42 +0100 Subject: services: Export udev-configuration procedures. * gnu/services/base.scm (udev-configuration, udev-configuration?, udev-configuration-rules): Export. --- gnu/services/base.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 291f1a0c58..64938c1f09 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -51,6 +51,10 @@ host-name-service console-keymap-service console-font-service + + udev-configuration + udev-configuration? + udev-configuration-rules udev-service-type udev-service -- cgit v1.2.3 From 21ef9843e4d0ea665acd2070ef589c3c4d0bd1b0 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Nov 2015 17:47:17 -0500 Subject: Revert "gnu: libpng: Use 1.5.24 as a replacement [fixes CVE-2015-8126]." This reverts commit 1b076e630f4a7245d14634b047e1d1a91ee2659e. --- gnu/packages/image.scm | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 979d144ca4..1577bccfd0 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -47,28 +47,23 @@ #:use-module (guix build-system cmake) #:use-module (srfi srfi-1)) -(define (libpng-urls version) - "Return a list of URLs for libpng VERSION." - ;; Note: upstream removes older tarballs. - (list (string-append "mirror://sourceforge/libpng/libpng15/" - version "/libpng-" version ".tar.xz") - (string-append - "ftp://ftp.simplesystems.org/pub/libpng/png/src" - "/libpng15/libpng-" version ".tar.xz"))) - (define-public libpng (package (name "libpng") (version "1.5.21") (source (origin (method url-fetch) - (uri (libpng-urls version)) + + ;; Note: upstream removes older tarballs. + (uri (list (string-append "mirror://sourceforge/libpng/libpng15/" + version "/libpng-" version ".tar.xz") + (string-append + "ftp://ftp.simplesystems.org/pub/libpng/png/src" + "/libpng15/libpng-" version ".tar.xz"))) (sha256 (base32 "19yvzw6sf9gf7v25ha9bla8bw1nijh82wj8ag6brjj3hpij1q5dm")))) (build-system gnu-build-system) - (replacement libpng-1.5.24) ;CVE-2015-8126 - ;; libpng.la says "-lz", so propagate it. (propagated-inputs `(("zlib" ,zlib))) @@ -79,16 +74,6 @@ library. It supports almost all PNG features and is extensible.") (license license:zlib) (home-page "http://www.libpng.org/pub/png/libpng.html"))) -(define libpng-1.5.24 - (package - (inherit libpng) - (source (origin - (method url-fetch) - (uri (libpng-urls "1.5.24")) - (sha256 - (base32 - "1qhvfk1ypsaf6q6xkspyqqzmghpbahhq54ms8fa5ssqkyds38bmr")))))) - (define-public libjpeg (package (name "libjpeg") -- cgit v1.2.3 From 328a14e869c01ae4e33120a08a5d60c719263684 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 15 Nov 2015 13:16:18 -0500 Subject: gnu: libpng: Update to 1.5.24 [fixes CVE-2015-8126]. * gnu/packages/image.scm (libpng): Update to 1.5.24. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1577bccfd0..37221b0c27 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -50,7 +50,7 @@ (define-public libpng (package (name "libpng") - (version "1.5.21") + (version "1.5.24") (source (origin (method url-fetch) @@ -61,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. -- cgit v1.2.3 From ee6bb0cc763507b165674dbe03c6ae5d26c8da5c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 15 Nov 2015 14:16:57 -0500 Subject: gnu: libxml2: Add fixes for CVE-2015-{1819,7941,7942,8035} and other bugs. * gnu/packages/patches/libxml2-CVE-2015-1819.patch, gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch, gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch, gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch, gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch, gnu/packages/patches/libxml2-CVE-2015-8035.patch, gnu/packages/patches/libxml2-bug-737840.patch, gnu/packages/patches/libxml2-bug-738805.patch, gnu/packages/patches/libxml2-bug-746048.patch, gnu/packages/patches/libxml2-bug-747437.patch, gnu/packages/patches/libxml2-bug-751603.patch, gnu/packages/patches/libxml2-bug-751631.patch, gnu/packages/patches/libxml2-bug-754946.patch, gnu/packages/patches/libxml2-bug-754947.patch, gnu/packages/patches/libxml2-bug-755857.patch, gnu/packages/patches/libxml2-fix-catalog-corruption.patch, gnu/packages/patches/libxml2-id-attrs-in-xmlSetTreeDoc.patch, gnu/packages/patches/libxml2-node-sort-order-pt1.patch, gnu/packages/patches/libxml2-node-sort-order-pt2.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/xml.scm (libxml2)[source]: Add patches. --- gnu-system.am | 19 +++ gnu/packages/patches/libxml2-CVE-2015-1819.patch | 176 +++++++++++++++++++++ .../patches/libxml2-CVE-2015-7941-pt1.patch | 32 ++++ .../patches/libxml2-CVE-2015-7941-pt2.patch | 49 ++++++ .../patches/libxml2-CVE-2015-7942-pt1.patch | 32 ++++ .../patches/libxml2-CVE-2015-7942-pt2.patch | 28 ++++ gnu/packages/patches/libxml2-CVE-2015-8035.patch | 31 ++++ gnu/packages/patches/libxml2-bug-737840.patch | 88 +++++++++++ gnu/packages/patches/libxml2-bug-738805.patch | 31 ++++ gnu/packages/patches/libxml2-bug-746048.patch | 65 ++++++++ gnu/packages/patches/libxml2-bug-747437.patch | 46 ++++++ gnu/packages/patches/libxml2-bug-751603.patch | 38 +++++ gnu/packages/patches/libxml2-bug-751631.patch | 35 ++++ gnu/packages/patches/libxml2-bug-754946.patch | 132 ++++++++++++++++ gnu/packages/patches/libxml2-bug-754947.patch | 103 ++++++++++++ gnu/packages/patches/libxml2-bug-755857.patch | 43 +++++ .../patches/libxml2-fix-catalog-corruption.patch | 29 ++++ .../libxml2-id-attrs-in-xmlSetTreeDoc.patch | 36 +++++ .../patches/libxml2-node-sort-order-pt1.patch | 33 ++++ .../patches/libxml2-node-sort-order-pt2.patch | 37 +++++ gnu/packages/xml.scm | 23 ++- 21 files changed, 1105 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libxml2-CVE-2015-1819.patch create mode 100644 gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch create mode 100644 gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch create mode 100644 gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch create mode 100644 gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch create mode 100644 gnu/packages/patches/libxml2-CVE-2015-8035.patch create mode 100644 gnu/packages/patches/libxml2-bug-737840.patch create mode 100644 gnu/packages/patches/libxml2-bug-738805.patch create mode 100644 gnu/packages/patches/libxml2-bug-746048.patch create mode 100644 gnu/packages/patches/libxml2-bug-747437.patch create mode 100644 gnu/packages/patches/libxml2-bug-751603.patch create mode 100644 gnu/packages/patches/libxml2-bug-751631.patch create mode 100644 gnu/packages/patches/libxml2-bug-754946.patch create mode 100644 gnu/packages/patches/libxml2-bug-754947.patch create mode 100644 gnu/packages/patches/libxml2-bug-755857.patch create mode 100644 gnu/packages/patches/libxml2-fix-catalog-corruption.patch create mode 100644 gnu/packages/patches/libxml2-id-attrs-in-xmlSetTreeDoc.patch create mode 100644 gnu/packages/patches/libxml2-node-sort-order-pt1.patch create mode 100644 gnu/packages/patches/libxml2-node-sort-order-pt2.patch (limited to 'gnu') diff --git a/gnu-system.am b/gnu-system.am index 60f16bf8fc..b49ddf0525 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -571,6 +571,25 @@ dist_patch_DATA = \ gnu/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ gnu/packages/patches/libwmf-CVE-2015-4695.patch \ gnu/packages/patches/libwmf-CVE-2015-4696.patch \ + gnu/packages/patches/libxml2-CVE-2015-1819.patch \ + gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch \ + gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch \ + gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch \ + gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch \ + gnu/packages/patches/libxml2-CVE-2015-8035.patch \ + gnu/packages/patches/libxml2-bug-737840.patch \ + gnu/packages/patches/libxml2-bug-738805.patch \ + gnu/packages/patches/libxml2-bug-746048.patch \ + gnu/packages/patches/libxml2-bug-747437.patch \ + gnu/packages/patches/libxml2-bug-751603.patch \ + gnu/packages/patches/libxml2-bug-751631.patch \ + gnu/packages/patches/libxml2-bug-754946.patch \ + gnu/packages/patches/libxml2-bug-754947.patch \ + gnu/packages/patches/libxml2-bug-755857.patch \ + gnu/packages/patches/libxml2-fix-catalog-corruption.patch \ + gnu/packages/patches/libxml2-id-attrs-in-xmlSetTreeDoc.patch \ + gnu/packages/patches/libxml2-node-sort-order-pt1.patch \ + gnu/packages/patches/libxml2-node-sort-order-pt2.patch \ gnu/packages/patches/lirc-localstatedir.patch \ gnu/packages/patches/libpthread-glibc-preparation.patch \ gnu/packages/patches/lm-sensors-hwmon-attrs.patch \ diff --git a/gnu/packages/patches/libxml2-CVE-2015-1819.patch b/gnu/packages/patches/libxml2-CVE-2015-1819.patch new file mode 100644 index 0000000000..58461c73b2 --- /dev/null +++ b/gnu/packages/patches/libxml2-CVE-2015-1819.patch @@ -0,0 +1,176 @@ +From 213f1fe0d76d30eaed6e5853057defc43e6df2c9 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Tue, 14 Apr 2015 17:41:48 +0800 +Subject: [PATCH] CVE-2015-1819 Enforce the reader to run in constant memory + +One of the operation on the reader could resolve entities +leading to the classic expansion issue. Make sure the +buffer used for xmlreader operation is bounded. +Introduce a new allocation type for the buffers for this effect. +--- + buf.c | 43 ++++++++++++++++++++++++++++++++++++++++++- + include/libxml/tree.h | 3 ++- + xmlreader.c | 20 +++++++++++++++++++- + 3 files changed, 63 insertions(+), 3 deletions(-) + +diff --git a/buf.c b/buf.c +index 6efc7b6..07922ff 100644 +--- a/buf.c ++++ b/buf.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include /* for XML_MAX_TEXT_LENGTH */ + #include "buf.h" + + #define WITH_BUFFER_COMPAT +@@ -299,7 +300,8 @@ xmlBufSetAllocationScheme(xmlBufPtr buf, + if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) || + (scheme == XML_BUFFER_ALLOC_EXACT) || + (scheme == XML_BUFFER_ALLOC_HYBRID) || +- (scheme == XML_BUFFER_ALLOC_IMMUTABLE)) { ++ (scheme == XML_BUFFER_ALLOC_IMMUTABLE) || ++ (scheme == XML_BUFFER_ALLOC_BOUNDED)) { + buf->alloc = scheme; + if (buf->buffer) + buf->buffer->alloc = scheme; +@@ -458,6 +460,18 @@ xmlBufGrowInternal(xmlBufPtr buf, size_t len) { + size = buf->use + len + 100; + #endif + ++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { ++ /* ++ * Used to provide parsing limits ++ */ ++ if ((buf->use + len >= XML_MAX_TEXT_LENGTH) || ++ (buf->size >= XML_MAX_TEXT_LENGTH)) { ++ xmlBufMemoryError(buf, "buffer error: text too long\n"); ++ return(0); ++ } ++ if (size >= XML_MAX_TEXT_LENGTH) ++ size = XML_MAX_TEXT_LENGTH; ++ } + if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) { + size_t start_buf = buf->content - buf->contentIO; + +@@ -739,6 +753,15 @@ xmlBufResize(xmlBufPtr buf, size_t size) + CHECK_COMPAT(buf) + + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0); ++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { ++ /* ++ * Used to provide parsing limits ++ */ ++ if (size >= XML_MAX_TEXT_LENGTH) { ++ xmlBufMemoryError(buf, "buffer error: text too long\n"); ++ return(0); ++ } ++ } + + /* Don't resize if we don't have to */ + if (size < buf->size) +@@ -867,6 +890,15 @@ xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len) { + + needSize = buf->use + len + 2; + if (needSize > buf->size){ ++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { ++ /* ++ * Used to provide parsing limits ++ */ ++ if (needSize >= XML_MAX_TEXT_LENGTH) { ++ xmlBufMemoryError(buf, "buffer error: text too long\n"); ++ return(-1); ++ } ++ } + if (!xmlBufResize(buf, needSize)){ + xmlBufMemoryError(buf, "growing buffer"); + return XML_ERR_NO_MEMORY; +@@ -938,6 +970,15 @@ xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len) { + } + needSize = buf->use + len + 2; + if (needSize > buf->size){ ++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { ++ /* ++ * Used to provide parsing limits ++ */ ++ if (needSize >= XML_MAX_TEXT_LENGTH) { ++ xmlBufMemoryError(buf, "buffer error: text too long\n"); ++ return(-1); ++ } ++ } + if (!xmlBufResize(buf, needSize)){ + xmlBufMemoryError(buf, "growing buffer"); + return XML_ERR_NO_MEMORY; +diff --git a/include/libxml/tree.h b/include/libxml/tree.h +index 2f90717..4a9b3bc 100644 +--- a/include/libxml/tree.h ++++ b/include/libxml/tree.h +@@ -76,7 +76,8 @@ typedef enum { + XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ + XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */ + XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ +- XML_BUFFER_ALLOC_HYBRID /* exact up to a threshold, and doubleit thereafter */ ++ XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ ++ XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ + } xmlBufferAllocationScheme; + + /** +diff --git a/xmlreader.c b/xmlreader.c +index f19e123..471e7e2 100644 +--- a/xmlreader.c ++++ b/xmlreader.c +@@ -2091,6 +2091,9 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) { + "xmlNewTextReader : malloc failed\n"); + return(NULL); + } ++ /* no operation on a reader should require a huge buffer */ ++ xmlBufSetAllocationScheme(ret->buffer, ++ XML_BUFFER_ALLOC_BOUNDED); + ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler)); + if (ret->sax == NULL) { + xmlBufFree(ret->buffer); +@@ -3616,6 +3619,7 @@ xmlTextReaderConstValue(xmlTextReaderPtr reader) { + return(((xmlNsPtr) node)->href); + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) node; ++ const xmlChar *ret; + + if ((attr->children != NULL) && + (attr->children->type == XML_TEXT_NODE) && +@@ -3629,10 +3633,21 @@ xmlTextReaderConstValue(xmlTextReaderPtr reader) { + "xmlTextReaderSetup : malloc failed\n"); + return (NULL); + } ++ xmlBufSetAllocationScheme(reader->buffer, ++ XML_BUFFER_ALLOC_BOUNDED); + } else + xmlBufEmpty(reader->buffer); + xmlBufGetNodeContent(reader->buffer, node); +- return(xmlBufContent(reader->buffer)); ++ ret = xmlBufContent(reader->buffer); ++ if (ret == NULL) { ++ /* error on the buffer best to reallocate */ ++ xmlBufFree(reader->buffer); ++ reader->buffer = xmlBufCreateSize(100); ++ xmlBufSetAllocationScheme(reader->buffer, ++ XML_BUFFER_ALLOC_BOUNDED); ++ ret = BAD_CAST ""; ++ } ++ return(ret); + } + break; + } +@@ -5131,6 +5146,9 @@ xmlTextReaderSetup(xmlTextReaderPtr reader, + "xmlTextReaderSetup : malloc failed\n"); + return (-1); + } ++ /* no operation on a reader should require a huge buffer */ ++ xmlBufSetAllocationScheme(reader->buffer, ++ XML_BUFFER_ALLOC_BOUNDED); + if (reader->sax == NULL) + reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler)); + if (reader->sax == NULL) { +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch b/gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch new file mode 100644 index 0000000000..4ca49039b2 --- /dev/null +++ b/gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch @@ -0,0 +1,32 @@ +From a7dfab7411cbf545f359dd3157e5df1eb0e7ce31 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Mon, 23 Feb 2015 11:17:35 +0800 +Subject: [PATCH] Stop parsing on entities boundaries errors + +For https://bugzilla.gnome.org/show_bug.cgi?id=744980 + +There are times, like on unterminated entities that it's preferable to +stop parsing, even if that means less error reporting. Entities are +feeding the parser on further processing, and if they are ill defined +then it's possible to get the parser to bug. Also do the same on +Conditional Sections if the input is broken, as the structure of +the document can't be guessed. +--- + parser.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/parser.c b/parser.c +index a8d1b67..bbe97eb 100644 +--- a/parser.c ++++ b/parser.c +@@ -5658,6 +5658,7 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) { + if (RAW != '>') { + xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED, + "xmlParseEntityDecl: entity %s not terminated\n", name); ++ xmlStopParser(ctxt); + } else { + if (input != ctxt->input) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch b/gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch new file mode 100644 index 0000000000..30563a46b6 --- /dev/null +++ b/gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch @@ -0,0 +1,49 @@ +From 9b8512337d14c8ddf662fcb98b0135f225a1c489 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Mon, 23 Feb 2015 11:29:20 +0800 +Subject: [PATCH] Cleanup conditional section error handling + +For https://bugzilla.gnome.org/show_bug.cgi?id=744980 + +The error handling of Conditional Section also need to be +straightened as the structure of the document can't be +guessed on a failure there and it's better to stop parsing +as further errors are likely to be irrelevant. +--- + parser.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/parser.c b/parser.c +index bbe97eb..fe603ac 100644 +--- a/parser.c ++++ b/parser.c +@@ -6770,6 +6770,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) { + SKIP_BLANKS; + if (RAW != '[') { + xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); ++ xmlStopParser(ctxt); ++ return; + } else { + if (ctxt->input->id != id) { + xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY, +@@ -6830,6 +6832,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) { + SKIP_BLANKS; + if (RAW != '[') { + xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); ++ xmlStopParser(ctxt); ++ return; + } else { + if (ctxt->input->id != id) { + xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY, +@@ -6885,6 +6889,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) { + + } else { + xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID_KEYWORD, NULL); ++ xmlStopParser(ctxt); ++ return; + } + + if (RAW == 0) +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch b/gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch new file mode 100644 index 0000000000..bd9077d7c4 --- /dev/null +++ b/gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch @@ -0,0 +1,32 @@ +From bd0526e66a56e75a18da8c15c4750db8f801c52d Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Fri, 23 Oct 2015 19:02:28 +0800 +Subject: [PATCH] Another variation of overflow in Conditional sections + +Which happen after the previous fix to +https://bugzilla.gnome.org/show_bug.cgi?id=756456 + +But stopping the parser and exiting we didn't pop the intermediary entities +and doing the SKIP there applies on an input which may be too small +--- + parser.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/parser.c b/parser.c +index a65e4cc..b9217ff 100644 +--- a/parser.c ++++ b/parser.c +@@ -6915,7 +6915,9 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) { + "All markup of the conditional section is not in the same entity\n", + NULL, NULL); + } +- SKIP(3); ++ if ((ctxt-> instate != XML_PARSER_EOF) && ++ ((ctxt->input->cur + 3) < ctxt->input->end)) ++ SKIP(3); + } + } + +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch b/gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch new file mode 100644 index 0000000000..115d369ac3 --- /dev/null +++ b/gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch @@ -0,0 +1,28 @@ +From 41ac9049a27f52e7a1f3b341f8714149fc88d450 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Tue, 27 Oct 2015 10:53:44 +0800 +Subject: [PATCH] Fix an error in previous Conditional section patch + +an off by one mistake in the change, led to error on correct +document where the end of the included entity was exactly +the end of the conditional section, leading to regtest failure +--- + parser.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/parser.c b/parser.c +index b9217ff..d67b300 100644 +--- a/parser.c ++++ b/parser.c +@@ -6916,7 +6916,7 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) { + NULL, NULL); + } + if ((ctxt-> instate != XML_PARSER_EOF) && +- ((ctxt->input->cur + 3) < ctxt->input->end)) ++ ((ctxt->input->cur + 3) <= ctxt->input->end)) + SKIP(3); + } + } +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-CVE-2015-8035.patch b/gnu/packages/patches/libxml2-CVE-2015-8035.patch new file mode 100644 index 0000000000..d29c96228e --- /dev/null +++ b/gnu/packages/patches/libxml2-CVE-2015-8035.patch @@ -0,0 +1,31 @@ +From f0709e3ca8f8947f2d91ed34e92e38a4c23eae63 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Tue, 3 Nov 2015 15:31:25 +0800 +Subject: [PATCH] CVE-2015-8035 Fix XZ compression support loop + +For https://bugzilla.gnome.org/show_bug.cgi?id=757466 +DoS when parsing specially crafted XML document if XZ support +is compiled in (which wasn't the case for 2.9.2 and master since +Nov 2013, fixed in next commit !) +--- + xzlib.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/xzlib.c b/xzlib.c +index 0dcb9f4..1fab546 100644 +--- a/xzlib.c ++++ b/xzlib.c +@@ -581,6 +581,10 @@ xz_decomp(xz_statep state) + xz_error(state, LZMA_DATA_ERROR, "compressed data error"); + return -1; + } ++ if (ret == LZMA_PROG_ERROR) { ++ xz_error(state, LZMA_PROG_ERROR, "compression error"); ++ return -1; ++ } + } while (strm->avail_out && ret != LZMA_STREAM_END); + + /* update available output and crc check value */ +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-bug-737840.patch b/gnu/packages/patches/libxml2-bug-737840.patch new file mode 100644 index 0000000000..2a2d62c583 --- /dev/null +++ b/gnu/packages/patches/libxml2-bug-737840.patch @@ -0,0 +1,88 @@ +From ef709ce2f7b792d5fb69ed142796d743fb1eb388 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Thu, 10 Sep 2015 19:41:41 +0800 +Subject: [PATCH] Fix the spurious ID already defined error + +For https://bugzilla.gnome.org/show_bug.cgi?id=737840 +the fix for 724903 introduced a regression on external entities carrying +IDs, revert that patch in part and add a specific test to avoid readding it +--- + result/valid/737840.xml | 10 ++++++++++ + result/valid/737840.xml.err | 0 + result/valid/737840.xml.err.rdr | 0 + test/valid/737840.xml | 10 ++++++++++ + test/valid/dtds/737840.ent | 1 + + valid.c | 6 ++++-- + 6 files changed, 25 insertions(+), 2 deletions(-) + create mode 100644 result/valid/737840.xml + create mode 100644 result/valid/737840.xml.err + create mode 100644 result/valid/737840.xml.err.rdr + create mode 100644 test/valid/737840.xml + create mode 100644 test/valid/dtds/737840.ent + +diff --git a/result/valid/737840.xml b/result/valid/737840.xml +new file mode 100644 +index 0000000..433c6d6 +--- /dev/null ++++ b/result/valid/737840.xml +@@ -0,0 +1,10 @@ ++ ++ ++ ++ ++ ++]> ++ ++ ⌖ ++ +diff --git a/result/valid/737840.xml.err b/result/valid/737840.xml.err +new file mode 100644 +index 0000000..e69de29 +diff --git a/result/valid/737840.xml.err.rdr b/result/valid/737840.xml.err.rdr +new file mode 100644 +index 0000000..e69de29 +diff --git a/test/valid/737840.xml b/test/valid/737840.xml +new file mode 100644 +index 0000000..2d27b73 +--- /dev/null ++++ b/test/valid/737840.xml +@@ -0,0 +1,10 @@ ++ ++ ++ ++ ++]> ++ ++ ++ ⌖ ++ +diff --git a/test/valid/dtds/737840.ent b/test/valid/dtds/737840.ent +new file mode 100644 +index 0000000..e972132 +--- /dev/null ++++ b/test/valid/dtds/737840.ent +@@ -0,0 +1 @@ ++ +\ No newline at end of file +diff --git a/valid.c b/valid.c +index 409aa81..45a3f70 100644 +--- a/valid.c ++++ b/valid.c +@@ -2634,8 +2634,10 @@ xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value, + /* + * The id is already defined in this DTD. + */ +- xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED, +- "ID %s already defined\n", value, NULL, NULL); ++ if (ctxt != NULL) { ++ xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED, ++ "ID %s already defined\n", value, NULL, NULL); ++ } + #endif /* LIBXML_VALID_ENABLED */ + xmlFreeID(ret); + return(NULL); +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-bug-738805.patch b/gnu/packages/patches/libxml2-bug-738805.patch new file mode 100644 index 0000000000..16163bb941 --- /dev/null +++ b/gnu/packages/patches/libxml2-bug-738805.patch @@ -0,0 +1,31 @@ +From 72a46a519ce7326d9a00f0b6a7f2a8e958cd1675 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Thu, 23 Oct 2014 11:35:36 +0800 +Subject: [PATCH] Fix missing entities after CVE-2014-3660 fix + +For https://bugzilla.gnome.org/show_bug.cgi?id=738805 + +The fix for CVE-2014-3660 introduced a regression in some case +where entity substitution is required and the entity is used +first in anotther entity referenced from an attribute value +--- + parser.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/parser.c b/parser.c +index 67c9dfd..a8d1b67 100644 +--- a/parser.c ++++ b/parser.c +@@ -7235,7 +7235,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { + * far more secure as the parser will only process data coming from + * the document entity by default. + */ +- if ((ent->checked == 0) && ++ if (((ent->checked == 0) || ++ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) && + ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) || + (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) { + unsigned long oldnbent = ctxt->nbentities; +-- +2.6.3 + diff --git a/gnu/packages/patches/libxml2-bug-746048.patch b/gnu/packages/patches/libxml2-bug-746048.patch new file mode 100644 index 0000000000..450b8d3ab3 --- /dev/null +++ b/gnu/packages/patches/libxml2-bug-746048.patch @@ -0,0 +1,65 @@ +From e724879d964d774df9b7969fc846605aa1bac54c Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Fri, 30 Oct 2015 21:14:55 +0800 +Subject: [PATCH] Fix parsing short unclosed comment uninitialized access + +For https://bugzilla.gnome.org/show_bug.cgi?id=746048 +The HTML parser was too optimistic when processing comments and +didn't check for the end of the stream on the first 2 characters +--- + HTMLparser.c | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +diff --git a/HTMLparser.c b/HTMLparser.c +index 19c10c3..bdf7807 100644 +--- a/HTMLparser.c ++++ b/HTMLparser.c +@@ -3264,12 +3264,17 @@ htmlParseComment(htmlParserCtxtPtr ctxt) { + ctxt->instate = state; + return; + } ++ len = 0; ++ buf[len] = 0; + q = CUR_CHAR(ql); ++ if (!IS_CHAR(q)) ++ goto unfinished; + NEXTL(ql); + r = CUR_CHAR(rl); ++ if (!IS_CHAR(r)) ++ goto unfinished; + NEXTL(rl); + cur = CUR_CHAR(l); +- len = 0; + while (IS_CHAR(cur) && + ((cur != '>') || + (r != '-') || (q != '-'))) { +@@ -3300,18 +3305,20 @@ htmlParseComment(htmlParserCtxtPtr ctxt) { + } + } + buf[len] = 0; +- if (!IS_CHAR(cur)) { +- htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED, +- "Comment not terminated \n