aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--HACKING6
-rw-r--r--THANKS1
-rw-r--r--build-aux/check-available-binaries.scm47
-rw-r--r--build-aux/check-final-inputs-self-contained.scm7
-rw-r--r--config-daemon.ac5
-rw-r--r--configure.ac4
-rw-r--r--doc/guix.texi46
-rw-r--r--gnu-system.am33
-rw-r--r--gnu/artwork.scm6
-rw-r--r--gnu/packages/aarddict.scm69
-rw-r--r--gnu/packages/admin.scm25
-rw-r--r--gnu/packages/algebra.scm11
-rw-r--r--gnu/packages/audio.scm750
-rw-r--r--gnu/packages/avahi.scm2
-rw-r--r--gnu/packages/base.scm47
-rw-r--r--gnu/packages/bioinformatics.scm136
-rw-r--r--gnu/packages/certs.scm118
-rw-r--r--gnu/packages/complexity.scm5
-rw-r--r--gnu/packages/compression.scm19
-rw-r--r--gnu/packages/ebook.scm6
-rw-r--r--gnu/packages/freedesktop.scm46
-rw-r--r--gnu/packages/ftp.scm46
-rw-r--r--gnu/packages/games.scm39
-rw-r--r--gnu/packages/gnome.scm22
-rw-r--r--gnu/packages/gnuzilla.scm28
-rw-r--r--gnu/packages/graphics.scm89
-rw-r--r--gnu/packages/gtk.scm28
-rw-r--r--gnu/packages/java.scm52
-rw-r--r--gnu/packages/libffcall.scm2
-rw-r--r--gnu/packages/linux-libre-i686.conf209
-rw-r--r--gnu/packages/linux-libre-x86_64.conf217
-rw-r--r--gnu/packages/linux.scm168
-rw-r--r--gnu/packages/lisp.scm304
-rw-r--r--gnu/packages/lua.scm4
-rw-r--r--gnu/packages/mail.scm87
-rw-r--r--gnu/packages/maths.scm25
-rw-r--r--gnu/packages/moreutils.scm68
-rw-r--r--gnu/packages/node.scm4
-rw-r--r--gnu/packages/openssl.scm4
-rw-r--r--gnu/packages/package-management.scm31
-rw-r--r--gnu/packages/patches/chmlib-inttypes.patch60
-rw-r--r--gnu/packages/patches/cpufrequtils-fix-aclocal.patch46
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0822.patch154
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch33
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch35
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch56
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch32
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch26
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch26
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch27
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch220
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch89
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch25
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch41
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch54
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch53
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch52
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch219
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch104
-rw-r--r--gnu/packages/patches/luajit-no_ldconfig.patch31
-rw-r--r--gnu/packages/patches/luajit-symlinks.patch25
-rw-r--r--gnu/packages/patches/openexr-missing-samples.patch23
-rw-r--r--gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch16
-rw-r--r--gnu/packages/patches/weex-vacopy.patch13
-rw-r--r--gnu/packages/pdf.scm31
-rw-r--r--gnu/packages/perl.scm140
-rw-r--r--gnu/packages/pumpio.scm68
-rw-r--r--gnu/packages/python.scm444
-rw-r--r--gnu/packages/qt.scm52
-rw-r--r--gnu/packages/rdf.scm70
-rw-r--r--gnu/packages/ruby.scm4
-rw-r--r--gnu/packages/samba.scm7
-rw-r--r--gnu/packages/scheme.scm81
-rw-r--r--gnu/packages/sdl.scm14
-rw-r--r--gnu/packages/statistics.scm108
-rw-r--r--gnu/packages/video.scm232
-rw-r--r--gnu/packages/web.scm26
-rw-r--r--gnu/packages/wxwidgets.scm97
-rw-r--r--gnu/packages/xdisorg.scm30
-rw-r--r--gnu/packages/xorg.scm4
-rw-r--r--gnu/services/base.scm3
-rw-r--r--gnu/services/xorg.scm34
-rw-r--r--gnu/system/grub.scm6
-rw-r--r--guix/build-system/perl.scm4
-rw-r--r--guix/build/download.scm84
-rw-r--r--guix/build/perl-build-system.scm59
-rw-r--r--guix/derivations.scm19
-rw-r--r--guix/download.scm10
-rw-r--r--guix/gexp.scm220
-rw-r--r--guix/http-client.scm4
-rw-r--r--guix/import/cpan.scm77
-rw-r--r--guix/licenses.scm15
-rw-r--r--guix/packages.scm7
-rw-r--r--guix/scripts/archive.scm16
-rw-r--r--guix/scripts/build.scm17
-rw-r--r--guix/scripts/environment.scm18
-rw-r--r--guix/scripts/package.scm24
-rw-r--r--guix/scripts/system.scm36
-rw-r--r--guix/store.scm8
-rw-r--r--guix/tests.scm18
-rw-r--r--guix/ui.scm33
-rw-r--r--m4/guix.m458
-rw-r--r--test-env.in9
-rw-r--r--tests/builders.scm8
-rw-r--r--tests/cpan.scm14
-rw-r--r--tests/derivations.scm19
-rw-r--r--tests/gexp.scm51
-rw-r--r--tests/guix-package.sh13
-rw-r--r--tests/packages.scm5
-rw-r--r--tests/ui.scm40
-rw-r--r--tests/union.scm6
112 files changed, 5853 insertions, 767 deletions
diff --git a/AUTHORS b/AUTHORS
index c156186378..47eb50c1a7 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -20,6 +20,7 @@ alphabetical order):
Alírio Eyng <alirioeyng@gmail.com>
Joshua Grant <tadni@riseup.net>
Raimon Grau <raimonster@gmail.com>
+ David Hashe <david.hashe@dhashe.com>
Nikita Karetnikov <nikita@karetnikov.org>
Julien Lepiller <julien@lepiller.eu>
Aljosha Papsch <misc@rpapsch.de>
diff --git a/HACKING b/HACKING
index 0231c7d84d..e8f6cc4208 100644
--- a/HACKING
+++ b/HACKING
@@ -25,12 +25,6 @@ Run ‘./bootstrap’ to download the Nix daemon source code and to generate the
build system infrastructure using autoconf. It reports an error if an
inappropriate version of the above packages is being used.
-The ‘bootstrap’ script, among other things, invokes ‘git submodule update’; if
-you didn’t run it, you may get the following error:
-
- make: *** No rule to make target `nix/libstore/schema.sql', needed by
- `nix/libstore/schema.sql.hh'
-
If you get an error like this one:
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
diff --git a/THANKS b/THANKS
index 14f38bfd2b..a7944c0f99 100644
--- a/THANKS
+++ b/THANKS
@@ -22,6 +22,7 @@ infrastructure help:
Brandon Invergo <brandon@gnu.org>
Jeffrin Jose <ahiliation@yahoo.co.in>
Kete <kete@ninthfloor.org>
+ Daniel Kochmański <dkochmanski@hellsgate.pl>
Alex Kost <alezost@gmail.com>
Matthew Lien <bluet@bluet.org>
Niels Möller <nisse@lysator.liu.se>
diff --git a/build-aux/check-available-binaries.scm b/build-aux/check-available-binaries.scm
index 7ac4352839..bc6207eb2a 100644
--- a/build-aux/check-available-binaries.scm
+++ b/build-aux/check-available-binaries.scm
@@ -29,27 +29,28 @@
(srfi srfi-26))
(with-store store
- (let* ((native (append-map (lambda (system)
- (map (cut package-derivation store <> system)
- (list %bootstrap-tarballs emacs)))
- %supported-systems))
- (cross (map (cut package-cross-derivation store
- %bootstrap-tarballs <>)
- '("mips64el-linux-gnuabi64")))
- (total (append native cross)))
- (define (warn item system)
- (format (current-error-port) "~a (~a) is not substitutable~%"
- item system)
- #f)
+ (parameterize ((%graft? #f))
+ (let* ((native (append-map (lambda (system)
+ (map (cut package-derivation store <> system)
+ (list %bootstrap-tarballs emacs)))
+ %supported-systems))
+ (cross (map (cut package-cross-derivation store
+ %bootstrap-tarballs <>)
+ '("mips64el-linux-gnuabi64")))
+ (total (append native cross)))
+ (define (warn item system)
+ (format (current-error-port) "~a (~a) is not substitutable~%"
+ item system)
+ #f)
- (set-build-options store #:use-substitutes? #t)
- (let* ((substitutable? (substitution-oracle store total))
- (result (every (lambda (drv)
- (let ((out (derivation->output-path drv)))
- (or (substitutable? out)
- (warn out (derivation-system drv)))))
- total)))
- (when result
- (format (current-error-port) "~a packages found substitutable~%"
- (length total)))
- (exit result))))
+ (set-build-options store #:use-substitutes? #t)
+ (let* ((substitutable? (substitution-oracle store total))
+ (result (every (lambda (drv)
+ (let ((out (derivation->output-path drv)))
+ (or (substitutable? out)
+ (warn out (derivation-system drv)))))
+ total)))
+ (when result
+ (format (current-error-port) "~a packages found substitutable~%"
+ (length total)))
+ (exit result)))))
diff --git a/build-aux/check-final-inputs-self-contained.scm b/build-aux/check-final-inputs-self-contained.scm
index ca7e8030b4..ba85c876d2 100644
--- a/build-aux/check-final-inputs-self-contained.scm
+++ b/build-aux/check-final-inputs-self-contained.scm
@@ -73,8 +73,9 @@ refer to the bootstrap tools."
;; Entry point.
(with-store store
- (set-build-options store #:use-substitutes? #t)
+ (parameterize ((%graft? #f))
+ (set-build-options store #:use-substitutes? #t)
- (for-each (cut test-final-inputs store <>)
- %supported-systems))
+ (for-each (cut test-final-inputs store <>)
+ %supported-systems)))
diff --git a/config-daemon.ac b/config-daemon.ac
index 32520acbf2..5f83d45a4c 100644
--- a/config-daemon.ac
+++ b/config-daemon.ac
@@ -127,9 +127,8 @@ if test "x$guix_build_daemon" = "xyes"; then
fi
dnl Temporary directory used to store the daemon's data.
- AC_MSG_CHECKING([for unit test root])
- GUIX_TEST_ROOT="`pwd`/test-tmp"
- AC_MSG_RESULT([$GUIX_TEST_ROOT])
+ GUIX_TEST_ROOT_DIRECTORY
+ GUIX_TEST_ROOT="$ac_cv_guix_test_root"
AC_SUBST([GUIX_TEST_ROOT])
AC_CONFIG_FILES([nix/scripts/list-runtime-roots],
diff --git a/configure.ac b/configure.ac
index 6f75fa3d7d..8291b0c5d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
-AC_INIT([GNU Guix], [0.8.1], [bug-guix@gnu.org], [guix],
+AC_INIT([GNU Guix], [0.8.2], [bug-guix@gnu.org], [guix],
[http://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
@@ -50,6 +50,8 @@ AC_SUBST([guix_localstatedir])
AC_SUBST([guix_sysconfdir])
AC_SUBST([guix_sbindir])
+GUIX_CHECK_FILE_NAME_LIMITS
+
dnl We require the pkg.m4 set of macros from pkg-config.
dnl Make sure it's available.
m4_pattern_forbid([PKG_CHECK_MODULES])
diff --git a/doc/guix.texi b/doc/guix.texi
index 0c6b1e4384..bd8091ae51 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1894,12 +1894,20 @@ parameter.
@defvr {Scheme Variable} perl-build-system
This variable is exported by @code{(guix build-system perl)}. It
-implements the standard build procedure for Perl packages, which
-consists in running @code{perl Makefile.PL PREFIX=/gnu/store/@dots{}},
-followed by @code{make} and @code{make install}.
-
-The initial @code{perl Makefile.PL} invocation passes flags specified by
-the @code{#:make-maker-flags} parameter.
+implements the standard build procedure for Perl packages, which either
+consists in running @code{perl Build.PL --prefix=/gnu/store/@dots{}},
+followed by @code{Build} and @code{Build install}; or in running
+@code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, followed by
+@code{make} and @code{make install}; depending on which of
+@code{Build.PL} or @code{Makefile.PL} is present in the package
+distribution. Preference is given to the former if both @code{Build.PL}
+and @code{Makefile.PL} exist in the package distribution. This
+preference can be reversed by specifying @code{#t} for the
+@code{#:make-maker?} parameter.
+
+The initial @code{perl Makefile.PL} or @code{perl Build.PL} invocation
+passes flags specified by the @code{#:make-maker-flags} or
+@code{#:module-build-flags} parameter, respectively.
Which Perl package is used can be specified with @code{#:perl}.
@end defvr
@@ -2358,9 +2366,10 @@ Run @var{mval}, a monadic value in the store monad, in @var{store}, an
open store connection.
@end deffn
-@deffn {Monadic Procedure} text-file @var{name} @var{text}
+@deffn {Monadic Procedure} text-file @var{name} @var{text} [@var{references}]
Return as a monadic value the absolute file name in the store of the file
-containing @var{text}, a string.
+containing @var{text}, a string. @var{references} is a list of store items that the
+resulting text file refers to; it defaults to the empty list.
@end deffn
@deffn {Monadic Procedure} interned-file @var{file} [@var{name}] @
@@ -2579,7 +2588,7 @@ below allow you to do that (@pxref{The Store Monad}, for more
information about monads.)
@deffn {Monadic Procedure} gexp->derivation @var{name} @var{exp} @
- [#:system (%current-system)] [#:target #f] [#:inputs '()] @
+ [#:system (%current-system)] [#:target #f] [#:graft? #t] @
[#:hash #f] [#:hash-algo #f] @
[#:recursive? #f] [#:env-vars '()] [#:modules '()] @
[#:module-path @var{%load-path}] @
@@ -2590,12 +2599,15 @@ Return a derivation @var{name} that runs @var{exp} (a gexp) with
is true, it is used as the cross-compilation target triplet for packages
referred to by @var{exp}.
-Make @var{modules} available in the evaluation context of @var{EXP};
-@var{MODULES} is a list of names of Guile modules searched in
-@var{MODULE-PATH} to be copied in the store, compiled, and made available in
+Make @var{modules} available in the evaluation context of @var{exp};
+@var{modules} is a list of names of Guile modules searched in
+@var{module-path} to be copied in the store, compiled, and made available in
the load path during the execution of @var{exp}---e.g., @code{((guix
build utils) (guix build gnu-build-system))}.
+@var{graft?} determines whether packages referred to by @var{exp} should be grafted when
+applicable.
+
When @var{references-graphs} is true, it must be a list of tuples of one of the
following forms:
@@ -3077,9 +3089,10 @@ guix import pypi itsdangerous
Import meta-data from @uref{https://www.metacpan.org/, MetaCPAN}.
Information is taken from the JSON-formatted meta-data provided through
@uref{https://api.metacpan.org/, MetaCPAN's API} and includes most
-relevant information. License information should be checked closely.
-Package dependencies are included but may in some cases needlessly
-include core Perl modules.
+relevant information, such as module dependencies. License information
+should be checked closely. If Perl is available in the store, then the
+@code{corelist} utility will be used to filter core modules out of the
+list of dependencies.
The command command below imports meta-data for the @code{Acme::Boolean}
Perl module:
@@ -4621,7 +4634,8 @@ theme to use. In that case, @var{theme-name} specifies the name of the
theme.
Last, @var{session} is a list of @code{<session-type>} objects denoting the
-available session types that can be chosen from the log-in screen.
+available session types that can be chosen from the log-in screen. The first
+one is chosen by default.
@end deffn
@defvr {Scheme Variable} %default-sessions
diff --git a/gnu-system.am b/gnu-system.am
index 6849b9c618..a705204381 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-# Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+# Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014, 2015 Mark H Weaver <mhw@netris.org>
#
# This file is part of GNU Guix.
@@ -25,6 +25,7 @@ GNU_SYSTEM_MODULES = \
gnu.scm \
gnu/artwork.scm \
gnu/packages.scm \
+ gnu/packages/aarddict.scm \
gnu/packages/abiword.scm \
gnu/packages/acct.scm \
gnu/packages/acl.scm \
@@ -55,6 +56,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/calcurse.scm \
gnu/packages/ccache.scm \
gnu/packages/cdrom.scm \
+ gnu/packages/certs.scm \
gnu/packages/cflow.scm \
gnu/packages/check.scm \
gnu/packages/cmake.scm \
@@ -97,6 +99,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/fltk.scm \
gnu/packages/fonts.scm \
gnu/packages/fontutils.scm \
+ gnu/packages/freedesktop.scm \
gnu/packages/freeipmi.scm \
gnu/packages/ftp.scm \
gnu/packages/fribidi.scm \
@@ -190,6 +193,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/miscfiles.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/moe.scm \
+ gnu/packages/moreutils.scm \
gnu/packages/mpd.scm \
gnu/packages/mp3.scm \
gnu/packages/mpi.scm \
@@ -229,6 +233,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/popt.scm \
gnu/packages/pth.scm \
gnu/packages/pulseaudio.scm \
+ gnu/packages/pumpio.scm \
gnu/packages/pretty-print.scm \
gnu/packages/protobuf.scm \
gnu/packages/python.scm \
@@ -257,6 +262,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/socat.scm \
gnu/packages/ssh.scm \
gnu/packages/stalonetray.scm \
+ gnu/packages/statistics.scm \
gnu/packages/swig.scm \
gnu/packages/sxiv.scm \
gnu/packages/synergy.scm \
@@ -289,6 +295,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/wine.scm \
gnu/packages/wordnet.scm \
gnu/packages/wv.scm \
+ gnu/packages/wxwidgets.scm \
gnu/packages/xfig.scm \
gnu/packages/xiph.scm \
gnu/packages/xml.scm \
@@ -357,6 +364,7 @@ dist_patch_DATA = \
gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
+ gnu/packages/patches/chmlib-inttypes.patch \
gnu/packages/patches/clucene-pkgconfig.patch \
gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/coreutils-dummy-man.patch \
@@ -366,6 +374,7 @@ dist_patch_DATA = \
gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch \
gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
+ gnu/packages/patches/cpufrequtils-fix-aclocal.patch \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/clucene-contribs-lib.patch \
@@ -410,6 +419,23 @@ dist_patch_DATA = \
gnu/packages/patches/guix-test-networking.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
+ gnu/packages/patches/icecat-CVE-2015-0822.patch \
+ gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch \
+ gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch \
+ gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch \
+ gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch \
+ gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch \
+ gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/kmod-module-directory.patch \
@@ -430,6 +456,8 @@ dist_patch_DATA = \
gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \
gnu/packages/patches/lm-sensors-hwmon-attrs.patch \
gnu/packages/patches/lua51-liblua-so.patch \
+ gnu/packages/patches/luajit-no_ldconfig.patch \
+ gnu/packages/patches/luajit-symlinks.patch \
gnu/packages/patches/luit-posix.patch \
gnu/packages/patches/m4-gets-undeclared.patch \
gnu/packages/patches/make-impure-dirs.patch \
@@ -449,6 +477,7 @@ dist_patch_DATA = \
gnu/packages/patches/nvi-assume-preserve-path.patch \
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
gnu/packages/patches/nvi-db4.patch \
+ gnu/packages/patches/openexr-missing-samples.patch \
gnu/packages/patches/orpheus-cast-errors-and-includes.patch \
gnu/packages/patches/ots-no-include-missing-file.patch \
gnu/packages/patches/patchelf-page-size.patch \
@@ -469,6 +498,7 @@ dist_patch_DATA = \
gnu/packages/patches/python-fix-tests.patch \
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \
+ gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qt4-tests.patch \
@@ -496,6 +526,7 @@ dist_patch_DATA = \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.patch \
+ gnu/packages/patches/weex-vacopy.patch \
gnu/packages/patches/wicd-urwid-1.3.patch \
gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \
diff --git a/gnu/artwork.scm b/gnu/artwork.scm
index d14fda44bd..c3b1695ba7 100644
--- a/gnu/artwork.scm
+++ b/gnu/artwork.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,9 +32,9 @@
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/guix/guix-artwork.git")
- (commit "94e6111")))
+ (commit "61ae7c8")))
(sha256
(base32
- "0aax85mygpq4lbyn8sriafikyg54yss3lisin6pwkvlvp23a3v1j"))))
+ "102fxk2l6b0ibry3n430q8ljhwrnbml9qgalzkz6v09r7sx6a532"))))
;;; artwork.scm ends here
diff --git a/gnu/packages/aarddict.scm b/gnu/packages/aarddict.scm
new file mode 100644
index 0000000000..33bd7b4ac9
--- /dev/null
+++ b/gnu/packages/aarddict.scm
@@ -0,0 +1,69 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages aarddict)
+ #:use-module ((guix licenses) #:select (gpl3))
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system python)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages qt))
+
+(define-public aarddict
+ (package
+ (name "aarddict")
+ (version "0.9.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/aarddict/desktop/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "12h7m0z7nd7rg8avpi9syd265k0rhh4vbdh464nq0jzdg8m9p28c"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python2-pyicu" ,python2-pyicu)
+ ("python2-pyqt-4" ,python2-pyqt-4)
+ ("python2-setuptools" ,python2-setuptools)
+ ("python2-simplejson" ,python2-simplejson)
+ ("python2-sip" ,python2-sip)))
+ (arguments
+ `(#:python ,python-2 ; incompatible with Python 3
+ #:phases
+ (alist-cons-before
+ 'build 'configure
+ ;; Force data into the output instead of the python package.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "setup.py"
+ (("sys.prefix") (string-append "'" out "'")))))
+ %standard-phases)))
+ (home-page "http://aarddict.org/index.html")
+ (synopsis
+ "Dictionary program and offline Wikipedia reader")
+ (description
+ "Aard Dictionary is a free, fast, easy to use word lookup program that
+looks up words fast even with huge dictionaries like English Wikipedia;
+looks up words in multiple dictionaries in multiple languages without
+switching;
+works great as offline Wikipedia reader;
+is keyboard navigation friendly;
+has efficient, highly compressed dictionary data storage format with
+ability to verify data integrity built-in.")
+ (license gpl3)))
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 6244a87f94..c779ade2b4 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -375,14 +375,14 @@ connection alive.")
(define-public isc-dhcp
(package
(name "isc-dhcp")
- (version "4.3.0")
+ (version "4.3.1")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
version "/dhcp-" version ".tar.gz"))
(sha256
(base32
- "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7"))))
+ "1w4s7sni1m9223ya8m2a64lr62845c6xlraprjf8zfx6lylbqv16"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
@@ -409,9 +409,9 @@ connection alive.")
(system* "tar" "xf" "bind.tar.gz")
(for-each patch-shebang
- (find-files "bind-9.9.5" ".*"))
+ (find-files "bind-9.9.5-P1" ".*"))
(zero? (system* "tar" "cf" "bind.tar.gz"
- "bind-9.9.5"))))
+ "bind-9.9.5-P1"))))
(alist-cons-after
'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -420,6 +420,7 @@ connection alive.")
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec"))
(coreutils (assoc-ref inputs "coreutils"))
+ (inetutils (assoc-ref inputs "inetutils"))
(net-tools (assoc-ref inputs "net-tools"))
(sed (assoc-ref inputs "sed")))
(substitute* "client/scripts/linux"
@@ -431,17 +432,19 @@ connection alive.")
(copy-file "client/scripts/linux"
(string-append libexec "/dhclient-script"))
- (wrap-program (string-append libexec "/dhclient-script")
- `("PATH" ":" prefix
- ,(map (lambda (dir)
- (string-append dir "/bin:"
- dir "/sbin"))
- (list net-tools coreutils sed))))))
+ (wrap-program
+ (string-append libexec "/dhclient-script")
+ `("PATH" ":" prefix
+ ,(map (lambda (dir)
+ (string-append dir "/bin:"
+ dir "/sbin"))
+ (list inetutils net-tools coreutils sed))))))
%standard-phases))))
(native-inputs `(("perl" ,perl)))
- (inputs `(("net-tools" ,net-tools)
+ (inputs `(("inetutils" ,inetutils)
+ ("net-tools" ,net-tools)
("iproute" ,iproute)
;; When cross-compiling, we need the cross Coreutils and sed.
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index fb59928e02..2fe26a4878 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -84,22 +84,23 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
- (version "2.7.2")
+ (version "2.7.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
version ".tar.gz"))
- (sha256 (base32
- "1b0hzyhafpxhmiljyhnsh6c27ydsvb2599fshwq2fjfm96awjxmc"))))
+ (sha256
+ (base32
+ "02k54m7p47r54lgxqanxvf7pdrss17n8if1qwk5wx0j1px22j0rq"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("perl" ,perl)
("readline" ,readline)))
(arguments
'(#:make-flags '("gp")
- ;; FIXME: building the documentation requires tex; once this is available,
- ;; replace "gp" by "all"
+ ;; FIXME: building the documentation requires tex; once this is
+ ;; available, replace "gp" by "all"
#:test-target "dobench"
#:phases
(alist-replace
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9227367dcd..52feea3701 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,17 +24,34 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system waf)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages databases)
- #:use-module (gnu packages glib) ;dbus
+ #:use-module (gnu packages file)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages mp3) ;taglib
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
#:use-module (gnu packages python)
+ #:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages which)
#:use-module (gnu packages xiph)
- #:use-module (gnu packages xml))
+ #:use-module (gnu packages xml)
+ #:use-module (srfi srfi-1))
(define-public aubio
(package
@@ -59,7 +77,6 @@
#:python ,python-2))
(inputs
`(("jack" ,jack-1)
- ("libuuid" ,util-linux)
("libsndfile" ,libsndfile)
("libsamplerate" ,libsamplerate)
("fftwf" ,fftwf)))
@@ -74,6 +91,153 @@ attacks, performing pitch detection, tapping the beat and producing MIDI
streams from live audio.")
(license license:gpl3+)))
+(define-public ardour
+ (package
+ (name "ardour")
+ (version "3.5.403")
+ (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")
+ (commit version)))
+ (snippet
+ '(call-with-output-file
+ "libs/ardour/revision.cc"
+ (lambda (port)
+ (format port "#include \"ardour/revision.h\"
+namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
+ (sha256
+ (base32
+ "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp"))
+ (file-name (string-append name "-" version))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:python ,python-2))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("aubio" ,aubio)
+ ("lrdf" ,lrdf)
+ ("boost" ,boost)
+ ("atkmm" ,atkmm)
+ ("cairomm" ,cairomm)
+ ("gtkmm" ,gtkmm-2)
+ ("glibmm" ,glibmm)
+ ("libart-lgpl" ,libart-lgpl)
+ ("libgnomecanvasmm" ,libgnomecanvasmm)
+ ("pangomm" ,pangomm)
+ ("liblo" ,liblo)
+ ("libsndfile" ,libsndfile)
+ ("libsamplerate" ,libsamplerate)
+ ("libxml2" ,libxml2)
+ ("libogg" ,libogg)
+ ("libvorbis" ,libvorbis)
+ ("flac" ,flac)
+ ("lv2" ,lv2)
+ ("vamp" ,vamp)
+ ("curl" ,curl)
+ ("fftw" ,fftw)
+ ("fftwf" ,fftwf)
+ ("jack" ,jack-1)
+ ("serd" ,serd)
+ ("sord" ,sord)
+ ("sratom" ,sratom)
+ ("suil" ,suil)
+ ("lilv" ,lilv)
+ ("rasqal" ,rasqal)
+ ("raptor2" ,raptor2)
+ ("redland" ,redland)
+ ("rubberband" ,rubberband)
+ ("taglib" ,taglib)
+ ("python-rdflib" ,python-rdflib)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://ardour.org")
+ (synopsis "Digital audio workstation")
+ (description
+ "Ardour is a multi-channel digital audio workstation, allowing users to
+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 azr3
+ (package
+ (name "azr3")
+ (version "1.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:make-flags
+ (list "LV2PEG=ttl2c"
+ (string-append "prefix=" %output)
+ (string-append "pkgdatadir=" %output "/share/azr3-jack"))))
+ (inputs
+ `(("gtkmm" ,gtkmm-2)
+ ("lvtk" ,lvtk)
+ ("jack" ,jack-1)
+ ("lash" ,lash)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://ll-plugins.nongnu.org/azr3/")
+ (synopsis "Tonewheel organ synthesizer")
+ (description
+ "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ
+with drawbars, distortion and rotating speakers. The organ has three
+sections, two polyphonic sections with nine drawbars each and one monophonic
+bass section with five drawbars. A standalone JACK application and LV2
+plugins are provided.")
+ (license license:gpl2)))
+
+(define-public freepats
+ (package
+ (name "freepats")
+ (version "20060219")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://freepats.zenvoid.org/freepats-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let ((out (string-append %output "/share/freepats")))
+ (setenv "PATH" (string-append
+ (assoc-ref %build-inputs "bzip2") "/bin:"
+ (assoc-ref %build-inputs "tar") "/bin"))
+ (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+ (chdir "freepats")
+ ;; Use absolute pattern references
+ (substitute* "freepats.cfg"
+ (("Tone_000") (string-append out "/Tone_000"))
+ (("Drum_000") (string-append out "/Drum_000")))
+ (mkdir-p out)
+ (copy-recursively "." out)))))
+ (native-inputs
+ `(("tar" ,tar)
+ ("bzip2" ,bzip2)))
+ (home-page "http://freepats.zenvoid.org")
+ (synopsis "GUS compatible patches for MIDI players")
+ (description
+ "FreePats is a project to create a free and open set of GUS compatible
+patches that can be used with softsynths such as Timidity and WildMidi.")
+ ;; GPLv2+ with exception for compositions using these patches.
+ (license license:gpl2+)))
+
(define-public jack-1
(package
(name "jack")
@@ -89,8 +253,14 @@ streams from live audio.")
"1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb"))))
(build-system gnu-build-system)
(inputs
- `(("bdb" ,bdb)
- ("libuuid" ,util-linux)))
+ `(("alsa-lib" ,alsa-lib)
+ ("bdb" ,bdb)
+ ("readline" ,readline)))
+ ;; uuid.h is included in the JACK type headers
+ (propagated-inputs
+ `(("libuuid" ,util-linux)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(home-page "http://jackaudio.org/")
(synopsis "JACK audio connection kit")
(description
@@ -106,7 +276,7 @@ synchronous execution of all clients, and low latency operation.")
(define-public jack-2
(package (inherit jack-1)
- (name "jack")
+ (name "jack2")
(version "1.9.10")
(source (origin
(method url-fetch)
@@ -134,6 +304,114 @@ synchronous execution of all clients, and low latency operation.")
;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
(license (list license:gpl2+ license:lgpl2.1+))))
+(define-public jalv
+ (package
+ (name "jalv")
+ (version "1.4.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/jalv-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (inputs
+ `(("lv2" ,lv2)
+ ("lilv" ,lilv)
+ ("suil" ,suil)
+ ("gtk" ,gtk+-2)
+ ("gtkmm" ,gtkmm-2)
+ ("qt" ,qt-4)
+ ("jack" ,jack-1)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/jalv/")
+ (synopsis "Simple LV2 host for JACK")
+ (description
+ "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
+plugins and exposes their ports as JACK ports, essentially making any LV2
+plugin function as a JACK application.")
+ (license license:isc)))
+
+(define-public ladspa
+ (package
+ (name "ladspa")
+ (version "1.13")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.ladspa.org/download/ladspa_sdk_"
+ version
+ ".tgz"))
+ (sha256
+ (base32
+ "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; the "test" target is a listening test only
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
+ (chdir "src")
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "makefile"
+ (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
+ (("/usr/include/") (string-append out "/include/"))
+ (("/usr/bin/") (string-append out "/bin/"))
+ (("-mkdirhier") "mkdir -p")
+ (("^CC.*") "CC = gcc\n")
+ (("^CPP.*") "CPP = g++\n"))))
+ (alist-delete 'build %standard-phases))))
+ (home-page "http://ladspa.org")
+ (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
+ (description
+ "LADSPA is a standard that allows software audio processors and effects
+to be plugged into a wide range of audio synthesis and recording packages.")
+ (license license:lgpl2.1+)))
+
+(define-public lash
+ (package
+ (name "lash")
+ (version "0.6.0-rc2")
+ (source (origin
+ (method url-fetch)
+ ;; The tilde is not permitted in the builder name, but is used
+ ;; in the tarball.
+ (uri (string-append
+ "mirror://savannah/lash/lash-"
+ (string-join (string-split version #\-) "~")
+ ".tar.bz2"))
+ (file-name (string-append name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("bdb" ,bdb)
+ ("gtk" ,gtk+-2)
+ ("jack" ,jack-1)
+ ("readline" ,readline)
+ ("python" ,python-2)))
+ ;; According to pkg-config, packages depending on lash also need to have
+ ;; at least the following packages declared as inputs.
+ (propagated-inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("dbus" ,dbus)
+ ("libxml2" ,libxml2)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://www.nongnu.org/lash/")
+ (synopsis "Audio application session manager")
+ (description
+ "LASH is a session management system for audio applications. It allows
+you to save and restore audio sessions consisting of multiple interconneced
+applications, restoring program state (i.e. loaded patches) and the
+connections between them.")
+ (license license:gpl2+)))
+
(define-public liblo
(package
(name "liblo")
@@ -158,3 +436,463 @@ synchronous execution of all clients, and low latency operation.")
"liblo is a lightweight library that provides an easy to use
implementation of the Open Sound Control (OSC) protocol.")
(license license:lgpl2.1+)))
+
+(define-public lilv
+ (package
+ (name "lilv")
+ (version "0.20.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/lilv-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ ;; required by lilv-0.pc
+ (propagated-inputs
+ `(("serd" ,serd)
+ ("sord" ,sord)
+ ("sratom" ,sratom)))
+ (inputs
+ `(("lv2" ,lv2)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/lilv/")
+ (synopsis "Library to simplify use of LV2 plugins in applications")
+ (description
+ "Lilv is a C library to make the use of LV2 plugins as simple as possible
+for applications. Lilv is the successor to SLV2, rewritten to be
+significantly faster and have minimal dependencies.")
+ (license license:isc)))
+
+(define-public lv2
+ (package
+ (name "lv2")
+ (version "1.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://lv2plug.in/spec/lv2-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:configure-flags '("--lv2-system")))
+ (inputs
+ ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
+ `(("libsndfile" ,libsndfile)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://lv2plug.in/")
+ (synopsis "LV2 audio plugin specification")
+ (description
+ "LV2 is an open specification for audio plugins and host applications.
+At its core, LV2 is a simple stable interface, accompanied by extensions which
+add functionality to support the needs of increasingly powerful audio
+software.")
+ (license license:isc)))
+
+(define-public lvtk
+ (package
+ (name "lvtk")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/lvtk/lvtk/archive/"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:python ,python-2
+ #:configure-flags
+ (list (string-append "--boost-includes="
+ (assoc-ref %build-inputs "boost")
+ "/include"))))
+ (inputs
+ `(("boost" ,boost)
+ ("lv2" ,lv2)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/lvtk/lvtk")
+ (synopsis "C++ libraries for LV2 plugins")
+ (description
+ "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
+extensions into easy to use C++ classes. It is the successor of
+lv2-c++-tools.")
+ (license license:gpl3+)))
+
+(define-public patchage
+ (package
+ (name "patchage")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/patchage-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("boost" ,boost)
+ ("jack" ,jack-1)
+ ("ganv" ,ganv)
+ ("glib" ,glib)
+ ("glibmm" ,glibmm)
+ ("gtkmm" ,gtkmm-2)
+ ("dbus" ,dbus)
+ ("dbus-glib" ,dbus-glib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/patchage/")
+ (synopsis "Modular patch bay for audio and MIDI systems")
+ (description
+ "Patchage is a modular patch bay for audio and MIDI systems based on JACK
+and ALSA.")
+ (license license:gpl3+)))
+
+(define-public rubberband
+ (package
+ (name "rubberband")
+ (version "1.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
+ (build-system gnu-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (inputs
+ `(("ladspa" ,ladspa)
+ ("libsamplerate" ,libsamplerate)
+ ("vamp" ,vamp)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://breakfastquay.com/rubberband/")
+ (synopsis "Audio time-stretching and pitch-shifting library")
+ (description
+ "Rubber Band is a library and utility program that permits changing the
+tempo and pitch of an audio recording independently of one another.")
+ (license license:gpl2+)))
+
+(define-public sratom
+ (package
+ (name "sratom")
+ (version "0.4.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/sratom-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (inputs
+ `(("lv2" ,lv2)
+ ("serd" ,serd)
+ ("sord" ,sord)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/sratom/")
+ (synopsis "Library for serialising LV2 atoms to/from RDF")
+ (description
+ "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
+the Turtle syntax.")
+ (license license:isc)))
+
+(define-public suil
+ (package
+ (name "suil")
+ (version "0.8.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/suil-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (inputs
+ `(("lv2" ,lv2)
+ ("gtk+-2" ,gtk+-2)
+ ("qt-4" ,qt-4)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/suil/")
+ (synopsis "Library for loading and wrapping LV2 plugin UIs")
+ (description
+ "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
+
+Suil makes it possible to load a UI of a toolkit in a host using another
+toolkit. The API is designed such that hosts do not need to explicitly
+support specific toolkits – if Suil supports a particular toolkit, then UIs in
+that toolkit will work in all hosts that use Suil automatically.
+
+Suil currently supports every combination of Gtk 2, Qt 4, and X11.")
+ (license license:isc)))
+
+(define-public timidity++
+ (package
+ (name "timidity++")
+ (version "2.14.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/timidity/TiMidity++-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex"
+ "--enable-ncurses"
+ "--enable-server"
+ "--enable-alsaseq"
+ (string-append "--with-default-path="
+ (assoc-ref %outputs "out") "/etc/timidity"))
+ #:phases
+ (alist-cons-after
+ 'install 'install-config
+ (lambda _
+ (let ((out (string-append (assoc-ref %outputs "out")
+ "/etc/timidity")))
+ (mkdir-p out)
+ (call-with-output-file
+ (string-append out "/timidity.cfg")
+ (lambda (port)
+ (format port (string-append "source "
+ (assoc-ref %build-inputs "freepats")
+ "/share/freepats/freepats.cfg"))))))
+ %standard-phases)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("ao" ,ao)
+ ("flac" ,flac)
+ ("jack" ,jack-1)
+ ("libogg" ,libogg)
+ ("speex" ,speex)
+ ("ncurses" ,ncurses)
+ ("freepats" ,freepats)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://timidity.sourceforge.net/")
+ (synopsis "Software synthesizer for playing MIDI files")
+ (description
+ "TiMidity++ is a software synthesizer. It can play MIDI files by
+converting them into PCM waveform data; give it a MIDI data along with digital
+instrument data files, then it synthesizes them in real-time, and plays. It
+can not only play sounds, but also can save the generated waveforms into hard
+disks as various audio file formats.")
+ (license license:gpl2+)))
+
+(define-public vamp
+ (package
+ (name "vamp")
+ (version "2.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://code.soundsoftware.ac.uk"
+ "/attachments/download/690/vamp-plugin-sdk-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ (alist-cons-after
+ 'install 'remove-libvamp-hostsdk.la
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
+ (for-each delete-file
+ (let ((out (assoc-ref outputs "out")))
+ (list (string-append out "/lib/libvamp-sdk.la")
+ (string-append out "/lib/libvamp-hostsdk.la"))))
+ #t)
+ %standard-phases)))
+ (inputs
+ `(("libsndfile" ,libsndfile)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://vamp-plugins.org")
+ (synopsis "Modular and extensible audio processing system")
+ (description
+ "Vamp is an audio processing plugin system for plugins that extract
+descriptive information from audio data — typically referred to as audio
+analysis plugins or audio feature extraction plugins.")
+ (license
+ (license:x11-style
+ "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
+
+(define-public libsbsms
+ (package
+ (name "libsbsms")
+ (version "2.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version
+ "/libsbsms-" version ".tar.gz"))
+ (sha256
+ (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("automake" ,automake)))
+ (arguments
+ `(#:phases
+ (alist-cons-after
+ 'unpack 'fix-ar-lib-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
+ (delete-file "ar-lib")
+ (symlink
+ (string-append (assoc-ref inputs "automake") "/share/automake-"
+ ,(package-version automake) "/ar-lib")
+ "ar-lib"))
+ %standard-phases)))
+ (home-page "http://sbsms.sourceforge.net/")
+ (synopsis "Library for time stretching and pitch scaling of audio")
+ (description
+ "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time
+stretching and pitch scaling of audio. This package contains the library.")
+ ;; There is no explicit declaration of a license, but a COPYING file
+ ;; containing gpl2.
+ (license license:gpl2)))
+
+(define-public soundtouch
+ (package
+ (name "soundtouch")
+ (version "1.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
+ (sha256
+ (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("file" ,file)))
+ (arguments
+ '(#:phases
+ (alist-cons-before
+ 'configure 'bootstrap
+ (lambda _
+ (unless (zero? (system* "sh" "bootstrap"))
+ (error "bootstrap failed"))
+ (substitute* '("configure")
+ (("/usr/bin/file") "file")))
+ %standard-phases)))
+ (home-page "http://www.surina.net/soundtouch/")
+ (synopsis
+ "Audio processing library for changing tempo, pitch and playback rate")
+ (description
+ "SoundTouch is an audio processing library for changing the tempo, pitch
+and playback rates of audio streams or audio files. It is intended for
+application developers writing sound processing tools that require tempo/pitch
+control functionality, or just for playing around with the sound effects.")
+ (license license:lgpl2.1+)))
+
+(define-public soxr
+ (package
+ (name "soxr")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://sourceforge/soxr/soxr-" version
+ "-Source.tar.xz"))
+ (sha256
+ (base32 "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw"))))
+ (build-system cmake-build-system)
+ (arguments '(#:tests? #f)) ;no 'check' target
+ (home-page "http://sourceforge.net/p/soxr/wiki/Home/")
+ (synopsis "One-dimensional sample-rate conversion library")
+ (description
+ "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate
+conversion. It may be used, for example, to resample PCM-encoded audio.")
+ (license license:lgpl2.1+)))
+
+(define-public twolame
+ (package
+ (name "twolame")
+ (version "0.3.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/twolame/twolame-" version ".tar.gz"))
+ (sha256
+ (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libsndfile" ,libsndfile)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("which" ,which))) ;used in tests/test.pl
+ (home-page "http://www.twolame.org/")
+ (synopsis "MPEG Audio Layer 2 (MP2) encoder")
+ (description
+ "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
+tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and
+portions of LAME.")
+ (license license:lgpl2.1+)))
+
+(define-public portaudio
+ (package
+ (name "portaudio")
+ (version "19.20140130")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.portaudio.com/archives/pa_stable_v"
+ (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
+ ".tgz"))
+ (sha256
+ (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))))
+ (build-system gnu-build-system)
+ (inputs
+ ;; TODO: Add ASIHPI.
+ `(("alsa-lib" ,alsa-lib)
+ ("jack" ,jack-2)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (arguments '(#:tests? #f)) ;no 'check' target
+ (home-page "http://www.portaudio.com/")
+ (synopsis "Audio I/O library")
+ (description
+ "PortAudio is a portable C/C++ audio I/O library providing a simple API
+to record and/or play sound using a callback function or a blocking read/write
+interface.")
+ (license license:expat)))
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index cd87508d0c..517df32382 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -97,7 +97,7 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
;; The Avahi daemon socket is expected by src/Makefile.am to be at
;; "$(localstatedir)/run/avahi-daemon/socket", so set $(localstatedir)
;; appropriately.
- '(#:configure-flags '("--localstatedir=/")))
+ '(#:configure-flags '("--localstatedir=/var")))
;; XXX: Stale URL, missing replacement. See <http://bugs.gnu.org/18704>.
(home-page "http://0pointer.de/lennart/projects/nss-mdns/")
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 698a6b6e03..13b1a1060f 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -29,6 +29,7 @@
#:use-module (gnu packages ed)
#:use-module (gnu packages guile)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages perl)
#:use-module (gnu packages linux)
#:use-module (gnu packages texinfo)
@@ -36,7 +37,8 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial))
;;; Commentary:
;;;
@@ -537,9 +539,50 @@ the 'share/locale' sub-directory of this package.")
(alist-delete 'install ,phases)))
((#:configure-flags flags)
`(append ,flags
+ ;; Use $(libdir)/locale as is the case by default.
(list (string-append "libc_cv_localedir="
(assoc-ref %outputs "out")
- "/share/locale")))))))))
+ "/lib/locale")))))))))
+
+(define-public glibc-utf8-locales
+ (package
+ (name "glibc-utf8-locales")
+ (version (package-version glibc))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (srfi srfi-1)
+ (guix build utils))
+
+ (let* ((libc (assoc-ref %build-inputs "glibc"))
+ (gzip (assoc-ref %build-inputs "gzip"))
+ (out (assoc-ref %outputs "out"))
+ (localedir (string-append out "/lib/locale")))
+ ;; 'localedef' needs 'gzip'.
+ (setenv "PATH" (string-append libc "/bin:" gzip "/bin"))
+
+ (mkdir-p localedir)
+ (every (lambda (locale)
+ (zero? (system* "localedef" "--no-archive"
+ "--prefix" localedir "-i" locale
+ "-f" "UTF-8"
+ (string-append localedir "/"
+ locale
+ ".UTF-8"))))
+
+ ;; These are the locales commonly used for
+ ;; tests---e.g., in Guile's i18n tests.
+ '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR"))))))
+ (inputs `(("glibc" ,glibc)
+ ("gzip" ,gzip)))
+ (synopsis "Small sample of UTF-8 locales")
+ (description
+ "This package provides a small sample of UTF-8 locales mostly useful in
+test environments.")
+ (home-page (package-home-page glibc))
+ (license (package-license glibc))))
(define-public tzdata
(package
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 1766855c93..b64dab73cd 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -22,6 +22,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages base)
@@ -34,6 +35,63 @@
#:use-module (gnu packages vim)
#:use-module (gnu packages zip))
+(define-public bedops
+ (package
+ (name "bedops")
+ (version "2.4.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/bedops/bedops/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0wmg6j0icimlrnsidaxrzf3hfgjvlkkcwvpdg7n4gg7hdv2m9ni5"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f
+ #:make-flags (list (string-append "BINDIR=" %output "/bin"))
+ #:phases
+ (alist-cons-after
+ 'unpack 'unpack-tarballs
+ (lambda _
+ ;; FIXME: Bedops includes tarballs of minimally patched upstream
+ ;; libraries jansson, zlib, and bzip2. We cannot just use stock
+ ;; libraries because at least one of the libraries (zlib) is
+ ;; patched to add a C++ function definition (deflateInit2cpp).
+ ;; Until the Bedops developers offer a way to link against system
+ ;; libraries we have to build the in-tree copies of these three
+ ;; libraries.
+
+ ;; See upstream discussion:
+ ;; https://github.com/bedops/bedops/issues/124
+
+ ;; Unpack the tarballs to benefit from shebang patching.
+ (with-directory-excursion "third-party"
+ (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2"))
+ (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2"))
+ (zero? (system* "tar" "xvf" "bzip2-1.0.6.tar.bz2"))))
+ ;; Disable unpacking of tarballs in Makefile.
+ (substitute* "system.mk/Makefile.linux"
+ (("^\tbzcat .*") "\t@echo \"not unpacking\"\n")
+ (("\\./configure") "CONFIG_SHELL=bash ./configure"))
+ (substitute* "third-party/zlib-1.2.7/Makefile.in"
+ (("^SHELL=.*$") "SHELL=bash\n")))
+ (alist-delete 'configure %standard-phases))))
+ (home-page "https://github.com/bedops/bedops")
+ (synopsis "Tools for high-performance genomic feature operations")
+ (description
+ "BEDOPS is a suite of tools to address common questions raised in genomic
+studies---mostly with regard to overlap and proximity relationships between
+data sets. It aims to be scalable and flexible, facilitating the efficient
+and accurate analysis and management of large-scale genomic data.
+
+BEDOPS provides tools that perform highly efficient and scalable Boolean and
+other set operations, statistical calculations, archiving, conversion and
+other management of genomic data of arbitrary scale. Tasks can be easily
+split by chromosome for distributing whole-genome analyses across a
+computational cluster.")
+ (license license:gpl2+)))
+
(define-public bedtools
(package
(name "bedtools")
@@ -197,8 +255,15 @@ Illumina, Roche 454, and the SOLiD platform.")
"1k381ydranqxp09yf2y7w1d0chz5d59vb6jchi89hbb0prq19lk5"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ;no check target
- #:make-flags '("allall")
+ `(#:tests? #f ;no check target
+ #:make-flags '("allall"
+ ;; Disable unsupported `popcnt' instructions on
+ ;; architectures other than x86_64
+ ,@(if (string-prefix? "x86_64"
+ (or (%current-target-system)
+ (%current-system)))
+ '()
+ '("POPCNT_CAPABILITY=0")))
#:phases
(alist-replace
'unpack
@@ -246,6 +311,73 @@ several alignment strategies enable effective alignment of RNA-seq reads, in
particular, reads spanning multiple exons.")
(license license:gpl3+)))
+(define-public htseq
+ (package
+ (name "htseq")
+ (version "0.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/H/HTSeq/HTSeq-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1i85ppf2j2lj12m0x690qq5nn17xxk23pbbx2c83r8ayb5wngzwv"))))
+ (build-system python-build-system)
+ (arguments `(#:python ,python-2)) ; only Python 2 is supported
+ (inputs
+ `(("python-numpy" ,python2-numpy)
+ ("python-setuptools" ,python2-setuptools)))
+ (home-page "http://www-huber.embl.de/users/anders/HTSeq/")
+ (synopsis "Analysing high-throughput sequencing data with Python")
+ (description
+ "HTSeq is a Python package that provides infrastructure to process data
+from high-throughput sequencing assays.")
+ (license license:gpl3+)))
+
+(define-public rseqc
+ (package
+ (name "rseqc")
+ (version "2.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://sourceforge/rseqc/"
+ version "/RSeQC-" version ".tar.gz"))
+ (sha256
+ (base32 "09rf0x9d6apjja5l01cgprj7vigpw6kiqhy34ibwwlxil0db0ri4"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; remove bundled copy of pysam
+ (delete-file-recursively "lib/pysam")
+ (substitute* "setup.py"
+ ;; remove dependency on outdated "distribute" module
+ (("^from distribute_setup import use_setuptools") "")
+ (("^use_setuptools\\(\\)") "")
+ ;; do not use bundled copy of pysam
+ (("^have_pysam = False") "have_pysam = True"))))))
+ (build-system python-build-system)
+ (arguments `(#:python ,python-2))
+ (inputs
+ `(("python-cython" ,python2-cython)
+ ("python-pysam" ,python2-pysam)
+ ("python-numpy" ,python2-numpy)
+ ("python-setuptools" ,python2-setuptools)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("python-nose" ,python2-nose)))
+ (home-page "http://rseqc.sourceforge.net/")
+ (synopsis "RNA-seq quality control package")
+ (description
+ "RSeQC provides a number of modules that can comprehensively evaluate
+high throughput sequence data, especially RNA-seq data. Some basic modules
+inspect sequence quality, nucleotide composition bias, PCR bias and GC bias,
+while RNA-seq specific modules evaluate sequencing saturation, mapped reads
+distribution, coverage uniformity, strand specificity, etc.")
+ (license license:gpl3+)))
+
(define-public samtools
(package
(name "samtools")
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
new file mode 100644
index 0000000000..ab46143202
--- /dev/null
+++ b/gnu/packages/certs.scm
@@ -0,0 +1,118 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages certs)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages gnuzilla)
+ #:use-module (gnu packages openssl)
+ #:use-module (gnu packages python))
+
+(define certdata2pem
+ (package
+ (name "certdata2pem")
+ (version "2013")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/plain/certdata2pem.py?id=053dde8a2f5901e97028a58bf54e7d0ef8095a54")
+ (sha256
+ (base32
+ "0zscrm41gnsf14zvlkxhy00h3dmgidyz645ldpda3y3vabnwv8dx"))))
+ (build-system trivial-build-system)
+ (inputs
+ `(("python" ,python-2)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((bin (string-append %output "/bin")))
+ (copy-file (assoc-ref %build-inputs "source") "certdata2pem.py")
+ (chmod "certdata2pem.py" #o555)
+ (substitute* "certdata2pem.py"
+ (("/usr/bin/python")
+ (string-append (assoc-ref %build-inputs "python")
+ "/bin/python"))
+ ;; Use the file extension .pem instead of .crt.
+ (("crt") "pem"))
+ (mkdir-p bin)
+ (copy-file "certdata2pem.py"
+ (string-append bin "/certdata2pem.py"))))))
+ (synopsis "Python script to extract .pem data from certificate collection")
+ (description
+ "certdata2pem.py is a Python script to transform X.509 certificate
+\"source code\" as contained, for example, in the Mozilla sources, into
+.pem formatted certificates.")
+ (license license:gpl2+)
+ (home-page "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/")))
+
+(define-public nss-certs
+ (package (inherit nss) ; to reuse the source, version and some metadata
+ (name "nss-certs")
+ (build-system gnu-build-system)
+ (outputs '("out"))
+ (native-inputs
+ `(("certdata2pem" ,certdata2pem)
+ ("openssl" ,openssl)))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:imported-modules ((guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (alist-cons-after
+ 'unpack 'install
+ (lambda _
+ (let ((certsdir (string-append %output "/etc/ssl/certs/")))
+ (mkdir-p certsdir)
+ (with-directory-excursion "nss/lib/ckfw/builtins/"
+ ;; extract single certificates from blob
+ (system* "certdata2pem.py" "certdata.txt")
+ ;; copy the .pem files into the output
+ (for-each
+ (lambda (file)
+ (copy-file file (string-append certsdir file)))
+ ;; FIXME: Some of the file names are UTF8 (?) and cause an
+ ;; error message such as
+ ;; find-files:
+ ;; ./EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??:2.8.76.175.115.66.28.142.116.2.pem:
+ ;; No such file or directory
+ (find-files "." ".*\\.pem")))
+ (with-directory-excursion certsdir
+ ;; create symbolic links for and by openssl
+ ;; Strangely, the call (system* "c_rehash" certsdir)
+ ;; from inside the build dir fails with
+ ;; "Usage error; try -help."
+ ;; This looks like a bug in openssl-1.0.2, but we can also
+ ;; switch into the target directory.
+ (system* "c_rehash" "."))))
+ (map (cut assq <> %standard-phases)
+ '(set-paths unpack)))))
+ (synopsis "CA certificates from Mozilla")
+ (description
+ "This package provides certificates for Certification Authorities (CA)
+taken from the NSS package and thus ultimately from the Mozilla project.")))
diff --git a/gnu/packages/complexity.scm b/gnu/packages/complexity.scm
index 5216b7e39c..f0cd11e245 100644
--- a/gnu/packages/complexity.scm
+++ b/gnu/packages/complexity.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,14 +28,14 @@
(define-public complexity
(package
(name "complexity")
- (version "1.1")
+ (version "1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/complexity/complexity-"
version ".tar.gz"))
(sha256
(base32
- "1aad7n35ymxbj5dlpvm64dcd71b6i7hbmps0g7nkf47vj53l6y2j"))))
+ "0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d"))))
(build-system gnu-build-system)
(native-inputs
`(("texinfo" ,texinfo)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index cda1984f6a..47a0361488 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -324,3 +325,21 @@ processed by a Bourne-type shell to unpack the original collection of files.
This package is mostly for compatibility and historical interest.")
(license license:gpl3+)))
+(define-public libmspack
+ (package
+ (name "libmspack")
+ (version "0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.cabextract.org.uk/libmspack/libmspack-"
+ version "alpha.tar.gz"))
+ (sha256
+ (base32 "04413hynb7zizxnkgy9riik3612dwirkpr6fcjrnfl2za9sz4rw9"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.cabextract.org.uk/libmspack/")
+ (synopsis "Compression tools for some formats used by Microsoft")
+ (description
+ "The purpose of libmspack is to provide both compression and
+decompression of some loosely related file formats used by Microsoft.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index f34966c762..e4d609aaf2 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -20,7 +20,8 @@
#:use-module ((guix licenses) #:select (lgpl2.1+))
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages))
(define-public chmlib
(package
@@ -32,7 +33,8 @@
version ".tar.bz2"))
(sha256
(base32
- "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l"))))
+ "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l"))
+ (patches (list (search-patch "chmlib-inttypes.patch")))))
(build-system gnu-build-system)
(home-page "http://www.jedrea.com/chmlib/")
(synopsis "Library for CHM files")
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
new file mode 100644
index 0000000000..0ee639d20a
--- /dev/null
+++ b/gnu/packages/freedesktop.scm
@@ -0,0 +1,46 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages freedesktop)
+ #:use-module ((guix licenses) #:select (expat))
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public xdg-utils
+ (package
+ (name "xdg-utils")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://portland.freedesktop.org/download/xdg-utils-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "1b019d3r1379b60p33d6z44kx589xjgga62ijz9vha95dg8vgbi1"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f)) ; no check target
+ (home-page "http://portland.freedesktop.org/")
+ (synopsis "Freedesktop.org scripts for desktop integration")
+ (description "The xdg-utils package is a set of simple scripts that
+provide basic desktop integration functions in the framework of the
+freedesktop.org project.")
+ (license expat))) \ No newline at end of file
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index c5649812c0..f002122bb6 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,10 +18,11 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ftp)
- #:use-module ((guix licenses) #:select (gpl3+ clarified-artistic))
- #:use-module (guix packages)
- #:use-module (guix download)
+ #:use-module ((guix licenses) #:select (gpl2+ gpl3+ clarified-artistic))
#:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages pkg-config)
@@ -103,3 +105,41 @@ File Transfer Protocol (FTP) servers. This includes 'ncftp', an interactive
FTP browser, as well as non-interactive commands such as 'ncftpput' and
'ncftpget'.")
(license clarified-artistic)))
+
+
+(define-public weex
+ (package
+ (name "weex")
+ (version "2.6.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://sourceforge/weex/weex/" version
+ "/weex-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0f5cj5p852wkm24mzy2sxgxyahv2p9rk4wlq21j310pi7wlhgwyl"))
+ (patches (list (search-patch "weex-vacopy.patch")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (alist-replace 'configure
+ ;; configure does not work followed by both "SHELL=..." and
+ ;; "CONFIG_SHELL=..."; set environment variables instead
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bash (which "bash")))
+ (setenv "SHELL" bash)
+ (setenv "CONFIG_SHELL" bash)
+ (zero? (system* bash "./configure"
+ (string-append "--prefix=" out)))))
+ %standard-phases)))
+ (home-page "http://weex.sourceforge.net/")
+ (synopsis "Non-interactive client for FTP synchronization")
+ (description
+ "Weex is a utility designed to automate the task of remotely
+maintaining a web page or other FTP archive. It synchronizes a set of
+local files to a remote server by performing uploads and remote deletes
+as required.")
+ (license gpl2+)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a9c4d6bd11..789a02e577 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7,6 +7,8 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -398,7 +400,7 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n"
(define-public xboard
(package
(name "xboard")
- (version "4.7.3")
+ (version "4.8.0")
(source
(origin
(method url-fetch)
@@ -406,17 +408,8 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n"
".tar.gz"))
(sha256
(base32
- "1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z"))))
+ "05rdj0nyirc4g1qi5hhrjy45y52ihp1j3ldq2c5bwrz0gzy4i3y8"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases
- (alist-cons-before
- 'configure 'pre-conf
- ;; This is GNU. So use gnuchess as the first choice of engine
- (lambda _
- (substitute* "xboard.conf.in"
- (("-firstChessProgram fairymax") "-firstChessProgram gnuchess")))
- %standard-phases)))
(inputs `(("cairo" ,cairo)
("librsvg" ,librsvg)
("libxt" ,libxt)
@@ -842,3 +835,27 @@ straight into any libretro-compatible frontend. RetroArch is the official
reference frontend for the libretro API, currently used by most as a modular
multi-system game/emulator system.")
(license license:gpl3+)))
+
+(define-public gnugo
+ (package
+ (name "gnugo")
+ (version "3.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gnugo/gnugo-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s"))))
+ (build-system gnu-build-system)
+ (inputs `(("readline" ,readline)))
+ (synopsis "Play the game of Go")
+ (description "GNU Go is a program that plays the game of Go, in which
+players place stones on a grid to form territory or capture other stones.
+While it can be played directly from the terminal, rendered in ASCII
+characters, it is also possible to play GNU Go with 3rd party graphical
+interfaces or even in Emacs. It supports the standard game storage format
+(SGF, Smart Game Format) and inter-process communication format (GMP, Go
+Modem Protocol).")
+ (home-page "http://www.gnu.org/software/gnugo/")
+ (license license:gpl3+)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 73fb7f50dc..52be520df5 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -995,6 +995,28 @@ high-quality vector-based 2D library with antialiasing and alpha composition.")
creating interactive structured graphics.")
(license license:lgpl2.0+)))
+(define-public libgnomecanvasmm
+ (package
+ (name "libgnomecanvasmm")
+ (version "2.26.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
+ (build-system gnu-build-system)
+ (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
+ (native-inputs
+ `(("gtkmm-2" ,gtkmm-2)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://gtkmm.org")
+ (synopsis "C++ bindings to the GNOME Canvas library")
+ (description "C++ bindings to the GNOME Canvas library.")
+ (license license:lgpl2.0+)))
+
(define-public libgnomeui
(package
(name "libgnomeui")
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index a1a0bf040d..335cfd1983 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@@ -122,15 +122,15 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
- (version "3.17.3")
+ (version "3.17.4")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/"
- "releases/NSS_3_17_3_RTM/src/nss-3.17.3.tar.gz"))
+ "releases/NSS_3_17_4_RTM/src/nss-3.17.4.tar.gz"))
(sha256
(base32
- "1m91z80x4zh1mxgf53bl33lp43gn1wxxx0y26mgz511gb81ykmgl"))
+ "0ycxzybgn4bq0i6j5zjdjl70n3s8a742yixyik4pw8x4h4cav60x"))
;; Create nss.pc and nss-config.
(patches (list (search-patch "nss-pkgconfig.patch")))))
(build-system gnu-build-system)
@@ -224,7 +224,25 @@ standards.")
version "/" name "-" version ".tar.bz2"))
(sha256
(base32
- "0q5ilgfybcrbwf9hq9zc1cpnlhq1pddnnjmdrxrcrrg8lgx5kkc2"))))
+ "0q5ilgfybcrbwf9hq9zc1cpnlhq1pddnnjmdrxrcrrg8lgx5kkc2"))
+ (patches (map search-patch
+ '("icecat-CVE-2015-0822.patch"
+ "icecat-CVE-2015-0827-pt-1.patch"
+ "icecat-CVE-2015-0827-pt-2.patch"
+ "icecat-CVE-2015-0827-pt-3.patch"
+ "icecat-CVE-2015-0831-pt-1.patch"
+ "icecat-CVE-2015-0831-pt-2.patch"
+ "icecat-CVE-2015-0836-pt-01.patch"
+ "icecat-CVE-2015-0836-pt-02.patch"
+ "icecat-CVE-2015-0836-pt-03.patch"
+ "icecat-CVE-2015-0836-pt-04.patch"
+ "icecat-CVE-2015-0836-pt-05.patch"
+ "icecat-CVE-2015-0836-pt-06.patch"
+ "icecat-CVE-2015-0836-pt-07.patch"
+ "icecat-CVE-2015-0836-pt-08.patch"
+ "icecat-CVE-2015-0836-pt-09.patch"
+ "icecat-CVE-2015-0836-pt-10.patch"
+ "icecat-CVE-2015-0836-pt-11.patch")))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 55d2a198eb..c5ccfc271b 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -22,6 +22,9 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages boost))
@@ -63,3 +66,89 @@ many more.")
;; The 'LICENSE' file explains that a subset is available under more
;; permissive licenses.
(license license:gpl3+)))
+
+(define-public ilmbase
+ (package
+ (name "ilmbase")
+ (version "2.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/openexr/ilmbase-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1izddjwbh1grs8080vmaix72z469qy29wrvkphgmqmcm0sv1by7c"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.openexr.com/")
+ (synopsis "Utility C++ libraries for threads, maths, and exceptions")
+ (description
+ "IlmBase provides several utility libraries for C++. Half is a class
+that encapsulates ILM's 16-bit floating-point format. IlmThread is a thread
+abstraction. Imath implements 2D and 3D vectors, 3x3 and 4x4 matrices,
+quaternions and other useful 2D and 3D math functions. Iex is an
+exception-handling library.")
+ (license license:bsd-3)))
+
+(define-public openexr
+ (package
+ (name "openexr")
+ (version "2.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/openexr/openexr-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ca2j526n4wlamrxb85y2jrgcv0gf21b3a19rr0gh4rjqkv1581n"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* (find-files "." "tmpDir\\.h")
+ (("\"/var/tmp/\"")
+ "\"/tmp/\"")))
+ (patches (list (search-patch "openexr-missing-samples.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("ilmbase" ,ilmbase) ;used in public headers
+ ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz"
+ (home-page "http://www.openexr.com")
+ (synopsis "High-dynamic range file format library")
+ (description
+ "OpenEXR is a high dynamic-range (HDR) image file format developed for
+use in computer imaging applications. The IlmImf C++ libraries support
+storage of the \"EXR\" file format for storing 16-bit floating-point images.")
+ (license license:bsd-3)))
+
+(define-public ctl
+ (package
+ (name "ctl")
+ (version "1.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ampas/CTL/archive/ctl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1gg04pyvw0m398akn0s1l07g5b1haqv5na1wpi5dii1jjd1w3ynp"))))
+ (build-system cmake-build-system)
+ (arguments '(#:tests? #f)) ;no 'test' target
+
+ ;; Headers include OpenEXR and IlmBase headers.
+ (propagated-inputs `(("openexr" ,openexr)))
+
+ (home-page "http://ampasctl.sourceforge.net")
+ (synopsis "Color Transformation Language")
+ (description
+ "The Color Transformation Language, or CTL, is a small programming
+language that was designed to serve as a building block for digital color
+management systems. CTL allows users to describe color transforms in a
+concise and unambiguous way by expressing them as programs. In order to apply
+a given transform to an image, the color management system instructs a CTL
+interpreter to load and run the CTL program that describes the transform. The
+original and the transformed image constitute the CTL program's input and
+output.")
+
+ ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file
+ ;; and headers use different wording.
+ (license (license:bsd-style "file://LICENSE"))))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index da39047196..a5022ba116 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -27,6 +27,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system waf)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
@@ -209,6 +210,33 @@ longer provided by recent pango releases. pangox-compat provides the
functions which were removed.")
(license license:lgpl2.0+)))
+(define-public ganv
+ (package
+ (name "ganv")
+ (version "1.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/ganv-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (inputs
+ `(("gtk" ,gtk+-2)
+ ("gtkmm" ,gtkmm-2)))
+ (native-inputs
+ `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/ganv/")
+ (synopsis "GTK+ widget for interactive graph-like environments")
+ (description
+ "Ganv is an interactive GTK+ widget for interactive “boxes and lines” or
+graph-like environments, e.g. modular synths or finite state machine
+diagrams.")
+ (license license:gpl3+)))
(define-public gtksourceview
(package
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 4a86f63bdb..c486742c14 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -48,6 +48,58 @@
#:use-module (gnu packages zip)
#:use-module (gnu packages texinfo))
+(define-public ant
+ (package
+ (name "ant")
+ (version "1.9.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.apache.org/dist/ant/source/apache-ant-"
+ version "-src.tar.gz"))
+ (sha256
+ (base32
+ "09kf5s1ir0rdrclsy174bsvbdcbajza9fja490w4mmvcpkw3zpak"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (alist-cons-after
+ 'unpack 'remove-scripts
+ ;; Remove bat / cmd scripts for DOS as well as the antRun and runant
+ ;; wrappers.
+ (lambda _
+ (for-each delete-file
+ (find-files "src/script"
+ "(.*\\.(bat|cmd)|runant.*|antRun.*)")))
+ (alist-replace
+ 'build
+ (lambda _
+ (setenv "JAVA_HOME"
+ (assoc-ref %build-inputs "icedtea6"))
+ ;; Disable tests to avoid dependency on hamcrest-core, which needs
+ ;; Ant to build. This is necessary in addition to disabling the
+ ;; "check" phase, because the dependency on "test-jar" would always
+ ;; result in the tests to be run.
+ (substitute* "build.xml"
+ (("depends=\"jars,test-jar\"") "depends=\"jars\""))
+ (zero? (system* "bash" "bootstrap.sh"
+ (string-append "-Ddist.dir="
+ (assoc-ref %outputs "out")))))
+ (alist-delete
+ 'configure
+ (alist-delete 'install %standard-phases))))))
+ (native-inputs
+ `(("icedtea6" ,icedtea6)))
+ (home-page "http://ant.apache.org")
+ (synopsis "Build tool for Java")
+ (description
+ "Ant is a platform-independent build tool for Java. It is similar to
+make but is implemented using the Java language, requires the Java platform,
+and is best suited to building Java projects. Ant uses XML to describe the
+build process and its dependencies, whereas Make uses Makefile format.")
+ (license license:asl2.0)))
+
(define-public icedtea6
(package
(name "icedtea6")
diff --git a/gnu/packages/libffcall.scm b/gnu/packages/libffcall.scm
index 010c22e38c..74d6b6347f 100644
--- a/gnu/packages/libffcall.scm
+++ b/gnu/packages/libffcall.scm
@@ -41,7 +41,7 @@
"1lwdskc2w4rr98x9flr2726lmj4190l16r0izg7gqxy50801wwgd"))))
(build-system gnu-build-system)
(arguments `(#:parallel-build? #f))
- (synopsis "Foreign function call libraries")
+ (synopsis "Foreign function calls from interpreters")
(description
"GNU Libffcall is a collection of libraries that can be used to build
foreign function call interfaces in embedded interpreters.")
diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf
index 2274ea2879..3c82b91614 100644
--- a/gnu/packages/linux-libre-i686.conf
+++ b/gnu/packages/linux-libre-i686.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.19.0-gnu Kernel Configuration
+# Linux/x86 3.18.4-gnu Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -88,7 +88,6 @@ CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
-CONFIG_GENERIC_MSI_IRQ=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
@@ -128,6 +127,7 @@ CONFIG_TASK_IO_ACCOUNTING=y
# RCU Subsystem
#
CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=32
@@ -148,7 +148,7 @@ CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
-CONFIG_PAGE_COUNTER=y
+CONFIG_RESOURCE_COUNTERS=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
# CONFIG_MEMCG_SWAP_ENABLED is not set
@@ -179,7 +179,6 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
-CONFIG_INIT_FALLBACK=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
@@ -283,7 +282,6 @@ CONFIG_OLD_SIGACTION=y
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
-CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@@ -295,11 +293,6 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_MODULE_SIG is not set
-# CONFIG_MODULE_SIG_SHA1 is not set
-# CONFIG_MODULE_SIG_SHA224 is not set
-# CONFIG_MODULE_SIG_SHA256 is not set
-# CONFIG_MODULE_SIG_SHA384 is not set
-# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_COMPRESS is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
@@ -457,7 +450,6 @@ CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
-CONFIG_X86_UP_APIC_MSI=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
@@ -553,7 +545,6 @@ CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
-# CONFIG_X86_INTEL_MPX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_SECCOMP=y
@@ -594,6 +585,7 @@ CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
@@ -642,7 +634,6 @@ CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_EINJ=m
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
CONFIG_ACPI_EXTLOG=m
-# CONFIG_PMIC_OPREGION is not set
CONFIG_SFI=y
CONFIG_X86_APM_BOOT=y
CONFIG_APM=m
@@ -671,7 +662,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
#
-# CPU frequency scaling drivers
+# x86 CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=y
@@ -743,6 +734,7 @@ CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
#
@@ -864,7 +856,6 @@ CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
-CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_GENEVE=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
@@ -976,7 +967,6 @@ CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_REDIRECT=m
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=m
@@ -989,7 +979,6 @@ CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
-CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
@@ -1158,7 +1147,6 @@ CONFIG_NF_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
-CONFIG_NFT_REDIR_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
@@ -1199,7 +1187,6 @@ CONFIG_NF_NAT_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_NAT_MASQUERADE_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
-CONFIG_NFT_REDIR_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1299,7 +1286,6 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
-CONFIG_NET_DSA_HWMON=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
@@ -1395,7 +1381,6 @@ CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
-CONFIG_NET_ACT_VLAN=m
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
@@ -1407,16 +1392,15 @@ CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_GRE=m
-CONFIG_OPENVSWITCH_VXLAN=m
-CONFIG_OPENVSWITCH_GENEVE=m
+CONFIG_OPENVSWITCH_GRE=y
+CONFIG_OPENVSWITCH_VXLAN=y
+CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_NETLINK_MMAP=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_HSR=m
-# CONFIG_NET_SWITCHDEV is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
@@ -1565,7 +1549,7 @@ CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
CONFIG_BT=m
-CONFIG_BT_BREDR=y
+CONFIG_BT_6LOWPAN=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
@@ -1573,8 +1557,6 @@ CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
-CONFIG_BT_LE=y
-CONFIG_BT_6LOWPAN=m
#
# Bluetooth device drivers
@@ -1627,7 +1609,6 @@ CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_MINSTREL_VHT=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
@@ -1679,8 +1660,7 @@ CONFIG_NFC_MRVL=m
CONFIG_NFC_MRVL_USB=m
CONFIG_NFC_ST21NFCA=m
CONFIG_NFC_ST21NFCA_I2C=m
-CONFIG_NFC_ST21NFCB=m
-CONFIG_NFC_ST21NFCB_I2C=m
+# CONFIG_NFC_ST21NFCB is not set
#
# Device Drivers
@@ -1700,9 +1680,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
-CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
-CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
@@ -1711,7 +1689,6 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
-CONFIG_REGMAP_SPMI=m
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
@@ -2173,7 +2150,7 @@ CONFIG_SCSI_LPFC=m
CONFIG_SCSI_SIM710=m
CONFIG_SCSI_SYM53C416=m
CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_AM53C974=m
+CONFIG_SCSI_DC390T=m
CONFIG_SCSI_T128=m
CONFIG_SCSI_U14_34F=m
CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
@@ -2181,7 +2158,6 @@ CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
-CONFIG_SCSI_WD719X=m
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
@@ -2398,7 +2374,6 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
-CONFIG_IPVLAN=m
CONFIG_VXLAN=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
@@ -2478,7 +2453,6 @@ CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=m
CONFIG_NET_DSA_MV88E6123_61_65=m
CONFIG_NET_DSA_MV88E6171=m
-CONFIG_NET_DSA_MV88E6352=m
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_ETHERNET=y
CONFIG_MDIO=m
@@ -2516,7 +2490,6 @@ CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
-CONFIG_BCMGENET=m
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
@@ -2583,7 +2556,7 @@ CONFIG_IXGBEVF=m
CONFIG_I40E=m
CONFIG_I40E_VXLAN=y
CONFIG_I40E_DCB=y
-CONFIG_I40E_FCOE=y
+# CONFIG_I40E_FCOE is not set
CONFIG_I40EVF=m
CONFIG_FM10K=m
CONFIG_FM10K_VXLAN=y
@@ -2655,7 +2628,6 @@ CONFIG_8139TOO_8129=y
CONFIG_R8169=m
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
-CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SAMSUNG=y
CONFIG_SXGBE_ETH=m
CONFIG_NET_VENDOR_SEEQ=y
@@ -2677,8 +2649,10 @@ CONFIG_SMSC911X=m
CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_PLATFORM=m
+CONFIG_STMMAC_PLATFORM=y
# CONFIG_STMMAC_PCI is not set
+# CONFIG_STMMAC_DEBUG_FS is not set
+# CONFIG_STMMAC_DA is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
@@ -2833,7 +2807,6 @@ CONFIG_ATH9K_STATION_STATISTICS=y
CONFIG_ATH9K_WOW=y
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
-CONFIG_ATH9K_PCOEM=y
CONFIG_ATH9K_HTC=m
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_CARL9170=m
@@ -2920,7 +2893,7 @@ CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
-# CONFIG_IWLWIFI_UAPSD is not set
+CONFIG_IWLWIFI_UAPSD=y
#
# Debugging Options
@@ -3064,6 +3037,7 @@ CONFIG_X25_ASY=m
CONFIG_SBNI=m
# CONFIG_SBNI_MULTILINE is not set
CONFIG_IEEE802154_DRIVERS=m
+# CONFIG_IEEE802154_FAKEHARD is not set
CONFIG_IEEE802154_FAKELB=m
CONFIG_IEEE802154_AT86RF230=m
CONFIG_IEEE802154_MRF24J40=m
@@ -3285,9 +3259,6 @@ CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_CYAPA=m
-CONFIG_MOUSE_ELAN_I2C=m
-CONFIG_MOUSE_ELAN_I2C_I2C=y
-CONFIG_MOUSE_ELAN_I2C_SMBUS=y
# CONFIG_MOUSE_INPORT is not set
CONFIG_MOUSE_LOGIBM=m
CONFIG_MOUSE_PC110PAD=m
@@ -3356,10 +3327,8 @@ CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELAN=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_WACOM_I2C=m
@@ -3588,7 +3557,6 @@ CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_SI_PROBE_DEFAULTS=y
-CONFIG_IPMI_SSIF=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
@@ -3709,7 +3677,6 @@ CONFIG_I2C_XILINX=m
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_DLN2=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_ROBOTFUZZ_OSIF=m
@@ -3724,7 +3691,6 @@ CONFIG_I2C_PCA_ISA=m
CONFIG_I2C_CROS_EC_TUNNEL=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_STUB=m
-# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -3803,12 +3769,8 @@ CONFIG_PINCTRL=y
#
# Pin controllers
#
-CONFIG_PINMUX=y
-CONFIG_PINCONF=y
-CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
CONFIG_PINCTRL_BAYTRAIL=y
-CONFIG_PINCTRL_CHERRYVIEW=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
@@ -3825,6 +3787,7 @@ CONFIG_GPIO_MAX730X=m
# Memory mapped GPIO drivers:
#
CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_IT8761E=m
CONFIG_GPIO_F7188X=m
CONFIG_GPIO_SCH311X=m
@@ -3896,7 +3859,6 @@ CONFIG_GPIO_MSIC=y
# USB GPIO expanders:
#
CONFIG_GPIO_VIPERBOARD=m
-CONFIG_GPIO_DLN2=m
CONFIG_W1=m
CONFIG_W1_CON=y
@@ -4022,7 +3984,6 @@ CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
-CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
@@ -4069,14 +4030,12 @@ CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_NCT6683=m
CONFIG_SENSORS_NCT6775=m
-CONFIG_SENSORS_NCT7802=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_MAX16064=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
@@ -4282,7 +4241,6 @@ CONFIG_MFD_DA9052_SPI=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_DA9055=y
CONFIG_MFD_DA9063=y
-CONFIG_MFD_DLN2=m
CONFIG_MFD_MC13XXX=m
CONFIG_MFD_MC13XXX_SPI=m
CONFIG_MFD_MC13XXX_I2C=m
@@ -4363,7 +4321,7 @@ CONFIG_MFD_WM831X_I2C=y
CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
-CONFIG_MFD_WM8994=m
+CONFIG_MFD_WM8994=y
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
@@ -4504,9 +4462,16 @@ CONFIG_IR_NUVOTON=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
-CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m
+CONFIG_IR_IMG=m
+# CONFIG_IR_IMG_RAW is not set
+CONFIG_IR_IMG_HW=y
+CONFIG_IR_IMG_NEC=y
+CONFIG_IR_IMG_JVC=y
+CONFIG_IR_IMG_SONY=y
+CONFIG_IR_IMG_SHARP=y
+CONFIG_IR_IMG_SANYO=y
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_USB_SUPPORT=y
@@ -4582,6 +4547,7 @@ CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160_AC97=y
@@ -4744,7 +4710,6 @@ CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
-CONFIG_DVB_SMIPCIE=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_VIA_CAMERA=m
@@ -4756,12 +4721,17 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVID=m
-CONFIG_VIDEO_VIM2M=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
#
# Supported MMC/SDIO adapters
#
CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_W9966=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_TEA575X=m
CONFIG_RADIO_SI470X=y
@@ -4963,7 +4933,6 @@ CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_E4000=m
CONFIG_MEDIA_TUNER_FC2580=m
CONFIG_MEDIA_TUNER_M88TS2022=m
-CONFIG_MEDIA_TUNER_M88RS6000T=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
@@ -5075,10 +5044,6 @@ CONFIG_DVB_S5H1411=m
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
-
-#
-# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
-#
CONFIG_DVB_TC90522=m
#
@@ -5098,7 +5063,6 @@ CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
-CONFIG_DVB_SP2=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
@@ -5142,7 +5106,6 @@ CONFIG_DRM_TTM=m
#
# I2C encoder or helper chips
#
-CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -5560,7 +5523,7 @@ CONFIG_SND_BCD2000=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_DICE=m
-CONFIG_SND_OXFW=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_SCS1X=m
CONFIG_SND_FIREWORKS=m
@@ -5588,9 +5551,6 @@ CONFIG_SND_SOC_FSL_ESAI=m
CONFIG_SND_SOC_IMX_AUDMUX=m
CONFIG_SND_MFLD_MACHINE=m
CONFIG_SND_SST_MFLD_PLATFORM=m
-CONFIG_SND_SST_IPC=m
-CONFIG_SND_SST_IPC_PCI=m
-CONFIG_SND_SST_IPC_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_HASWELL=m
@@ -5599,8 +5559,6 @@ CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
-CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
-CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
CONFIG_SND_SOC_I2C_AND_SPI=m
#
@@ -5613,16 +5571,12 @@ CONFIG_SND_SOC_AK4642=m
CONFIG_SND_SOC_AK5386=m
CONFIG_SND_SOC_ALC5623=m
CONFIG_SND_SOC_CS35L32=m
-CONFIG_SND_SOC_CS42L51=m
-CONFIG_SND_SOC_CS42L51_I2C=m
CONFIG_SND_SOC_CS42L52=m
CONFIG_SND_SOC_CS42L56=m
CONFIG_SND_SOC_CS42L73=m
CONFIG_SND_SOC_CS4265=m
CONFIG_SND_SOC_CS4270=m
CONFIG_SND_SOC_CS4271=m
-CONFIG_SND_SOC_CS4271_I2C=m
-CONFIG_SND_SOC_CS4271_SPI=m
CONFIG_SND_SOC_CS42XX8=m
CONFIG_SND_SOC_CS42XX8_I2C=m
CONFIG_SND_SOC_HDMI_CODEC=m
@@ -5635,10 +5589,7 @@ CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x_SPI=m
CONFIG_SND_SOC_RL6231=m
CONFIG_SND_SOC_RT286=m
-CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5640=m
-CONFIG_SND_SOC_RT5670=m
-# CONFIG_SND_SOC_RT5677_SPI is not set
CONFIG_SND_SOC_SGTL5000=m
CONFIG_SND_SOC_SI476X=m
CONFIG_SND_SOC_SIGMADSP=m
@@ -5653,13 +5604,8 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_STA350=m
CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
-CONFIG_SND_SOC_TFA9879=m
-CONFIG_SND_SOC_TLV320AIC23=m
-CONFIG_SND_SOC_TLV320AIC23_I2C=m
-CONFIG_SND_SOC_TLV320AIC23_SPI=m
CONFIG_SND_SOC_TLV320AIC31XX=m
CONFIG_SND_SOC_TLV320AIC3X=m
-CONFIG_SND_SOC_TS3A227E=m
CONFIG_SND_SOC_WM8510=m
CONFIG_SND_SOC_WM8523=m
CONFIG_SND_SOC_WM8580=m
@@ -5685,7 +5631,6 @@ CONFIG_AC97_BUS=m
# HID support
#
CONFIG_HID=m
-CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=m
@@ -5727,7 +5672,6 @@ CONFIG_HID_LCPOWER=m
CONFIG_HID_LENOVO=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
-CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
@@ -5748,7 +5692,6 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
-CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
@@ -5895,10 +5838,9 @@ CONFIG_USB_MUSB_HDRC=m
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
-
-#
-# Platform Glue Layer
-#
+CONFIG_USB_MUSB_TUSB6010=m
+CONFIG_USB_MUSB_UX500=m
+# CONFIG_USB_UX500_DMA is not set
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=m
# CONFIG_USB_DWC3_HOST is not set
@@ -5916,13 +5858,14 @@ CONFIG_USB_DWC3_PCI=m
# CONFIG_USB_DWC3_DEBUG is not set
CONFIG_DWC3_HOST_USB3_LPM_ENABLE=y
CONFIG_USB_DWC2=y
-CONFIG_USB_DWC2_HOST=y
+CONFIG_USB_DWC2_HOST=m
+CONFIG_USB_DWC2_PLATFORM=y
+CONFIG_USB_DWC2_PCI=y
#
-# Gadget/Dual-role mode requires USB Gadget support to be enabled
+# Gadget mode requires USB Gadget support to be enabled
#
-CONFIG_USB_DWC2_PLATFORM=y
-CONFIG_USB_DWC2_PCI=y
+CONFIG_USB_DWC2_PERIPHERAL=m
# CONFIG_USB_DWC2_DEBUG is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
CONFIG_USB_CHIPIDEA=m
@@ -6061,12 +6004,6 @@ CONFIG_USB_PXA27X=m
CONFIG_USB_MV_UDC=m
CONFIG_USB_MV_U3D=m
# CONFIG_USB_M66592 is not set
-CONFIG_USB_BDC_UDC=m
-
-#
-# Platform Support
-#
-CONFIG_USB_BDC_PCI=m
CONFIG_USB_AMD5536UDC=m
CONFIG_USB_NET2272=m
CONFIG_USB_NET2272_DMA=y
@@ -6090,10 +6027,7 @@ CONFIG_USB_F_RNDIS=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC1=m
-CONFIG_USB_F_UAC2=m
CONFIG_USB_F_UVC=m
-CONFIG_USB_F_MIDI=m
-CONFIG_USB_F_HID=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
@@ -6107,10 +6041,6 @@ CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
CONFIG_GADGET_UAC1=y
@@ -6175,7 +6105,6 @@ CONFIG_MMC_USHC=m
CONFIG_MMC_USDHI6ROL0=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
-CONFIG_MMC_TOSHIBA_PCI=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -6216,7 +6145,6 @@ CONFIG_LEDS_LP5523=m
CONFIG_LEDS_LP5562=m
CONFIG_LEDS_LP8501=m
CONFIG_LEDS_LP8788=m
-CONFIG_LEDS_LP8860=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA963X=m
@@ -6266,7 +6194,6 @@ CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
@@ -6294,8 +6221,6 @@ CONFIG_EDAC=y
CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MCE_INJ=m
CONFIG_EDAC_MM_EDAC=m
-CONFIG_EDAC_AMD64=m
-# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_AMD76X=m
CONFIG_EDAC_E7XXX=m
CONFIG_EDAC_E752X=m
@@ -6335,7 +6260,6 @@ CONFIG_RTC_DRV_88PM860X=m
CONFIG_RTC_DRV_88PM80X=m
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1374_WDT=y
CONFIG_RTC_DRV_DS1672=m
CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_LP8788=m
@@ -6469,8 +6393,6 @@ CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
-CONFIG_VFIO_PCI_MMAP=y
-CONFIG_VFIO_PCI_INTX=y
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=y
@@ -6571,9 +6493,10 @@ CONFIG_COMEDI_PCMMIO=m
CONFIG_COMEDI_PCMUIO=m
CONFIG_COMEDI_MULTIQ3=m
CONFIG_COMEDI_S526=m
-CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCI_DRIVERS=y
CONFIG_COMEDI_8255_PCI=m
CONFIG_COMEDI_ADDI_WATCHDOG=m
+CONFIG_COMEDI_ADDI_APCI_035=m
CONFIG_COMEDI_ADDI_APCI_1032=m
CONFIG_COMEDI_ADDI_APCI_1500=m
CONFIG_COMEDI_ADDI_APCI_1516=m
@@ -6626,7 +6549,7 @@ CONFIG_COMEDI_RTD520=m
CONFIG_COMEDI_S626=m
CONFIG_COMEDI_MITE=m
CONFIG_COMEDI_NI_TIOCMD=m
-CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
CONFIG_COMEDI_CB_DAS16_CS=m
CONFIG_COMEDI_DAS08_CS=m
CONFIG_COMEDI_NI_DAQ_700_CS=m
@@ -6634,7 +6557,7 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
CONFIG_COMEDI_NI_LABPC_CS=m
CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
-CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_NI_USB6501=m
CONFIG_COMEDI_USBDUX=m
@@ -6769,6 +6692,7 @@ CONFIG_IIO_SIMPLE_DUMMY=m
# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
CONFIG_FB_XGI=m
+CONFIG_BCM_WIMAX=m
CONFIG_FT1000=m
CONFIG_FT1000_USB=m
CONFIG_FT1000_PCMCIA=m
@@ -6800,17 +6724,10 @@ CONFIG_DVB_CXD2099=m
CONFIG_VIDEO_DT3155=m
# CONFIG_DT3155_CCIR is not set
CONFIG_DT3155_STREAMING=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_DVB_MN88472=m
-CONFIG_DVB_MN88473=m
-CONFIG_MEDIA_PARPORT_SUPPORT=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_PMS=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_SAA7191=m
+# CONFIG_VIDEO_TCM825X is not set
CONFIG_LIRC_STAGING=y
CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_IMON=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SASEM=m
@@ -6822,6 +6739,7 @@ CONFIG_LIRC_ZILOG=m
#
# Android
#
+# CONFIG_ANDROID is not set
CONFIG_USB_WPAN_HCD=m
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
@@ -6908,6 +6826,11 @@ CONFIG_PVPANIC=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
+
+#
+# SOC (System On Chip) specific Drivers
+#
+CONFIG_SOC_TI=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -6943,7 +6866,6 @@ CONFIG_DW_APB_TIMER=y
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
CONFIG_MAILBOX=y
-CONFIG_PCC=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_DMAR_TABLE=y
@@ -6964,7 +6886,6 @@ CONFIG_STE_MODEM_RPROC=m
#
# SOC (System On Chip) specific Drivers
#
-CONFIG_SOC_TI=y
CONFIG_PM_DEVFREQ=y
#
@@ -7027,7 +6948,6 @@ CONFIG_AD7793=m
CONFIG_AD7887=m
CONFIG_AD7923=m
CONFIG_AD799X=m
-CONFIG_AXP288_ADC=m
CONFIG_LP8788_ADC=m
CONFIG_MAX1027=m
CONFIG_MAX1363=m
@@ -7035,7 +6955,6 @@ CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_MEN_Z188_ADC=m
CONFIG_NAU7802=m
-CONFIG_QCOM_SPMI_IADC=m
CONFIG_TI_ADC081C=m
CONFIG_TI_ADC128S052=m
CONFIG_TI_AM335X_ADC=m
@@ -7111,7 +7030,6 @@ CONFIG_ITG3200=m
#
CONFIG_DHT11=m
CONFIG_SI7005=m
-CONFIG_SI7020=m
#
# Inertial measurement units
@@ -7168,7 +7086,6 @@ CONFIG_IIO_SYSFS_TRIGGER=m
#
# Pressure sensors
#
-CONFIG_BMP280=m
CONFIG_HID_SENSOR_PRESS=m
CONFIG_MPL115=m
CONFIG_MPL3115=m
@@ -7241,11 +7158,6 @@ CONFIG_RAS=y
CONFIG_THUNDERBOLT=m
#
-# Android
-#
-# CONFIG_ANDROID is not set
-
-#
# Firmware Drivers
#
CONFIG_EDD=y
@@ -7430,7 +7342,6 @@ CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
-# CONFIG_SQUASHFS_LZ4 is not set
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
@@ -7615,7 +7526,6 @@ CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
CONFIG_UNUSED_SYMBOLS=y
-# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -7629,7 +7539,6 @@ CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#
-# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
@@ -7666,7 +7575,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
-CONFIG_SCHED_STACK_END_CHECK=y
+# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_TIMER_STATS=y
#
@@ -7783,7 +7692,6 @@ CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
-CONFIG_KDB_DEFAULT_ENABLE=0x1
CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_STRICT_DEVMEM=y
@@ -7873,7 +7781,6 @@ CONFIG_IMA_DEFAULT_HASH_SHA1=y
CONFIG_IMA_DEFAULT_HASH="sha1"
CONFIG_IMA_APPRAISE=y
CONFIG_IMA_TRUSTED_KEYRING=y
-# CONFIG_IMA_LOAD_X509 is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_EXTRA_SMACK_XATTRS=y
diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf
index cf4cd766c0..0b865808ab 100644
--- a/gnu/packages/linux-libre-x86_64.conf
+++ b/gnu/packages/linux-libre-x86_64.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.19.0-gnu Kernel Configuration
+# Linux/x86 3.18.4-gnu Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -89,7 +89,6 @@ CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
-CONFIG_GENERIC_MSI_IRQ=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
@@ -109,17 +108,19 @@ CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
-CONFIG_NO_HZ_IDLE=y
-# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ_IDLE is not set
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_FULL_ALL is not set
+CONFIG_NO_HZ_FULL_SYSIDLE=y
+CONFIG_NO_HZ_FULL_SYSIDLE_SMALL=8
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
#
# CPU/Task time and stats accounting
#
-CONFIG_TICK_CPU_ACCOUNTING=y
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
@@ -131,6 +132,7 @@ CONFIG_TASK_IO_ACCOUNTING=y
# RCU Subsystem
#
CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_CONTEXT_TRACKING=y
@@ -152,8 +154,8 @@ CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_SUPPORTS_INT128=y
-CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
+CONFIG_NUMA_BALANCING=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
@@ -161,7 +163,7 @@ CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
-CONFIG_PAGE_COUNTER=y
+CONFIG_RESOURCE_COUNTERS=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
# CONFIG_MEMCG_SWAP_ENABLED is not set
@@ -192,7 +194,6 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
-CONFIG_INIT_FALLBACK=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
@@ -300,7 +301,6 @@ CONFIG_COMPAT_OLD_SIGACTION=y
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
-CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@@ -451,7 +451,6 @@ CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
-CONFIG_X86_UP_APIC_MSI=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
@@ -463,7 +462,6 @@ CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
-CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_I8K=m
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
@@ -551,7 +549,6 @@ CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
-# CONFIG_X86_INTEL_MPX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
@@ -597,6 +594,7 @@ CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
@@ -647,7 +645,6 @@ CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=m
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
CONFIG_ACPI_EXTLOG=m
-# CONFIG_PMIC_OPREGION is not set
CONFIG_SFI=y
#
@@ -669,7 +666,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
#
-# CPU frequency scaling drivers
+# x86 CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=y
@@ -730,6 +727,7 @@ CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
#
@@ -842,7 +840,6 @@ CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
-CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_GENEVE=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
@@ -954,7 +951,6 @@ CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_REDIRECT=m
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=m
@@ -967,7 +963,6 @@ CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
-CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
@@ -1136,7 +1131,6 @@ CONFIG_NF_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
-CONFIG_NFT_REDIR_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
@@ -1177,7 +1171,6 @@ CONFIG_NF_NAT_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_NAT_MASQUERADE_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
-CONFIG_NFT_REDIR_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1277,7 +1270,6 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
-CONFIG_NET_DSA_HWMON=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
@@ -1369,7 +1361,6 @@ CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
-CONFIG_NET_ACT_VLAN=m
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
@@ -1381,16 +1372,15 @@ CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_GRE=m
-CONFIG_OPENVSWITCH_VXLAN=m
-CONFIG_OPENVSWITCH_GENEVE=m
+CONFIG_OPENVSWITCH_GRE=y
+CONFIG_OPENVSWITCH_VXLAN=y
+CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_NETLINK_MMAP=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_HSR=m
-# CONFIG_NET_SWITCHDEV is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
@@ -1533,7 +1523,7 @@ CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
CONFIG_BT=m
-CONFIG_BT_BREDR=y
+CONFIG_BT_6LOWPAN=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
@@ -1541,8 +1531,6 @@ CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
-CONFIG_BT_LE=y
-CONFIG_BT_6LOWPAN=m
#
# Bluetooth device drivers
@@ -1595,7 +1583,6 @@ CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_MINSTREL_VHT=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
@@ -1647,8 +1634,7 @@ CONFIG_NFC_MRVL=m
CONFIG_NFC_MRVL_USB=m
CONFIG_NFC_ST21NFCA=m
CONFIG_NFC_ST21NFCA_I2C=m
-CONFIG_NFC_ST21NFCB=m
-CONFIG_NFC_ST21NFCB_I2C=m
+# CONFIG_NFC_ST21NFCB is not set
CONFIG_HAVE_BPF_JIT=y
#
@@ -1669,9 +1655,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
-CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
-CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
@@ -1680,7 +1664,6 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
-CONFIG_REGMAP_SPMI=m
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
@@ -2125,8 +2108,7 @@ CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_AM53C974=m
-CONFIG_SCSI_WD719X=m
+CONFIG_SCSI_DC390T=m
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
@@ -2334,7 +2316,6 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
-CONFIG_IPVLAN=m
CONFIG_VXLAN=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
@@ -2413,7 +2394,6 @@ CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=m
CONFIG_NET_DSA_MV88E6123_61_65=m
CONFIG_NET_DSA_MV88E6171=m
-CONFIG_NET_DSA_MV88E6352=m
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_ETHERNET=y
CONFIG_MDIO=m
@@ -2447,7 +2427,6 @@ CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
-CONFIG_BCMGENET=m
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
@@ -2511,7 +2490,7 @@ CONFIG_IXGBEVF=m
CONFIG_I40E=m
CONFIG_I40E_VXLAN=y
CONFIG_I40E_DCB=y
-CONFIG_I40E_FCOE=y
+# CONFIG_I40E_FCOE is not set
CONFIG_I40EVF=m
CONFIG_FM10K=m
CONFIG_FM10K_VXLAN=y
@@ -2579,7 +2558,6 @@ CONFIG_8139TOO_8129=y
CONFIG_R8169=m
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
-CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SAMSUNG=y
CONFIG_SXGBE_ETH=m
CONFIG_NET_VENDOR_SEEQ=y
@@ -2600,8 +2578,10 @@ CONFIG_SMSC911X=m
CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_PLATFORM=m
+CONFIG_STMMAC_PLATFORM=y
# CONFIG_STMMAC_PCI is not set
+# CONFIG_STMMAC_DEBUG_FS is not set
+# CONFIG_STMMAC_DA is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
@@ -2756,7 +2736,6 @@ CONFIG_ATH9K_STATION_STATISTICS=y
CONFIG_ATH9K_WOW=y
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
-CONFIG_ATH9K_PCOEM=y
CONFIG_ATH9K_HTC=m
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_CARL9170=m
@@ -2843,7 +2822,7 @@ CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
-# CONFIG_IWLWIFI_UAPSD is not set
+CONFIG_IWLWIFI_UAPSD=y
#
# Debugging Options
@@ -2981,6 +2960,7 @@ CONFIG_X25_ASY=m
CONFIG_SBNI=m
# CONFIG_SBNI_MULTILINE is not set
CONFIG_IEEE802154_DRIVERS=m
+# CONFIG_IEEE802154_FAKEHARD is not set
CONFIG_IEEE802154_FAKELB=m
CONFIG_IEEE802154_AT86RF230=m
CONFIG_IEEE802154_MRF24J40=m
@@ -3186,9 +3166,6 @@ CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_CYAPA=m
-CONFIG_MOUSE_ELAN_I2C=m
-CONFIG_MOUSE_ELAN_I2C_I2C=y
-CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_VSXXXAA=m
CONFIG_MOUSE_GPIO=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3254,10 +3231,8 @@ CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELAN=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_WACOM_I2C=m
@@ -3475,7 +3450,6 @@ CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_SI_PROBE_DEFAULTS=y
-CONFIG_IPMI_SSIF=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
@@ -3589,7 +3563,6 @@ CONFIG_I2C_XILINX=m
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_DLN2=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_ROBOTFUZZ_OSIF=m
@@ -3602,7 +3575,6 @@ CONFIG_I2C_VIPERBOARD=m
#
CONFIG_I2C_CROS_EC_TUNNEL=m
CONFIG_I2C_STUB=m
-# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -3679,12 +3651,8 @@ CONFIG_PINCTRL=y
#
# Pin controllers
#
-CONFIG_PINMUX=y
-CONFIG_PINCONF=y
-CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
CONFIG_PINCTRL_BAYTRAIL=y
-CONFIG_PINCTRL_CHERRYVIEW=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
@@ -3701,6 +3669,7 @@ CONFIG_GPIO_MAX730X=m
# Memory mapped GPIO drivers:
#
CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_IT8761E=m
CONFIG_GPIO_F7188X=m
CONFIG_GPIO_SCH311X=m
@@ -3768,7 +3737,6 @@ CONFIG_GPIO_TPS65910=y
# USB GPIO expanders:
#
CONFIG_GPIO_VIPERBOARD=m
-CONFIG_GPIO_DLN2=m
CONFIG_W1=m
CONFIG_W1_CON=y
@@ -3893,7 +3861,6 @@ CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
-CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
@@ -3940,14 +3907,12 @@ CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_NCT6683=m
CONFIG_SENSORS_NCT6775=m
-CONFIG_SENSORS_NCT7802=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_MAX16064=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
@@ -4140,7 +4105,6 @@ CONFIG_MFD_DA9052_SPI=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_DA9055=y
CONFIG_MFD_DA9063=y
-CONFIG_MFD_DLN2=m
CONFIG_MFD_MC13XXX=m
CONFIG_MFD_MC13XXX_SPI=m
CONFIG_MFD_MC13XXX_I2C=m
@@ -4219,7 +4183,7 @@ CONFIG_MFD_WM831X_I2C=y
CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
-CONFIG_MFD_WM8994=m
+CONFIG_MFD_WM8994=y
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
@@ -4359,9 +4323,16 @@ CONFIG_IR_NUVOTON=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
-CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m
+CONFIG_IR_IMG=m
+# CONFIG_IR_IMG_RAW is not set
+CONFIG_IR_IMG_HW=y
+CONFIG_IR_IMG_NEC=y
+CONFIG_IR_IMG_JVC=y
+CONFIG_IR_IMG_SONY=y
+CONFIG_IR_IMG_SHARP=y
+CONFIG_IR_IMG_SANYO=y
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_USB_SUPPORT=y
@@ -4437,6 +4408,7 @@ CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160_AC97=y
@@ -4599,7 +4571,6 @@ CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
-CONFIG_DVB_SMIPCIE=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_VIA_CAMERA=m
@@ -4610,12 +4581,16 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVID=m
-CONFIG_VIDEO_VIM2M=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
#
# Supported MMC/SDIO adapters
#
CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_TEA575X=m
CONFIG_RADIO_SI470X=y
@@ -4801,7 +4776,6 @@ CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_E4000=m
CONFIG_MEDIA_TUNER_FC2580=m
CONFIG_MEDIA_TUNER_M88TS2022=m
-CONFIG_MEDIA_TUNER_M88RS6000T=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
@@ -4913,10 +4887,6 @@ CONFIG_DVB_S5H1411=m
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
-
-#
-# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
-#
CONFIG_DVB_TC90522=m
#
@@ -4936,7 +4906,6 @@ CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
-CONFIG_DVB_SP2=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
@@ -4974,7 +4943,6 @@ CONFIG_DRM_TTM=m
#
# I2C encoder or helper chips
#
-CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -5007,7 +4975,6 @@ CONFIG_DRM_AST=m
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_BOCHS is not set
-CONFIG_HSA_AMD=m
#
# Frame buffer Devices
@@ -5344,7 +5311,7 @@ CONFIG_SND_BCD2000=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_DICE=m
-CONFIG_SND_OXFW=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_SCS1X=m
CONFIG_SND_FIREWORKS=m
@@ -5370,9 +5337,6 @@ CONFIG_SND_SOC_FSL_SSI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_ESAI=m
CONFIG_SND_SOC_IMX_AUDMUX=m
-CONFIG_SND_SST_MFLD_PLATFORM=m
-CONFIG_SND_SST_IPC=m
-CONFIG_SND_SST_IPC_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_HASWELL=m
@@ -5381,8 +5345,6 @@ CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
-CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
-CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
CONFIG_SND_SOC_I2C_AND_SPI=m
#
@@ -5395,16 +5357,12 @@ CONFIG_SND_SOC_AK4642=m
CONFIG_SND_SOC_AK5386=m
CONFIG_SND_SOC_ALC5623=m
CONFIG_SND_SOC_CS35L32=m
-CONFIG_SND_SOC_CS42L51=m
-CONFIG_SND_SOC_CS42L51_I2C=m
CONFIG_SND_SOC_CS42L52=m
CONFIG_SND_SOC_CS42L56=m
CONFIG_SND_SOC_CS42L73=m
CONFIG_SND_SOC_CS4265=m
CONFIG_SND_SOC_CS4270=m
CONFIG_SND_SOC_CS4271=m
-CONFIG_SND_SOC_CS4271_I2C=m
-CONFIG_SND_SOC_CS4271_SPI=m
CONFIG_SND_SOC_CS42XX8=m
CONFIG_SND_SOC_CS42XX8_I2C=m
CONFIG_SND_SOC_HDMI_CODEC=m
@@ -5417,10 +5375,7 @@ CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x_SPI=m
CONFIG_SND_SOC_RL6231=m
CONFIG_SND_SOC_RT286=m
-CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5640=m
-CONFIG_SND_SOC_RT5670=m
-# CONFIG_SND_SOC_RT5677_SPI is not set
CONFIG_SND_SOC_SGTL5000=m
CONFIG_SND_SOC_SI476X=m
CONFIG_SND_SOC_SIGMADSP=m
@@ -5434,13 +5389,8 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_STA350=m
CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
-CONFIG_SND_SOC_TFA9879=m
-CONFIG_SND_SOC_TLV320AIC23=m
-CONFIG_SND_SOC_TLV320AIC23_I2C=m
-CONFIG_SND_SOC_TLV320AIC23_SPI=m
CONFIG_SND_SOC_TLV320AIC31XX=m
CONFIG_SND_SOC_TLV320AIC3X=m
-CONFIG_SND_SOC_TS3A227E=m
CONFIG_SND_SOC_WM8510=m
CONFIG_SND_SOC_WM8523=m
CONFIG_SND_SOC_WM8580=m
@@ -5466,7 +5416,6 @@ CONFIG_AC97_BUS=m
# HID support
#
CONFIG_HID=m
-CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=m
@@ -5508,7 +5457,6 @@ CONFIG_HID_LCPOWER=m
CONFIG_HID_LENOVO=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
-CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
@@ -5529,7 +5477,6 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
-CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
@@ -5676,10 +5623,9 @@ CONFIG_USB_MUSB_HDRC=m
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
-
-#
-# Platform Glue Layer
-#
+CONFIG_USB_MUSB_TUSB6010=m
+CONFIG_USB_MUSB_UX500=m
+# CONFIG_USB_UX500_DMA is not set
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=m
# CONFIG_USB_DWC3_HOST is not set
@@ -5697,13 +5643,14 @@ CONFIG_USB_DWC3_PCI=m
# CONFIG_USB_DWC3_DEBUG is not set
CONFIG_DWC3_HOST_USB3_LPM_ENABLE=y
CONFIG_USB_DWC2=y
-CONFIG_USB_DWC2_HOST=y
+CONFIG_USB_DWC2_HOST=m
+CONFIG_USB_DWC2_PLATFORM=y
+CONFIG_USB_DWC2_PCI=y
#
-# Gadget/Dual-role mode requires USB Gadget support to be enabled
+# Gadget mode requires USB Gadget support to be enabled
#
-CONFIG_USB_DWC2_PLATFORM=y
-CONFIG_USB_DWC2_PCI=y
+CONFIG_USB_DWC2_PERIPHERAL=m
# CONFIG_USB_DWC2_DEBUG is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
CONFIG_USB_CHIPIDEA=m
@@ -5842,12 +5789,6 @@ CONFIG_USB_PXA27X=m
CONFIG_USB_MV_UDC=m
CONFIG_USB_MV_U3D=m
# CONFIG_USB_M66592 is not set
-CONFIG_USB_BDC_UDC=m
-
-#
-# Platform Support
-#
-CONFIG_USB_BDC_PCI=m
CONFIG_USB_AMD5536UDC=m
CONFIG_USB_NET2272=m
CONFIG_USB_NET2272_DMA=y
@@ -5871,10 +5812,7 @@ CONFIG_USB_F_RNDIS=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC1=m
-CONFIG_USB_F_UAC2=m
CONFIG_USB_F_UVC=m
-CONFIG_USB_F_MIDI=m
-CONFIG_USB_F_HID=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
@@ -5888,10 +5826,6 @@ CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
CONFIG_GADGET_UAC1=y
@@ -5957,7 +5891,6 @@ CONFIG_MMC_USHC=m
CONFIG_MMC_USDHI6ROL0=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
-CONFIG_MMC_TOSHIBA_PCI=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -5996,7 +5929,6 @@ CONFIG_LEDS_LP5523=m
CONFIG_LEDS_LP5562=m
CONFIG_LEDS_LP8501=m
CONFIG_LEDS_LP8788=m
-CONFIG_LEDS_LP8860=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA963X=m
@@ -6045,7 +5977,6 @@ CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
@@ -6113,7 +6044,6 @@ CONFIG_RTC_DRV_88PM860X=m
CONFIG_RTC_DRV_88PM80X=m
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1374_WDT=y
CONFIG_RTC_DRV_DS1672=m
CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_LP8788=m
@@ -6245,8 +6175,6 @@ CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
-CONFIG_VFIO_PCI_MMAP=y
-CONFIG_VFIO_PCI_INTX=y
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=y
@@ -6348,9 +6276,10 @@ CONFIG_COMEDI_PCMMIO=m
CONFIG_COMEDI_PCMUIO=m
CONFIG_COMEDI_MULTIQ3=m
CONFIG_COMEDI_S526=m
-CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCI_DRIVERS=y
CONFIG_COMEDI_8255_PCI=m
CONFIG_COMEDI_ADDI_WATCHDOG=m
+CONFIG_COMEDI_ADDI_APCI_035=m
CONFIG_COMEDI_ADDI_APCI_1032=m
CONFIG_COMEDI_ADDI_APCI_1500=m
CONFIG_COMEDI_ADDI_APCI_1516=m
@@ -6403,7 +6332,7 @@ CONFIG_COMEDI_RTD520=m
CONFIG_COMEDI_S626=m
CONFIG_COMEDI_MITE=m
CONFIG_COMEDI_NI_TIOCMD=m
-CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
CONFIG_COMEDI_CB_DAS16_CS=m
CONFIG_COMEDI_DAS08_CS=m
CONFIG_COMEDI_NI_DAQ_700_CS=m
@@ -6411,7 +6340,7 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
CONFIG_COMEDI_NI_LABPC_CS=m
CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
-CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_NI_USB6501=m
CONFIG_COMEDI_USBDUX=m
@@ -6546,6 +6475,7 @@ CONFIG_IIO_SIMPLE_DUMMY=m
# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
CONFIG_FB_XGI=m
+CONFIG_BCM_WIMAX=m
CONFIG_FT1000=m
CONFIG_FT1000_USB=m
CONFIG_FT1000_PCMCIA=m
@@ -6573,16 +6503,10 @@ CONFIG_DVB_CXD2099=m
CONFIG_VIDEO_DT3155=m
# CONFIG_DT3155_CCIR is not set
CONFIG_DT3155_STREAMING=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_DVB_MN88472=m
-CONFIG_DVB_MN88473=m
-CONFIG_MEDIA_PARPORT_SUPPORT=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_SAA7191=m
+# CONFIG_VIDEO_TCM825X is not set
CONFIG_LIRC_STAGING=y
CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_IMON=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SASEM=m
@@ -6594,6 +6518,7 @@ CONFIG_LIRC_ZILOG=m
#
# Android
#
+# CONFIG_ANDROID is not set
CONFIG_USB_WPAN_HCD=m
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
@@ -6620,6 +6545,7 @@ CONFIG_DGNC=m
CONFIG_DGAP=m
CONFIG_GS_FPGABOOT=m
CONFIG_CRYPTO_SKEIN=y
+CONFIG_CRYPTO_THREEFISH=y
CONFIG_UNISYSSPAR=y
CONFIG_UNISYS_VISORUTIL=m
CONFIG_UNISYS_VISORCHANNEL=m
@@ -6683,6 +6609,11 @@ CONFIG_PVPANIC=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
+
+#
+# SOC (System On Chip) specific Drivers
+#
+CONFIG_SOC_TI=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -6716,7 +6647,6 @@ CONFIG_CLKBLD_I8253=y
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
CONFIG_MAILBOX=y
-CONFIG_PCC=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_AMD_IOMMU=y
@@ -6741,7 +6671,6 @@ CONFIG_STE_MODEM_RPROC=m
#
# SOC (System On Chip) specific Drivers
#
-CONFIG_SOC_TI=y
CONFIG_PM_DEVFREQ=y
#
@@ -6804,7 +6733,6 @@ CONFIG_AD7793=m
CONFIG_AD7887=m
CONFIG_AD7923=m
CONFIG_AD799X=m
-CONFIG_AXP288_ADC=m
CONFIG_LP8788_ADC=m
CONFIG_MAX1027=m
CONFIG_MAX1363=m
@@ -6812,7 +6740,6 @@ CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_MEN_Z188_ADC=m
CONFIG_NAU7802=m
-CONFIG_QCOM_SPMI_IADC=m
CONFIG_TI_ADC081C=m
CONFIG_TI_ADC128S052=m
CONFIG_TI_AM335X_ADC=m
@@ -6888,7 +6815,6 @@ CONFIG_ITG3200=m
#
CONFIG_DHT11=m
CONFIG_SI7005=m
-CONFIG_SI7020=m
#
# Inertial measurement units
@@ -6945,7 +6871,6 @@ CONFIG_IIO_SYSFS_TRIGGER=m
#
# Pressure sensors
#
-CONFIG_BMP280=m
CONFIG_HID_SENSOR_PRESS=m
CONFIG_MPL115=m
CONFIG_MPL3115=m
@@ -7018,11 +6943,6 @@ CONFIG_RAS=y
CONFIG_THUNDERBOLT=m
#
-# Android
-#
-# CONFIG_ANDROID is not set
-
-#
# Firmware Drivers
#
CONFIG_EDD=y
@@ -7208,7 +7128,6 @@ CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
-# CONFIG_SQUASHFS_LZ4 is not set
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
@@ -7393,7 +7312,6 @@ CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
CONFIG_UNUSED_SYMBOLS=y
-# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -7407,7 +7325,6 @@ CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#
-# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
@@ -7443,7 +7360,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
-CONFIG_SCHED_STACK_END_CHECK=y
+# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_TIMER_STATS=y
#
@@ -7561,7 +7478,6 @@ CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
-CONFIG_KDB_DEFAULT_ENABLE=0x1
CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_STRICT_DEVMEM=y
@@ -7651,7 +7567,6 @@ CONFIG_IMA_DEFAULT_HASH_SHA1=y
CONFIG_IMA_DEFAULT_HASH="sha1"
CONFIG_IMA_APPRAISE=y
CONFIG_IMA_TRUSTED_KEYRING=y
-# CONFIG_IMA_LOAD_X509 is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_EXTRA_SMACK_XATTRS=y
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index de3e6cb496..4fe6f887cf 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -198,7 +198,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
#f)))
(define-public linux-libre
- (let* ((version "3.19")
+ (let* ((version "3.18.7")
(build-phase
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Apply the neat patch.
@@ -271,7 +271,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(uri (linux-libre-urls version))
(sha256
(base32
- "1ndrflzalkcyy61im6kcm8z681yaq2hwqgn6zbd7r3j9mscyqq1a"))))
+ "113r2dzmiwlchp5b3hyjyx91jysx5j4hhxjw45gaky5nj9pax2rh"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
("bc" ,bc)
@@ -446,7 +446,11 @@ providing the system administrator with some help in common tasks.")
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(arguments
- '(#:phases (alist-replace
+ '(#:modules ((guix build utils)
+ (guix build gnu-build-system)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
;; No `configure', just a single Makefile.
@@ -468,6 +472,13 @@ providing the system administrator with some help in common tasks.")
(system* "make" "install"
(string-append "DESTDIR=" out)))
+ ;; Remove commands and man pages redundant with
+ ;; Coreutils.
+ (let ((dup (append-map (cut find-files out <>)
+ '("^kill" "^uptime"))))
+ (for-each delete-file dup)
+ #t)
+
;; Sanity check.
(zero?
(system* (string-append out "/bin/ps")
@@ -512,14 +523,14 @@ slabtop, and skill.")
(define-public e2fsprogs
(package
(name "e2fsprogs")
- (version "1.42.11")
+ (version "1.42.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/e2fsprogs/e2fsprogs-"
version ".tar.gz"))
(sha256
(base32
- "0xhbj7494g3y2w2miyrzdz6nciaffxajrs6wqm73yp4jnrqagn2b"))
+ "0v0qcfyls0dlrjy8gx9m3s2wbkp5z3lbsr5hb7x8kp8f3bclcy71"))
(modules '((guix build utils)))
(snippet
'(substitute* "MCONFIG.in"
@@ -866,7 +877,11 @@ manpages.")
(list (search-patch "net-tools-bitrot.patch")))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-cons-after
+ '(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:phases (alist-cons-after
'unpack 'patch
(lambda* (#:key inputs #:allow-other-keys)
(define (apply-patch file)
@@ -877,7 +892,6 @@ manpages.")
(format #t "applying Debian patch set '~a'...~%"
patch.gz)
(system (string-append "gunzip < " patch.gz " > the-patch"))
- (pk 'here)
(and (apply-patch "the-patch")
(for-each apply-patch
(find-files "debian/patches"
@@ -896,7 +910,18 @@ manpages.")
;; definition.
(substitute* '("config.make" "config.h")
(("^.*HAVE_AFDECnet.*$") ""))))
- %standard-phases))
+ (alist-cons-after
+ 'install 'remove-redundant-commands
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Remove commands and man pages redundant with
+ ;; Inetutils.
+ (let* ((out (assoc-ref outputs "out"))
+ (dup (append-map (cut find-files out <>)
+ '("^hostname"
+ "^(yp|nis|dns)?domainname"))))
+ (for-each delete-file dup)
+ #t))
+ %standard-phases)))
;; Binaries that depend on libnet-tools.a don't declare that
;; dependency, making it parallel-unsafe.
@@ -1699,6 +1724,36 @@ you to access information from temperature, voltage, and fan speed sensors.
It works with most newer systems.")
(license gpl2+)))
+(define-public i2c-tools
+ (package
+ (name "i2c-tools")
+ (version "3.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no 'check' target
+ #:make-flags (list (string-append "prefix=" %output)
+ "CC=gcc")
+ ;; no configure script
+ #:phases (alist-delete 'configure %standard-phases)))
+ (inputs
+ `(("perl" ,perl)))
+ (home-page "http://www.lm-sensors.org/wiki/I2CTools")
+ (synopsis "I2C tools for Linux")
+ (description
+ "The i2c-tools package contains a heterogeneous set of I2C tools for
+Linux: a bus probing tool, a chip dumper, register-level SMBus access helpers,
+EEPROM decoding scripts, EEPROM programming tools, and a python module for
+SMBus access.")
+ (license gpl2+)))
+
(define-public xsensors
(package
(name "xsensors")
@@ -1837,3 +1892,100 @@ thanks to the use of namespaces.")
is for enabling irq-unmasking and IDE multiplemode.")
(license (bsd-style "file://LICENSE.TXT"))))
+(define-public acpid
+ (package
+ (name "acpid")
+ (version "2.0.23")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/acpid2/acpid-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1vl7c6vc724v4jwki17czgj6lnrknnj1a6llm8gkl32i2gnam5j3"))))
+ (build-system gnu-build-system)
+ (home-page "http://sourceforge.net/projects/acpid2/")
+ (synopsis "Daemon for delivering ACPI events to user-space programs")
+ (description
+ "acpid is designed to notify user-space programs of Advanced
+Configuration and Power Interface (ACPI) events. acpid should be started
+during the system boot, and will run as a background process. When an ACPI
+event is received from the kernel, acpid will examine the list of rules
+specified in /etc/acpi/events and execute the rules that match the event.")
+ (license gpl2+)))
+
+(define-public sysfsutils
+ (package
+ (name "sysfsutils")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "mirror://sourceforge/linux-diag/sysfsutils/" version "/sysfsutils-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "12i0ip11xbfcjzxz4r10cvz7mbzgq1hfcdn97w6zz7sm3wndwrg8"))))
+ (build-system gnu-build-system)
+ (home-page "http://linux-diag.sourceforge.net/Sysfsutils.html")
+ (synopsis "System utilities based on Linux sysfs")
+ (description
+ "These are a set of utilites built upon sysfs, a virtual filesystem in
+Linux kernel versions 2.5+ that exposes a system's device tree. The package
+also contains the libsysfs library.")
+ ;; The library is under lgpl2.1+ (all files say "or any later version").
+ ;; The rest is mostly gpl2, with a few files indicating gpl2+.
+ (license (list gpl2 gpl2+ lgpl2.1+))))
+
+(define-public sysfsutils-1
+ (package
+ (inherit sysfsutils)
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "mirror://sourceforge/linux-diag/sysfsutils/sysfsutils-" version
+ "/sysfsutils-" version ".tar.gz"))
+ (sha256
+ (base32 "0kdhs07fm8263pxwd5blwn2x211cg4fk63fyf9ijcdkvzmwxrqq3"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "Makefile.in"
+ (("includedir = /usr/include/sysfs")
+ "includedir = @includedir@"))
+ (substitute* "configure"
+ (("includedir='(\\$\\{prefix\\}/include)'" all orig)
+ (string-append "includedir='" orig "/sysfs'")))))))
+ (synopsis "System utilities based on Linux sysfs (version 1.x)")))
+
+(define-public cpufrequtils
+ (package
+ (name "cpufrequtils")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0qfqv7nqmjfr3p0bwrdlxkiqwqr7vmx053cadaa548ybqbghxmvm"))
+ (patches (list (search-patch "cpufrequtils-fix-aclocal.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("sysfsutils" ,sysfsutils-1)))
+ (arguments
+ '(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))))
+ (home-page "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/")
+ (synopsis "Utilities to get and set CPU frequency on Linux")
+ (description
+ "The cpufrequtils suite contains utilities to retreive CPU frequency
+information, and set the CPU frequency if supported, using the cpufreq
+capabilities of the Linux kernel.")
+ (license gpl2)))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 0bacac47bf..5db3fa98f9 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,7 +27,19 @@
#:use-module (gnu packages m4)
#:use-module (guix download)
#:use-module (guix utils)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages which)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages bdw-gc)
+ #:use-module (gnu packages libffi)
+ #:use-module (gnu packages libffcall)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages libsigsegv)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages ed)
+ #:use-module (gnu packages m4)
+ #:use-module (gnu packages version-control)
+ #:use-module (ice-9 match))
(define-public gcl
(package
@@ -81,3 +94,292 @@ stratified garbage collection strategy, a source-level debugger and a built-in
interface to the Tk widget system.")
(license license:lgpl2.0+)))
+(define-public ecl
+ (package
+ (name "ecl")
+ (version "13.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/ecls/ecls/"
+ (version-major+minor version)
+ "/ecl-" version ".tgz"))
+ (sha256
+ (base32 "18ic8w9sdl0dh3kmyc9lsrafikrd9cg1jkhhr25p9saz0v75f77r"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("which" ,which)))
+ (inputs `(("gmp" ,gmp)
+ ("libatomic-ops" ,libatomic-ops)
+ ("libgc" ,libgc)
+ ("libffi" ,libffi)))
+ (arguments
+ '(#:phases
+ ;; The test-suite seems to assume that ECL is installed. So re-order
+ ;; the phases, then reference the installed executable.
+ (let* ((check-phase (assq-ref %standard-phases 'check))
+ (rearranged-phases
+ (alist-cons-after 'install 'check check-phase
+ (alist-delete 'check %standard-phases))))
+ (alist-cons-before
+ 'check 'pre-check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* '("build/tests/Makefile")
+ (("ECL=ecl")
+ (string-append
+ "ECL=" (assoc-ref outputs "out") "/bin/ecl"))))
+ rearranged-phases))
+ ;; Parallel builds explicitly not supported:
+ ;; http://sourceforge.net/p/ecls/bugs/98/
+ #:parallel-build? #f
+ #:parallel-tests? #f))
+ (home-page "http://ecls.sourceforge.net/")
+ (synopsis "Embeddable Common Lisp")
+ (description "ECL is an implementation of the Common Lisp language as
+defined by the ANSI X3J13 specification. Its most relevant features are: a
+bytecode compiler and interpreter, being able to compile Common Lisp with any
+C/C++ compiler, being able to build standalone executables and libraries, and
+supporting ASDF, Sockets, Gray streams, MOP, and other useful components.")
+ ;; Note that the file "Copyright" points to some files and directories
+ ;; which aren't under the lgpl2.0+ and instead contain many different,
+ ;; non-copyleft licenses.
+ (license license:lgpl2.0+)))
+
+(define-public clisp
+ (package
+ (name "clisp")
+ (version "2.49")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/clisp/release/" version
+ "/clisp-" version ".tar.gz"))
+ (sha256
+ (base32 "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx"))))
+ (build-system gnu-build-system)
+ (inputs `(("libffcall" ,libffcall)
+ ("readline" ,readline)
+ ("libsigsegv" ,libsigsegv)))
+ (arguments
+ '(#:phases
+ (alist-cons-after
+ 'unpack 'patch-sh-and-pwd
+ (lambda _
+ ;; The package is very messy with its references to "/bin/sh" and
+ ;; some other absolute paths to traditional tools. These appear in
+ ;; many places where our automatic patching misses them. Therefore
+ ;; we do the following, in this early (post-unpack) phase, to solve
+ ;; the problem from its root.
+ (substitute* (find-files "." "configure|Makefile")
+ (("/bin/sh") "sh"))
+ (substitute* '("src/clisp-link.in")
+ (("/bin/pwd") "pwd")))
+ (alist-cons-before
+ 'build 'chdir-to-source
+ (lambda _
+ ;; We are supposed to call make under the src sub-directory.
+ (chdir "src"))
+ %standard-phases))
+ ;; Makefiles seem to have race conditions.
+ #:parallel-build? #f))
+ (home-page "http://www.clisp.org/")
+ (synopsis "A Common Lisp implementation")
+ (description
+ "GNU CLISP is an implementation of ANSI Common Lisp. Common Lisp is a
+high-level, object-oriented functional programming language. CLISP includes
+an interpreter, a compiler, a debugger, and much more.")
+ ;; Website says gpl2+, COPYRIGHT file says gpl2; actual source files have
+ ;; a lot of gpl3+. (Also some parts are under non-copyleft licenses, such
+ ;; as CLX by Texas Instruments.) In that case gpl3+ wins out.
+ (license license:gpl3+)))
+
+(define-public sbcl
+ (package
+ (name "sbcl")
+ (version "1.2.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
+ version "-source.tar.bz2"))
+ (sha256
+ (base32 "0ab9lw056yf6y0rjmx3iirn5n59pmssqxf00fbmpyl6qsnpaja1d"))))
+ (build-system gnu-build-system)
+ ;; Bootstrap with CLISP.
+ (native-inputs
+ `(("clisp" ,clisp)
+ ("which" ,which)
+ ("inetutils" ,inetutils) ;for hostname(1)
+ ("ed" ,ed)))
+ (arguments
+ '(#:phases
+ (alist-delete
+ 'configure
+ (alist-cons-before
+ 'build 'patch-unix-tool-paths
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref inputs "bash"))
+ (coreutils (assoc-ref inputs "coreutils"))
+ (ed (assoc-ref inputs "ed")))
+ (define (quoted-path input path)
+ (string-append "\"" input path "\""))
+ ;; Patch absolute paths in string literals. Note that this
+ ;; occurs in some .sh files too (which contain Lisp code).
+ (substitute* (find-files "." "\\.(lisp|sh)$")
+ (("\"/bin/sh\"") (quoted-path bash "/bin/sh"))
+ (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env"))
+ (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat"))
+ (("\"/bin/ed\"") (quoted-path ed "/bin/ed"))
+ (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo"))
+ (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname")))
+ ;; This one script has a non-string occurrence of /bin/sh.
+ (substitute* '("tests/foreign.test.sh")
+ ;; Leave whitespace so we don't match the shebang.
+ ((" /bin/sh ") " sh "))
+ ;; This file contains a module that can create executable files
+ ;; which depend on the presence of SBCL. It generates shell
+ ;; scripts doing "exec sbcl ..." to achieve this. We patch both
+ ;; the shebang and the reference to "sbcl", tying the generated
+ ;; executables to the exact SBCL package that generated them.
+ (substitute* '("contrib/sb-executable/sb-executable.lisp")
+ (("/bin/sh") (string-append bash "/bin/sh"))
+ (("exec sbcl") (string-append "exec " out "/bin/sbcl")))
+ ;; Disable some tests that fail in our build environment.
+ (substitute* '("contrib/sb-bsd-sockets/tests.lisp")
+ ;; This requires /etc/protocols.
+ (("\\(deftest get-protocol-by-name/error" all)
+ (string-append "#+nil ;disabled by Guix\n" all)))
+ (substitute* '("contrib/sb-posix/posix-tests.lisp")
+ ;; These assume some users/groups which we don't have.
+ (("\\(deftest pwent\\.[12]" all)
+ (string-append "#+nil ;disabled by Guix\n" all))
+ (("\\(deftest grent\\.[12]" all)
+ (string-append "#+nil ;disabled by Guix\n" all)))))
+ (alist-replace
+ 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "CC" "gcc")
+ (zero? (system* "sh" "make.sh" "clisp"
+ (string-append "--prefix="
+ (assoc-ref outputs "out")))))
+ (alist-replace
+ 'install
+ (lambda _
+ (zero? (system* "sh" "install.sh")))
+ %standard-phases))))
+ ;; No 'check' target, though "make.sh" (build phase) runs tests.
+ #:tests? #f))
+ (home-page "http://www.sbcl.org/")
+ (synopsis "Common Lisp implementation")
+ (description "Steel Bank Common Lisp (SBCL) is a high performance Common
+Lisp compiler. In addition to the compiler and runtime system for ANSI Common
+Lisp, it provides an interactive environment including a debugger, a
+statistical profiler, a code coverage tool, and many other extensions.")
+ ;; Public domain in jurisdictions that allow it, bsd-2 otherwise. MIT
+ ;; loop macro has its own license. See COPYING file for further notes.
+ (license (list license:public-domain license:bsd-2
+ (license:x11-style "file://src/code/loop.lisp")))))
+
+(define-public ccl
+ (package
+ (name "ccl")
+ (version "1.10")
+ (source #f)
+ (build-system gnu-build-system)
+ ;; CCL consists of a "lisp kernel" and "heap image", both of which are
+ ;; shipped in precompiled form in source tarballs. The former is a C
+ ;; program which we can rebuild from scratch, but the latter cannot be
+ ;; generated without an already working copy of CCL, and is platform
+ ;; dependent, so we need to fetch the correct tarball for the platform.
+ (inputs
+ `(("ccl"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.clozure.com/pub/release/1.10/ccl-" version "-"
+ (match (%current-system)
+ ((or "i686-linux" "x86_64-linux") "linuxx86")
+ ("armhf-linux" "linuxarm"))
+ ".tar.gz"))
+ (sha256
+ (base32
+ (match (%current-system)
+ ((or "i686-linux" "x86_64-linux")
+ "0mr653q5px05lr11z2mk551m5g47b4wq96vbfibpp0qlc9jp58lc")
+ ("armhf"
+ "1py02irpmi2qz5rq3h33wfv6impf15z8i2rign6hvhlqn7s99wwh"))))))))
+ (native-inputs
+ `(("m4" ,m4)
+ ("subversion" ,subversion)))
+ (arguments
+ `(#:tests? #f ;no 'check' target
+ #:phases
+ (alist-replace
+ 'unpack
+ (lambda* (#:key inputs #:allow-other-keys)
+ (and (zero? (system* "tar" "xzvf" (assoc-ref inputs "ccl")))
+ (begin (chdir "ccl") #t)))
+ (alist-delete
+ 'configure
+ (alist-cons-before
+ 'build 'pre-build
+ ;; Enter the source directory for the current platform's lisp
+ ;; kernel, and run 'make clean' to remove the precompiled one.
+ (lambda _
+ (chdir (string-append
+ "lisp-kernel/"
+ ,(match (or (%current-target-system) (%current-system))
+ ("i686-linux" "linuxx8632")
+ ("x86_64-linux" "linuxx8664")
+ ("armhf-linux" "linuxarm"))))
+ (substitute* '("Makefile")
+ (("/bin/rm") "rm"))
+ (setenv "CC" "gcc")
+ (zero? (system* "make" "clean")))
+ ;; XXX Do we need to recompile the heap image as well for Guix?
+ ;; For now just use the one we already got in the tarball.
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ ;; The lisp kernel built by running 'make' in lisp-kernel/$system
+ ;; is put back into the original directory, so go back. The heap
+ ;; image is there as well.
+ (chdir "../..")
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/"))
+ (bindir (string-append out "/bin/"))
+ (wrapper (string-append bindir "ccl"))
+ (bash (assoc-ref inputs "bash"))
+ (kernel
+ ,(match (or (%current-target-system) (%current-system))
+ ("i686-linux" "lx86cl")
+ ("x86_64-linux" "lx86cl64")
+ ("armhf-linux" "armcl")))
+ (heap (string-append kernel ".image")))
+ (mkdir-p libdir)
+ (mkdir-p bindir)
+ (copy-file kernel (string-append libdir kernel))
+ (copy-file heap (string-append libdir heap))
+ (with-output-to-file wrapper
+ (lambda ()
+ (display
+ (string-append
+ "#!" bash "/bin/sh\n"
+ "if [ -z \"$CCL_DEFAULT_DIRECTORY\" ]; then\n"
+ " CCL_DEFAULT_DIRECTORY=" libdir "\n"
+ "fi\n"
+ "export CCL_DEFAULT_DIRECTORY\n"
+ "exec " libdir kernel "\n"))))
+ (chmod wrapper #o755)))
+ %standard-phases))))))
+ (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux"))
+ (home-page "http://ccl.clozure.com/")
+ (synopsis "Common Lisp implementation")
+ (description "Clozure CL (often called CCL for short) is a Common Lisp
+implementation featuring fast compilation speed, native threads, a precise,
+generational, compacting garbage collector, and a convenient foreign-function
+interface.")
+ ;; See file doc/LICENSE for clarifications it makes regarding how the LGPL
+ ;; applies to Lisp code according to them.
+ (license (list license:lgpl2.1
+ license:clarified-artistic)))) ;TRIVIAL-LDAP package
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index eda69f93ba..9a3a83f48f 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -87,7 +87,9 @@ for configuration, scripting, and rapid prototyping.")
(uri (string-append "http://luajit.org/download/LuaJIT-"
version ".tar.gz"))
(sha256
- (base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"))))
+ (base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"))
+ (patches (list (search-patch "luajit-symlinks.patch")
+ (search-patch "luajit-no_ldconfig.patch")))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;luajit is distributed without tests
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 62f86ef839..dc33c8cbd3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,6 +47,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openssl)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
@@ -529,4 +531,89 @@ an SMTP server (for example at a free mail provider) which takes care of further
delivery.")
(license gpl3+)))
+(define-public exim
+ (package
+ (name "exim")
+ (version "4.85")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.exim.org/pub/exim/exim4/exim-" version ".tar.bz2"))
+ (sha256
+ (base32 "195a3ll5ck9viazf9pvgcyc0sziln5g0ggmlm6ax002lphmiy88k"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("bdb" ,bdb)
+ ("gnutls" ,gnutls)
+ ("gzip" ,gzip)
+ ("bzip2" ,bzip2)
+ ("xz" ,xz)
+ ("pcre" ,pcre)
+ ("perl" ,perl)
+ ("libxt" ,libxt)
+ ("libxaw" ,libxaw)))
+ (native-inputs
+ `(("perl" ,perl)))
+ (arguments
+ '(#:phases
+ (alist-replace
+ 'configure
+ ;; We'd use #:make-flags but the top-level Makefile calls others
+ ;; recursively, so just set all variables this way.
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (substitute* '("Makefile" "OS/Makefile-Default")
+ (("(RM_COMMAND=).*" all var)
+ (string-append var "rm\n")))
+ (copy-file "src/EDITME" "Local/Makefile")
+ (copy-file "exim_monitor/EDITME" "Local/eximon.conf")
+ (let ((out (assoc-ref outputs "out"))
+ (gzip (assoc-ref inputs "gzip"))
+ (bzip2 (assoc-ref inputs "bzip2"))
+ (xz (assoc-ref inputs "xz")))
+ (substitute* '("Local/Makefile")
+ (("(BIN_DIRECTORY=).*" all var)
+ (string-append var out "/bin\n"))
+ (("(CONFIGURE_FILE=).*" all var)
+ (string-append var out "/etc/exim.conf\n"))
+ (("(EXIM_USER=).*" all var)
+ (string-append var "nobody\n"))
+ (("(FIXED_NEVER_USERS=).*" all var)
+ (string-append var "\n")) ;XXX no root in build environment
+ (("(COMPRESS_COMMAND=).*" all var)
+ (string-append var gzip "/bin/gzip\n"))
+ (("(ZCAT_COMMAND=).*" all var)
+ (string-append var gzip "/bin/zcat\n")))
+ ;; This file has hardcoded names for tools despite the zcat
+ ;; configuration above.
+ (substitute* '("src/exigrep.src")
+ (("'zcat'") (string-append "'" gzip "/bin/zcat'"))
+ (("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'"))
+ (("'xzcat'") (string-append "'" xz "/bin/xzcat'"))
+ (("'lzma'") (string-append "'" xz "/bin/lzma'")))))
+ (alist-cons-before
+ 'build 'fix-sh-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("scripts/lookups-Makefile" "scripts/reversion")
+ (("SHELL=/bin/sh") "SHELL=sh"))
+ (substitute* '("scripts/Configure-config.h")
+ (("\\| /bin/sh") "| sh"))
+ (let ((bash (assoc-ref inputs "bash")))
+ (substitute* '("scripts/Configure-eximon")
+ (("#!/bin/sh") (string-append "#!" bash "/bin/sh")))))
+ %standard-phases))
+ #:make-flags '("INSTALL_ARG=-no_chown")
+ ;; No 'check' target.
+ #:tests? #f))
+ (home-page "http://www.exim.org/")
+ (synopsis
+ "Message Transfer Agent (MTA) developed at the University of Cambridge")
+ (description
+ "Exim is a message transfer agent (MTA) developed at the University of
+Cambridge for use on Unix systems connected to the Internet. In style it is
+similar to Smail 3, but its facilities are more general. There is a great
+deal of flexibility in the way mail can be routed, and there are extensive
+facilities for checking incoming mail.")
+ (license gpl2+)))
+
;;; mail.scm ends here
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c3cf30c7a7..8c4eb3bd2f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -212,6 +213,30 @@ can be imported from spreadsheets, text files and database sources and it can
be output in text, PostScript, PDF or HTML.")
(license license:gpl3+)))
+(define-public arpack-ng
+ (package
+ (name "arpack-ng")
+ (version "3.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/opencollab/arpack-ng/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1fwch6vipms1ispzg2djvbzv5wag36f1dmmr3xs3mbp6imfyhvff"))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/opencollab/arpack-ng")
+ (inputs
+ `(("lapack" ,lapack)
+ ("fortran" ,gfortran-4.8)))
+ (synopsis "Fortran subroutines for solving eigenvalue problems")
+ (description
+ "ARPACK-NG is a collection of Fortran77 subroutines designed to solve
+large scale eigenvalue problems.")
+ (license (license:bsd-style "file://COPYING"
+ "See COPYING in the distribution."))))
+
(define-public lapack
(package
(name "lapack")
diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm
new file mode 100644
index 0000000000..4ea6df3dcc
--- /dev/null
+++ b/gnu/packages/moreutils.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages moreutils)
+ #:use-module ((guix licenses) #:prefix l:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages docbook))
+
+(define-public moreutils
+ (package
+ (name "moreutils")
+ (version "0.55")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://debian/pool/main/m/moreutils/moreutils_"
+ version ".orig.tar.gz"))
+ (sha256
+ (base32
+ "1dcah2jx8dbznn8966xl7sf1jrld2qfh6l6xcmx9dsnf8p8mr7fs"))))
+ (build-system gnu-build-system)
+ (inputs `(("perl" ,perl)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("docbook-xml" ,docbook-xml-4.4)
+ ("docbook-xsl" ,docbook-xsl)))
+ (arguments
+ `(#:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (use-modules (srfi srfi-1))
+ (substitute* "Makefile"
+ (("/usr/share/xml/.*/docbook.xsl")
+ (let* ((docbook-xsl (assoc-ref inputs "docbook-xsl"))
+ (files (find-files docbook-xsl "^docbook\\.xsl$")))
+ (find (lambda (file)
+ (string-suffix? "/manpages/docbook.xsl" file))
+ files)))))
+ %standard-phases)
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "CC=gcc")))
+ (home-page "http://joeyh.name/code/moreutils/")
+ (synopsis "Miscellaneous general-purpose command-line tools")
+ (description
+ "Moreutils is a collection of general-purpose command-line tools to
+augment the traditional Unix toolbox.")
+ (license l:gpl2+)))
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index be4f44ddfb..e8b834c3c9 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -35,14 +35,14 @@
(define-public node
(package
(name "node")
- (version "0.10.36")
+ (version "0.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://nodejs.org/dist/v" version
"/node-v" version ".tar.gz"))
(sha256
(base32
- "10cc2yglmrp8i2l4lm4pnm1pf7jvzjk5v80kddl4dkjb578d3mxr"))))
+ "0cifd2qhpyrbxx71a4hsagzk24qas8m5zvwcyhx69cz9yhxf404p"))))
(native-inputs `(("python" ,python-2)
("perl" ,perl)
("gcc" ,gcc-4.9)
diff --git a/gnu/packages/openssl.scm b/gnu/packages/openssl.scm
index 4f7526d755..90dea4956d 100644
--- a/gnu/packages/openssl.scm
+++ b/gnu/packages/openssl.scm
@@ -63,6 +63,10 @@
(("/bin/rm")
"rm"))))
%standard-phases))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "SSL_CERT_DIR")
+ (files '("etc/ssl/certs")))))
(synopsis "SSL/TLS implementation")
(description
"OpenSSL is an implementation of SSL/TLS")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index acb72f6bc6..97e96c712f 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,7 +23,7 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
- #:use-module ((guix licenses) #:select (gpl3+ lgpl2.1+))
+ #:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl2.1+))
#:use-module (gnu packages)
#:use-module (gnu packages guile)
#:use-module ((gnu packages compression) #:select (bzip2 gzip))
@@ -210,3 +211,31 @@ never change after they have been built. Nix stores packages in the Nix
store, usually the directory /nix/store, where each package has its own unique
sub-directory.")
(license lgpl2.1+)))
+
+(define-public stow
+ (package
+ (name "stow")
+ (version "2.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/stow/stow-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0arw1nsdlcvd7javkbk2bdvnc31d7dmb6fr25xyyi6ng76cxg2cb"))))
+ (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)))
+ (home-page "https://www.gnu.org/software/stow/")
+ (synopsis "Managing installed software packages")
+ (description
+ "GNU Stow is a symlink manager. It generates symlinks to directories
+of data and makes them appear to be merged into the same directory. It is
+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+)))
diff --git a/gnu/packages/patches/chmlib-inttypes.patch b/gnu/packages/patches/chmlib-inttypes.patch
new file mode 100644
index 0000000000..033e808792
--- /dev/null
+++ b/gnu/packages/patches/chmlib-inttypes.patch
@@ -0,0 +1,60 @@
+Taken from Debian, necessary for compilation on mips.
+
+Patch to fix integer types problem by Goswin von Brederlow
+<brederlo@informatik.uni-tuebingen.de> (#258444)
+--- chmlib-0.39.orig/src/chm_lib.c
++++ chmlib-0.39/src/chm_lib.c
+@@ -56,6 +56,7 @@
+
+ #include "lzx.h"
+
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #ifdef CHM_DEBUG
+@@ -149,22 +150,9 @@
+ typedef __int64 Int64;
+ typedef unsigned __int64 UInt64;
+
+-/* I386, 32-bit, non-Windows */
+-/* Sparc */
+-/* MIPS */
+-/* PPC */
+-#elif __i386__ || __sun || __sgi || __ppc__
+-typedef unsigned char UChar;
+-typedef short Int16;
+-typedef unsigned short UInt16;
+-typedef long Int32;
+-typedef unsigned long UInt32;
+-typedef long long Int64;
+-typedef unsigned long long UInt64;
+-
+ /* x86-64 */
+ /* Note that these may be appropriate for other 64-bit machines. */
+-#elif __x86_64__ || __ia64__
++#elif defined(__LP64__)
+ typedef unsigned char UChar;
+ typedef short Int16;
+ typedef unsigned short UInt16;
+@@ -173,10 +161,18 @@
+ typedef long Int64;
+ typedef unsigned long UInt64;
+
++/* I386, 32-bit, non-Windows */
++/* Sparc */
++/* MIPS */
++/* PPC */
+ #else
+-
+-/* yielding an error is preferable to yielding incorrect behavior */
+-#error "Please define the sized types for your platform in chm_lib.c"
++typedef unsigned char UChar;
++typedef short Int16;
++typedef unsigned short UInt16;
++typedef long Int32;
++typedef unsigned long UInt32;
++typedef long long Int64;
++typedef unsigned long long UInt64;
+ #endif
+
+ /* GCC */
diff --git a/gnu/packages/patches/cpufrequtils-fix-aclocal.patch b/gnu/packages/patches/cpufrequtils-fix-aclocal.patch
new file mode 100644
index 0000000000..be5767f462
--- /dev/null
+++ b/gnu/packages/patches/cpufrequtils-fix-aclocal.patch
@@ -0,0 +1,46 @@
+Add an extra layer of quoting to ltmain.sh sanity check.
+
+--- a/configure 2005-05-07 14:19:31.000000000 +0200
++++ b/configure 2015-02-10 11:16:32.456146934 +0100
+@@ -6266,7 +6266,7 @@
+ exit 1
+ fi
+ gentoo_lt_version="1.5.16"
+-gentoo_ltmain_version=`grep '^[:space:]*VERSION=' $ltmain | sed -e 's|^[:space:]*VERSION=||'`
++gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'`
+ if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then
+ echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+--- a/aclocal.m4 2005-05-07 14:19:25.000000000 +0200
++++ b/aclocal.m4 2015-02-10 11:16:15.352030318 +0100
+@@ -246,7 +246,7 @@
+ exit 1
+ fi
+ gentoo_lt_version="1.5.16"
+-gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'`
++gentoo_ltmain_version=`[grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||']`
+ if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then
+ AC_MSG_RESULT(no)
+ echo
+--- a/libcpufreq/configure 2005-05-07 14:19:31.000000000 +0200
++++ b/libcpufreq/configure 2015-02-10 11:16:32.456146934 +0100
+@@ -6266,7 +6266,7 @@
+ exit 1
+ fi
+ gentoo_lt_version="1.5.16"
+-gentoo_ltmain_version=`grep '^[:space:]*VERSION=' $ltmain | sed -e 's|^[:space:]*VERSION=||'`
++gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'`
+ if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then
+ echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+--- a/libcpufreq/aclocal.m4 2005-05-07 14:19:25.000000000 +0200
++++ b/libcpufreq/aclocal.m4 2015-02-10 11:16:15.352030318 +0100
+@@ -246,7 +246,7 @@
+ exit 1
+ fi
+ gentoo_lt_version="1.5.16"
+-gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'`
++gentoo_ltmain_version=`[grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||']`
+ if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then
+ AC_MSG_RESULT(no)
+ echo
diff --git a/gnu/packages/patches/icecat-CVE-2015-0822.patch b/gnu/packages/patches/icecat-CVE-2015-0822.patch
new file mode 100644
index 0000000000..2625151453
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0822.patch
@@ -0,0 +1,154 @@
+From 0922145c255bf2503d3b2dd5f8f1e813338ba990 Mon Sep 17 00:00:00 2001
+From: Mats Palmgren <mats@mozilla.com>
+Date: Sat, 24 Jan 2015 12:37:47 -0500
+Subject: [PATCH] Bug 1110557. r=mak, r=gavin, a=bkerensa
+
+---
+ .../components/satchel/nsFormFillController.cpp | 67 +++++++++++++++-------
+ toolkit/components/satchel/nsFormFillController.h | 5 ++
+ 2 files changed, 52 insertions(+), 20 deletions(-)
+
+diff --git a/toolkit/components/satchel/nsFormFillController.cpp b/toolkit/components/satchel/nsFormFillController.cpp
+index 315fc68..676ad84 100644
+--- a/toolkit/components/satchel/nsFormFillController.cpp
++++ b/toolkit/components/satchel/nsFormFillController.cpp
+@@ -61,6 +61,7 @@ nsFormFillController::nsFormFillController() :
+ mSuppressOnInput(false)
+ {
+ mController = do_GetService("@mozilla.org/autocomplete/controller;1");
++ MOZ_ASSERT(mController);
+ }
+
+ struct PwmgrInputsEnumData
+@@ -104,6 +105,21 @@ nsFormFillController::AttributeChanged(nsIDocument* aDocument,
+ int32_t aNameSpaceID,
+ nsIAtom* aAttribute, int32_t aModType)
+ {
++ if ((aAttribute == nsGkAtoms::type || aAttribute == nsGkAtoms::readonly ||
++ aAttribute == nsGkAtoms::autocomplete) &&
++ aNameSpaceID == kNameSpaceID_None) {
++ nsCOMPtr<nsIDOMHTMLInputElement> focusedInput(mFocusedInput);
++ // Reset the current state of the controller, unconditionally.
++ StopControllingInput();
++ // Then restart based on the new values. We have to delay this
++ // to avoid ending up in an endless loop due to re-registering our
++ // mutation observer (which would notify us again for *this* event).
++ nsCOMPtr<nsIRunnable> event =
++ NS_NewRunnableMethodWithArg<nsCOMPtr<nsIDOMHTMLInputElement>>
++ (this, &nsFormFillController::MaybeStartControllingInput, focusedInput);
++ NS_DispatchToCurrentThread(event);
++ }
++
+ if (mListNode && mListNode->Contains(aElement)) {
+ RevalidateDataList();
+ }
+@@ -841,28 +857,26 @@ nsFormFillController::RemoveForDocumentEnumerator(const nsINode* aKey,
+ return PL_DHASH_NEXT;
+ }
+
+-nsresult
+-nsFormFillController::Focus(nsIDOMEvent* aEvent)
++void
++nsFormFillController::MaybeStartControllingInput(nsIDOMHTMLInputElement* aInput)
+ {
+- nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(
+- aEvent->InternalDOMEvent()->GetTarget());
+- nsCOMPtr<nsINode> inputNode = do_QueryInterface(input);
++ nsCOMPtr<nsINode> inputNode = do_QueryInterface(aInput);
+ if (!inputNode)
+- return NS_OK;
++ return;
+
+- nsCOMPtr<nsIFormControl> formControl = do_QueryInterface(input);
++ nsCOMPtr<nsIFormControl> formControl = do_QueryInterface(aInput);
+ if (!formControl || !formControl->IsSingleLineTextControl(true))
+- return NS_OK;
++ return;
+
+ bool isReadOnly = false;
+- input->GetReadOnly(&isReadOnly);
++ aInput->GetReadOnly(&isReadOnly);
+ if (isReadOnly)
+- return NS_OK;
++ return;
+
+- bool autocomplete = nsContentUtils::IsAutocompleteEnabled(input);
++ bool autocomplete = nsContentUtils::IsAutocompleteEnabled(aInput);
+
+ nsCOMPtr<nsIDOMHTMLElement> datalist;
+- input->GetList(getter_AddRefs(datalist));
++ aInput->GetList(getter_AddRefs(datalist));
+ bool hasList = datalist != nullptr;
+
+ bool dummy;
+@@ -871,9 +885,16 @@ nsFormFillController::Focus(nsIDOMEvent* aEvent)
+ isPwmgrInput = true;
+
+ if (isPwmgrInput || hasList || autocomplete) {
+- StartControllingInput(input);
++ StartControllingInput(aInput);
+ }
++}
+
++nsresult
++nsFormFillController::Focus(nsIDOMEvent* aEvent)
++{
++ nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(
++ aEvent->InternalDOMEvent()->GetTarget());
++ MaybeStartControllingInput(input);
+ return NS_OK;
+ }
+
+@@ -1087,6 +1108,10 @@ nsFormFillController::StartControllingInput(nsIDOMHTMLInputElement *aInput)
+ // Make sure we're not still attached to an input
+ StopControllingInput();
+
++ if (!mController) {
++ return;
++ }
++
+ // Find the currently focused docShell
+ nsCOMPtr<nsIDocShell> docShell = GetDocShellForInput(aInput);
+ int32_t index = GetIndexOfDocShell(docShell);
+@@ -1129,13 +1154,15 @@ nsFormFillController::StopControllingInput()
+ mListNode = nullptr;
+ }
+
+- // Reset the controller's input, but not if it has been switched
+- // to another input already, which might happen if the user switches
+- // focus by clicking another autocomplete textbox
+- nsCOMPtr<nsIAutoCompleteInput> input;
+- mController->GetInput(getter_AddRefs(input));
+- if (input == this)
+- mController->SetInput(nullptr);
++ if (mController) {
++ // Reset the controller's input, but not if it has been switched
++ // to another input already, which might happen if the user switches
++ // focus by clicking another autocomplete textbox
++ nsCOMPtr<nsIAutoCompleteInput> input;
++ mController->GetInput(getter_AddRefs(input));
++ if (input == this)
++ mController->SetInput(nullptr);
++ }
+
+ if (mFocusedInputNode) {
+ MaybeRemoveMutationObserver(mFocusedInputNode);
+diff --git a/toolkit/components/satchel/nsFormFillController.h b/toolkit/components/satchel/nsFormFillController.h
+index b60d28d..8c3ba26 100644
+--- a/toolkit/components/satchel/nsFormFillController.h
++++ b/toolkit/components/satchel/nsFormFillController.h
+@@ -62,6 +62,11 @@ protected:
+
+ void StartControllingInput(nsIDOMHTMLInputElement *aInput);
+ void StopControllingInput();
++ /**
++ * Checks that aElement is a type of element we want to fill, then calls
++ * StartControllingInput on it.
++ */
++ void MaybeStartControllingInput(nsIDOMHTMLInputElement* aElement);
+
+ nsresult PerformInputListAutoComplete(nsIAutoCompleteResult* aPreviousResult);
+
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch
new file mode 100644
index 0000000000..c57da755d1
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch
@@ -0,0 +1,33 @@
+From 28b6204b1421aa57b3c10c43d90cb516910bc80f Mon Sep 17 00:00:00 2001
+From: Markus Stange <mstange@themasta.com>
+Date: Tue, 6 Jan 2015 12:08:39 +0100
+Subject: [PATCH] Bug 1117304 - Also do the checks at the start of CopyRect in
+ release builds. r=Bas, a=sledru
+
+---
+ gfx/2d/FilterNodeSoftware.cpp | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp
+index 00d790f..396d0da 100644
+--- a/gfx/2d/FilterNodeSoftware.cpp
++++ b/gfx/2d/FilterNodeSoftware.cpp
+@@ -253,9 +253,12 @@ CopyRect(DataSourceSurface* aSrc, DataSourceSurface* aDest,
+ MOZ_CRASH("we should never be getting invalid rects at this point");
+ }
+
+- MOZ_ASSERT(aSrc->GetFormat() == aDest->GetFormat(), "different surface formats");
+- MOZ_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect), "source rect too big for source surface");
+- MOZ_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(aSrcRect - aSrcRect.TopLeft() + aDestPoint), "dest surface too small");
++ MOZ_RELEASE_ASSERT(aSrc->GetFormat() == aDest->GetFormat(),
++ "different surface formats");
++ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect),
++ "source rect too big for source surface");
++ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(IntRect(aDestPoint, aSrcRect.Size())),
++ "dest surface too small");
+
+ if (aSrcRect.IsEmpty()) {
+ return;
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch
new file mode 100644
index 0000000000..1ff68f4b4c
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch
@@ -0,0 +1,35 @@
+From 5ff75fbe51d5760a96b4e614617c9cbf35f1fbaa Mon Sep 17 00:00:00 2001
+From: Markus Stange <mstange@themasta.com>
+Date: Mon, 5 Jan 2015 18:40:27 +0100
+Subject: [PATCH] Bug 1117304 - Make sure the tile filter doesn't call CopyRect
+ on surfaces with different formats. r=Bas, a=sledru
+
+---
+ gfx/2d/FilterNodeSoftware.cpp | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp
+index 396d0da..10d92c6 100644
+--- a/gfx/2d/FilterNodeSoftware.cpp
++++ b/gfx/2d/FilterNodeSoftware.cpp
+@@ -1568,7 +1568,16 @@ FilterNodeTileSoftware::Render(const IntRect& aRect)
+ return nullptr;
+ }
+ }
+- MOZ_ASSERT(input->GetFormat() == target->GetFormat(), "different surface formats from the same input?");
++
++ if (input->GetFormat() != target->GetFormat()) {
++ // Different rectangles of the input can have different formats. If
++ // that happens, just convert everything to B8G8R8A8.
++ target = FilterProcessing::ConvertToB8G8R8A8(target);
++ input = FilterProcessing::ConvertToB8G8R8A8(input);
++ if (MOZ2D_WARN_IF(!target) || MOZ2D_WARN_IF(!input)) {
++ return nullptr;
++ }
++ }
+
+ CopyRect(input, target, srcRect - srcRect.TopLeft(), destRect.TopLeft() - aRect.TopLeft());
+ }
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch
new file mode 100644
index 0000000000..8d40126849
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch
@@ -0,0 +1,56 @@
+From c91087708686ae1c47abee65e19536688e5ec8f2 Mon Sep 17 00:00:00 2001
+From: Ryan VanderMeulen <ryanvm@gmail.com>
+Date: Mon, 26 Jan 2015 17:24:46 -0500
+Subject: [PATCH] Bug 1117304 - Add missing MOZ2D_WARN_IF definition to fix
+ bustage. r=milan, a=bustage
+
+---
+ gfx/2d/FilterNodeSoftware.cpp | 1 +
+ gfx/2d/Logging.h | 19 +++++++++++++++++++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp
+index 10d92c6..48bf162 100644
+--- a/gfx/2d/FilterNodeSoftware.cpp
++++ b/gfx/2d/FilterNodeSoftware.cpp
+@@ -12,6 +12,7 @@
+ #include "Blur.h"
+ #include <map>
+ #include "FilterProcessing.h"
++#include "Logging.h"
+ #include "mozilla/PodOperations.h"
+ #include "mozilla/DebugOnly.h"
+
+diff --git a/gfx/2d/Logging.h b/gfx/2d/Logging.h
+index 85e788c..d7728bb 100644
+--- a/gfx/2d/Logging.h
++++ b/gfx/2d/Logging.h
+@@ -155,6 +155,25 @@ typedef Log<LOG_WARNING> WarningLog;
+ #define gfxWarning if (1) ; else NoLog
+ #endif
+
++// See nsDebug.h and the NS_WARN_IF macro
++
++#ifdef __cplusplus
++#ifdef DEBUG
++inline bool MOZ2D_warn_if_impl(bool aCondition, const char* aExpr,
++ const char* aFile, int32_t aLine)
++{
++ if (MOZ_UNLIKELY(aCondition)) {
++ gfxWarning() << aExpr << " at " << aFile << ":" << aLine;
++ }
++ return aCondition;
++}
++#define MOZ2D_WARN_IF(condition) \
++ MOZ2D_warn_if_impl(condition, #condition, __FILE__, __LINE__)
++#else
++#define MOZ2D_WARN_IF(condition) (bool)(condition)
++#endif
++#endif
++
+ const int INDENT_PER_LEVEL = 2;
+
+ class TreeLog
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch b/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch
new file mode 100644
index 0000000000..c04d604923
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch
@@ -0,0 +1,32 @@
+From c8437505a63fc2b2552b8af217d60d79abb92ba3 Mon Sep 17 00:00:00 2001
+From: Ben Turner <bent.mozilla@gmail.com>
+Date: Fri, 6 Feb 2015 15:25:33 -0800
+Subject: [PATCH] Bug 1130541. r=janv, a=sledru
+
+---
+ dom/indexedDB/IDBDatabase.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/dom/indexedDB/IDBDatabase.cpp b/dom/indexedDB/IDBDatabase.cpp
+index 7329cec..c9c7e4f 100644
+--- a/dom/indexedDB/IDBDatabase.cpp
++++ b/dom/indexedDB/IDBDatabase.cpp
+@@ -536,6 +536,7 @@ IDBDatabase::CreateObjectStore(
+ IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction();
+
+ if (!transaction ||
++ transaction->Database() != this ||
+ transaction->GetMode() != IDBTransaction::VERSION_CHANGE) {
+ aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR);
+ return nullptr;
+@@ -577,6 +578,7 @@ IDBDatabase::DeleteObjectStore(const nsAString& aName, ErrorResult& aRv)
+ IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction();
+
+ if (!transaction ||
++ transaction->Database() != this ||
+ transaction->GetMode() != IDBTransaction::VERSION_CHANGE) {
+ aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR);
+ return;
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch b/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch
new file mode 100644
index 0000000000..9510cd611f
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch
@@ -0,0 +1,26 @@
+From 4e799e44288c951f8d9acd17e7d8c56c9ee6a7d3 Mon Sep 17 00:00:00 2001
+From: Ben Turner <bent.mozilla@gmail.com>
+Date: Mon, 9 Feb 2015 14:38:26 -0800
+Subject: [PATCH] Bug 1130541 followup a=test-only
+
+--HG--
+extra : amend_source : 23d80353f87897fdac9c99048d12ebe4ed390f76
+---
+ dom/indexedDB/test/browser_quotaPrompt.html | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dom/indexedDB/test/browser_quotaPrompt.html b/dom/indexedDB/test/browser_quotaPrompt.html
+index c139970..dbeea68 100644
+--- a/dom/indexedDB/test/browser_quotaPrompt.html
++++ b/dom/indexedDB/test/browser_quotaPrompt.html
+@@ -38,6 +38,7 @@
+ let request = indexedDB.open(window.location.pathname, version++);
+ request.onerror = errorHandler;
+ request.onupgradeneeded = function(event) {
++ let db = event.target.result;
+ db.deleteObjectStore("foo");
+ db.onversionchange = function () { db.close(); };
+ request.transaction.oncomplete = function(event) {
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch
new file mode 100644
index 0000000000..f6e2756054
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch
@@ -0,0 +1,26 @@
+From 4106ffa6ee83b814428bb07948b3595e3fa3847e Mon Sep 17 00:00:00 2001
+From: Jan de Mooij <jdemooij@mozilla.com>
+Date: Tue, 10 Feb 2015 09:40:46 +0100
+Subject: [PATCH] Bug 1128196 - Don't relazify scripts with a TypeScript.
+ r=till, a=lmandel
+
+---
+ js/src/jsscript.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/jsscript.h b/js/src/jsscript.h
+index 4d548ef..9a0cfbb 100644
+--- a/js/src/jsscript.h
++++ b/js/src/jsscript.h
+@@ -1251,7 +1251,7 @@ class JSScript : public js::gc::BarrieredCell<JSScript>
+ }
+
+ bool isRelazifiable() const {
+- return (selfHosted() || lazyScript) &&
++ return (selfHosted() || lazyScript) && !types &&
+ !isGenerator() && !hasBaselineScript() && !hasAnyIonScript() && !hasBeenInlined();
+ }
+ void setLazyScript(js::LazyScript *lazy) {
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch
new file mode 100644
index 0000000000..c95cf23a29
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch
@@ -0,0 +1,27 @@
+From 83c4bfeea2d2203f726e3bfcb7ee6fe56b4d9703 Mon Sep 17 00:00:00 2001
+From: Ryan VanderMeulen <ryanvm@gmail.com>
+Date: Thu, 29 Jan 2015 10:31:25 -0500
+Subject: [PATCH] Bug 1111248. r=Waldo, a=sledru
+
+---
+ js/src/jsbool.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/js/src/jsbool.cpp b/js/src/jsbool.cpp
+index 5d88bd5..8d5d672 100644
+--- a/js/src/jsbool.cpp
++++ b/js/src/jsbool.cpp
+@@ -198,7 +198,8 @@ js::ToBooleanSlow(HandleValue v)
+ bool
+ js::BooleanGetPrimitiveValueSlow(HandleObject wrappedBool)
+ {
+- JSObject *obj = wrappedBool->as<ProxyObject>().target();
+- JS_ASSERT(obj);
++ JSObject *obj = CheckedUnwrap(wrappedBool);
++ if (!obj || !obj->is<BooleanObject>())
++ return false;
+ return obj->as<BooleanObject>().unbox();
+ }
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch
new file mode 100644
index 0000000000..115cd76201
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch
@@ -0,0 +1,220 @@
+From 4e4e34238e5bb5af83a645a5f4d2097e3b30e9dd Mon Sep 17 00:00:00 2001
+From: Tom Schuster <evilpies@gmail.com>
+Date: Sun, 25 Jan 2015 21:42:10 +0100
+Subject: [PATCH] Bug 1111243 - Implement ES6 proxy behavior for IsArray.
+ r=efaust, a=abillings
+
+---
+ browser/devtools/app-manager/app-projects.js | 2 ++
+ js/public/Class.h | 5 +++-
+ js/src/jsarray.cpp | 9 ++++--
+ js/src/jsobjinlines.h | 15 +++++++++-
+ js/src/json.cpp | 11 +++----
+ js/src/jsproxy.cpp | 45 ++++++++++++++++++++++++++++
+ 6 files changed, 78 insertions(+), 9 deletions(-)
+
+diff --git a/browser/devtools/app-manager/app-projects.js b/browser/devtools/app-manager/app-projects.js
+index d09f72f..77ca67b 100644
+--- a/browser/devtools/app-manager/app-projects.js
++++ b/browser/devtools/app-manager/app-projects.js
+@@ -61,6 +61,8 @@ const IDB = {
+ add: function(project) {
+ let deferred = promise.defer();
+
++ project = JSON.parse(JSON.stringify(project));
++
+ if (!project.location) {
+ // We need to make sure this object has a `.location` property.
+ deferred.reject("Missing location property on project object.");
+diff --git a/js/public/Class.h b/js/public/Class.h
+index ff864b1..46f7d39 100644
+--- a/js/public/Class.h
++++ b/js/public/Class.h
+@@ -521,7 +521,10 @@ Valueify(const JSClass *c)
+ */
+ enum ESClassValue {
+ ESClass_Array, ESClass_Number, ESClass_String, ESClass_Boolean,
+- ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date
++ ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date,
++ // Special snowflake for the ES6 IsArray method.
++ // Please don't use it without calling that function.
++ ESClass_IsArray
+ };
+
+ /*
+diff --git a/js/src/jsarray.cpp b/js/src/jsarray.cpp
+index 24da176..46f1c20 100644
+--- a/js/src/jsarray.cpp
++++ b/js/src/jsarray.cpp
+@@ -2645,7 +2645,8 @@ js::array_concat(JSContext *cx, unsigned argc, Value *vp)
+ HandleValue v = HandleValue::fromMarkedLocation(&p[i]);
+ if (v.isObject()) {
+ RootedObject obj(cx, &v.toObject());
+- if (ObjectClassIs(obj, ESClass_Array, cx)) {
++ // This should be IsConcatSpreadable
++ if (IsArray(obj, cx)) {
+ uint32_t alength;
+ if (!GetLengthProperty(cx, obj, &alength))
+ return false;
+@@ -2870,7 +2871,11 @@ static bool
+ array_isArray(JSContext *cx, unsigned argc, Value *vp)
+ {
+ CallArgs args = CallArgsFromVp(argc, vp);
+- bool isArray = args.length() > 0 && IsObjectWithClass(args[0], ESClass_Array, cx);
++ bool isArray = false;
++ if (args.get(0).isObject()) {
++ RootedObject obj(cx, &args[0].toObject());
++ isArray = IsArray(obj, cx);
++ }
+ args.rval().setBoolean(isArray);
+ return true;
+ }
+diff --git a/js/src/jsobjinlines.h b/js/src/jsobjinlines.h
+index e848ba7..557dd26 100644
+--- a/js/src/jsobjinlines.h
++++ b/js/src/jsobjinlines.h
+@@ -1032,7 +1032,10 @@ ObjectClassIs(HandleObject obj, ESClassValue classValue, JSContext *cx)
+ return Proxy::objectClassIs(obj, classValue, cx);
+
+ switch (classValue) {
+- case ESClass_Array: return obj->is<ArrayObject>();
++ case ESClass_Array:
++ case ESClass_IsArray:
++ // There difference between those is only relevant for proxies.
++ return obj->is<ArrayObject>();
+ case ESClass_Number: return obj->is<NumberObject>();
+ case ESClass_String: return obj->is<StringObject>();
+ case ESClass_Boolean: return obj->is<BooleanObject>();
+@@ -1053,6 +1056,16 @@ IsObjectWithClass(const Value &v, ESClassValue classValue, JSContext *cx)
+ return ObjectClassIs(obj, classValue, cx);
+ }
+
++// ES6 7.2.2
++inline bool
++IsArray(HandleObject obj, JSContext *cx)
++{
++ if (obj->is<ArrayObject>())
++ return true;
++
++ return ObjectClassIs(obj, ESClass_IsArray, cx);
++}
++
+ static MOZ_ALWAYS_INLINE bool
+ NewObjectMetadata(ExclusiveContext *cxArg, JSObject **pmetadata)
+ {
+diff --git a/js/src/json.cpp b/js/src/json.cpp
+index 6e45bfd..81a99a6 100644
+--- a/js/src/json.cpp
++++ b/js/src/json.cpp
+@@ -300,7 +300,7 @@ JO(JSContext *cx, HandleObject obj, StringifyContext *scx)
+ Maybe<AutoIdVector> ids;
+ const AutoIdVector *props;
+ if (scx->replacer && !scx->replacer->isCallable()) {
+- JS_ASSERT(JS_IsArrayObject(cx, scx->replacer));
++ JS_ASSERT(IsArray(scx->replacer, cx));
+ props = &scx->propertyList;
+ } else {
+ JS_ASSERT_IF(scx->replacer, scx->propertyList.length() == 0);
+@@ -488,7 +488,7 @@ Str(JSContext *cx, const Value &v, StringifyContext *scx)
+
+ scx->depth++;
+ bool ok;
+- if (ObjectClassIs(obj, ESClass_Array, cx))
++ if (IsArray(obj, cx))
+ ok = JA(cx, obj, scx);
+ else
+ ok = JO(cx, obj, scx);
+@@ -510,7 +510,7 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp
+ if (replacer) {
+ if (replacer->isCallable()) {
+ /* Step 4a(i): use replacer to transform values. */
+- } else if (ObjectClassIs(replacer, ESClass_Array, cx)) {
++ } else if (IsArray(replacer, cx)) {
+ /*
+ * Step 4b: The spec algorithm is unhelpfully vague about the exact
+ * steps taken when the replacer is an array, regarding the exact
+@@ -541,7 +541,8 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp
+
+ /* Step 4b(ii). */
+ uint32_t len;
+- JS_ALWAYS_TRUE(GetLengthProperty(cx, replacer, &len));
++ if (!GetLengthProperty(cx, replacer, &len))
++ return false;
+ if (replacer->is<ArrayObject>() && !replacer->isIndexed())
+ len = Min(len, replacer->getDenseInitializedLength());
+
+@@ -678,7 +679,7 @@ Walk(JSContext *cx, HandleObject holder, HandleId name, HandleValue reviver, Mut
+ if (val.isObject()) {
+ RootedObject obj(cx, &val.toObject());
+
+- if (ObjectClassIs(obj, ESClass_Array, cx)) {
++ if (IsArray(obj, cx)) {
+ /* Step 2a(ii). */
+ uint32_t length;
+ if (!GetLengthProperty(cx, obj, &length))
+diff --git a/js/src/jsproxy.cpp b/js/src/jsproxy.cpp
+index 7644da1..7453103 100644
+--- a/js/src/jsproxy.cpp
++++ b/js/src/jsproxy.cpp
+@@ -1108,6 +1108,14 @@ class ScriptedDirectProxyHandler : public DirectProxyHandler {
+ virtual bool isExtensible(JSContext *cx, HandleObject proxy, bool *extensible) MOZ_OVERRIDE;
+
+ /* Spidermonkey extensions. */
++ // A scripted proxy should not be treated as generic in most contexts.
++ virtual bool nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl,
++ CallArgs args) MOZ_OVERRIDE;
++ virtual bool objectClassIs(HandleObject obj, ESClassValue classValue,
++ JSContext *cx) MOZ_OVERRIDE;
++ virtual bool regexp_toShared(JSContext *cx, HandleObject proxy,
++ RegExpGuard *g) MOZ_OVERRIDE;
++
+ virtual bool call(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE;
+ virtual bool construct(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE;
+ virtual bool isScripted() MOZ_OVERRIDE { return true; }
+@@ -2350,6 +2358,43 @@ ScriptedDirectProxyHandler::construct(JSContext *cx, HandleObject proxy, const C
+ return true;
+ }
+
++bool
++ScriptedDirectProxyHandler::nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl,
++ CallArgs args)
++{
++ ReportIncompatible(cx, args);
++ return false;
++}
++
++bool
++ScriptedDirectProxyHandler::objectClassIs(HandleObject proxy, ESClassValue classValue,
++ JSContext *cx)
++{
++ // Special case IsArray. In every other instance ES wants to have exactly
++ // one object type and not a proxy around it, so return false.
++ if (classValue != ESClass_IsArray)
++ return false;
++
++ // In ES6 IsArray is supposed to poke at the Proxy target, instead we do this here.
++ // The reason for this is that we have proxies for which looking at the target might
++ // be impossible. So instead we use our little objectClassIs function that just works
++ // already across different wrappers.
++ RootedObject target(cx, proxy->as<ProxyObject>().target());
++ if (!target)
++ return false;
++
++ return IsArray(target, cx);
++}
++
++bool
++ScriptedDirectProxyHandler::regexp_toShared(JSContext *cx, HandleObject proxy,
++ RegExpGuard *g)
++{
++ MOZ_CRASH("Should not end up in ScriptedDirectProxyHandler::regexp_toShared");
++ return false;
++}
++
++
+ ScriptedDirectProxyHandler ScriptedDirectProxyHandler::singleton;
+
+ #define INVOKE_ON_PROTOTYPE(cx, handler, proxy, protoCall) \
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch
new file mode 100644
index 0000000000..58e61d080c
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch
@@ -0,0 +1,89 @@
+From 97ba04bf95606b409b1b3035504a41c274ecffe2 Mon Sep 17 00:00:00 2001
+From: Shu-yu Guo <shu@rfrn.org>
+Date: Mon, 26 Jan 2015 18:26:25 -0800
+Subject: [PATCH] Bug 1119579 - Don't GC while iterating compartments in
+ findAllGlobals. r=sfink, a=abillings
+
+---
+ js/src/vm/Debugger.cpp | 56 ++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 34 insertions(+), 22 deletions(-)
+
+diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp
+index 27e993d..a8decef 100644
+--- a/js/src/vm/Debugger.cpp
++++ b/js/src/vm/Debugger.cpp
+@@ -2825,37 +2825,49 @@ Debugger::findAllGlobals(JSContext *cx, unsigned argc, Value *vp)
+ {
+ THIS_DEBUGGER(cx, argc, vp, "findAllGlobals", args, dbg);
+
+- RootedObject result(cx, NewDenseEmptyArray(cx));
+- if (!result)
+- return false;
++ AutoObjectVector globals(cx);
+
+- for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) {
+- if (c->options().invisibleToDebugger())
+- continue;
++ {
++ // Accumulate the list of globals before wrapping them, because
++ // wrapping can GC and collect compartments from under us, while
++ // iterating.
+
+- c->zone()->scheduledForDestruction = false;
++ for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) {
++ if (c->options().invisibleToDebugger())
++ continue;
+
+- GlobalObject *global = c->maybeGlobal();
++ c->zone()->scheduledForDestruction = false;
+
+- if (cx->runtime()->isSelfHostingGlobal(global))
+- continue;
++ GlobalObject *global = c->maybeGlobal();
+
+- if (global) {
+- /*
+- * We pulled |global| out of nowhere, so it's possible that it was
+- * marked gray by XPConnect. Since we're now exposing it to JS code,
+- * we need to mark it black.
+- */
+- JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT);
++ if (cx->runtime()->isSelfHostingGlobal(global))
++ continue;
+
+- RootedValue globalValue(cx, ObjectValue(*global));
+- if (!dbg->wrapDebuggeeValue(cx, &globalValue))
+- return false;
+- if (!NewbornArrayPush(cx, result, globalValue))
+- return false;
++ if (global) {
++ /*
++ * We pulled |global| out of nowhere, so it's possible that it was
++ * marked gray by XPConnect. Since we're now exposing it to JS code,
++ * we need to mark it black.
++ */
++ JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT);
++ if (!globals.append(global))
++ return false;
++ }
+ }
+ }
+
++ RootedObject result(cx, NewDenseEmptyArray(cx));
++ if (!result)
++ return false;
++
++ for (size_t i = 0; i < globals.length(); i++) {
++ RootedValue globalValue(cx, ObjectValue(*globals[i]));
++ if (!dbg->wrapDebuggeeValue(cx, &globalValue))
++ return false;
++ if (!NewbornArrayPush(cx, result, globalValue))
++ return false;
++ }
++
+ args.rval().setObject(*result);
+ return true;
+ }
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch
new file mode 100644
index 0000000000..3e4ed17598
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch
@@ -0,0 +1,25 @@
+From 746ddf19ff532b8abc90d3a91322a04b462ebfa8 Mon Sep 17 00:00:00 2001
+From: Brian Hackett <bhackett1024@gmail.com>
+Date: Mon, 26 Jan 2015 13:14:34 -0500
+Subject: [PATCH] Bug 1124018 - Null the allocation site table if
+ initialization fails. r=jonco, a=bkerensa
+
+---
+ js/src/jsinfer.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/js/src/jsinfer.cpp b/js/src/jsinfer.cpp
+index b62ad1f..4019b16 100644
+--- a/js/src/jsinfer.cpp
++++ b/js/src/jsinfer.cpp
+@@ -2035,6 +2035,7 @@ TypeCompartment::addAllocationSiteTypeObject(JSContext *cx, AllocationSiteKey ke
+ allocationSiteTable = cx->new_<AllocationSiteTable>();
+ if (!allocationSiteTable || !allocationSiteTable->init()) {
+ js_delete(allocationSiteTable);
++ allocationSiteTable = nullptr;
+ return nullptr;
+ }
+ }
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch
new file mode 100644
index 0000000000..181f9243e3
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch
@@ -0,0 +1,41 @@
+From 0758363d982b0b3e6cf021c164715a028a345b9e Mon Sep 17 00:00:00 2001
+From: "Byron Campen [:bwc]" <docfaraday@gmail.com>
+Date: Wed, 21 Jan 2015 08:56:36 -0800
+Subject: [PATCH] Bug 1123882 - Fix case where offset != 0. r=derf, a=bkerensa
+
+---
+ content/media/MediaDecoderStateMachine.cpp | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/content/media/MediaDecoderStateMachine.cpp b/content/media/MediaDecoderStateMachine.cpp
+index ce5870f..4ed496c 100644
+--- a/content/media/MediaDecoderStateMachine.cpp
++++ b/content/media/MediaDecoderStateMachine.cpp
+@@ -328,6 +328,8 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio,
+ if (offset >= aAudio->mFrames)
+ return;
+
++ size_t framesToWrite = aAudio->mFrames - offset;
++
+ aAudio->EnsureAudioBuffer();
+ nsRefPtr<SharedBuffer> buffer = aAudio->mAudioBuffer;
+ AudioDataValue* bufferData = static_cast<AudioDataValue*>(buffer->Data());
+@@ -335,10 +337,11 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio,
+ for (uint32_t i = 0; i < aAudio->mChannels; ++i) {
+ channels.AppendElement(bufferData + i*aAudio->mFrames + offset);
+ }
+- aOutput->AppendFrames(buffer.forget(), channels, aAudio->mFrames);
+- VERBOSE_LOG("writing %d frames of data to MediaStream for AudioData at %lld",
+- aAudio->mFrames - int32_t(offset), aAudio->mTime);
+- aStream->mAudioFramesWritten += aAudio->mFrames - int32_t(offset);
++ aOutput->AppendFrames(buffer.forget(), channels, framesToWrite);
++ VERBOSE_LOG("writing %u frames of data to MediaStream for AudioData at %lld",
++ static_cast<unsigned>(framesToWrite),
++ aAudio->mTime);
++ aStream->mAudioFramesWritten += framesToWrite;
+ }
+
+ static void WriteVideoToMediaStream(layers::Image* aImage,
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch
new file mode 100644
index 0000000000..818d369b26
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch
@@ -0,0 +1,54 @@
+From 94899f849e50a765bb26420f5c70d49002d6673f Mon Sep 17 00:00:00 2001
+From: Glenn Randers-Pehrson <glennrp+bmo@gmail.com>
+Date: Mon, 26 Jan 2015 16:07:00 -0500
+Subject: [PATCH] Bug 1117406 - Fix handling of out-of-range PNG tRNS values.
+ r=jmuizelaar, a=abillings
+
+---
+ image/decoders/nsPNGDecoder.cpp | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/image/decoders/nsPNGDecoder.cpp b/image/decoders/nsPNGDecoder.cpp
+index acaa835..8e6bc2d 100644
+--- a/image/decoders/nsPNGDecoder.cpp
++++ b/image/decoders/nsPNGDecoder.cpp
+@@ -528,24 +528,26 @@ nsPNGDecoder::info_callback(png_structp png_ptr, png_infop info_ptr)
+ png_set_expand(png_ptr);
+
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+- int sample_max = (1 << bit_depth);
+ png_color_16p trans_values;
+ png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, &trans_values);
+ /* libpng doesn't reject a tRNS chunk with out-of-range samples
+ so we check it here to avoid setting up a useless opacity
+- channel or producing unexpected transparent pixels when using
+- libpng-1.2.19 through 1.2.26 (bug #428045) */
+- if ((color_type == PNG_COLOR_TYPE_GRAY &&
+- (int)trans_values->gray > sample_max) ||
+- (color_type == PNG_COLOR_TYPE_RGB &&
+- ((int)trans_values->red > sample_max ||
+- (int)trans_values->green > sample_max ||
+- (int)trans_values->blue > sample_max)))
++ channel or producing unexpected transparent pixels (bug #428045) */
++ if (bit_depth < 16) {
++ png_uint_16 sample_max = (1 << bit_depth) - 1;
++ if ((color_type == PNG_COLOR_TYPE_GRAY &&
++ trans_values->gray > sample_max) ||
++ (color_type == PNG_COLOR_TYPE_RGB &&
++ (trans_values->red > sample_max ||
++ trans_values->green > sample_max ||
++ trans_values->blue > sample_max)))
+ {
+ /* clear the tRNS valid flag and release tRNS memory */
+ png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0);
++ num_trans = 0;
+ }
+- else
++ }
++ if (num_trans != 0)
+ png_set_expand(png_ptr);
+ }
+
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch
new file mode 100644
index 0000000000..685e3a6d43
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch
@@ -0,0 +1,53 @@
+From 4920c5c447d1153dffa623dd70d8b535b9ca6795 Mon Sep 17 00:00:00 2001
+From: Jan de Mooij <jdemooij@mozilla.com>
+Date: Mon, 26 Jan 2015 12:59:47 +0100
+Subject: [PATCH] Bug 1115776 - Fix LApplyArgsGeneric to always emit the
+ has-script check. r=shu, a=sledru
+
+---
+ js/src/jit/CodeGenerator.cpp | 24 ++++++++----------------
+ 1 file changed, 8 insertions(+), 16 deletions(-)
+
+diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
+index ba14f86..0669692 100644
+--- a/js/src/jit/CodeGenerator.cpp
++++ b/js/src/jit/CodeGenerator.cpp
+@@ -2448,27 +2448,19 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply)
+
+ masm.checkStackAlignment();
+
+- // If the function is known to be uncompilable, only emit the call to InvokeFunction.
++ // If the function is native, only emit the call to InvokeFunction.
+ ExecutionMode executionMode = gen->info().executionMode();
+- if (apply->hasSingleTarget()) {
+- JSFunction *target = apply->getSingleTarget();
+- if (target->isNative()) {
+- if (!emitCallInvokeFunction(apply, copyreg))
+- return false;
+- emitPopArguments(apply, copyreg);
+- return true;
+- }
++ if (apply->hasSingleTarget() && apply->getSingleTarget()->isNative()) {
++ if (!emitCallInvokeFunction(apply, copyreg))
++ return false;
++ emitPopArguments(apply, copyreg);
++ return true;
+ }
+
+ Label end, invoke;
+
+- // Guard that calleereg is an interpreted function with a JSScript:
+- if (!apply->hasSingleTarget()) {
+- masm.branchIfFunctionHasNoScript(calleereg, &invoke);
+- } else {
+- // Native single targets are handled by LCallNative.
+- JS_ASSERT(!apply->getSingleTarget()->isNative());
+- }
++ // Guard that calleereg is an interpreted function with a JSScript.
++ masm.branchIfFunctionHasNoScript(calleereg, &invoke);
+
+ // Knowing that calleereg is a non-native function, load the JSScript.
+ masm.loadPtr(Address(calleereg, JSFunction::offsetOfNativeOrScript()), objreg);
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch
new file mode 100644
index 0000000000..d067d8133d
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch
@@ -0,0 +1,52 @@
+From f7d24f37425d3d9054a7e5657815440a07166d3f Mon Sep 17 00:00:00 2001
+From: Kartikaya Gupta <kgupta@mozilla.com>
+Date: Tue, 20 Jan 2015 10:33:27 -0500
+Subject: [PATCH] Bug 1107009 - Additional locking needed for esr31 backport.
+ r=BenWa a=sledru
+
+---
+ gfx/layers/ipc/CompositorParent.cpp | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp
+index 97c8693..cb03e71 100644
+--- a/gfx/layers/ipc/CompositorParent.cpp
++++ b/gfx/layers/ipc/CompositorParent.cpp
+@@ -1286,13 +1286,19 @@ CrossProcessCompositorParent::ShadowLayersUpdated(
+ {
+ uint64_t id = aLayerTree->GetId();
+ MOZ_ASSERT(id != 0);
++ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id);
++ if (!state) {
++ return;
++ }
++ MOZ_ASSERT(state->mParent);
++
+ Layer* shadowRoot = aLayerTree->GetRoot();
+ if (shadowRoot) {
+ SetShadowProperties(shadowRoot);
+ }
+ UpdateIndirectTree(id, shadowRoot, aTargetConfig);
+
+- sIndirectLayerTrees[id].mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite);
++ state->mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite);
+ }
+
+ void
+@@ -1329,7 +1335,12 @@ AsyncCompositionManager*
+ CrossProcessCompositorParent::GetCompositionManager(LayerTransactionParent* aLayerTree)
+ {
+ uint64_t id = aLayerTree->GetId();
+- return sIndirectLayerTrees[id].mParent->GetCompositionManager(aLayerTree);
++ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id);
++ if (!state) {
++ return nullptr;
++ }
++ MOZ_ASSERT(state->mParent);
++ return state->mParent->GetCompositionManager(aLayerTree);
+ }
+
+ void
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch
new file mode 100644
index 0000000000..9a4668b2dc
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch
@@ -0,0 +1,219 @@
+From 66e65b2138c6db20288ef4cf78d15995f382a7e2 Mon Sep 17 00:00:00 2001
+From: Kartikaya Gupta <kgupta@mozilla.com>
+Date: Tue, 13 Jan 2015 13:26:26 -0500
+Subject: [PATCH] Bug 1107009. r=BenWa, a=sledru
+
+---
+ gfx/layers/ipc/CompositorParent.cpp | 57 ++++++++++++++++++++++++++++++-------
+ 1 file changed, 46 insertions(+), 11 deletions(-)
+
+diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp
+index ce50277..cbbb2ef 100644
+--- a/gfx/layers/ipc/CompositorParent.cpp
++++ b/gfx/layers/ipc/CompositorParent.cpp
+@@ -22,6 +22,7 @@
+ #include "gfxPrefs.h" // for gfxPrefs
+ #include "ipc/ShadowLayersManager.h" // for ShadowLayersManager
+ #include "mozilla/AutoRestore.h" // for AutoRestore
++#include "mozilla/ClearOnShutdown.h" // for ClearOnShutdown
+ #include "mozilla/DebugOnly.h" // for DebugOnly
+ #include "mozilla/gfx/2D.h" // for DrawTarget
+ #include "mozilla/gfx/Point.h" // for IntSize
+@@ -70,6 +71,16 @@ CompositorParent::LayerTreeState::LayerTreeState()
+
+ typedef map<uint64_t, CompositorParent::LayerTreeState> LayerTreeMap;
+ static LayerTreeMap sIndirectLayerTrees;
++static StaticAutoPtr<mozilla::Monitor> sIndirectLayerTreesLock;
++
++static void EnsureLayerTreeMapReady()
++{
++ MOZ_ASSERT(NS_IsMainThread());
++ if (!sIndirectLayerTreesLock) {
++ sIndirectLayerTreesLock = new Monitor("IndirectLayerTree");
++ mozilla::ClearOnShutdown(&sIndirectLayerTreesLock);
++ }
++}
+
+ // FIXME/bug 774386: we're assuming that there's only one
+ // CompositorParent, but that's not always true. This assumption only
+@@ -132,6 +143,7 @@ void CompositorParent::StartUp()
+ return;
+ }
+ MOZ_ASSERT(!sCompositorLoop);
++ EnsureLayerTreeMapReady();
+ CreateCompositorMap();
+ CreateThread();
+ sMainLoop = MessageLoop::current();
+@@ -206,7 +218,11 @@ CompositorParent::CompositorParent(nsIWidget* aWidget,
+ this, &mCompositorID));
+
+ mRootLayerTreeID = AllocateLayerTreeId();
+- sIndirectLayerTrees[mRootLayerTreeID].mParent = this;
++
++ { // scope lock
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
++ sIndirectLayerTrees[mRootLayerTreeID].mParent = this;
++ }
+
+ mApzcTreeManager = new APZCTreeManager();
+ ++sCompositorThreadRefCount;
+@@ -249,7 +265,10 @@ CompositorParent::Destroy()
+ mCompositionManager = nullptr;
+ mApzcTreeManager->ClearTree();
+ mApzcTreeManager = nullptr;
+- sIndirectLayerTrees.erase(mRootLayerTreeID);
++ { // scope lock
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
++ sIndirectLayerTrees.erase(mRootLayerTreeID);
++ }
+ }
+
+ void
+@@ -266,6 +285,7 @@ CompositorParent::RecvWillStop()
+
+ // Ensure that the layer manager is destroyed before CompositorChild.
+ if (mLayerManager) {
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin();
+ it != sIndirectLayerTrees.end(); it++)
+ {
+@@ -380,7 +400,10 @@ CompositorParent::ActorDestroy(ActorDestroyReason why)
+ if (mLayerManager) {
+ mLayerManager->Destroy();
+ mLayerManager = nullptr;
+- sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr;
++ { // scope lock
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
++ sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr;
++ }
+ mCompositionManager = nullptr;
+ mCompositor = nullptr;
+ }
+@@ -696,6 +719,7 @@ CompositorParent::DidComposite()
+ {
+ unused << SendDidComposite(0);
+
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin();
+ it != sIndirectLayerTrees.end(); it++) {
+ LayerTreeState* lts = &it->second;
+@@ -867,6 +891,7 @@ CompositorParent::InitializeLayerManager(const nsTArray<LayersBackend>& aBackend
+ mLayerManager = layerManager;
+ MOZ_ASSERT(compositor);
+ mCompositor = compositor;
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = layerManager;
+ return;
+ }
+@@ -969,6 +994,7 @@ CompositorParent::RecvNotifyChildCreated(const uint64_t& child)
+ void
+ CompositorParent::NotifyChildCreated(uint64_t aChild)
+ {
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[aChild].mParent = this;
+ sIndirectLayerTrees[aChild].mLayerManager = mLayerManager;
+ }
+@@ -985,6 +1011,7 @@ CompositorParent::AllocateLayerTreeId()
+ static void
+ EraseLayerState(uint64_t aId)
+ {
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees.erase(aId);
+ }
+
+@@ -1001,6 +1028,7 @@ UpdateControllerForLayersId(uint64_t aLayersId,
+ GeckoContentController* aController)
+ {
+ // Adopt ref given to us by SetControllerForLayerTree()
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[aLayersId].mController =
+ already_AddRefed<GeckoContentController>(aController);
+ }
+@@ -1010,12 +1038,15 @@ ScopedLayerTreeRegistration::ScopedLayerTreeRegistration(uint64_t aLayersId,
+ GeckoContentController* aController)
+ : mLayersId(aLayersId)
+ {
++ EnsureLayerTreeMapReady();
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[aLayersId].mRoot = aRoot;
+ sIndirectLayerTrees[aLayersId].mController = aController;
+ }
+
+ ScopedLayerTreeRegistration::~ScopedLayerTreeRegistration()
+ {
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees.erase(mLayersId);
+ }
+
+@@ -1175,6 +1206,7 @@ CompositorParent::CloneToplevel(const InfallibleTArray<mozilla::ipc::ProtocolFdM
+ static void
+ UpdateIndirectTree(uint64_t aId, Layer* aRoot, const TargetConfig& aTargetConfig)
+ {
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[aId].mRoot = aRoot;
+ sIndirectLayerTrees[aId].mTargetConfig = aTargetConfig;
+ }
+@@ -1182,6 +1214,7 @@ UpdateIndirectTree(uint64_t aId, Layer* aRoot, const TargetConfig& aTargetConfig
+ /* static */ const CompositorParent::LayerTreeState*
+ CompositorParent::GetIndirectShadowTree(uint64_t aId)
+ {
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ LayerTreeMap::const_iterator cit = sIndirectLayerTrees.find(aId);
+ if (sIndirectLayerTrees.end() == cit) {
+ return nullptr;
+@@ -1189,12 +1222,6 @@ CompositorParent::GetIndirectShadowTree(uint64_t aId)
+ return &cit->second;
+ }
+
+-static void
+-RemoveIndirectTree(uint64_t aId)
+-{
+- sIndirectLayerTrees.erase(aId);
+-}
+-
+ void
+ CrossProcessCompositorParent::ActorDestroy(ActorDestroyReason aWhy)
+ {
+@@ -1211,6 +1238,8 @@ CrossProcessCompositorParent::AllocPLayerTransactionParent(const nsTArray<Layers
+ {
+ MOZ_ASSERT(aId != 0);
+
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
++
+ if (sIndirectLayerTrees[aId].mLayerManager) {
+ sIndirectLayerTrees[aId].mCrossProcessParent = this;
+ LayerManagerComposite* lm = sIndirectLayerTrees[aId].mLayerManager;
+@@ -1234,7 +1263,7 @@ bool
+ CrossProcessCompositorParent::DeallocPLayerTransactionParent(PLayerTransactionParent* aLayers)
+ {
+ LayerTransactionParent* slp = static_cast<LayerTransactionParent*>(aLayers);
+- RemoveIndirectTree(slp->GetId());
++ EraseLayerState(slp->GetId());
+ static_cast<LayerTransactionParent*>(aLayers)->ReleaseIPDLReference();
+ return true;
+ }
+@@ -1242,6 +1271,7 @@ CrossProcessCompositorParent::DeallocPLayerTransactionParent(PLayerTransactionPa
+ bool
+ CrossProcessCompositorParent::RecvNotifyChildCreated(const uint64_t& child)
+ {
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[child].mParent->NotifyChildCreated(child);
+ return true;
+ }
+@@ -1269,7 +1299,12 @@ CrossProcessCompositorParent::ForceComposite(LayerTransactionParent* aLayerTree)
+ {
+ uint64_t id = aLayerTree->GetId();
+ MOZ_ASSERT(id != 0);
+- sIndirectLayerTrees[id].mParent->ForceComposite(aLayerTree);
++ CompositorParent* parent;
++ { // scope lock
++ MonitorAutoLock lock(*sIndirectLayerTreesLock);
++ parent = sIndirectLayerTrees[id].mParent;
++ }
++ parent->ForceComposite(aLayerTree);
+ }
+
+ bool
+--
+2.2.1
+
diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch
new file mode 100644
index 0000000000..869feaf7c6
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch
@@ -0,0 +1,104 @@
+From 3f0f685829445ae82974d61f6017fdb67349c32b Mon Sep 17 00:00:00 2001
+From: Dan Gohman <sunfish@mozilla.com>
+Date: Fri, 9 Jan 2015 09:04:12 -0500
+Subject: [PATCH] Bug 1096138 - IonMonkey: Augment Nops with Mops to avoid
+ collisions with fixed live ranges. r=jandem, a=sledru
+
+---
+ js/src/jit/CodeGenerator.cpp | 6 ++++++
+ js/src/jit/CodeGenerator.h | 1 +
+ js/src/jit/LIR-Common.h | 6 ++++++
+ js/src/jit/LOpcodes.h | 1 +
+ js/src/jit/Lowering.cpp | 12 ++++++++++++
+ 5 files changed, 26 insertions(+)
+
+diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
+index 4f07524..ba14f86 100644
+--- a/js/src/jit/CodeGenerator.cpp
++++ b/js/src/jit/CodeGenerator.cpp
+@@ -1077,6 +1077,12 @@ CodeGenerator::visitNop(LNop *lir)
+ }
+
+ bool
++CodeGenerator::visitMop(LMop *lir)
++{
++ return true;
++}
++
++bool
+ CodeGenerator::visitOsiPoint(LOsiPoint *lir)
+ {
+ // Note: markOsiPoint ensures enough space exists between the last
+diff --git a/js/src/jit/CodeGenerator.h b/js/src/jit/CodeGenerator.h
+index 03677a5..dce095d 100644
+--- a/js/src/jit/CodeGenerator.h
++++ b/js/src/jit/CodeGenerator.h
+@@ -58,6 +58,7 @@ class CodeGenerator : public CodeGeneratorSpecific
+
+ bool visitLabel(LLabel *lir);
+ bool visitNop(LNop *lir);
++ bool visitMop(LMop *lir);
+ bool visitOsiPoint(LOsiPoint *lir);
+ bool visitGoto(LGoto *lir);
+ bool visitTableSwitch(LTableSwitch *ins);
+diff --git a/js/src/jit/LIR-Common.h b/js/src/jit/LIR-Common.h
+index c90aef9..e7a0e4c 100644
+--- a/js/src/jit/LIR-Common.h
++++ b/js/src/jit/LIR-Common.h
+@@ -42,6 +42,12 @@ class LNop : public LInstructionHelper<0, 0, 0>
+ LIR_HEADER(Nop)
+ };
+
++class LMop : public LInstructionHelper<0, 0, 0>
++{
++ public:
++ LIR_HEADER(Mop)
++};
++
+ // An LOsiPoint captures a snapshot after a call and ensures enough space to
+ // patch in a call to the invalidation mechanism.
+ //
+diff --git a/js/src/jit/LOpcodes.h b/js/src/jit/LOpcodes.h
+index a32d64f..cd7eef8 100644
+--- a/js/src/jit/LOpcodes.h
++++ b/js/src/jit/LOpcodes.h
+@@ -10,6 +10,7 @@
+ #define LIR_COMMON_OPCODE_LIST(_) \
+ _(Label) \
+ _(Nop) \
++ _(Mop) \
+ _(OsiPoint) \
+ _(MoveGroup) \
+ _(Integer) \
+diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
+index d5f8227..48b7fa9 100644
+--- a/js/src/jit/Lowering.cpp
++++ b/js/src/jit/Lowering.cpp
+@@ -3616,12 +3616,24 @@ LIRGenerator::visitInstruction(MInstruction *ins)
+ ins->setInWorklistUnchecked();
+ #endif
+
++ // If we added a Nop for this instruction, we'll also add a Mop, so that
++ // that live-ranges for fixed register defs, which with LSRA extend through
++ // the Nop so that they can extend through the OsiPoint don't, with their
++ // one-extra extension, extend into a position where they use the input
++ // move group for the following instruction.
++ bool needsMop = !current->instructions().empty() && current->rbegin()->isNop();
++
+ // If no safepoint was created, there's no need for an OSI point.
+ if (LOsiPoint *osiPoint = popOsiPoint()) {
+ if (!add(osiPoint))
+ return false;
+ }
+
++ if (needsMop) {
++ if (!add(new(alloc()) LMop))
++ return false;
++ }
++
+ return true;
+ }
+
+--
+2.2.1
+
diff --git a/gnu/packages/patches/luajit-no_ldconfig.patch b/gnu/packages/patches/luajit-no_ldconfig.patch
new file mode 100644
index 0000000000..8000e8e4e5
--- /dev/null
+++ b/gnu/packages/patches/luajit-no_ldconfig.patch
@@ -0,0 +1,31 @@
+From 629200f48e18dc1a3a5229739748bad0e2a6a0a2 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= <sleep_walker@suse.cz>
+Date: Wed, 4 Feb 2015 11:37:16 +0100
+Subject: [PATCH] Do not silently and prematurely end install when ldconfig is
+ missing
+
+---
+ Makefile | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 343ecb5..4667146 100644
+--- a/Makefile
++++ b/Makefile
+@@ -112,9 +112,10 @@ install: $(INSTALL_DEP)
+ $(RM) $(INSTALL_TSYM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
+ cd src && test -f $(FILE_SO) && \
+ $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
+- $(LDCONFIG) $(INSTALL_LIB) && \
+- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
+- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
++ ( $(LDCONFIG) $(INSTALL_LIB) ; \
++ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
++ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : \
++ )
+ cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
+ cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
+ $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
+--
+2.2.2
+
diff --git a/gnu/packages/patches/luajit-symlinks.patch b/gnu/packages/patches/luajit-symlinks.patch
new file mode 100644
index 0000000000..2466c34144
--- /dev/null
+++ b/gnu/packages/patches/luajit-symlinks.patch
@@ -0,0 +1,25 @@
+From 0a54a8f125d7ab508c7c88d5ad4ed1b0c63cb5b6 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= <sleep_walker@suse.cz>
+Date: Wed, 4 Feb 2015 11:32:55 +0100
+Subject: [PATCH 1/2] Provide two symlinks for dynamic library during install
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 0891b71..343ecb5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -56,7 +56,7 @@ INSTALL_PCNAME= luajit.pc
+ INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
+ INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
+ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
+-INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
++INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER)
+ INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
+ INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
+ INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
+--
+2.2.2
+
diff --git a/gnu/packages/patches/openexr-missing-samples.patch b/gnu/packages/patches/openexr-missing-samples.patch
new file mode 100644
index 0000000000..16cc9bb625
--- /dev/null
+++ b/gnu/packages/patches/openexr-missing-samples.patch
@@ -0,0 +1,23 @@
+This patch comments out tests that rely on files that are missing
+from the source tarball.
+
+--- openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:19:21.565105625 +0100
++++ openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:21:46.394128206 +0100
+@@ -162,16 +162,6 @@ testSampleImages (const std::string&)
+ compareImages (ILM_IMF_TEST_IMAGEDIR "comp_b44.exr",
+ ILM_IMF_TEST_IMAGEDIR "comp_b44_piz.exr");
+
+- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v1.exr",
+- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr");
+- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v2.exr",
+- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr");
+-
+- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v1.exr",
+- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr");
+- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v2.exr",
+- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr");
+-
+
+ cout << "ok\n" << endl;
+ }
+
diff --git a/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch b/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch
new file mode 100644
index 0000000000..53f8fde9de
--- /dev/null
+++ b/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch
@@ -0,0 +1,16 @@
+Drop SPARQLWrapper from the required install inputs under Python 2, as it
+creates a circular dependency.
+
+diff -u rdflib-4.1.2.alt/setup.py rdflib-4.1.2/setup.py
+--- rdflib-4.1.2.alt/setup.py 2014-03-04 12:40:26.000000000 +0100
++++ rdflib-4.1.2/setup.py 2015-01-23 21:52:59.000000000 +0100
+@@ -52,7 +52,7 @@
+ kwargs['test_suite'] = "nose.collector"
+ kwargs['install_requires'] = [
+ 'isodate',
+- 'pyparsing', 'SPARQLWrapper']
++ 'pyparsing']
+
+ if sys.version_info[1]<7: # Python 2.6
+ kwargs['install_requires'].append('ordereddict')
+
diff --git a/gnu/packages/patches/weex-vacopy.patch b/gnu/packages/patches/weex-vacopy.patch
new file mode 100644
index 0000000000..f593e86c08
--- /dev/null
+++ b/gnu/packages/patches/weex-vacopy.patch
@@ -0,0 +1,13 @@
+Taken from the Debian 2.8.0 package.
+
+--- weex-2.6.1.5/src/strlib.c 2003-08-18 11:52:38.000000000 +0200
++++ weex-2.8.0/src/strlib.c 2007-12-04 14:22:02.000000000 +0100
+@@ -42,6 +42,8 @@
+ # define G_VA_COPY(ap1, ap2) (*(ap1) = *(ap2))
+ # elif defined (G_VA_COPY_AS_ARRAY)
+ # define G_VA_COPY(ap1, ap2) g_memmove ((ap1), (ap2), sizeof (va_list))
++# elif defined (__x86_64__)
++# define G_VA_COPY(ap1, ap2) memmove ((ap1), (ap2), sizeof (va_list))
+ # else /* va_list is a pointer */
+ # define G_VA_COPY(ap1, ap2) ((ap1) = (ap2))
+ # endif /* va_list is a pointer */
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 1ce4c0cb13..7b4f2ab055 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014, 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +33,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages openssl)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages lua)
@@ -281,3 +282,31 @@ manipulate the list of pages in a PDF file. It is not a PDF viewer or a
program capable of converting PDF into other formats.")
(license license:clarified-artistic)
(home-page "http://qpdf.sourceforge.net/")))
+
+(define-public xournal
+ (package
+ (name "xournal")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/xournal/xournal-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0c7gjcqhygiyp0ypaipdaxgkbivg6q45vhsj8v5jsi9nh6iqff13"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gtk" ,gtk+-2)
+ ("pango" ,pango)
+ ("poppler" ,poppler)
+ ("glib" ,glib)
+ ("libgnomecanvas" ,libgnomecanvas)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://xournal.sourceforge.net/")
+ (synopsis "Notetaking using a stylus")
+ (description
+ "Xournal is an application for notetaking, sketching, keeping a journal
+using a stylus.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 699fe751de..214ab3e951 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -208,6 +209,53 @@ but don't want to go all out and profile your code.")
"Benchmark-Timer-" version))
(license gpl2)))
+(define-public perl-capture-tiny
+ (package
+ (name "perl-capture-tiny")
+ (version "0.28")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "117gmwipql1y5xnw9jil3lhdsrf2wsm9wjdzqj66x971n3fwm573"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Capture-Tiny")
+ (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
+ (description
+ "Capture::Tiny provides a simple, portable way to capture almost anything
+sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS
+code or from an external program. Optionally, output can be teed so that it
+is captured while being passed through to the original file handles.")
+ (license asl2.0)))
+
+(define-public perl-data-optlist
+ (package
+ (name "perl-data-optlist")
+ (version "0.109")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-sub-install" ,perl-sub-install)))
+ (inputs
+ `(("perl-params-util" ,perl-params-util)))
+ (home-page "http://search.cpan.org/dist/Data-OptList")
+ (synopsis "Parse and validate simple name/value option pairs")
+ (description
+ "Data::OptList provides a simple syntax for name/value option pairs.")
+ (license (package-license perl))))
+
(define-public perl-exporter-lite
(package
(name "perl-exporter-lite")
@@ -229,6 +277,27 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.")
"Exporter-Lite-" version))
(license (package-license perl))))
+(define-public perl-params-util
+ (package
+ (name "perl-params-util")
+ (version "1.07")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Params-Util")
+ (synopsis "Simple, compact and correct param-checking functions")
+ (description
+ "Params::Util provides a basic set of importable functions that makes
+checking parameters easier.")
+ (license (package-license perl))))
+
(define-public perl-probe-perl
(package
(name "perl-probe-perl")
@@ -274,6 +343,52 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.")
;; licenses, any version."
(license (list bsd-3 gpl3+))))
+(define-public perl-sub-exporter
+ (package
+ (name "perl-sub-exporter")
+ (version "0.987")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ml3n1ck4ln9qjm2mcgkczj1jb5n1fkscz9c4x23v4db0glb4g2l"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-data-optlist" ,perl-data-optlist)
+ ("perl-params-util" ,perl-params-util)))
+ (home-page "http://search.cpan.org/dist/Sub-Exporter")
+ (synopsis "Sophisticated exporter for custom-built routines")
+ (description
+ "Sub::Exporter provides a sophisticated alternative to Exporter.pm for
+custom-built routines.")
+ (license (package-license perl))))
+
+(define-public perl-sub-install
+ (package
+ (name "perl-sub-install")
+ (version "0.928")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Sub-Install")
+ (synopsis "Install subroutines into packages easily")
+ (description
+ "Sub::Install makes it easy to install subroutines into packages without
+the unsightly mess of C<no strict> or typeglobs lying about where just anyone
+can see them.")
+ (license (package-license perl))))
+
(define-public perl-test-deep
(package
(name "perl-test-deep")
@@ -365,6 +480,31 @@ bin as is also commonly used) paths of your Perl distribution.")
"Test-Simple-" version))
(license (package-license perl))))
+(define-public perl-test-output
+ (package
+ (name "perl-test-output")
+ (version "1.03")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
+ "Test-Output-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12991jnzj4cbw9whhprmqvnzd1ayii84g2mh8vxbjngwqrjsy41i"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-capture-tiny" ,perl-capture-tiny)
+ ("perl-test-tester" ,perl-test-tester)
+ ("perl-sub-exporter" ,perl-sub-exporter)))
+ (synopsis "Utilities to test STDOUT and STDERR messages")
+ (description
+ "Test::Output provides a simple interface for testing output sent to
+STDOUT or STDERR. A number of different utilities are included to try and be
+as flexible as possible to the tester.")
+ (home-page (string-append "http://search.cpan.org/~bdfoy/"
+ "Test-Output-" version))
+ (license (package-license perl))))
+
(define-public perl-test-tester
(package
(name "perl-test-tester")
diff --git a/gnu/packages/pumpio.scm b/gnu/packages/pumpio.scm
new file mode 100644
index 0000000000..4a6375f3f2
--- /dev/null
+++ b/gnu/packages/pumpio.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages pumpio)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages aspell)
+ #:use-module (gnu packages kde)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages web))
+
+(define-public pumpa
+ (package
+ (name "pumpa")
+ (version "0.9")
+ (source (origin
+ (method git-fetch) ; no source tarballs
+ (uri (git-reference
+ (url "https://gitorious.org/pumpa/pumpa.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0v55xq17wnc9mvpmrm5r3rjrsg9npnjv1lznbz8ppk77ba8pwimy"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Fix dependency tests.
+ (substitute* "pumpa.pro"
+ (("/usr/include/tidy\\.h")
+ (string-append (assoc-ref inputs "tidy")
+ "/include/tidy.h"))
+ (("/usr/include/aspell.h")
+ (string-append (assoc-ref inputs "aspell")
+ "/include/aspell.h")))
+ ;; Run qmake with proper installation prefix.
+ (let ((prefix (string-append "PREFIX="
+ (assoc-ref outputs "out"))))
+ (zero? (system* "qmake" prefix))))
+ %standard-phases)))
+ (inputs
+ `(("aspell" ,aspell)
+ ("qt" ,qt)
+ ("qjson" ,qjson)
+ ("tidy" ,tidy)))
+ (synopsis "Qt-based pump.io client")
+ (description "Pumpa is a simple pump.io client written in C++ and Qt.")
+ (home-page "https://pumpa.branchable.com/")
+ (license gpl3+)))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 36acfc0ed3..bbff241833 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -26,38 +26,37 @@
(define-module (gnu packages python)
#:use-module ((guix licenses)
- #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style
+ #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 x11 x11-style
gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+
- psfl public-domain))
- #:use-module ((guix licenses) #:select (zlib) #:prefix license:)
+ psfl public-domain x11-style))
+ #:use-module ((guix licenses) #:select (expat zlib) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages elf)
+ #: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)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libffi)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages openssl)
- #:use-module (gnu packages elf)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
- #:use-module (gnu packages gcc)
+ #:use-module (gnu packages openssl)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages databases)
- #:use-module (gnu packages zip)
- #:use-module (gnu packages ghostscript)
- #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages texlive)
#:use-module (gnu packages texinfo)
- #:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
- #:use-module (gnu packages fontutils)
#:use-module (gnu packages which)
- #:use-module (gnu packages perl)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages zip)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -343,7 +342,7 @@ etc. ")
(description
"The lockfile package exports a LockFile class which provides a simple
API for locking files.")
- (license expat)))
+ (license license:expat)))
(define-public python2-lockfile
(package-with-python2 python-lockfile))
@@ -368,7 +367,7 @@ API for locking files.")
"Mock is a library for testing in Python. It allows you to replace parts
of your system under test with mock objects and make assertions about how they
have been used.")
- (license expat)))
+ (license license:expat)))
(define-public python2-mock
(package-with-python2 python-mock))
@@ -377,7 +376,7 @@ have been used.")
(define-public python-setuptools
(package
(name "python-setuptools")
- (version "1.1.4")
+ (version "12.1")
(source
(origin
(method url-fetch)
@@ -385,14 +384,12 @@ have been used.")
version ".tar.gz"))
(sha256
(base32
- "0hl9sa5xr9bi2ifq51wy1bawsjv5nzvpbac7m9z1ciz778874csf"))))
+ "04bfk7si1pwj3b5k2b1x9b1zkiclybmzpw6alrs5bciri56lg9zs"))))
(build-system python-build-system)
+ ;; FIXME: Tests require pytest, which itself relies on setuptools.
+ ;; One could bootstrap with an internal untested setuptools.
(arguments
`(#:tests? #f))
- ;;FIXME: test_sdist_with_utf8_encoded_filename fails in
- ;; /tmp/nix-build-python2-setuptools-1.1.4.drv-0/setuptools-1.1.4/setuptools/tests/test_sdist.py"
- ;; line 354
- ;; The tests pass with Python 2.7.5.
(home-page "https://pypi.python.org/pypi/setuptools")
(synopsis
"Library designed to facilitate packaging Python projects")
@@ -510,6 +507,9 @@ Six supports every Python version since 2.5. It is contained in only one
Python file, so it can be easily copied into your project.")
(license x11)))
+(define-public python2-six
+ (package-with-python2 python-six))
+
(define-public python-dateutil-2
(package
(name "python-dateutil")
@@ -655,7 +655,7 @@ under several distributions that's hard or impossible to figure out.")
"Pysam is a Python module for reading and manipulating files in the
SAM/BAM format. Pysam is a lightweight wrapper of the SAMtools C API. It
also includes an interface for tabix.")
- (license expat)))
+ (license license:expat)))
(define-public python2-pysam
(package-with-python2 python-pysam))
@@ -1025,7 +1025,7 @@ software.")
(synopsis "Useful extensions to the Python standard library")
(description
"Extras is a set of extensions to the Python standard library.")
- (license expat)))
+ (license license:expat)))
(define-public python2-extras
(package-with-python2 python-extras))
@@ -1054,7 +1054,7 @@ software.")
(description
"Mimeparse provides basic functions for parsing MIME type names and
matching them against a list of media-ranges.")
- (license expat)))
+ (license license:expat)))
(define-public python2-mimeparse
(package-with-python2 python-mimeparse))
@@ -1149,7 +1149,7 @@ standard library.")
(description
"Py is a Python library for file name parsing, .ini file parsing, I/O,
code introspection, and logging.")
- (license expat)))
+ (license license:expat)))
(define-public python2-py
(package-with-python2 python-py))
@@ -1185,7 +1185,7 @@ code introspection, and logging.")
"Pytest is a testing tool that provides auto-discovery of test modules
and functions, detailed info on failing assert statements, modular fixtures,
and many external plugins.")
- (license expat)))
+ (license license:expat)))
(define-public python2-pytest
(package-with-python2 python-pytest))
@@ -1212,7 +1212,7 @@ and many external plugins.")
(description "Scripttest is a Python helper library for testing
interactive command-line applications. With it you can run a script in a
subprocess and see the output as well as any file modifications.")
- (license expat)))
+ (license license:expat)))
(define-public python2-scripttest
(package-with-python2 python-scripttest))
@@ -1600,7 +1600,7 @@ than Python’s urllib2 library.")
(synopsis "Implementation of JSON Schema for Python")
(description
"Jsonschema is an implementation of JSON Schema for Python.")
- (license expat)))
+ (license license:expat)))
(define-public python2-jsonschema
(package-with-python2 python-jsonschema))
@@ -1656,7 +1656,7 @@ somewhat intelligeble.")
(synopsis "JSON Web Token implementation in Python")
(description
"PyJWT is a JSON Web Token implementation written in Python.")
- (license expat)))
+ (license license:expat)))
(define-public python2-pyjwt
(package-with-python2 python-pyjwt))
@@ -1692,17 +1692,6 @@ OAuth request-signing logic.")
(let ((base (package-with-python2 python-oauthlib)))
(package
(inherit base)
- (name "python2-oauthlib")
- (version "0.6.3")
- (source (origin
- (method url-fetch)
- (uri
- (string-append
- "https://pypi.python.org/packages/source/o/oauthlib/oauthlib-"
- version ".tar.gz"))
- (sha256
- (base32
- "1yaj3j64la4arwsbhbfmpnickzh3jpg9nlpyg409v8pp24isn48a"))))
(inputs
(append (package-inputs base)
`(("python2-unittest2" ,python2-unittest2)))))))
@@ -1755,7 +1744,7 @@ environments and back.")
(synopsis "Virtual Python environment builder")
(description
"Virtualenv is a tool to create isolated Python environments.")
- (license expat)))
+ (license license:expat)))
(define-public python2-virtualenv
(package-with-python2 python-virtualenv))
@@ -1926,7 +1915,7 @@ sources.")
(home-page "https://github.com/snide/sphinx_rtd_theme/")
(synopsis "ReadTheDocs.org theme for Sphinx")
(description "A theme for Sphinx used by ReadTheDocs.org.")
- (license expat)))
+ (license license:expat)))
(define-public python2-sphinx-rtd-theme
(package-with-python2 python-sphinx-rtd-theme))
@@ -1997,25 +1986,25 @@ writing C extensions for Python as easy as Python itself.")
'build 'set-environment-variables
(lambda* (#:key inputs #:allow-other-keys)
(let* ((atlas-threaded
- (string-append (assoc-ref inputs "atlas")
+ (string-append (assoc-ref inputs "atlas")
"/lib/libtatlas.so"))
;; On single core CPUs only the serial library is created.
(atlas-lib
(if (file-exists? atlas-threaded)
atlas-threaded
- (string-append (assoc-ref inputs "atlas")
+ (string-append (assoc-ref inputs "atlas")
"/lib/libsatlas.so"))))
(setenv "ATLAS" atlas-lib)))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
(alist-cons-after
'install 'check
- (lambda _
+ (lambda _
(with-directory-excursion "/tmp"
- (zero? (system* "python" "-c"
+ (zero? (system* "python" "-c"
"import numpy; numpy.test(verbose=2)"))))
- (alist-delete
- 'check
+ (alist-delete
+ 'check
%standard-phases)))))
(home-page "http://www.numpy.org/")
(synopsis "Fundamental package for scientific computing with Python")
@@ -2033,7 +2022,7 @@ capabilities.")
(package (inherit python-numpy-bootstrap)
(name "python-numpy")
(outputs '("out" "doc"))
- (inputs
+ (inputs
`(("which" ,which)
("python-setuptools" ,python-setuptools)
("python-matplotlib" ,python-matplotlib)
@@ -2048,15 +2037,15 @@ capabilities.")
("perl" ,perl)
,@(package-native-inputs python-numpy-bootstrap)))
(arguments
- `(,@(substitute-keyword-arguments
+ `(,@(substitute-keyword-arguments
(package-arguments python-numpy-bootstrap)
((#:phases phases)
`(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append
- data "/doc/" ,name "-"
+ (doc (string-append
+ data "/doc/" ,name "-"
,(package-version python-numpy-bootstrap)))
(info (string-append data "/info"))
(html (string-append doc "/html"))
@@ -2065,7 +2054,7 @@ capabilities.")
(mkdir-p html)
(system* "make" "html" pyver)
(system* "make" "latex" "PAPER=a4" pyver)
- (system* "make" "-C" "build/latex"
+ (system* "make" "-C" "build/latex"
"all-pdf" "PAPER=a4" pyver)
;; FIXME: Generation of the info file fails.
;; (system* "make" "info" pyver)
@@ -2094,7 +2083,7 @@ capabilities.")
;; import the right version of 'matplotlib' as well.
(inputs `(("python2-numpydoc" ,python2-numpydoc)
("python2-matplotlib" ,python2-matplotlib)
- ,@(alist-delete "python-numpydoc"
+ ,@(alist-delete "python-numpydoc"
(alist-delete "python-matplotlib"
(package-inputs numpy))))))))
@@ -2120,15 +2109,15 @@ capabilities.")
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((doc (string-append (assoc-ref outputs "doc")
+ (let* ((doc (string-append (assoc-ref outputs "doc")
"/share/doc/" ,name "-" ,version))
(html-doc (string-append doc "/html"))
(examples (string-append doc "/examples")))
(mkdir-p html-doc)
(mkdir-p examples)
- (for-each
+ (for-each
(lambda (dir tgt)
- (map (lambda (file)
+ (map (lambda (file)
(copy-file file (string-append tgt "/" (basename file))))
(find-files dir ".*")))
(list "docs" "htmldoc" "examples")
@@ -2141,7 +2130,7 @@ capabilities.")
executing simple grammars, vs. the traditional lex/yacc approach, or the use
of regular expressions. The pyparsing module provides a library of classes
that client code uses to construct the grammar directly in Python code.")
- (license expat)))
+ (license license:expat)))
(define-public python2-pyparsing
(package-with-python2 python-pyparsing))
@@ -2153,7 +2142,7 @@ that client code uses to construct the grammar directly in Python code.")
(source
(origin
(method url-fetch)
- (uri (string-append
+ (uri (string-append
"https://pypi.python.org/packages/source/n/numpydoc/numpydoc-"
version ".tar.gz"))
(sha256
@@ -2173,7 +2162,7 @@ that client code uses to construct the grammar directly in Python code.")
(license bsd-2)))
(define-public python2-numpydoc
- (package
+ (package
(inherit (package-with-python2 python-numpydoc))
;; With python-2 1 test (out of 30) fails because it doesn't find
;; matplotlib. With python-3 it seems to detect at run-time the absence
@@ -2262,7 +2251,11 @@ backend = GTK3Agg~%")))))
(info (string-append data "/info"))
(html (string-append doc "/html")))
(with-directory-excursion "doc"
- ;; Without setting this variable we get an encoding error.
+ ;; Install and set UTF-8 locale to avoid an encoding error.
+ (setenv "LOCPATH" (getcwd))
+ (system* "localedef" "--no-archive"
+ "--prefix" (getcwd) "-i" "en_US"
+ "-f" "UTF-8" "./en_US.UTF-8")
(setenv "LANG" "en_US.UTF-8")
;; Produce pdf in 'A4' format.
(substitute* (find-files "." "conf\\.py")
@@ -2296,16 +2289,16 @@ toolkits.")
(package (inherit matplotlib)
;; Make sure we use exactly PYTHON2-NUMPYDOC, which is
;; customized for Python 2.
- (propagated-inputs
+ (propagated-inputs
`(("python2-py2cairo" ,python2-py2cairo)
("python2-pygobject-2" ,python2-pygobject-2)
,@(alist-delete "python-pycairo"
(alist-delete "python-pygobject"
- (package-propagated-inputs
+ (package-propagated-inputs
matplotlib)))))
- (inputs
+ (inputs
`(("python2-numpydoc" ,python2-numpydoc)
- ,@(alist-delete "python-numpydoc"
+ ,@(alist-delete "python-numpydoc"
(package-inputs matplotlib)))))))
(define-public python-scipy
@@ -2339,13 +2332,13 @@ toolkits.")
'build 'set-environment-variables
(lambda* (#:key inputs #:allow-other-keys)
(let* ((atlas-threaded
- (string-append (assoc-ref inputs "atlas")
+ (string-append (assoc-ref inputs "atlas")
"/lib/libtatlas.so"))
;; On single core CPUs only the serial library is created.
(atlas-lib
(if (file-exists? atlas-threaded)
atlas-threaded
- (string-append (assoc-ref inputs "atlas")
+ (string-append (assoc-ref inputs "atlas")
"/lib/libsatlas.so"))))
(setenv "ATLAS" atlas-lib)))
(alist-cons-after
@@ -2356,7 +2349,11 @@ toolkits.")
(html (string-append doc "/html"))
(pyver ,(string-append "PYVER=")))
(with-directory-excursion "doc"
- ;; Without setting this variable we get an encoding error.
+ ;; Install and set UTF-8 locale to avoid an encoding error.
+ (setenv "LOCPATH" (getcwd))
+ (system* "localedef" "--no-archive"
+ "--prefix" (getcwd) "-i" "en_US"
+ "-f" "UTF-8" "./en_US.UTF-8")
(setenv "LANG" "en_US.UTF-8")
;; Fix generation of images for mathematical expressions.
(substitute* (find-files "source" "conf\\.py")
@@ -2380,11 +2377,11 @@ toolkits.")
;; within the source directory.
(alist-cons-after
'install 'check
- (lambda _
+ (lambda _
(with-directory-excursion "/tmp"
(zero? (system* "python" "-c" "import scipy; scipy.test()"))))
- (alist-delete
- 'check
+ (alist-delete
+ 'check
%standard-phases))))))
(home-page "http://www.scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
@@ -2399,8 +2396,8 @@ routines such as routines for numerical integration and optimization.")
;; Use packages customized for python-2.
(inputs `(("python2-matplotlib" ,python2-matplotlib)
("python2-numpy" ,python2-numpy)
- ,@(alist-delete "python-matplotlib"
- (alist-delete "python-numpy"
+ ,@(alist-delete "python-matplotlib"
+ (alist-delete "python-numpy"
(package-inputs scipy))))))))
(define-public python-sqlalchemy
@@ -2567,7 +2564,7 @@ a general image processing tool.")
`(("pkg-config" ,pkg-config)
("python-setuptools" ,python-setuptools)))
(arguments
- `(#:phases
+ `(#:phases
(alist-replace
'check
(lambda _
@@ -2606,7 +2603,7 @@ a front-end for C compilers or analysis tools.")
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/c/"
"cffi/cffi-" version ".tar.gz"))
- (sha256
+ (sha256
(base32 "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5"))))
(build-system python-build-system)
(outputs '("out" "doc"))
@@ -2620,7 +2617,7 @@ a front-end for C compilers or analysis tools.")
("python-setuptools" ,python-setuptools)))
(arguments
`(#:tests? #f ; FIXME: requires pytest
- #:phases
+ #:phases
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
@@ -2637,7 +2634,7 @@ a front-end for C compilers or analysis tools.")
(synopsis "Foreign function interface for Python")
(description
"Foreign Function Interface for Python calling C code.")
- (license expat)))
+ (license license:expat)))
(define-public python2-cffi
(package-with-python2 python-cffi))
@@ -2663,7 +2660,7 @@ a front-end for C compilers or analysis tools.")
(propagated-inputs
`(("python-cffi" ,python-cffi))) ; used at run time
(arguments
- `(#:phases
+ `(#:phases
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
@@ -2678,7 +2675,7 @@ a front-end for C compilers or analysis tools.")
(description
"Xcffib is a replacement for xpyb, an XCB Python bindings. It adds
support for Python 3 and PyPy. It is based on cffi.")
- (license expat)))
+ (license license:expat)))
(define-public python2-xcffib
(package-with-python2 python-xcffib))
@@ -2709,14 +2706,14 @@ support for Python 3 and PyPy. It is based on cffi.")
(propagated-inputs
`(("python-xcffib" ,python-xcffib))) ; used at run time
(arguments
- `(#:phases
+ `(#:phases
(alist-cons-after
'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html")))
- (setenv "LD_LIBRARY_PATH"
+ (setenv "LD_LIBRARY_PATH"
(string-append (assoc-ref inputs "cairo") "/lib" ":"
(assoc-ref inputs "gdk-pixbuf") "/lib"))
(setenv "LANG" "en_US.UTF-8")
@@ -2767,7 +2764,7 @@ PNG, PostScript, PDF, and SVG file output.")
("texinfo" ,texinfo)
("python-setuptools" ,python-setuptools)))
(arguments
- `(#:phases
+ `(#:phases
(alist-cons-after
'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -2803,8 +2800,8 @@ PNG, PostScript, PDF, and SVG file output.")
;; (zero? (system* (string-append (assoc-ref outputs "out")
;; "/bin/iptest"))))
#t)
- (alist-delete
- 'check
+ (alist-delete
+ 'check
%standard-phases)))))
(home-page "http://ipython.org")
(synopsis "IPython is a tool for interactive computing in Python")
@@ -2819,7 +2816,7 @@ computing.")
(let ((ipython (package-with-python2 python-ipython)))
(package (inherit ipython)
;; Make sure we use custom python2-NAME packages.
- (inputs
+ (inputs
`(("python2-numpydoc" ,python2-numpydoc)
("python2-matplotlib" ,python2-matplotlib)
,@(alist-delete "python-numpydoc"
@@ -2870,6 +2867,8 @@ ISO 8601 dates, time and duration.")
(base32
"1l5i6xzckzx4hnh9qzv9q3kyhkgjx2hsi2k9srgci3qizjmvp6ln"))))
(build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six))) ; required to "import html5lib"
(inputs
`(("python-setuptools" ,python-setuptools)))
(arguments
@@ -2881,7 +2880,7 @@ ISO 8601 dates, time and duration.")
(description
"Html5lib is an HTML parser based on the WHATWG HTML specifcation
and written in Python.")
- (license expat)))
+ (license license:expat)))
(define-public python2-html5lib
(package-with-python2 python-html5lib))
@@ -2935,7 +2934,7 @@ features useful for text console applications.")
(description "python-dbus provides bindings for libdbus, the reference
implementation of D-Bus.")
(home-page "http://www.freedesktop.org/wiki/Software/DBusBindings/")
- (license expat)))
+ (license license:expat)))
(define-public python2-dbus
(package (inherit python-dbus)
@@ -2947,3 +2946,264 @@ implementation of D-Bus.")
;; FIXME: on Python 2, the test_utf8 fails with:
;; "ValueError: unichr() arg not in range(0x10000) (narrow Python build)"
(arguments `(#:tests? #f))))
+
+(define-public python-apsw
+ (package
+ (name "python-apsw")
+ (version "3.8.7.3-r1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/a/apsw/apsw-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1rgxdypg7hym0qny15rx5khrghx9fkppfgsfa2s8lg917924mv7l"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("sqlite" ,sqlite)))
+ (arguments
+ `(#:phases
+ ;; swap check and install phases
+ (alist-cons-after
+ 'install 'check
+ (assoc-ref %standard-phases 'check)
+ (alist-delete
+ 'check
+ %standard-phases))))
+ (home-page "https://github.com/rogerbinns/apsw/")
+ (synopsis "Another Python SQLite Wrapper")
+ (description "APSW is a Python wrapper for the SQLite
+embedded relational database engine. In contrast to other wrappers such as
+pysqlite it focuses on being a minimal layer over SQLite attempting just to
+translate the complete SQLite API into Python.")
+ (license license:zlib)))
+
+(define-public python2-apsw
+ (package-with-python2 python-apsw))
+
+(define-public python-lxml
+ (package
+ (name "python-lxml")
+ (version "3.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/l/lxml/lxml-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0pd23qz8vms1mgm41p96h4vac5y91igs4wr9640gnvxgk019kmf7"))))
+ (build-system python-build-system)
+ (inputs
+ `(("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "http://lxml.de/")
+ (synopsis
+ "Python XML processing library")
+ (description
+ "The lxml XML toolkit is a Pythonic binding for the C libraries
+libxml2 and libxslt.")
+ (license bsd-3))) ; and a few more, see LICENSES.txt
+
+(define-public python2-lxml
+ (package-with-python2 python-lxml))
+
+(define-public python-pillow
+ (package
+ (name "python-pillow")
+ (version "2.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/P/Pillow/Pillow-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1y0rysgd7vqpl5lh0lsra7j2k30azwxqlh5jnqk1i0pmfc735s96"))))
+ (build-system python-build-system)
+ (inputs
+ `(("freetype" ,freetype)
+ ("lcms" ,lcms)
+ ("libjpeg" ,libjpeg)
+ ("libtiff" ,libtiff)
+ ("openjpeg" ,openjpeg)
+ ("python-setuptools" ,python-setuptools)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f)) ; no check target
+ (home-page "http://python-pillow.github.io/")
+ (synopsis "Pillow fork of Python Imaging Library")
+ (description "Pillow is a fork of the Python Imaging Library (PIL).")
+ ;; PIL license, see
+ ;; http://www.pythonware.com/products/pil/license.htm
+ (license (x11-style
+ "file://PKG-INFO"
+ "See http://www.pythonware.com/products/pil/license.htm"))))
+
+(define-public python2-pillow
+ (package-with-python2 python-pillow))
+
+(define-public python2-pil
+ (package
+ (name "python2-pil")
+ (version "1.1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://effbot.org/downloads/Imaging-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"))))
+ (build-system python-build-system)
+ (inputs
+ `(("freetype" ,freetype)
+ ("libjpeg" ,libjpeg)
+ ("libtiff" ,libtiff)
+ ("python-setuptools" ,python-setuptools)
+ ("zlib" ,zlib)))
+ (arguments
+ ;; Only the fork python-pillow works with Python 3.
+ `(#:python ,python-2
+ #:tests? #f ; no check target
+ #:phases
+ (alist-cons-before
+ 'build 'configure
+ ;; According to README and setup.py, manual configuration is
+ ;; the preferred way of "searching" for inputs.
+ ;; lcms is not found, TCL_ROOT refers to the unavailable tkinter.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((jpeg (assoc-ref inputs "libjpeg"))
+ (zlib (assoc-ref inputs "zlib"))
+ (tiff (assoc-ref inputs "libtiff"))
+ (freetype (assoc-ref inputs "freetype")))
+ (substitute* "setup.py"
+ (("JPEG_ROOT = None")
+ (string-append "JPEG_ROOT = libinclude(\"" jpeg "\")"))
+ (("ZLIB_ROOT = None")
+ (string-append "ZLIB_ROOT = libinclude(\"" zlib "\")"))
+ (("TIFF_ROOT = None")
+ (string-append "TIFF_ROOT = libinclude(\"" tiff "\")"))
+ (("FREETYPE_ROOT = None")
+ (string-append "FREETYPE_ROOT = libinclude(\""
+ freetype "\")")))))
+ %standard-phases)))
+ (home-page "http://www.pythonware.com/products/pil/")
+ (synopsis "Python Imaging Library")
+ (description "The Python Imaging Library (PIL) adds image processing
+capabilities to the Python interpreter.")
+ (license (x11-style
+ "file://README"
+ "See 'README' in the distribution."))))
+
+(define-public python2-cssutils
+ (package
+ (name "python2-cssutils")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/c/cssutils/cssutils-"
+ version
+ ".zip"))
+ (sha256
+ (base32
+ "1bwim1353r4hqiir73sn4sc43y7ymh09qx0kly7vj048blppc125"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python2-mock" ,python2-mock) ; for the tests
+ ("unzip" ,unzip))) ; for unpacking the source
+ (inputs
+ `(("python2-setuptools" ,python2-setuptools)))
+ (arguments
+ `(#:python ,python-2 ; Otherwise tests fail with a syntax error.
+ #:tests? #f ; The tests apparently download an external URL.
+ #:phases
+ (alist-replace
+ 'unpack
+ (lambda* (#:key source #:allow-other-keys)
+ (and (zero? (system* "unzip" source))
+ (chdir "cssutils-1.0")))
+ %standard-phases)))
+ (home-page "http://cthedot.de/cssutils/")
+ (synopsis
+ "CSS Cascading Style Sheets library for Python")
+ (description
+ "Cssutils is a Python package for parsing and building CSS
+Cascading Style Sheets. Currently it provides a DOM only and no rendering
+options.")
+ (license lgpl3+)))
+
+(define-public python-cssselect
+ (package
+ (name "python-cssselect")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/c/cssselect/cssselect-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "10h623qnp6dp1191jri7lvgmnd4yfkl36k9smqklp1qlf3iafd85"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (arguments
+ ;; tests fail with message
+ ;; AttributeError: 'module' object has no attribute 'tests'
+ `(#:tests? #f))
+ (home-page
+ "https://pythonhosted.org/cssselect/")
+ (synopsis
+ "CSS3 selector parser and translator to XPath 1.0")
+ (description
+ "Cssselect ia a Python module that parses CSS3 Selectors and translates
+them to XPath 1.0 expressions. Such expressions can be used in lxml or
+another XPath engine to find the matching elements in an XML or HTML document.")
+ (license bsd-3)))
+
+(define-public python2-cssselect
+ (package-with-python2 python-cssselect))
+
+(define-public python-netifaces
+ (package
+ (name "python-netifaces")
+ (version "0.10.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/n/netifaces/netifaces-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page
+ "https://bitbucket.org/al45tair/netifaces")
+ (synopsis
+ "Python module for portable network interface information")
+ (description
+ "Netifaces is a Python module providing information on network
+interfaces in an easy and portable manner.")
+ (license license:expat)))
+
+(define-public python2-netifaces
+ (package-with-python2 python-netifaces))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index cb7e367c5a..725ac8a2fa 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -18,7 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages qt)
- #:use-module ((guix licenses) #:select (gpl3 lgpl2.1 x11-style))
+ #:use-module ((guix licenses) #:select (gpl2 gpl3 lgpl2.1 x11-style))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build utils)
@@ -398,3 +398,53 @@ contain over 620 classes.")
("qt" ,qt)))
(inputs
`(("python" ,python-2)))))
+
+(define-public python-pyqt-4
+ (package (inherit python-pyqt)
+ (name "python-pyqt")
+ (version "4.11.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://sourceforge/pyqt/PyQt4/"
+ "PyQt-" version "/PyQt-x11-gpl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "11jnfjw79s0b0qdd9s6kd69w87vf16dhagbhbmwbmrp2vgf80dw5"))))
+ (native-inputs
+ `(("python-sip" ,python-sip)
+ ("qt" ,qt-4)))
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (sip (string-append out "/share/sip"))
+ (python-version
+ (string-take
+ (string-take-right (assoc-ref inputs "python") 5)
+ 3))
+ (lib (string-append out "/lib/python"
+ python-version
+ "/site-packages")))
+ (zero? (system* "python" "configure.py"
+ "--confirm-license"
+ "--bindir" bin
+ "--destdir" lib
+ "--sipdir" sip))))
+ %standard-phases)))
+ (license (list gpl2 gpl3)))) ; choice of either license
+
+(define-public python2-pyqt-4
+ (package (inherit python-pyqt-4)
+ (name "python2-pyqt")
+ (native-inputs
+ `(("python-sip" ,python2-sip)
+ ("qt" ,qt-4)))
+ (inputs
+ `(("python" ,python-2)))))
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index ff74b2f08b..5102ebe921 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -19,12 +19,13 @@
(define-module (gnu packages rdf)
#:use-module ((guix licenses)
- #:select (bsd-style gpl2 lgpl2.0+ lgpl2.1 lgpl2.1+))
+ #:select (bsd-style isc gpl2 lgpl2.0+ lgpl2.1 lgpl2.1+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages databases)
@@ -88,7 +89,7 @@ HTML and JSON.")
(sha256
(base32
"1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx"))
- (patches (list
+ (patches (list
(search-patch "clucene-pkgconfig.patch")
(search-patch "clucene-contribs-lib.patch")))))
(build-system cmake-build-system)
@@ -228,6 +229,55 @@ Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.")
and triple stores.")
(license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0
+(define-public serd
+ (package
+ (name "serd")
+ (version "0.20.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/serd-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (home-page "http://drobilla.net/software/serd/")
+ (synopsis "Library for RDF syntax supporting Turtle and NTriples")
+ (description
+ "Serd is a lightweight C library for RDF syntax which supports reading
+and writing Turtle and NTriples. Serd is not intended to be a swiss-army
+knife of RDF syntax, but rather is suited to resource limited or performance
+critical applications (e.g. converting many gigabytes of NTriples to Turtle),
+or situations where a simple reader/writer with minimal dependencies is
+ideal (e.g. in LV2 implementations or embedded applications).")
+ (license isc)))
+
+(define-public sord
+ (package
+ (name "sord")
+ (version "0.12.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/sord-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx"))))
+ (build-system waf-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (inputs
+ `(("serd" ,serd)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/sord/")
+ (synopsis "C library for storing RDF data in memory")
+ (description
+ "Sord is a lightweight C library for storing RDF data in memory.")
+ (license isc)))
+
(define-public soprano
(package
(name "soprano")
@@ -269,12 +319,15 @@ system.")
"https://pypi.python.org/packages/source/r/rdflib/rdflib-"
version
".tar.gz"))
+ (patches
+ ;; The patch has no effect under Python 3.
+ (list (search-patch "python2-rdflib-drop-sparqlwrapper.patch")))
(sha256
(base32
"0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
(build-system python-build-system)
(inputs
- `(("python-htm5lib" ,python-html5lib)
+ `(("python-html5lib" ,python-html5lib)
("python-isodate" ,python-isodate)
("python-pyparsing" ,python-pyparsing)
("python-setuptools" ,python-setuptools)))
@@ -286,3 +339,14 @@ system.")
powerful language for representing information.")
(license (bsd-style "file://LICENSE"
"See LICENSE in the distribution."))))
+
+(define-public python2-rdflib
+ (let ((base (package-with-python2 python-rdflib)))
+ (package
+ (inherit base)
+ (inputs
+ (append (package-inputs base)
+ `(("python2-nose" ,python2-nose))))
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f))))) ; 3 tests fail, also outside Guix
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f8276db698..7fc799311c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -37,7 +37,7 @@
(define-public ruby
(package
(name "ruby")
- (version "2.1.5")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
@@ -46,7 +46,7 @@
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "18z9mwhzgh4gqc0c6ydbjg0a87jc0j38sha10mzfvjbmsjw1xfi2"))))
+ "1jpq7r48pmkll5lfw933013ijv750sr61c63p96v8pzwh3i191w4"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index c6fef6154d..46b97215ba 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -94,14 +95,14 @@ anywhere.")
(define-public samba
(package
(name "samba")
- (version "3.6.8")
+ (version "3.6.25")
(source (origin
(method url-fetch)
- (uri (string-append "http://us3.samba.org/samba/ftp/stable/samba-"
+ (uri (string-append "https://www.samba.org/samba/ftp/stable/samba-"
version ".tar.gz"))
(sha256
(base32
- "1phl6mmrc72jyvbyrw6cv6b92cxq3v2pbn1fh97nnb4hild1fnjg"))))
+ "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 8afc0ab425..4d759fa11a 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision)
@@ -428,3 +430,82 @@ R6RS) and related languages, such as Typed Racket. It features a compiler and
a virtual machine with just-in-time native compilation, as well as a large set
of libraries.")
(license lgpl2.0+)))
+
+(define-public gambit-c
+ (package
+ (name "gambit-c")
+ (version "4.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.iro.umontreal.ca/~gambit/download/gambit/v"
+ (version-major+minor version) "/source/gambc-v"
+ (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
+ ".tgz"))
+ (sha256
+ (base32 "0y2pklh4k65yrmxv63ass76xckrk9wqimbdad2gha35v2mi7blhs"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; According to the ./configure script, this makes the build slower and
+ ;; use >= 1 GB memory, but makes Gambit much faster.
+ '("--enable-single-host")
+ #:phases
+ (alist-cons-before
+ 'check 'fix-tests
+ (lambda _
+ (substitute* '("tests/makefile")
+ ;; '-:' is how run-time options are set. 'tl' sets some terminal
+ ;; option, which makes it fail in our build environment. It
+ ;; recommends using 'd-' as a solution, which sets the REPL
+ ;; interaction channel to stdin/stdout.
+ (("gsi -:tl") "gsi -:d-,tl")))
+ %standard-phases)))
+ (home-page "http://www.iro.umontreal.ca/~gambit/")
+ (synopsis "Efficient Scheme interpreter and compiler")
+ (description
+ "Gambit consists of two main programs: gsi, the Gambit Scheme
+interpreter, and gsc, the Gambit Scheme compiler. The interpreter contains
+the complete execution and debugging environment. The compiler is the
+interpreter extended with the capability of generating executable files. The
+compiler can produce standalone executables or compiled modules which can be
+loaded at run time. Interpreted code and compiled code can be freely
+mixed.")
+ ;; Dual license.
+ (license (list lgpl2.1+ asl2.0))))
+
+(define-public chibi-scheme
+ (package
+ (name "chibi-scheme")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://abrek.synthcode.com/chibi-scheme-" version ".tgz"))
+ (sha256
+ (base32 "0h6k2gdb4xk2pzhdipffcg2w3kfr4zh1va556k1hvng2did6prds"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (alist-delete
+ 'configure
+ (alist-cons-before
+ 'build 'set-cc
+ (lambda _
+ (setenv "CC" "gcc"))
+ %standard-phases))
+ #:make-flags (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "PREFIX=" out)
+ (string-append "LDFLAGS=-Wl,-rpath=" out "/lib")))
+ #:test-target "test"))
+ (home-page "https://code.google.com/p/chibi-scheme/")
+ (synopsis "Small embeddable Scheme implementation")
+ (description
+ "Chibi-Scheme is a very small library with no external dependencies
+intended for use as an extension and scripting language in C programs. In
+addition to support for lightweight VM-based threads, each VM itself runs in
+an isolated heap allowing multiple VMs to run simultaneously in different OS
+threads.")
+ (license bsd-3)))
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index ee18c1b5d0..c9b82f4b62 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -158,6 +158,12 @@ other supporting functions for SDL.")
(base32
"16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b"))))
(build-system gnu-build-system)
+ (arguments
+ ;; Explicitly link against shared libraries instead of dlopening them.
+ '(#:configure-flags '("--disable-jpg-shared"
+ "--disable-png-shared"
+ "--disable-tif-shared"
+ "--disable-webp-shared")))
(native-inputs `(("pkg-config" ,pkg-config)))
;; FIXME: Add webp
;;
@@ -191,8 +197,14 @@ WEBP, XCF, XPM, and XV.")
(build-system gnu-build-system)
;; no check target
;; use libmad instead of smpeg
+ ;; explicitly link against shared libraries instead of dlopening them
(arguments `(#:tests? #f
- #:configure-flags '("--enable-music-mp3-mad-gpl")))
+ #:configure-flags '("--enable-music-mp3-mad-gpl"
+ "--disable-music-mod-shared"
+ "--disable-music-fluidsynth-shared"
+ "--disable-music-ogg-shared"
+ "--disable-music-flac-shared"
+ "--disable-music-mp3-shared")))
(inputs `(("libvorbis" ,libvorbis)
("libflac" ,flac)
("libmad" ,libmad)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
new file mode 100644
index 0000000000..acf7b7851d
--- /dev/null
+++ b/gnu/packages/statistics.scm
@@ -0,0 +1,108 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages statistics)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages icu4c)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages texlive)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages which)
+ #:use-module (gnu packages xorg))
+
+(define-public r
+ (package
+ (name "r")
+ (version "3.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cran/src/base/R-"
+ (version-prefix version 1) "/R-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ypsm11c7n49pgh2ricyhhpfhas3famscdazzdp2zq70rapm1ldw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (alist-cons-before
+ 'check 'set-timezone
+ ;; Some tests require the timezone to be set.
+ (lambda _ (setenv "TZ" "UTC"))
+ %standard-phases)
+ #:configure-flags
+ '("--with-blas"
+ "--with-lapack"
+ "--with-cairo"
+ "--with-libpng"
+ "--with-jpeglib"
+ "--with-libtiff"
+ "--with-ICU"
+ "--enable-R-shlib"
+ "--enable-BLAS-shlib"
+ "--with-system-zlib"
+ "--with-system-bzlib"
+ "--with-system-pcre"
+ "--with-system-tre"
+ "--with-system-xz")))
+ (native-inputs
+ `(("bzip2" ,bzip2)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("texlive" ,texlive) ; needed to make vignettes
+ ("texinfo" ,texinfo) ; for building HTML manuals
+ ("which" ,which) ; for tests/Examples/base-Ex.R
+ ("xz" ,xz)))
+ (inputs
+ `(("atlas" ,atlas) ; --with-blas
+ ("cairo" ,cairo)
+ ("gfortran" ,gfortran-4.8)
+ ("icu4c" ,icu4c)
+ ("icedtea6" ,icedtea6)
+ ("lapack" ,lapack)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("libxt" ,libxt)
+ ("pcre" ,pcre)
+ ("readline" ,readline)
+ ("zlib" ,zlib)))
+ (home-page "http://www.r-project.org/")
+ (synopsis "Environment for statistical computing and graphics")
+ (description
+ "R is a language and environment for statistical computing and graphics.
+It provides a variety of statistical techniques, such as linear and nonlinear
+modeling, classical statistical tests, time-series analysis, classification
+and clustering. It also provides robust support for producing
+publication-quality data plots. A large amount of 3rd-party packages are
+available, greatly increasing its breadth and scope.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 31e5d708b8..ee86b67a44 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
@@ -24,21 +24,26 @@
#:select (gpl2 gpl2+ gpl3+ bsd-3 public-domain))
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
- #:use-module (gnu packages zip)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages elf)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages fribidi)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages guile)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnutls)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
@@ -55,19 +60,20 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (gnu packages yasm))
+ #:use-module (gnu packages yasm)
+ #:use-module (gnu packages zip))
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "2.5.3")
+ (version "2.5.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-"
version ".tar.bz2"))
(sha256
(base32
- "06j1cgw9h9ya5z8gpcf9v9zik3l4xz7sr4wshj06kznzz5z3sf4x"))))
+ "11m2hbhdgphjxjp6hk438cxmipqjg5ixbr1kqnn9mbdhq9kc34fc"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
@@ -78,7 +84,9 @@
("libvorbis" ,libvorbis)
("libvpx" ,libvpx)
("patchelf" ,patchelf)
+ ("soxr" ,soxr)
("speex" ,speex)
+ ("twolame" ,twolame)
("zlib", zlib)))
(native-inputs
`(("bc" ,bc)
@@ -128,7 +136,6 @@
;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
;; --enable-libmodplug enable ModPlug via libmodplug [no]
-;; --enable-libmp3lame enable MP3 encoding via libmp3lame [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]
@@ -140,11 +147,9 @@
;; --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-libsoxr enable Include libsoxr resampling [no]
;; --enable-libssh enable SFTP protocol via libssh [no]
;; (libssh2 does not work)
;; --enable-libstagefright-h264 enable H.264 decoding via libstagefright [no]
-;; --enable-libtwolame enable MP2 encoding via libtwolame [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]
@@ -170,8 +175,10 @@
"--enable-libfreetype"
"--enable-libmp3lame"
"--enable-libopus"
+ "--enable-libsoxr"
"--enable-libspeex"
"--enable-libtheora"
+ "--enable-libtwolame"
"--enable-libvorbis"
"--enable-libvpx"
@@ -204,14 +211,14 @@ audio/video codec library.")
;; We need this older ffmpeg because vlc-2.1.5 doesn't work with ffmpeg-2.4.
(define-public ffmpeg-2.2
(package (inherit ffmpeg)
- (version "2.2.11")
+ (version "2.2.13")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-"
version ".tar.bz2"))
(sha256
(base32
- "06sli7xvihh97ss6a2mkdq4dcj3rg1w8zffrmjfc1hvyjxhc8f2r"))))))
+ "1vva8ffwxi3rg44byy09qlbiqrrd1h4rmsl5b1mbmvzvwl1lq1l0"))))))
(define-public vlc
(package
@@ -514,3 +521,208 @@ encapsulated.")
for use with HTML5 video.")
(home-page "http://dthompson.us/pages/software/srt2vtt")
(license gpl3+)))
+
+(define-public avidemux
+ (package
+ (name "avidemux")
+ (version "2.6.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/avidemux/avidemux_"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "10p60wjkzf1bxqcb6i7bx4hbqy3vqg598p3l9lc4v2c9b8iqr682"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ ;; FIXME: Once packaged, add libraries not found during the build.
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("fribidi" ,fribidi)
+ ("glu" ,glu)
+ ("gtk+" ,gtk+)
+ ("jack" ,jack-1)
+ ("lame" ,lame)
+ ("libvorbis" ,libvorbis)
+ ("libvpx" ,libvpx)
+ ("libxv" ,libxv)
+ ("perl" ,perl)
+ ("pulseaudio" ,pulseaudio)
+ ("python" ,python-wrapper)
+ ("qt" ,qt-4)
+ ("sdl" ,sdl)
+ ("sqlite" ,sqlite)
+ ("yasm" ,yasm)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ ;; Make sure files inside the included ffmpeg tarball are
+ ;; patch-shebanged.
+ (alist-cons-before
+ 'patch-source-shebangs 'unpack-ffmpeg
+ (lambda _
+ (with-directory-excursion "avidemux_core/ffmpeg_package"
+ (system* "tar" "xf" "ffmpeg-1.2.1.tar.bz2")
+ (delete-file "ffmpeg-1.2.1.tar.bz2")))
+ (alist-cons-after
+ 'patch-source-shebangs 'repack-ffmpeg
+ (lambda _
+ (with-directory-excursion "avidemux_core/ffmpeg_package"
+ (substitute* "ffmpeg-1.2.1/configure"
+ (("#! /bin/sh") (string-append "#!" (which "bash"))))
+ (system* "tar" "cjf" "ffmpeg-1.2.1.tar.bz2" "ffmpeg-1.2.1")
+ (delete-file-recursively "ffmpeg-1.2.1")))
+ (alist-replace 'configure
+ (lambda _
+ ;; Copy-paste settings from the cmake build system.
+ (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+ (setenv "CMAKE_INCLUDE_PATH" (getenv "CPATH")))
+ (alist-replace 'build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let*
+ ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib64"))
+ (top (getcwd))
+ (sdl (assoc-ref inputs "sdl"))
+ (build_component
+ (lambda* (component srcdir #:optional (args '()))
+ (let ((builddir (string-append "build_" component)))
+ (mkdir builddir)
+ (with-directory-excursion builddir
+ (zero? (and
+ (apply system* "cmake"
+ "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
+ (string-append "-DCMAKE_INSTALL_PREFIX=" out)
+ (string-append "-DCMAKE_INSTALL_RPATH=" lib)
+ (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
+ (string-append "-DSDL_INCLUDE_DIR="
+ sdl "/include/SDL")
+ (string-append "../" srcdir)
+ args)
+ (system* "make" "-j"
+ (number->string (parallel-job-count)))
+ (system* "make" "install"))))))))
+ (mkdir out)
+ (and (build_component "core" "avidemux_core")
+ (build_component "cli" "avidemux/cli")
+ (build_component "qt4" "avidemux/qt4")
+ (build_component "gtk" "avidemux/gtk")
+ (build_component "plugins_common" "avidemux_plugins"
+ '("-DPLUGIN_UI=COMMON"))
+ (build_component "plugins_cli" "avidemux_plugins"
+ '("-DPLUGIN_UI=CLI"))
+ (build_component "plugins_qt4" "avidemux_plugins"
+ '("-DPLUGIN_UI=QT4"))
+ (build_component "plugins_gtk" "avidemux_plugins"
+ '("-DPLUGIN_UI=GTK"))
+ (build_component "plugins_settings" "avidemux_plugins"
+ '("-DPLUGIN_UI=SETTINGS")))
+ ;; Remove .exe and .dll file.
+ (delete-file-recursively
+ (string-append out "/share/ADM6_addons"))))
+ (alist-delete 'install
+ %standard-phases)))))))
+ (home-page "http://fixounet.free.fr/avidemux/")
+ (synopsis "Video editor")
+ (description "Avidemux is a video editor designed for simple cutting,
+filtering and encoding tasks. It supports many file types, including AVI,
+DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks
+can be automated using projects, job queue and powerful scripting
+capabilities.")
+ ;; Software with various licenses is included, see License.txt.
+ (license gpl2+)))
+
+(define-public avidemux-2.5
+ (package (inherit avidemux)
+ (version "2.5.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/avidemux/avidemux_"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("gettext" ,gnu-gettext)
+ ("gtk+" ,gtk+-2)
+ ("jack" ,jack-1)
+ ("lame" ,lame)
+ ("libvorbis" ,libvorbis)
+ ("libvpx" ,libvpx)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("libxv" ,libxv)
+ ("perl" ,perl)
+ ("pulseaudio" ,pulseaudio)
+ ("qt" ,qt-4)
+ ("sdl" ,sdl)
+ ("yasm" ,yasm)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (alist-cons-before
+ 'patch-source-shebangs 'unpack-ffmpeg
+ (lambda _
+ (with-directory-excursion "avidemux/ADM_libraries"
+ (system* "tar" "xf" "ffmpeg-0.9.tar.bz2")
+ (delete-file "ffmpeg-0.9.tar.bz2")))
+ (alist-cons-after
+ 'patch-source-shebangs 'repack-ffmpeg
+ (lambda _
+ (with-directory-excursion "avidemux/ADM_libraries"
+ (substitute* "ffmpeg-0.9/configure"
+ (("#! /bin/sh") (string-append "#!" (which "bash"))))
+ (system* "tar" "cjf" "ffmpeg-0.9.tar.bz2" "ffmpeg-0.9")
+ (delete-file-recursively "ffmpeg-0.9")))
+ (alist-replace 'configure
+ (lambda _
+ (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+ (setenv "CMAKE_INCLUDE_PATH" (getenv "CPATH")))
+ (alist-replace 'build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let*
+ ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (top (getcwd))
+ (sdl (assoc-ref inputs "sdl"))
+ (build_component
+ (lambda* (component srcdir)
+ (let ((builddir (string-append "build_" component)))
+ (mkdir builddir)
+ (with-directory-excursion builddir
+ (zero? (and
+ (system* "cmake"
+ "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ out)
+ (string-append "-DCMAKE_INSTALL_RPATH="
+ lib)
+ (string-append "-DAVIDEMUX_SOURCE_DIR="
+ top)
+ (string-append "-DAVIDEMUX_CORECONFIG_DIR="
+ top "/build_main/config")
+ (string-append "-DAVIDEMUX_INSTALL_PREFIX="
+ out)
+ (string-append "-DSDL_INCLUDE_DIR="
+ sdl "/include/SDL")
+ (string-append "../" srcdir))
+ (system* "make" "-j"
+ (number->string (parallel-job-count)))
+ (system* "make" "install"))))))))
+ (mkdir out)
+ (and (build_component "main" ".")
+ (build_component "plugins" "plugins"))
+ (delete-file-recursively
+ (string-append out "/share/ADM_addons"))))
+ (alist-delete 'install
+ %standard-phases)))))))))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 419e531fb6..5296c43c53 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
@@ -49,14 +49,14 @@
(define-public httpd
(package
(name "httpd")
- (version "2.4.6")
+ (version "2.4.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
- "1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw"))))
+ "1r7a63ka41vlswrqbb21vall6sc7svwgd497kb6dh8a6zvnkjvdd"))))
(build-system gnu-build-system)
(inputs `(("apr" ,apr)
("apr-util" ,apr-util)
@@ -799,3 +799,23 @@ select or poll.")
server). It was primarily designed to be used by one person or a small group
of people.")
(license l:expat)))
+
+(define-public libyaml
+ (package
+ (name "libyaml")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://pyyaml.org/download/libyaml/yaml-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1vrv5ly58bkmcyc049ad180f2m8iav6l9h3v8l2fqdmrny7yx1zs"))))
+ (build-system gnu-build-system)
+ (home-page "http://pyyaml.org/wiki/LibYAML")
+ (synopsis "YAML 1.1 parser and emitter written in C")
+ (description
+ "LibYAML is a YAML 1.1 parser and emitter written in C.")
+ (license l:expat)))
diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
new file mode 100644
index 0000000000..5406aedc6e
--- /dev/null
+++ b/gnu/packages/wxwidgets.scm
@@ -0,0 +1,97 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages wxwidgets)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix l:)
+ #:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages gstreamer)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages xorg))
+
+(define-public wxwidgets
+ (package
+ (name "wxwidgets")
+ (version "3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/wxwindows/" version
+ "/wxWidgets-" version ".tar.bz2"))
+ (sha256
+ (base32 "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l"))))
+ (build-system glib-or-gtk-build-system)
+ ;; TODO: add WebKit
+ (inputs
+ `(("glu" ,glu)
+ ;; XXX gstreamer-0.10 builds fail
+ ;; ("gstreamer" ,gstreamer-0.10)
+ ("gtk" ,gtk+)
+ ("libjpeg" ,libjpeg)
+ ("libmspack" ,libmspack)
+ ("libsm" ,libsm)
+ ("libtiff" ,libtiff)
+ ("mesa" ,mesa)
+ ("sdl" ,sdl)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (arguments
+ '(#:configure-flags
+ '("--with-regex=sys" "--with-libmspack" "--with-sdl")
+ ;; No 'check' target.
+ #:tests? #f))
+ (home-page "https://www.wxwidgets.org/")
+ (synopsis "Widget toolkit for creating graphical user interfaces")
+ (description
+ "wxWidgets is a C++ library that lets developers create applications with
+a graphical user interface. It has language bindings for Python, Perl, Ruby
+and many other languages.")
+ (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
+
+(define-public wxwidgets-2
+ (package
+ (inherit wxwidgets)
+ (version "2.8.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://sourceforge.net/projects/wxwindows/files/"
+ version "/wxGTK-" version ".tar.gz"))
+ (sha256
+ (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk"))))
+ (inputs
+ `(("gtk" ,gtk+-2)
+ ("libjpeg" ,libjpeg)
+ ("libtiff" ,libtiff)
+ ("libmspack" ,libmspack)
+ ("sdl" ,sdl)
+ ("unixodbc" ,unixodbc)))
+ (arguments
+ `(#:configure-flags
+ '("--enable-unicode" "--with-regex=sys" "--with-sdl")
+ ;; No 'check' target.
+ #:tests? #f))))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index b48563227c..d0c983dc78 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -392,3 +392,31 @@ X Window System.")
(license (license:bsd-style #f "See xlock.c.")
;; + GPLv2 in modes/glx/biof.c.
)))
+
+(define-public xosd
+ (package
+ (name "xosd")
+ (version "2.2.14")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/libxosd/xosd-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append "--mandir=" %output "/share/man"))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxt" ,libxt)
+ ("libxext" ,libxext)
+ ("libxinerama" ,libxinerama)))
+ (home-page "http://sourceforge.net/projects/libxosd/")
+ (synopsis "X On Screen Display")
+ (description
+ "XOSD provides a C library and a simple utility (osd_cat) for displaying
+transparent text on your screen.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 10801fe52c..2f5d59a54e 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -4451,7 +4451,7 @@ graphics cards.")
(define-public xorg-server
(package
(name "xorg-server")
- (version "1.16.3")
+ (version "1.16.4")
(source
(origin
(method url-fetch)
@@ -4460,7 +4460,7 @@ graphics cards.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "1yxhc3aw2cadf77w48d2glc5j6w6hairiskfiys7h45g70r483sy"))))
+ "0wf8xykcjhvpk9ppjcixvf60p6kkyrpmfj0z29d93a8kjb6f3dmb"))))
(build-system gnu-build-system)
(propagated-inputs
`(("dri2proto" ,dri2proto)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 94abef65c8..40d4740d46 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -506,7 +506,8 @@ given @var{config}---an @code{<nscd-configuration>} object. Optionally,
(activate #~(begin
(use-modules (guix build utils))
- (mkdir-p "/var/run/nscd")))
+ (mkdir-p "/var/run/nscd")
+ (mkdir-p "/var/db/nscd"))) ;for the persistent cache
(start #~(make-forkexec-constructor
(list (string-append #$glibc "/sbin/nscd")
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 7cb9012b68..69a89584e0 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -207,23 +207,33 @@ which should be passed to this script as the first argument. If not, the
(list %windowmaker-session-type %ratpoison-session-type))
(define (xsessions-directory sessions)
- "Return a directory containing SESSIONS, a list of <session-type> objects."
+ "Return a directory containing SESSIONS, a list of <session-type> objects.
+The alphabetical order of the files in that directory match the order of the
+elements in SESSIONS."
(define builder
#~(begin
+ (use-modules (srfi srfi-1)
+ (ice-9 format))
+
(mkdir #$output)
(chdir #$output)
- (for-each (lambda (name executable)
- (let ((file (string-append (string-downcase name)
- ".desktop")))
- (call-with-output-file file
- (lambda (port)
- (format port "[Desktop Entry]
+ (fold (lambda (name executable number)
+ ;; Create file names such that the order of the items in
+ ;; SESSION is respected. SLiM gets them in lexicographic
+ ;; order and uses the first one as the default session.
+ (let ((file (format #f "~2,'0d-~a.desktop"
+ number (string-downcase name))))
+ (call-with-output-file file
+ (lambda (port)
+ (format port "[Desktop Entry]
Name=~a
Exec=~a
Type=Application~%"
- name executable)))))
- '#$(map session-type-name sessions)
- (list #$@(map session-type-executable sessions)))))
+ name executable)))
+ (+ 1 number)))
+ 1
+ '#$(map session-type-name sessions)
+ (list #$@(map session-type-executable sessions)))))
(gexp->derivation "xsessions-dir" builder))
@@ -260,7 +270,8 @@ theme to use. In that case, @var{theme-name} specifies the name of the
theme.
Last, @var{session} is a list of @code{<session-type>} objects denoting the
-available session types that can be chosen from the log-in screen."
+available session types that can be chosen from the log-in screen. The first
+one is chosen by default."
(define (slim.cfg)
(mlet %store-monad ((startx (or startx (xorg-start-command)))
@@ -278,6 +289,7 @@ authfile /var/run/slim.auth
# of the names specified in the 'sessions' setting: 'wmaker', 'xfce', etc.
login_cmd exec " xinitrc " %session
sessiondir " sessiondir "
+session_msg session (F1 to change):
halt_cmd " dmd "/sbin/halt
reboot_cmd " dmd "/sbin/reboot
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index ecffee3112..17b08aa9b7 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,13 +80,13 @@
(define %background-image
(grub-image
(aspect-ratio 4/3)
- (file #~(string-append #$%artwork-repository "/grub/guix-4-3.svg"))))
+ (file #~(string-append #$%artwork-repository "/grub/GuixSD-4-3.svg"))))
(define %default-theme
;; Default theme contributed by Felipe López.
(grub-theme
(images (list %background-image))
- (color-highlight '((fg . cyan) (bg . black))) ;XXX: fg should be #x3bb7f5
+ (color-highlight '((fg . yellow) (bg . black)))
(color-normal '((fg . light-gray) (bg . black))))) ;XXX: #x303030
(define-record-type* <grub-configuration>
diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm
index c488adb500..e0f86438a8 100644
--- a/guix/build-system/perl.scm
+++ b/guix/build-system/perl.scm
@@ -75,7 +75,9 @@
(tests? #t)
(parallel-build? #t)
(parallel-tests? #t)
+ (make-maker? #f)
(make-maker-flags ''())
+ (module-build-flags ''())
(phases '(@ (guix build perl-build-system)
%standard-phases))
(outputs '("out"))
@@ -101,7 +103,9 @@ provides a `Makefile.PL' file as its build system."
source))
#:search-paths ',(map search-path-specification->sexp
search-paths)
+ #:make-maker? ,make-maker?
#:make-maker-flags ,make-maker-flags
+ #:module-build-flags ,module-build-flags
#:phases ,phases
#:system ,system
#:test-target "test"
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 5928ccd154..e8d61e0d92 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +30,7 @@
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (open-connection-for-uri
+ resolve-uri-reference
maybe-expand-mirrors
url-fetch
progress-proc
@@ -204,6 +206,86 @@ which is not available during bootstrap."
(module-define! (resolve-module '(web client))
'shutdown (const #f))
+;; XXX: Work around <http://bugs.gnu.org/19840>, present in Guile
+;; up to 2.0.11.
+(unless (or (> (string->number (major-version)) 2)
+ (> (string->number (minor-version)) 0)
+ (> (string->number (micro-version)) 11))
+ (let ((var (module-variable (resolve-module '(web http))
+ 'declare-relative-uri-header!)))
+ ;; If 'declare-relative-uri-header!' doesn't exist, forget it.
+ (when (and var (variable-bound? var))
+ (let ((declare-relative-uri-header! (variable-ref var)))
+ (declare-relative-uri-header! "Location")))))
+
+(define (resolve-uri-reference ref base)
+ "Resolve the URI reference REF, interpreted relative to the BASE URI, into a
+target URI, according to the algorithm specified in RFC 3986 section 5.2.2.
+Return the resulting target URI."
+
+ (define (merge-paths base-path rel-path)
+ (let* ((base-components (string-split base-path #\/))
+ (base-directory-components (match base-components
+ ((components ... last) components)
+ (() '())))
+ (base-directory (string-join base-directory-components "/")))
+ (string-append base-directory "/" rel-path)))
+
+ (define (remove-dot-segments path)
+ (let loop ((in
+ ;; Drop leading "." and ".." components from a relative path.
+ ;; (absolute paths will start with a "" component)
+ (drop-while (match-lambda
+ ((or "." "..") #t)
+ (_ #f))
+ (string-split path #\/)))
+ (out '()))
+ (match in
+ (("." . rest)
+ (loop rest out))
+ ((".." . rest)
+ (match out
+ ((or () (""))
+ (error "remove-dot-segments: too many '..' components" path))
+ (_
+ (loop rest (cdr out)))))
+ ((component . rest)
+ (loop rest (cons component out)))
+ (()
+ (string-join (reverse out) "/")))))
+
+ (cond ((or (uri-scheme ref)
+ (uri-host ref))
+ (build-uri (or (uri-scheme ref)
+ (uri-scheme base))
+ #:userinfo (uri-userinfo ref)
+ #:host (uri-host ref)
+ #:port (uri-port ref)
+ #:path (remove-dot-segments (uri-path ref))
+ #:query (uri-query ref)
+ #:fragment (uri-fragment ref)))
+ ((string-null? (uri-path ref))
+ (build-uri (uri-scheme base)
+ #:userinfo (uri-userinfo base)
+ #:host (uri-host base)
+ #:port (uri-port base)
+ #:path (remove-dot-segments (uri-path base))
+ #:query (or (uri-query ref)
+ (uri-query base))
+ #:fragment (uri-fragment ref)))
+ (else
+ (build-uri (uri-scheme base)
+ #:userinfo (uri-userinfo base)
+ #:host (uri-host base)
+ #:port (uri-port base)
+ #:path (remove-dot-segments
+ (if (string-prefix? "/" (uri-path ref))
+ (uri-path ref)
+ (merge-paths (uri-path base)
+ (uri-path ref))))
+ #:query (uri-query ref)
+ #:fragment (uri-fragment ref)))))
+
(define (http-fetch uri file)
"Fetch data from URI and write it to FILE. Return FILE on success."
@@ -260,7 +342,7 @@ which is not available during bootstrap."
file))
((301 ; moved permanently
302) ; found (redirection)
- (let ((uri (response-location resp)))
+ (let ((uri (resolve-uri-reference (response-location resp) uri)))
(format #t "following redirection to `~a'...~%"
(uri->string uri))
(close connection)
diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm
index 904daf7ac2..7eb944ccd1 100644
--- a/guix/build/perl-build-system.scm
+++ b/guix/build/perl-build-system.scm
@@ -29,22 +29,57 @@
;;
;; Code:
-(define* (configure #:key outputs (make-maker-flags '())
+(define* (configure #:key outputs make-maker?
+ (make-maker-flags '()) (module-build-flags '())
#:allow-other-keys)
"Configure the given Perl package."
- (let ((out (assoc-ref outputs "out")))
- (if (file-exists? "Makefile.PL")
- (let ((args `("Makefile.PL" ,(string-append "PREFIX=" out)
- "INSTALLDIRS=site" ,@make-maker-flags)))
- (format #t "running `perl' with arguments ~s~%" args)
- (zero? (apply system* "perl" args)))
- (error "no Makefile.PL found"))))
+ (let* ((out (assoc-ref outputs "out"))
+ (args (cond
+ ;; Prefer to use Module::Build unless otherwise told
+ ((and (file-exists? "Build.PL")
+ (not make-maker?))
+ `("Build.PL" ,(string-append "--prefix=" out)
+ "--installdirs=site" ,@module-build-flags))
+ ((file-exists? "Makefile.PL")
+ `("Makefile.PL" ,(string-append "PREFIX=" out)
+ "INSTALLDIRS=site" ,@make-maker-flags))
+ (else (error "no Build.PL or Makefile.PL found")))))
+ (format #t "running `perl' with arguments ~s~%" args)
+ (zero? (apply system* "perl" args))))
+
+(define-syntax-rule (define-w/gnu-fallback* (name args ...) body ...)
+ (define* (name args ... #:rest rest)
+ (if (access? "Build" X_OK)
+ (begin body ...)
+ (apply (assoc-ref gnu:%standard-phases 'name) rest))))
+
+(define-w/gnu-fallback* (build)
+ (zero? (system* "./Build")))
+
+(define-w/gnu-fallback* (check #:key target
+ (tests? (not target)) (test-flags '())
+ #:allow-other-keys)
+ (if tests?
+ (zero? (apply system* "./Build" "test" test-flags))
+ (begin
+ (format #t "test suite not run~%")
+ #t)))
+
+(define-w/gnu-fallback* (install)
+ (zero? (system* "./Build" "install")))
(define %standard-phases
- ;; Everything is as with the GNU Build System except for the `configure'
- ;; phase.
- (alist-replace 'configure configure
- gnu:%standard-phases))
+ ;; Everything is as with the GNU Build System except for the `configure',
+ ;; `build', `check', and `install' phases.
+ (alist-replace
+ 'configure configure
+ (alist-replace
+ 'build build
+ (alist-replace
+ 'check check
+ (alist-replace
+ 'install install
+ gnu:%standard-phases)))))
(define* (perl-build #:key inputs (phases %standard-phases)
#:allow-other-keys #:rest args)
diff --git a/guix/derivations.scm b/guix/derivations.scm
index 678550a39e..e5922365a0 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -96,11 +96,8 @@
build-derivations
built-derivations
- imported-modules
- compiled-modules
- build-expression->derivation
- imported-files)
+ build-expression->derivation)
;; Re-export it from here for backward compatibility.
#:re-export (%guile-for-build))
@@ -942,7 +939,7 @@ recursively."
(remove (cut string=? <> ".")
(string-tokenize (dirname file-name) not-slash))))))
-(define* (imported-files store files
+(define* (imported-files store files ;deprecated
#:key (name "file-import")
(system (%current-system))
(guile (%guile-for-build)))
@@ -982,7 +979,7 @@ system, imported, and appears under FINAL-PATH in the resulting store path."
;; up looking for the same files over and over again.
(memoize search-path))
-(define* (%imported-modules store modules
+(define* (%imported-modules store modules ;deprecated
#:key (name "module-import")
(system (%current-system))
(guile (%guile-for-build))
@@ -1001,7 +998,7 @@ search path."
(imported-files store files #:name name #:system system
#:guile guile)))
-(define* (%compiled-modules store modules
+(define* (%compiled-modules store modules ;deprecated
#:key (name "module-import-compiled")
(system (%current-system))
(guile (%guile-for-build))
@@ -1124,7 +1121,7 @@ applied."
#:outputs output-names
#:local-build? #t)))))
-(define* (build-expression->derivation store name exp
+(define* (build-expression->derivation store name exp ;deprecated
#:key
(system (%current-system))
(inputs '())
@@ -1290,9 +1287,3 @@ ALLOWED-REFERENCES, and LOCAL-BUILD?."
(define built-derivations
(store-lift build-derivations))
-
-(define imported-modules
- (store-lift %imported-modules))
-
-(define compiled-modules
- (store-lift %compiled-modules))
diff --git a/guix/download.scm b/guix/download.scm
index 9a1897525b..d87d02e2af 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -164,6 +164,16 @@
"ftp://ftp.nara.wide.ad.jp/pub/CPAN/"
"http://mirrors.163.com/cpan/"
"ftp://cpan.mirror.ac.za/")
+ (cran
+ ;; Arbitrary mirrors from http://cran.r-project.org/mirrors.html
+ ;; This one automatically redirects to servers worldwide
+ "http://cran.rstudio.com/"
+ "http://cran.univ-lyon1.fr/"
+ "http://cran.r-mirror.de/"
+ "http://cran.ism.ac.jp/"
+ "http://cran.stat.auckland.ac.nz/"
+ "http://cran.mirror.ac.za/"
+ "http://cran.csie.ntu.edu.tw/")
(imagemagick
;; from http://www.imagemagick.org/script/download.php
;; (without mirrors that are unavailable or not up to date)
diff --git a/guix/gexp.scm b/guix/gexp.scm
index fa712a8b9b..a8349c7d6e 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -21,6 +21,7 @@
#:use-module (guix monads)
#:use-module (guix derivations)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-9 gnu)
@@ -31,7 +32,10 @@
gexp->derivation
gexp->file
gexp->script
- text-file*))
+ text-file*
+ imported-files
+ imported-modules
+ compiled-modules))
;;; Commentary:
;;;
@@ -149,6 +153,7 @@ names and file names suitable for the #:allowed-references argument to
(modules '())
(module-path %load-path)
(guile-for-build (%guile-for-build))
+ (graft? (%graft?))
references-graphs
allowed-references
local-build?)
@@ -161,6 +166,9 @@ names of Guile modules searched in MODULE-PATH to be copied in the store,
compiled, and made available in the load path during the execution of
EXP---e.g., '((guix build utils) (guix build gnu-build-system)).
+GRAFT? determines whether packages referred to by EXP should be grafted when
+applicable.
+
When REFERENCES-GRAPHS is true, it must be a list of tuples of one of the
following forms:
@@ -194,10 +202,10 @@ The other arguments are as for 'derivation'."
(cons file-name thing)))
graphs))
- (mlet* %store-monad (;; The following binding is here to force
- ;; '%current-system' and '%current-target-system' to be
- ;; looked up at >>= time.
- (unused (return #f))
+ (mlet* %store-monad (;; The following binding forces '%current-system' and
+ ;; '%current-target-system' to be looked up at >>=
+ ;; time.
+ (graft? (set-grafting graft?))
(system -> (or system (%current-system)))
(target -> (if (eq? target 'current)
@@ -241,30 +249,32 @@ The other arguments are as for 'derivation'."
(return guile-for-build)
(package->derivation (default-guile)
system))))
- (raw-derivation name
- (string-append (derivation->output-path guile)
- "/bin/guile")
- `("--no-auto-compile"
- ,@(if (pair? %modules)
- `("-L" ,(derivation->output-path modules)
- "-C" ,(derivation->output-path compiled))
- '())
- ,builder)
- #:outputs outputs
- #:env-vars env-vars
- #:system system
- #:inputs `((,guile)
- (,builder)
- ,@(if modules
- `((,modules) (,compiled) ,@inputs)
- inputs)
- ,@(match graphs
- (((_ . inputs) ...) inputs)
- (_ '())))
- #:hash hash #:hash-algo hash-algo #:recursive? recursive?
- #:references-graphs (and=> graphs graphs-file-names)
- #:allowed-references allowed
- #:local-build? local-build?)))
+ (mbegin %store-monad
+ (set-grafting graft?) ;restore the initial setting
+ (raw-derivation name
+ (string-append (derivation->output-path guile)
+ "/bin/guile")
+ `("--no-auto-compile"
+ ,@(if (pair? %modules)
+ `("-L" ,(derivation->output-path modules)
+ "-C" ,(derivation->output-path compiled))
+ '())
+ ,builder)
+ #:outputs outputs
+ #:env-vars env-vars
+ #:system system
+ #:inputs `((,guile)
+ (,builder)
+ ,@(if modules
+ `((,modules) (,compiled) ,@inputs)
+ inputs)
+ ,@(match graphs
+ (((_ . inputs) ...) inputs)
+ (_ '())))
+ #:hash hash #:hash-algo hash-algo #:recursive? recursive?
+ #:references-graphs (and=> graphs graphs-file-names)
+ #:allowed-references allowed
+ #:local-build? local-build?))))
(define* (gexp-inputs exp #:optional (references gexp-references))
"Return the input list for EXP, using REFERENCES to get its list of
@@ -502,6 +512,157 @@ package/derivation references."
;;;
+;;; Module handling.
+;;;
+
+(define %mkdir-p-definition
+ ;; The code for 'mkdir-p' is copied from (guix build utils). We use it in
+ ;; derivations that cannot use the #:modules argument of 'gexp->derivation'
+ ;; precisely because they implement that functionality.
+ (gexp
+ (define (mkdir-p dir)
+ (define absolute?
+ (string-prefix? "/" dir))
+
+ (define not-slash
+ (char-set-complement (char-set #\/)))
+
+ (let loop ((components (string-tokenize dir not-slash))
+ (root (if absolute? "" ".")))
+ (match components
+ ((head tail ...)
+ (let ((path (string-append root "/" head)))
+ (catch 'system-error
+ (lambda ()
+ (mkdir path)
+ (loop tail path))
+ (lambda args
+ (if (= EEXIST (system-error-errno args))
+ (loop tail path)
+ (apply throw args))))))
+ (() #t))))))
+
+(define* (imported-files files
+ #:key (name "file-import")
+ (system (%current-system))
+ (guile (%guile-for-build)))
+ "Return a derivation that imports FILES into STORE. FILES must be a list
+of (FINAL-PATH . FILE-NAME) pairs; each FILE-NAME is read from the file
+system, imported, and appears under FINAL-PATH in the resulting store path."
+ (define file-pair
+ (match-lambda
+ ((final-path . file-name)
+ (mlet %store-monad ((file (interned-file file-name
+ (basename final-path))))
+ (return (list final-path file))))))
+
+ (mlet %store-monad ((files (sequence %store-monad
+ (map file-pair files))))
+ (define build
+ (gexp
+ (begin
+ (use-modules (ice-9 match))
+
+ (ungexp %mkdir-p-definition)
+
+ (mkdir (ungexp output)) (chdir (ungexp output))
+ (for-each (match-lambda
+ ((final-path store-path)
+ (mkdir-p (dirname final-path))
+ (symlink store-path final-path)))
+ '(ungexp files)))))
+
+ ;; TODO: Pass FILES as an environment variable so that BUILD remains
+ ;; exactly the same regardless of FILES: less disk space, and fewer
+ ;; 'add-to-store' RPCs.
+ (gexp->derivation name build
+ #:system system
+ #:guile-for-build guile
+ #:local-build? #t)))
+
+(define search-path*
+ ;; A memoizing version of 'search-path' so 'imported-modules' does not end
+ ;; up looking for the same files over and over again.
+ (memoize search-path))
+
+(define* (imported-modules modules
+ #:key (name "module-import")
+ (system (%current-system))
+ (guile (%guile-for-build))
+ (module-path %load-path))
+ "Return a derivation that contains the source files of MODULES, a list of
+module names such as `(ice-9 q)'. All of MODULES must be in the MODULE-PATH
+search path."
+ ;; TODO: Determine the closure of MODULES, build the `.go' files,
+ ;; canonicalize the source files through read/write, etc.
+ (let ((files (map (lambda (m)
+ (let ((f (string-append
+ (string-join (map symbol->string m) "/")
+ ".scm")))
+ (cons f (search-path* module-path f))))
+ modules)))
+ (imported-files files #:name name #:system system
+ #:guile guile)))
+
+(define* (compiled-modules modules
+ #:key (name "module-import-compiled")
+ (system (%current-system))
+ (guile (%guile-for-build))
+ (module-path %load-path))
+ "Return a derivation that builds a tree containing the `.go' files
+corresponding to MODULES. All the MODULES are built in a context where
+they can refer to each other."
+ (mlet %store-monad ((modules (imported-modules modules
+ #:system system
+ #:guile guile
+ #:module-path
+ module-path)))
+ (define build
+ (gexp
+ (begin
+ (use-modules (ice-9 ftw)
+ (ice-9 match)
+ (srfi srfi-26)
+ (system base compile))
+
+ (ungexp %mkdir-p-definition)
+
+ (define (regular? file)
+ (not (member file '("." ".."))))
+
+ (define (process-directory directory output)
+ (let ((entries (map (cut string-append directory "/" <>)
+ (scandir directory regular?))))
+ (for-each (lambda (entry)
+ (if (file-is-directory? entry)
+ (let ((output (string-append output "/"
+ (basename entry))))
+ (mkdir-p output)
+ (process-directory entry output))
+ (let* ((base (string-drop-right
+ (basename entry)
+ 4)) ;.scm
+ (output (string-append output "/" base
+ ".go")))
+ (compile-file entry
+ #:output-file output
+ #:opts
+ %auto-compilation-options))))
+ entries)))
+
+ (set! %load-path (cons (ungexp modules) %load-path))
+ (mkdir (ungexp output))
+ (chdir (ungexp modules))
+ (process-directory "." (ungexp output)))))
+
+ ;; TODO: Pass MODULES as an environment variable.
+ (gexp->derivation name build
+ #:system system
+ #:guile-for-build guile
+ #:local-build? #t)))
+
+
+;;;
;;; Convenience procedures.
;;;
@@ -562,7 +723,6 @@ and store file names; the resulting store file holds references to all these."
(gexp->derivation name builder))
-
;;;
;;; Syntactic sugar.
diff --git a/guix/http-client.scm b/guix/http-client.scm
index 4770628e45..aad7656e19 100644
--- a/guix/http-client.scm
+++ b/guix/http-client.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2012 Free Software Foundation, Inc.
;;;
;;; This file is part of GNU Guix.
@@ -29,6 +30,7 @@
#:use-module (rnrs bytevectors)
#:use-module (guix ui)
#:use-module (guix utils)
+ #:use-module ((guix build download) #:select (resolve-uri-reference))
#:export (&http-get-error
http-get-error?
http-get-error-uri
@@ -227,7 +229,7 @@ Raise an '&http-get-error' condition if downloading fails."
(values data len)))))
((301 ; moved permanently
302) ; found (redirection)
- (let ((uri (response-location resp)))
+ (let ((uri (resolve-uri-reference (response-location resp) uri)))
(close-port port)
(format #t (_ "following redirection to `~a'...~%")
(uri->string uri))
diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm
index 5f4602a8d2..37dd3b162c 100644
--- a/guix/import/cpan.scm
+++ b/guix/import/cpan.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,6 +20,8 @@
(define-module (guix import cpan)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
+ #:use-module ((ice-9 popen) #:select (open-pipe* close-pipe))
+ #:use-module ((ice-9 rdelim) #:select (read-line))
#:use-module (srfi srfi-1)
#:use-module (json)
#:use-module (guix hash)
@@ -27,6 +30,9 @@
#:use-module ((guix download) #:select (download-to-store))
#:use-module (guix import utils)
#:use-module (guix import json)
+ #:use-module (guix packages)
+ #:use-module (guix derivations)
+ #:use-module (gnu packages perl)
#:export (cpan->guix-package))
;;; Commentary:
@@ -44,7 +50,7 @@
;; apache_1_1
("apache_2_0" 'asl2.0)
;; artistic_1_0
- ;; artistic_2_0
+ ("artistic_2_0" 'artistic2.0)
("bsd" 'bsd-3)
("freebsd" 'bsd-2)
;; gfdl_1_2
@@ -58,7 +64,7 @@
;; mozilla_1_0
("mozilla_1_1" 'mpl1.1)
("openssl" 'openssl)
- ("perl_5" 'gpl1+) ;and Artistic 1
+ ("perl_5" '(package-license perl)) ;GPL1+ and Artistic 1
("qpl_1_0" 'qpl)
;; ssleay
;; sun
@@ -71,6 +77,14 @@
"Transform a 'module' name into a 'release' name"
(regexp-substitute/global #f "::" module 'pre "-" 'post))
+(define (module->dist-name module)
+ "Return the base distribution module for a given module. E.g. the 'ok'
+module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would
+return \"Test-Simple\""
+ (assoc-ref (json-fetch (string-append "http://api.metacpan.org/module/"
+ module))
+ "distribution"))
+
(define (cpan-fetch module)
"Return an alist representation of the CPAN metadata for the perl module MODULE,
or #f on failure. MODULE should be e.g. \"Test::Script\""
@@ -84,6 +98,15 @@ or #f on failure. MODULE should be e.g. \"Test::Script\""
(define (cpan-home name)
(string-append "http://search.cpan.org/dist/" name))
+(define %corelist
+ (delay
+ (let* ((perl (with-store store
+ (derivation->output-path
+ (package-derivation store perl))))
+ (core (string-append perl "/bin/corelist")))
+ (and (access? core X_OK)
+ core))))
+
(define (cpan-module->sexp meta)
"Return the `package' s-expression for a CPAN module from the metadata in
META."
@@ -98,6 +121,17 @@ META."
(define version
(assoc-ref meta "version"))
+ (define (core-module? name)
+ (and (force %corelist)
+ (parameterize ((current-error-port (%make-void-port "w")))
+ (let* ((corelist (open-pipe* OPEN_READ (force %corelist) name)))
+ (let loop ((line (read-line corelist)))
+ (if (eof-object? line)
+ (begin (close-pipe corelist) #f)
+ (if (string-contains line "first released with perl")
+ (begin (close-pipe corelist) #t)
+ (loop (read-line corelist)))))))))
+
(define (convert-inputs phases)
;; Convert phase dependencies into a list of name/variable pairs.
(match (flatten
@@ -109,19 +143,22 @@ META."
(#f
'())
((inputs ...)
- (delete-duplicates
- ;; Listed dependencies may include core modules. Filter those out.
- (filter-map (match-lambda
- ((or (module . "0") ("perl" . _))
- ;; TODO: A stronger test might to run MODULE through
- ;; `corelist' from our perl package. This current test
- ;; seems to be only a loose convention.
- #f)
- ((module . _)
- (let ((name (guix-name (module->name module))))
- (list name
- (list 'unquote (string->symbol name))))))
- inputs)))))
+ (sort
+ (delete-duplicates
+ ;; Listed dependencies may include core modules. Filter those out.
+ (filter-map (match-lambda
+ (("perl" . _) ;implicit dependency
+ #f)
+ ((module . _)
+ (and (not (core-module? module))
+ (let ((name (guix-name (module->dist-name module))))
+ (list name
+ (list 'unquote (string->symbol name)))))))
+ inputs))
+ (lambda args
+ (match args
+ (((a _ ...) (b _ ...))
+ (string<? a b))))))))
(define (maybe-inputs guix-name inputs)
(match inputs
@@ -132,7 +169,9 @@ META."
(list 'quasiquote inputs))))))
(define source-url
- (assoc-ref meta "download_url"))
+ (regexp-substitute/global #f "http://cpan.metacpan.org"
+ (assoc-ref meta "download_url")
+ 'pre "mirror://cpan" 'post))
(let ((tarball (with-store store
(download-to-store store source-url))))
@@ -147,12 +186,12 @@ META."
,(bytevector->nix-base32-string (file-sha256 tarball))))))
(build-system perl-build-system)
,@(maybe-inputs 'native-inputs
- ;; "runtime" and "test" may also be needed here. See
+ ;; "runtime" may also be needed here. See
;; https://metacpan.org/pod/CPAN::Meta::Spec#Phases,
;; which says they are required during building. We
;; have not yet had a need for cross-compiled perl
- ;; modules, however, so we leave them out.
- (convert-inputs '("configure" "build")))
+ ;; modules, however, so we leave it out.
+ (convert-inputs '("configure" "build" "test")))
,@(maybe-inputs 'inputs
(convert-inputs '("runtime")))
(home-page ,(string-append "http://search.cpan.org/dist/" name))
diff --git a/guix/licenses.scm b/guix/licenses.scm
index 86f3ae4e82..157e74bf37 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
@@ -28,7 +28,7 @@
cc0
cddl1.0
cecill-c
- clarified-artistic
+ artistic2.0 clarified-artistic
cpl1.0
epl1.0
expat
@@ -39,6 +39,7 @@
ijg
ibmpl1.0
imlib2
+ ipa
lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
mpl1.1 mpl2.0
ncsa
@@ -129,6 +130,11 @@ which may be a file:// URI pointing the package's tree."
"http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"
"https://www.gnu.org/licenses/license-list.html#CeCILL"))
+(define artistic2.0
+ (license "Artistic License 2.0"
+ "http://www.perlfoundation.org/artistic_license_2_0"
+ "http://www.gnu.org/licenses/license-list.html#ArtisticLicense2"))
+
(define clarified-artistic
(license "Clarified Artistic"
;; http://directory.fsf.org/wiki/User:Jgay/license-categorization#Clarified_Artistic_License
@@ -210,6 +216,11 @@ which may be a file:// URI pointing the package's tree."
"http://directory.fsf.org/wiki/License:Imlib2"
"https://www.gnu.org/licenses/license-list#imlib"))
+(define ipa
+ (license "IPA Font License"
+ "http://directory.fsf.org/wiki/License:IPA_Font_License"
+ "https://www.gnu.org/licenses/license-list#IPAFONT"))
+
(define lgpl2.0
(license "LGPL 2.0"
"https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html"
diff --git a/guix/packages.scm b/guix/packages.scm
index 96f3adfc32..5b686a122f 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -114,6 +114,7 @@
default-guile
set-guile-for-build
+ set-grafting
package-file
package->derivation
package->cross-derivation
@@ -906,6 +907,12 @@ code of derivations to GUILE, a package object."
(let ((guile (package-derivation store guile)))
(values (%guile-for-build guile) store))))
+(define (set-grafting enable?)
+ "This monadic procedure enables grafting when ENABLE? is true, and disables
+it otherwise. It returns the previous setting."
+ (lambda (store)
+ (values (%graft? enable?) store)))
+
(define* (package-file package
#:optional file
#:key
diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm
index b85119a0ff..ea6801a6eb 100644
--- a/guix/scripts/archive.scm
+++ b/guix/scripts/archive.scm
@@ -297,20 +297,6 @@ the input port."
(cut write-acl acl <>)))))
(define (guix-archive . args)
- (define (parse-options)
- ;; Return the alist of option values.
- (append (parse-options-from args)
- (parse-options-from (environment-build-options))))
-
- (define (parse-options-from args)
- ;; Actual parsing takes place here.
- (args-fold* args %options
- (lambda (opt name arg result)
- (leave (_ "~A: unrecognized option~%") name))
- (lambda (arg result)
- (alist-cons 'argument arg result))
- %default-options))
-
(define (lines port)
;; Return lines read from PORT.
(let loop ((line (read-line port))
@@ -324,7 +310,7 @@ the input port."
;; Ask for absolute file names so that .drv file names passed from the
;; user to 'read-derivation' are absolute when it returns.
(with-fluids ((%file-port-name-canonicalization 'absolute))
- (let ((opts (parse-options)))
+ (let ((opts (parse-command-line args %options (list %default-options))))
(cond ((assoc-ref opts 'generate-key)
=>
generate-key-pair)
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 07ced30484..370c2a37ff 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -405,25 +405,12 @@ arguments with packages that use the specified source."
;;;
(define (guix-build . args)
- (define (parse-options)
- ;; Return the alist of option values.
- (append (parse-options-from args)
- (parse-options-from (environment-build-options))))
-
- (define (parse-options-from args)
- ;; Actual parsing takes place here.
- (args-fold* args %options
- (lambda (opt name arg result)
- (leave (_ "~A: unrecognized option~%") name))
- (lambda (arg result)
- (alist-cons 'argument arg result))
- %default-options))
-
(with-error-handling
;; Ask for absolute file names so that .drv file names passed from the
;; user to 'read-derivation' are absolute when it returns.
(with-fluids ((%file-port-name-canonicalization 'absolute))
- (let* ((opts (parse-options))
+ (let* ((opts (parse-command-line args %options
+ (list %default-options)))
(store (open-connection))
(drv (options->derivations store opts))
(roots (filter-map (match-lambda
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index bb2ce53caf..c96ca351c4 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -217,22 +217,12 @@ packages."
;; Entry point.
(define (guix-environment . args)
- (define (parse-options)
- ;; Return the alist of option values.
- (append (parse-options-from args)
- (parse-options-from (environment-build-options))))
-
- (define (parse-options-from args)
- ;; Actual parsing takes place here.
- (args-fold* args %options
- (lambda (opt name arg result)
- (leave (_ "~A: unrecognized option~%") name))
- (lambda (arg result)
- (alist-cons 'package arg result))
- %default-options))
+ (define (handle-argument arg result)
+ (alist-cons 'package arg result))
(with-store store
- (let* ((opts (parse-options))
+ (let* ((opts (parse-command-line args %options (list %default-options)
+ #:argument-handler handle-argument))
(pure? (assoc-ref opts 'pure))
(command (assoc-ref opts 'exec))
(inputs (packages->transitive-inputs
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index fc116d8f6c..c27207f29a 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -692,22 +692,11 @@ doesn't need it."
;;;
(define (guix-package . args)
- (define (parse-options)
- ;; Return the alist of option values.
- (append (parse-options-from args)
- (parse-options-from (environment-build-options))))
-
- (define (parse-options-from args)
- ;; Actual parsing takes place here.
- (args-fold* args %options
- (lambda (opt name arg result arg-handler)
- (leave (_ "~A: unrecognized option~%") name))
- (lambda (arg result arg-handler)
- (if arg-handler
- (arg-handler arg result)
- (leave (_ "~A: extraneous argument~%") arg)))
- %default-options
- #f))
+ (define (handle-argument arg result arg-handler)
+ ;; Process non-option argument ARG by calling back ARG-HANDLER.
+ (if arg-handler
+ (arg-handler arg result)
+ (leave (_ "~A: extraneous argument~%") arg)))
(define (ensure-default-profile)
;; Ensure the default profile symlink and directory exist and are
@@ -987,7 +976,8 @@ more information.~%"))
(_ #f))))
- (let ((opts (parse-options)))
+ (let ((opts (parse-command-line args %options (list %default-options #f)
+ #:argument-handler handle-argument)))
(with-error-handling
(or (process-query opts)
(parameterize ((%store (open-connection)))
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 3eea872fe8..1b64e6fb92 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -446,7 +446,7 @@ Build the operating system declared in FILE according to ACTION.\n"))
result)))
(option '("no-grub") #f #f
(lambda (opt name arg result)
- (alist-delete 'install-grub? result)))
+ (alist-cons 'install-grub? #f result)))
(option '("full-boot") #f #f
(lambda (opt name arg result)
(alist-cons 'full-boot? #t result)))
@@ -487,26 +487,15 @@ Build the operating system declared in FILE according to ACTION.\n"))
;;;
(define (guix-system . args)
- (define (parse-options)
- ;; Return the alist of option values.
- (append (parse-options-from args)
- (parse-options-from (environment-build-options))))
-
- (define (parse-options-from args)
- ;; Actual parsing takes place here.
- (args-fold* args %options
- (lambda (opt name arg result)
- (leave (_ "~A: unrecognized option~%") name))
- (lambda (arg result)
- (if (assoc-ref result 'action)
- (alist-cons 'argument arg result)
- (let ((action (string->symbol arg)))
- (case action
- ((build vm vm-image disk-image reconfigure init)
- (alist-cons 'action action result))
- (else (leave (_ "~a: unknown action~%")
- action))))))
- %default-options))
+ (define (parse-sub-command arg result)
+ ;; Parse sub-command ARG and augment RESULT accordingly.
+ (if (assoc-ref result 'action)
+ (alist-cons 'argument arg result)
+ (let ((action (string->symbol arg)))
+ (case action
+ ((build vm vm-image disk-image reconfigure init)
+ (alist-cons 'action action result))
+ (else (leave (_ "~a: unknown action~%") action))))))
(define (match-pair car)
;; Return a procedure that matches a pair with CAR.
@@ -534,7 +523,10 @@ Build the operating system declared in FILE according to ACTION.\n"))
args))
(with-error-handling
- (let* ((opts (parse-options))
+ (let* ((opts (parse-command-line args %options
+ (list %default-options)
+ #:argument-handler
+ parse-sub-command))
(args (option-arguments opts))
(file (first args))
(action (assoc-ref opts 'action))
diff --git a/guix/store.scm b/guix/store.scm
index 02d84eb517..d88fb3ea54 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -890,11 +890,13 @@ taking the store as its first argument."
;; Store monad operators.
;;
-(define* (text-file name text)
+(define* (text-file name text
+ #:optional (references '()))
"Return as a monadic value the absolute file name in the store of the file
-containing TEXT, a string."
+containing TEXT, a string. REFERENCES is a list of store items that the
+resulting text file refers to; it defaults to the empty list."
(lambda (store)
- (values (add-text-to-store store name text '())
+ (values (add-text-to-store store name text references)
store)))
(define* (interned-file file #:optional name
diff --git a/guix/tests.scm b/guix/tests.scm
index 451c1ba4bb..0896e842da 100644
--- a/guix/tests.scm
+++ b/guix/tests.scm
@@ -23,6 +23,7 @@
#:use-module (guix base32)
#:use-module (guix serialization)
#:use-module (guix hash)
+ #:use-module (guix build-system gnu)
#:use-module (gnu packages bootstrap)
#:use-module (srfi srfi-34)
#:use-module (rnrs bytevectors)
@@ -30,6 +31,8 @@
#:export (open-connection-for-tests
random-text
random-bytevector
+ network-reachable?
+ shebang-too-long?
mock
%substitute-directory
with-derivation-narinfo
@@ -76,6 +79,10 @@
(loop (1+ i)))
bv))))
+(define (network-reachable?)
+ "Return true if we can reach the Internet."
+ (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)))
+
(define-syntax-rule (mock (module proc replacement) body ...)
"Within BODY, replace the definition of PROC from MODULE with the definition
given by REPLACEMENT."
@@ -179,6 +186,17 @@ CONTENTS."
(delete-file (string-append dir "/example.out"))
(delete-file (string-append dir "/example.nar")))))
+(define (shebang-too-long?)
+ "Return true if the typical shebang in the current store would exceed
+Linux's static limit---the BINPRM_BUF_SIZE constant, normally 128 characters
+all included."
+ (define shebang
+ (string-append "#!" (%store-prefix) "/"
+ (make-string 32 #\a)
+ "-bootstrap-binaries-0/bin/bash\0"))
+
+ (> (string-length shebang) 128))
+
(define-syntax with-derivation-substitute
(syntax-rules (sha256 =>)
"Evaluate BODY in a context where DRV is substitutable with the given
diff --git a/guix/ui.scm b/guix/ui.scm
index 382b5b1e0d..ae37c8e6ca 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2014 Deck Pickard <deck.r.pickard@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,7 +67,7 @@
string->generations
string->duration
args-fold*
- environment-build-options
+ parse-command-line
run-guix-command
program-name
guix-warning-port
@@ -754,6 +755,36 @@ reporting."
"Return additional build options passed as environment variables."
(arguments-from-environment-variable "GUIX_BUILD_OPTIONS"))
+(define %default-argument-handler
+ ;; The default handler for non-option command-line arguments.
+ (lambda (arg result)
+ (alist-cons 'argument arg result)))
+
+(define* (parse-command-line args options seeds
+ #:key
+ (argument-handler %default-argument-handler))
+ "Parse the command-line arguments ARGS as well as arguments passed via the
+'GUIX_BUILD_OPTIONS' environment variable according to OPTIONS (a list of
+SRFI-37 options) and return the result, seeded by SEEDS.
+Command-line options take precedence those passed via 'GUIX_BUILD_OPTIONS'.
+
+ARGUMENT-HANDLER is called for non-option arguments, like the 'operand-proc'
+parameter of 'args-fold'."
+ (define (parse-options-from args seeds)
+ ;; Actual parsing takes place here.
+ (apply args-fold* args options
+ (lambda (opt name arg . rest)
+ (leave (_ "~A: unrecognized option~%") name))
+ argument-handler
+ seeds))
+
+ (call-with-values
+ (lambda ()
+ (parse-options-from (environment-build-options) seeds))
+ (lambda seeds
+ ;; ARGS take precedence over what the environment variable specifies.
+ (parse-options-from args seeds))))
+
(define (show-guix-usage)
(format (current-error-port)
(_ "Try `guix --help' for more information.~%"))
diff --git a/m4/guix.m4 b/m4/guix.m4
index d4415598b0..445ce857dd 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -1,5 +1,5 @@
dnl GNU Guix --- Functional package management for GNU
-dnl Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+dnl Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
dnl
dnl This file is part of GNU Guix.
@@ -162,3 +162,59 @@ AC_DEFUN([GUIX_CHECK_UNBUFFERED_CBIP], [
ac_cv_guix_cbips_support_setvbuf=no
fi])
])
+
+dnl GUIX_TEST_ROOT_DIRECTORY
+AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [
+ AC_CACHE_CHECK([for unit test root directory],
+ [ac_cv_guix_test_root],
+ [ac_cv_guix_test_root="`pwd`/test-tmp"])
+])
+
+dnl 'BINPRM_BUF_SIZE' constant in Linux. The Hurd has a limit
+dnl of about a page (see exec/hashexec.c.)
+m4_define([LINUX_HASH_BANG_LIMIT], 128)
+
+dnl Hardcoded 'sun_path' length in <sys/un.h>.
+m4_define([SOCKET_FILE_NAME_LIMIT], 108)
+
+dnl GUIX_SOCKET_FILE_NAME_LENGTH
+AC_DEFUN([GUIX_SOCKET_FILE_NAME_LENGTH], [
+ AC_CACHE_CHECK([the length of the installed socket file name],
+ [ac_cv_guix_socket_file_name_length],
+ [ac_cv_guix_socket_file_name_length="`echo -n "$guix_localstatedir/guix/daemon-socket/socket" | wc -c`"])
+])
+
+dnl GUIX_TEST_SOCKET_FILE_NAME_LENGTH
+AC_DEFUN([GUIX_TEST_SOCKET_FILE_NAME_LENGTH], [
+ AC_REQUIRE([GUIX_TEST_ROOT_DIRECTORY])
+ AC_CACHE_CHECK([the length of the socket file name used in tests],
+ [ac_cv_guix_test_socket_file_name_length],
+ [ac_cv_guix_test_socket_file_name_length="`echo -n "$ac_cv_guix_test_root/var/123456/daemon-socket/socket" | wc -c`"])
+])
+
+dnl GUIX_HASH_BANG_LENGTH
+AC_DEFUN([GUIX_HASH_BANG_LENGTH], [
+ AC_CACHE_CHECK([the length of a typical hash bang line],
+ [ac_cv_guix_hash_bang_length],
+ [ac_cv_guix_hash_bang_length=`echo -n "$storedir/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash" | wc -c`])
+])
+
+dnl GUIX_CHECK_FILE_NAME_LIMITS
+dnl
+dnl GNU/Linux has a couple of silly limits that we can easily run into.
+dnl Make sure everything is fine with the current settings.
+AC_DEFUN([GUIX_CHECK_FILE_NAME_LIMITS], [
+ AC_REQUIRE([GUIX_SOCKET_FILE_NAME_LENGTH])
+ AC_REQUIRE([GUIX_TEST_SOCKET_FILE_NAME_LENGTH])
+ AC_REQUIRE([GUIX_HASH_BANG_LENGTH])
+
+ if test "$ac_cv_guix_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then
+ AC_MSG_ERROR([socket file name would exceed the maxium allowed length])
+ fi
+ if test "$ac_cv_guix_test_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then
+ AC_MSG_WARN([socket file name limit may be exceeded when running tests])
+ fi
+ if test "$ac_cv_guix_hash_bang_length" -ge ]LINUX_HASH_BANG_LIMIT[; then
+ AC_MSG_ERROR([store directory '$storedir' would lead to overly long hash-bang lines])
+ fi
+])
diff --git a/test-env.in b/test-env.in
index f66a0db555..a7f506ec19 100644
--- a/test-env.in
+++ b/test-env.in
@@ -1,7 +1,7 @@
#!/bin/sh
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -52,6 +52,13 @@ then
# Currently, in Nix builds, we're at ~106 chars...
NIX_STATE_DIR="@GUIX_TEST_ROOT@/var/$$"
+ # We can't exit when we reach the limit, because perhaps the test doesn't
+ # actually rely on the daemon, but at least warn.
+ if test "`echo -n "$NIX_STATE_DIR/daemon-socket/socket" | wc -c`" -ge 108
+ then
+ echo "warning: exceeding socket file name limit; test may fail!" >&2
+ fi
+
# The configuration directory, for import/export signing keys.
NIX_CONF_DIR="@GUIX_TEST_ROOT@/etc"
if [ ! -d "$NIX_CONF_DIR" ]
diff --git a/tests/builders.scm b/tests/builders.scm
index e5acc3e038..a7c3e42830 100644
--- a/tests/builders.scm
+++ b/tests/builders.scm
@@ -56,16 +56,13 @@
(package-native-search-paths package)))
(@@ (gnu packages commencement) %boot0-inputs)))
-(define network-reachable?
- (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)))
-
(define url-fetch*
(store-lower url-fetch))
(test-begin "builders")
-(unless network-reachable? (test-skip 1))
+(unless (network-reachable?) (test-skip 1))
(test-assert "url-fetch"
(let* ((url '("http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"
"ftp://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"))
@@ -97,7 +94,8 @@
(test-assert "gnu-build-system"
(build-system? gnu-build-system))
-(unless network-reachable? (test-skip 1))
+(when (or (not (network-reachable?)) (shebang-too-long?))
+ (test-skip 1))
(test-assert "gnu-build"
(let* ((url "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz")
(hash (nix-base32-string->bytevector
diff --git a/tests/cpan.scm b/tests/cpan.scm
index af7b36e684..2f9513519e 100644
--- a/tests/cpan.scm
+++ b/tests/cpan.scm
@@ -28,15 +28,8 @@
"{
\"metadata\" : {
\"prereqs\" : {
- \"configure\" : {
- \"requires\" : {
- \"ExtUtils::MakeMaker\" : \"0\",
- \"Module::Build\" : \"0.28\"
- }
- },
\"runtime\" : {
\"requires\" : {
- \"Getopt::Std\" : \"0\",
\"Test::Script\" : \"1.05\",
}
}
@@ -70,6 +63,8 @@
(match url
("http://api.metacpan.org/release/Foo-Bar"
test-json)
+ ("http://api.metacpan.org/module/Test::Script"
+ "{ \"distribution\" : \"Test-Script\" }")
("http://example.com/Foo-Bar-0.1.tar.gz"
test-source)
(_ (error "Unexpected URL: " url))))))))
@@ -85,16 +80,13 @@
('base32
(? string? hash)))))
('build-system 'perl-build-system)
- ('native-inputs
- ('quasiquote
- (("perl-module-build" ('unquote 'perl-module-build)))))
('inputs
('quasiquote
(("perl-test-script" ('unquote 'perl-test-script)))))
('home-page "http://search.cpan.org/dist/Foo-Bar")
('synopsis "Fizzle Fuzz")
('description 'fill-in-yourself!)
- ('license 'gpl1+))
+ ('license (package-license perl)))
(string=? (bytevector->nix-base32-string
(call-with-input-string test-source port-sha256))
hash))
diff --git a/tests/derivations.scm b/tests/derivations.scm
index 80aabad3a8..72d253c465 100644
--- a/tests/derivations.scm
+++ b/tests/derivations.scm
@@ -463,7 +463,7 @@
(define %coreutils
(false-if-exception
- (and (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)
+ (and (network-reachable?)
(or (package-derivation %store %bootstrap-coreutils&co)
(nixpkgs-derivation "coreutils")))))
@@ -670,23 +670,6 @@
(let ((p (derivation->output-path drv)))
(string-contains (call-with-input-file p read-line) "GNU")))))
-(test-assert "imported-files"
- (let* ((files `(("x" . ,(search-path %load-path "ice-9/q.scm"))
- ("a/b/c" . ,(search-path %load-path
- "guix/derivations.scm"))
- ("p/q" . ,(search-path %load-path "guix.scm"))
- ("p/z" . ,(search-path %load-path "guix/store.scm"))))
- (drv (imported-files %store files)))
- (and (build-derivations %store (list drv))
- (let ((dir (derivation->output-path drv)))
- (every (match-lambda
- ((path . source)
- (equal? (call-with-input-file (string-append dir "/" path)
- get-bytevector-all)
- (call-with-input-file source
- get-bytevector-all))))
- files)))))
-
(test-assert "build-expression->derivation with modules"
(let* ((builder `(begin
(use-modules (guix build utils))
diff --git a/tests/gexp.scm b/tests/gexp.scm
index 03722e4669..0b189b570b 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -249,6 +249,23 @@
(equal? refs (list (dirname (dirname guile))))
(equal? refs2 (list file))))))
+(test-assertm "gexp->derivation vs. grafts"
+ (mlet* %store-monad ((p0 -> (dummy-package "dummy"
+ (arguments
+ '(#:implicit-inputs? #f))))
+ (r -> (package (inherit p0) (name "DuMMY")))
+ (p1 -> (package (inherit p0) (replacement r)))
+ (exp0 -> (gexp (frob (ungexp p0) (ungexp output))))
+ (exp1 -> (gexp (frob (ungexp p1) (ungexp output))))
+ (void (set-guile-for-build %bootstrap-guile))
+ (drv0 (gexp->derivation "t" exp0))
+ (drv1 (gexp->derivation "t" exp1))
+ (drv1* (gexp->derivation "t" exp1 #:graft? #f)))
+ (return (and (not (string=? (derivation->output-path drv0)
+ (derivation->output-path drv1)))
+ (string=? (derivation->output-path drv0)
+ (derivation->output-path drv1*))))))
+
(test-assertm "gexp->derivation, composed gexps"
(mlet* %store-monad ((exp0 -> (gexp (begin
(mkdir (ungexp output))
@@ -360,6 +377,40 @@
(string=? (readlink (string-append out "/" two "/one"))
one)))))))
+(test-assertm "imported-files"
+ (mlet* %store-monad
+ ((files -> `(("x" . ,(search-path %load-path "ice-9/q.scm"))
+ ("a/b/c" . ,(search-path %load-path
+ "guix/derivations.scm"))
+ ("p/q" . ,(search-path %load-path "guix.scm"))
+ ("p/z" . ,(search-path %load-path "guix/store.scm"))))
+ (drv (imported-files files)))
+ (mbegin %store-monad
+ (built-derivations (list drv))
+ (let ((dir (derivation->output-path drv)))
+ (return
+ (every (match-lambda
+ ((path . source)
+ (equal? (call-with-input-file (string-append dir "/" path)
+ get-bytevector-all)
+ (call-with-input-file source
+ get-bytevector-all))))
+ files))))))
+
+(test-assertm "gexp->derivation #:modules"
+ (mlet* %store-monad
+ ((build -> #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p (string-append #$output "/guile/guix/nix"))
+ #t))
+ (drv (gexp->derivation "test-with-modules" build
+ #:modules '((guix build utils)))))
+ (mbegin %store-monad
+ (built-derivations (list drv))
+ (let* ((p (derivation->output-path drv))
+ (s (stat (string-append p "/guile/guix/nix"))))
+ (return (eq? (stat:type s) 'directory))))))
+
(test-assertm "gexp->derivation #:references-graphs"
(mlet* %store-monad
((one (text-file "one" "hello, world"))
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index d4917bbf90..94cf927420 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -28,6 +28,14 @@ readlink_base ()
basename `readlink "$1"`
}
+# Return true if a typical shebang in the store would not exceed Linux's
+# default static limit.
+shebang_not_too_long ()
+{
+ test `echo $NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash | wc -c` \
+ -lt 128
+}
+
module_dir="t-guix-package-$$"
profile="t-profile-$$"
rm -f "$profile"
@@ -55,8 +63,9 @@ test -f "$profile/bin/guile"
guix package --search-paths -p "$profile"
test "`guix package --search-paths -p "$profile" | wc -l`" = 0
-# Check whether we have network access.
-if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null
+# Check whether we have network access and an acceptable shebang length.
+if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null \
+ && shebang_not_too_long
then
boot_make="(@@ (gnu packages commencement) gnu-make-boot0)"
boot_make_drv="`guix build -e "$boot_make" | grep -v -e -debug`"
diff --git a/tests/packages.scm b/tests/packages.scm
index 851520b343..d6371b3b49 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -176,8 +176,7 @@
(and (direct-store-path? source)
(string-suffix? "utils.scm" source))))
-(unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))
- (test-skip 1))
+(unless (network-reachable?) (test-skip 1))
(test-equal "package-source-derivation, snippet"
"OK"
(let* ((file (search-bootstrap-binary "guile-2.0.9.tar.xz"
@@ -532,7 +531,7 @@
(%current-target-system "foo64-linux-gnu"))
(equal? drv (bag->derivation %store bag))))))
-(unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))
+(when (or (not (network-reachable?)) (shebang-too-long?))
(test-skip 1))
(test-assert "GNU Make, bootstrap"
;; GNU Make is the first program built during bootstrap; we choose it
diff --git a/tests/ui.scm b/tests/ui.scm
index 25fc709431..1478fe213e 100644
--- a/tests/ui.scm
+++ b/tests/ui.scm
@@ -22,6 +22,8 @@
#:use-module (guix profiles)
#:use-module (guix store)
#:use-module (guix derivations)
+ #:use-module ((guix scripts build)
+ #:select (%standard-build-options))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-19)
@@ -52,9 +54,43 @@ interface, and powerful string processing.")
(item "/gnu/store/...")
(output "out")))
+(define-syntax-rule (with-environment-variable variable value body ...)
+ "Run BODY with VARIABLE set to VALUE."
+ (let ((orig (getenv variable)))
+ (dynamic-wind
+ (lambda ()
+ (setenv variable value))
+ (lambda ()
+ body ...)
+ (lambda ()
+ (if orig
+ (setenv variable orig)
+ (unsetenv variable))))))
+
(test-begin "ui")
+(test-equal "parse-command-line"
+ '((argument . "bar") (argument . "foo")
+ (cores . 10) ;takes precedence
+ (substitutes? . #f) (keep-failed? . #t)
+ (max-jobs . 77) (cores . 42))
+
+ (with-environment-variable "GUIX_BUILD_OPTIONS" "-c 42 -M 77"
+ (parse-command-line '("--keep-failed" "--no-substitutes"
+ "--cores=10" "foo" "bar")
+ %standard-build-options
+ (list '()))))
+
+(test-equal "parse-command-line and --no options"
+ '((argument . "foo")
+ (substitutes? . #f)) ;takes precedence
+
+ (with-environment-variable "GUIX_BUILD_OPTIONS" "--no-substitutes"
+ (parse-command-line '("foo")
+ %standard-build-options
+ (list '((substitutes? . #t))))))
+
(test-assert "fill-paragraph"
(every (lambda (column)
(every (lambda (width)
@@ -246,3 +282,7 @@ Second line" 24))
(exit (= (test-runner-fail-count (test-runner-current)) 0))
+
+;;; Local Variables:
+;;; eval: (put 'with-environment-variable 'scheme-indent-function 2)
+;;; End:
diff --git a/tests/union.scm b/tests/union.scm
index 7e55670b86..22ba67ce99 100644
--- a/tests/union.scm
+++ b/tests/union.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -84,9 +84,7 @@
(call-with-input-file "bar/two" get-string-all))
(not (file-exists? "bar/one")))))))
-(test-skip (if (and %store
- (false-if-exception
- (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)))
+(test-skip (if (and %store (network-reachable?))
0
1))