Merge branch 'master' into core-updates

This commit is contained in:
Ludovic Courtès 2015-02-26 22:37:12 +01:00
commit 93be4e8e6c
112 changed files with 5860 additions and 774 deletions

View File

@ -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>

View File

@ -25,12 +25,6 @@ Run ./bootstrap to download the Nix daemon source code and to generate the
build system infrastructure using autoconf. It reports an error if an
inappropriate version of the above packages is being used.
The bootstrap script, among other things, invokes git submodule update; if
you didnt run it, you may get the following error:
make: *** No rule to make target `nix/libstore/schema.sql', needed by
`nix/libstore/schema.sql.hh'
If you get an error like this one:
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES

1
THANKS
View File

@ -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>

View File

@ -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)))))

View File

@ -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)))

View File

@ -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],

View File

@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
AC_INIT([GNU Guix], [0.8.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])

View File

@ -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}.
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} invocation passes flags specified by
the @code{#:make-maker-flags} 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

View File

@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
# Copyright © 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 \

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -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

69
gnu/packages/aarddict.scm Normal file
View File

@ -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)))

View File

@ -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.

View File

@ -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

View File

@ -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)))

View File

@ -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/")

View File

@ -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

View File

@ -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")

118
gnu/packages/certs.scm Normal file
View File

@ -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.")))

View File

@ -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)

View File

@ -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+)))

View File

@ -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")

View File

@ -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)))

View File

@ -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+)))

View File

@ -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+)))

View File

@ -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")

View File

@ -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)

View File

@ -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"))))

View File

@ -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

View File

@ -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")

View File

@ -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.")

View File

@ -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
#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
CONFIG_USB_DWC2_HOST=m
CONFIG_USB_DWC2_PLATFORM=y
CONFIG_USB_DWC2_PCI=y
#
# Gadget mode requires USB Gadget support to be enabled
#
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
@ -7240,11 +7157,6 @@ CONFIG_MCB_PCI=m
CONFIG_RAS=y
CONFIG_THUNDERBOLT=m
#
# Android
#
# CONFIG_ANDROID is not set
#
# Firmware Drivers
#
@ -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

View File

@ -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
#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
CONFIG_USB_DWC2_HOST=m
CONFIG_USB_DWC2_PLATFORM=y
CONFIG_USB_DWC2_PCI=y
#
# Gadget mode requires USB Gadget support to be enabled
#
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
@ -7017,11 +6942,6 @@ CONFIG_MCB_PCI=m
CONFIG_RAS=y
CONFIG_THUNDERBOLT=m
#
# Android
#
# CONFIG_ANDROID is not set
#
# Firmware Drivers
#
@ -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

View File

@ -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)))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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+)))

View File

@ -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)

View File

@ -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")

View File

@ -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+)))

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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')

View File

@ -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 */

View File

@ -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+)))

View File

@ -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")

68
gnu/packages/pumpio.scm Normal file
View File

@ -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+)))

View File

@ -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 gdbm)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#: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 ncurses)
#:use-module (gnu packages gcc)
#: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 texlive)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages elf)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages which)
#:use-module (gnu packages perl)
#:use-module (gnu packages xorg)
#: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 maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openssl)
#: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 xml)
#:use-module (gnu packages xorg)
#: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 Pythons 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))

View File

@ -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)))))

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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)))

View File

@ -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)

108
gnu/packages/statistics.scm Normal file
View File

@ -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+)))

View File

@ -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)))))))))

View File

@ -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)))

View File

@ -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))))

View File

@ -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+)))

View File

@ -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)

View File

@ -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")

View File

@ -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

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -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>

View File

@ -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"

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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
@ -500,6 +510,157 @@ package/derivation references."
(lambda #,formals
#,sexp)))))))
;;;
;;; 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.

View File

@ -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))

View File

@ -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))

View File

@ -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"

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)))

View File

@ -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))

View File

@ -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

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