diff --git a/AUTHORS b/AUTHORS index c4506d2c9b3d44a939d89060173c7f483eebb877..fa1835b70765065a1e60a633add5bef177ca0861 100644 --- a/AUTHORS +++ b/AUTHORS @@ -35,4 +35,5 @@ alphabetical order): David Thompson <dthompson2@worcester.edu> Paul van der Walt <paul@denknerd.org> Mark H. Weaver <mhw@netris.org> + Andy Wingo <wingo@pobox.com> Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> diff --git a/Makefile.am b/Makefile.am index cf709986ed16c47e75f4f0c294474b00ffcb00a0..d54e281163a8249a6865728013f2d117a47ff036 100644 --- a/Makefile.am +++ b/Makefile.am @@ -105,6 +105,7 @@ MODULES = \ guix/scripts/import/gnu.scm \ guix/scripts/import/nix.scm \ guix/scripts/environment.scm \ + guix/scripts/publish.scm \ guix.scm \ $(GNU_SYSTEM_MODULES) @@ -180,7 +181,8 @@ SCM_TESTS = \ tests/profiles.scm \ tests/syscalls.scm \ tests/gremlin.scm \ - tests/lint.scm + tests/lint.scm \ + tests/publish.scm if HAVE_GUILE_JSON @@ -203,6 +205,7 @@ SH_TESTS = \ tests/guix-gc.sh \ tests/guix-hash.sh \ tests/guix-package.sh \ + tests/guix-package-net.sh \ tests/guix-system.sh \ tests/guix-archive.sh \ tests/guix-authenticate.sh \ diff --git a/doc/guix.texi b/doc/guix.texi index 4e549ac2ef48a8fb840946836df0f3f9f752e5dd..42f616548dc74456003c8d052236f121bd452e31 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -121,6 +121,7 @@ Utilities * Invoking guix refresh:: Updating package definitions. * Invoking guix lint:: Finding errors in package definitions. * Invoking guix environment:: Setting up development environments. +* Invoking guix publish:: Sharing substitutes. GNU Distribution @@ -337,7 +338,8 @@ goes through the daemon. For instance, command-line tools such as daemon (@i{via} remote procedure calls) to instruct it what to do. The following sections explain how to prepare the build daemon's -environment. +environment. Also @ref{Substitutes}, for information on how to allow +the daemon to download pre-built binaries. @menu * Build Environment Setup:: Preparing the isolated build environment. @@ -383,15 +385,6 @@ Bash syntax and the @code{shadow} commands): done @end example -The @file{/gnu/store} directory (or whichever was specified with the -@code{--with-store-dir} option) must have ownership and permissions as -follows: - -@example -# chgrp guix-builder /gnu/store -# chmod 1775 /gnu/store -@end example - @noindent The @code{guix-daemon} program may then be run as @code{root} with: @@ -1150,9 +1143,8 @@ When @var{pattern} is specified, delete the matching generations. When specified duration match. For instance, @code{--delete-generations=1m} deletes generations that are more than one month old. -If the current generation matches, it is deleted atomically---i.e., by -switching to the previous available generation. Note that the zeroth -generation is never deleted. +If the current generation matches, it is @emph{not} deleted. Also, the +zeroth generation is never deleted. Note that deleting generations prevents roll-back to them. Consequently, this command must be used with care. @@ -1323,7 +1315,9 @@ guix package}). @cindex garbage collector Packages that are installed but not used may be @dfn{garbage-collected}. The @command{guix gc} command allows users to explicitly run the garbage -collector to reclaim space from the @file{/gnu/store} directory. +collector to reclaim space from the @file{/gnu/store} directory. It is +the @emph{only} way to remove files from @file{/gnu/store}---removing +files or directories manually may break it beyond repair! The garbage collector has a set of known @dfn{roots}: any file under @file{/gnu/store} reachable from a root is considered @dfn{live} and @@ -1962,6 +1956,25 @@ Python package is used to run the script can be specified with the @code{#:python} parameter. @end defvr +@defvr {Scheme Variable} haskell-build-system +This variable is exported by @code{(guix build-system haskell)}. It +implements the Cabal build procedure used by Haskell packages, which +involves running @code{runhaskell Setup.hs configure +--prefix=/gnu/store/@dots{}} and @code{runhaskell Setup.hs build}. +Instead of installing the package by running @code{runhaskell Setup.hs +install}, to avoid trying to register libraries in the read-only +compiler store directory, the build system uses @code{runhaskell +Setup.hs copy}, followed by @code{runhaskell Setup.hs register}. In +addition, the build system generates the package documentation by +running @code{runhaskell Setup.hs haddock}, unless @code{#:haddock? #f} +is passed. Optional Haddock parameters can be passed with the help of +the @code{#:haddock-flags} parameter. If the file @code{Setup.hs} is +not found, the build system looks for @code{Setup.lhs} instead. + +Which Haskell compiler is used can be specified with the @code{#:haskell} +parameter which defaults to @code{ghc}. +@end defvr + Lastly, for packages that do not need anything as sophisticated, a ``trivial'' build system is provided. It is trivial in the sense that it provides basically no support: it does not pull any implicit inputs, @@ -2515,7 +2528,7 @@ To illustrate the idea, here is an example of a gexp: #~(begin (mkdir #$output) (chdir #$output) - (symlink (string-append #$coreutils "/bin/ls") + (symlink (string-append #$coreutils "/bin/ls") "list-files"))) @end example @@ -2765,6 +2778,7 @@ programming interface of Guix in a convenient way. * Invoking guix refresh:: Updating package definitions. * Invoking guix lint:: Finding errors in package definitions. * Invoking guix environment:: Setting up development environments. +* Invoking guix publish:: Sharing substitutes. @end menu @node Invoking guix build @@ -3427,6 +3441,54 @@ environment. It also supports all of the common build options that @command{guix build} supports (@pxref{Invoking guix build, common build options}). +@node Invoking guix publish +@section Invoking @command{guix publish} + +The purpose of @command{guix publish} is to enable users to easily share +their store with others. When @command{guix publish} runs, it spawns an +HTTP server which allows anyone with network access to obtain +substitutes from it. This means that any machine running Guix can also +act as if it were a build farm, since the HTTP interface is +Hydra-compatible. + +For security, each substitute is signed, allowing recipients to check +their authenticity and integrity (@pxref{Substitutes}). Because +@command{guix publish} uses the system's signing key, which is only +readable by the system administrator, it must run as root. + +The general syntax is: + +@example +guix publish @var{options}@dots{} +@end example + +Running @command{guix publish} without any additional arguments will +spawn an HTTP server on port 8080: + +@example +guix publish +@end example + +Once a publishing server has been authorized (@pxref{Invoking guix +archive}), the daemon may download substitutes from it: + +@example +guix-daemon --substitute-urls=http://example.org:8080 +@end example + +The following options are available: + +@table @code +@item --port=@var{port} +@itemx -p @var{port} +Listen for HTTP requests on @var{port}. + +@item --repl[=@var{port}] +@itemx -r [@var{port}] +Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile +Reference Manual}) on @var{port} (37146 by default). +@end table + @c ********************************************************************* @node GNU Distribution @chapter GNU Distribution @@ -3783,8 +3845,7 @@ kernel, initial RAM disk, and boot loader looks like this: (comment "Bob's sister") (home-directory "/home/alice")))) (packages (cons emacs %base-packages)) - (services (cons (lsh-service #:port 2222 #:root-login? #t - #:initialize? #t) + (services (cons (lsh-service #:port 2222 #:root-login? #t) %base-services))) @end lisp @@ -4508,8 +4569,9 @@ external name servers do not even need to be queried. @end defvr -@deffn {Monadic Procedure} syslog-service -Return a service that runs @code{syslogd} with reasonable default +@deffn {Monadic Procedure} syslog-service [#:config-file #f] +Return a service that runs @code{syslogd}. If configuration file name +@var{config-file} is not specified, use some reasonable default settings. @end deffn @@ -4602,7 +4664,7 @@ Furthermore, @code{(gnu services ssh)} provides the following service. [#:allow-empty-passwords? #f] [#:root-login? #f] @ [#:syslog-output? #t] [#:x11-forwarding? #t] @ [#:tcp/ip-forwarding? #t] [#:password-authentication? #t] @ - [#:public-key-authentication? #t] [#:initialize? #f] + [#:public-key-authentication? #t] [#:initialize? #t] Run the @command{lshd} program from @var{lsh} to listen on port @var{port-number}. @var{host-key} must designate a file containing the host key, and readable only by root. @@ -5378,7 +5440,9 @@ facility is implemented in the @code{(gnu packages)} module. @cindex customization, of packages @cindex package module search path Users can store package definitions in modules with different -names---e.g., @code{(my-packages emacs)}. These package definitions +names---e.g., @code{(my-packages emacs)}@footnote{Note that the file +name and module name must match. @xref{Modules and the File System,,, +guile, GNU Guile Reference Manual}, for details.} These package definitions will not be visible by default. Thus, users can invoke commands such as @command{guix package} and @command{guix build} have to be used with the @code{-e} option so that they know where to find the package, or use the diff --git a/gnu-system.am b/gnu-system.am index 5938eeaec71febda579e8db128aa8835b15be63b..199a944b5d3ad47a44bd37bd07cf8bf164d35ce7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -93,6 +93,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/enchant.scm \ gnu/packages/engineering.scm \ gnu/packages/enlightenment.scm \ + gnu/packages/fcitx.scm \ gnu/packages/feh.scm \ gnu/packages/file.scm \ gnu/packages/firmware.scm \ @@ -437,13 +438,6 @@ 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-bug-1127780.patch \ - gnu/packages/patches/icecat-bug-1144991.patch \ - gnu/packages/patches/icecat-bug-1145870.patch \ - gnu/packages/patches/icecat-bug-1146339.patch \ - gnu/packages/patches/icecat-CVE-2015-0817.patch \ - gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch \ - gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch \ gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/kmod-module-directory.patch \ @@ -456,13 +450,14 @@ dist_patch_DATA = \ gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/liboop-mips64-deplibs-fix.patch \ gnu/packages/patches/libmad-mips-newgcc.patch \ - gnu/packages/patches/librep-rules.mk.patch \ gnu/packages/patches/libtheora-config-guess.patch \ gnu/packages/patches/libtool-skip-tests.patch \ gnu/packages/patches/libssh-CVE-2014-0017.patch \ gnu/packages/patches/libvpx-fix-armhf-link.patch \ gnu/packages/patches/libvpx-fix-ssse3-quantize.patch \ gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \ + gnu/packages/patches/linux-libre-libreboot-fix.patch \ + gnu/packages/patches/linux-libre-vblank-fix.patch \ gnu/packages/patches/lirc-localstatedir.patch \ gnu/packages/patches/lm-sensors-hwmon-attrs.patch \ gnu/packages/patches/lua51-liblua-so.patch \ @@ -496,6 +491,7 @@ dist_patch_DATA = \ gnu/packages/patches/patchelf-rework-for-arm.patch \ gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \ gnu/packages/patches/pavucontrol-sigsegv.patch \ + gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \ gnu/packages/patches/perl-tk-x11-discover.patch \ gnu/packages/patches/petsc-fix-threadcomm.patch \ @@ -505,6 +501,7 @@ dist_patch_DATA = \ gnu/packages/patches/portaudio-audacity-compat.patch \ gnu/packages/patches/procps-make-3.82.patch \ gnu/packages/patches/pulseaudio-fix-mult-test.patch \ + gnu/packages/patches/pulseaudio-longer-test-timeout.patch \ gnu/packages/patches/pybugz-encode-error.patch \ gnu/packages/patches/pybugz-stty.patch \ gnu/packages/patches/pyqt-configure.patch \ @@ -525,7 +522,6 @@ dist_patch_DATA = \ gnu/packages/patches/slim-config.patch \ gnu/packages/patches/slim-sigusr1.patch \ gnu/packages/patches/soprano-find-clucene.patch \ - gnu/packages/patches/source-highlight-regexrange-test.patch \ gnu/packages/patches/superlu-dist-scotchmetis.patch \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ @@ -556,6 +552,7 @@ dist_patch_DATA = \ gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch \ gnu/packages/patches/xf86-video-r128-glibc-2.20.patch \ gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch \ + gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch \ gnu/packages/patches/xf86-video-sis-update-api.patch \ gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch \ gnu/packages/patches/xf86-video-tga-remove-mibstore.patch \ diff --git a/gnu/packages.scm b/gnu/packages.scm index 2216c0df8c1aad8523c58983a89d1707ceceac2a..6ef0fb6de7227d710595a04f614ba46f8437df47 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -35,7 +35,7 @@ (define-module (gnu packages) #:use-module (srfi srfi-39) #:export (search-patch search-bootstrap-binary - %patch-directory + %patch-path %bootstrap-binaries-path %package-module-path diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm index 7da3b5eb4ae76aabf83446baaf888774560ef406..7573870a4c85c96bf3f0b625071f0a56353b731b 100644 --- a/gnu/packages/apl.scm +++ b/gnu/packages/apl.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,14 +30,14 @@ (define-module (gnu packages apl) (define-public apl (package (name "apl") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz")) (sha256 (base32 - "0fl9l4jb5wpnb54kqkphavi657z1cv15h9qj2rqy2shf33dk3nk9")))) + "0h4diq3wfbdwxp5nm0z4b0p1zq13lwip0y7v28r9v0mbbk8xsfh1")))) (build-system gnu-build-system) (home-page "http://www.gnu.org/software/apl/") (inputs diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index aa94dda7c77ed3d63dbeeb1887b37e2026133f86..8fb3da7fa135ad7a2ac442107d9d66942f8bb6bc 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -31,10 +31,13 @@ (define-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages file) + #:use-module (gnu packages flex) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) @@ -233,6 +236,39 @@ (define-public azr3 plugins are provided.") (license license:gpl2))) +(define-public csound + (package + (name "csound") + (version "6.04") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/csound/csound6/Csound" + version "/Csound" version ".tar.gz")) + (sha256 + (base32 + "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g")))) + (build-system cmake-build-system) + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("pulseaudio" ,pulseaudio) + ("libsndfile" ,libsndfile) + ("liblo" ,liblo) + ("ladspa" ,ladspa) + ("jack" ,jack-1) + ("gettext" ,gnu-gettext))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ("zlib" ,zlib))) + (home-page "http://csound.github.io/") + (synopsis "Sound and music computing system") + (description + "Csound is a user-programmable and user-extensible sound processing +language and software synthesizer.") + (license license:lgpl2.1+))) + (define-public clalsadrv (package (name "clalsadrv") @@ -995,6 +1031,30 @@ (define-public libsbsms ;; containing gpl2. (license license:gpl2))) +(define-public wavpack + (package + (name "wavpack") + (version "4.70.0") + (source (origin + (method url-fetch) + (uri (string-append "http://www.wavpack.com/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + ;; wavpack.pc.in lacks path substitution for 'exec_prefix'. + (list (string-append "--libdir=" %output "/lib")))) + (home-page "http://www.wavpack.com/") + (synopsis "Hybrid lossless audio codec") + (description + "WavPack is an audio compression format with lossless, lossy and hybrid +compression modes. This package contains command-line programs and library to +encode and decode wavpack files.") + (license license:bsd-3))) + (define-public soundtouch (package (name "soundtouch") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3725f3ffe528d8270cc2d0d643b3f328297ee5bd..9813d07e9cf308c2435a6654ec7b3d342062fff9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -33,6 +33,7 @@ (define-module (gnu packages bioinformatics) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages tbb) #:use-module (gnu packages vim) @@ -360,6 +361,30 @@ (define-public clipper "CLIPper is a tool to define peaks in CLIP-seq datasets.") (license license:gpl2))) +(define-public clustal-omega + (package + (name "clustal-omega") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.clustal.org/omega/clustal-omega-" + version ".tar.gz")) + (sha256 + (base32 + "02ibkx0m0iwz8nscg998bh41gg251y56cgh86bvyrii5m8kjgwqf")))) + (build-system gnu-build-system) + (inputs + `(("argtable" ,argtable))) + (home-page "http://www.clustal.org/omega/") + (synopsis "Multiple sequence aligner for protein and DNA/RNA") + (description + "Clustal-Omega is a general purpose multiple sequence alignment (MSA) +program for protein and DNA/RNA. It produces high quality MSAs and is capable +of handling data-sets of hundreds of thousands of sequences in reasonable +time.") + (license license:gpl2+))) + (define-public crossmap (package (name "crossmap") diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 14af246e997bd37fb16824ce5cdf69d529591943..4342dc56d1e0487942e2051e6d0e4a874801370f 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -26,7 +26,6 @@ (define-module (gnu packages commencement) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages gcc) - #:use-module (gnu packages ed) #:use-module (gnu packages m4) #:use-module (gnu packages file) #:use-module (gnu packages gawk) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index dd4eb23cb4135266e7ddeb2f44da0dd7cd0407cc..3b9b7cf3f82efcb09856f06b922d923078ff97ab 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -28,6 +28,7 @@ (define-module (gnu packages emacs) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages gtk) + #:use-module (gnu packages gnome) #:use-module (gnu packages ncurses) #:use-module (gnu packages texinfo) #:use-module (gnu packages gnutls) @@ -92,6 +93,7 @@ (define-public emacs ("libpng" ,libpng) ("zlib" ,zlib) + ("librsvg" ,librsvg) ("libxpm" ,libxpm) ("libxml2" ,libxml2) ("libice" ,libice) @@ -126,7 +128,7 @@ (define-public emacs-no-x (inputs (fold alist-delete (package-inputs emacs) '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg" - "libpng" "libxpm" "libice" "libsm" + "libpng" "librsvg" "libxpm" "libice" "libsm" ;; D-Bus depends on libx11, so remove it as well. "dbus"))))) diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm new file mode 100644 index 0000000000000000000000000000000000000000..925d5ac89bb50857586e0a875df8f8486f51cd5c --- /dev/null +++ b/gnu/packages/fcitx.scm @@ -0,0 +1,87 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Sou Bunnbu <iyzsong@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 fcitx) + #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system cmake) + #:use-module (gnu packages doxygen) + #:use-module (gnu packages enchant) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages iso-codes) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) + +(define-public fcitx + (package + (name "fcitx") + (version "4.2.8.6") + (source (origin + (method url-fetch) + (uri (string-append "http://download.fcitx-im.org/fcitx/" + name "-" version "_dict.tar.xz")) + (sha256 + (base32 + "15ymd42kg920ri0f8fymq3i68g8k1kgpmdlnk9jf5fvnz6g4w0wi")))) + (build-system cmake-build-system) + (outputs '("out" "gtk2" "gtk3")) + (arguments + `(#:configure-flags + (list "-DENABLE_TEST=ON" + (string-append "-DXKB_RULES_XML_FILE=" + (assoc-ref %build-inputs "xkeyboard-config") + "/share/X11/xkb/rules/evdev.xml") + "-DENABLE_GTK2_IM_MODULE=ON" + "-DENABLE_GTK3_IM_MODULE=ON" + (string-append "-DGTK2_IM_MODULEDIR=" + (assoc-ref %outputs "gtk2") + "/lib/gtk-2.0/2.10.0/immodules") + (string-append "-DGTK3_IM_MODULEDIR=" + (assoc-ref %outputs "gtk3") + "/lib/gtk-3.0/3.0.0/immodules") + ;; XXX: Enable GObject Introspection and Qt4 support. + "-DENABLE_GIR=OFF" + "-DENABLE_QT=OFF" + "-DENABLE_QT_IM_MODULE=OFF"))) + (native-inputs + `(("doxygen" ,doxygen) + ("glib:bin" ,glib "bin") ; for glib-genmarshal + ("pkg-config" ,pkg-config))) + (inputs + `(("dbus" ,dbus) + ("enchant" ,enchant) + ("gettext" ,gnu-gettext) + ("gtk2" ,gtk+-2) + ("gtk3" ,gtk+) + ("icu4c" ,icu4c) + ("iso-codes" ,iso-codes) + ("libxkbfile" ,libxkbfile) + ("libxml2" ,libxml2) + ("xkeyboard-config" ,xkeyboard-config))) + (home-page "http://fcitx-im.org") + (synopsis "Input method framework") + (description + "Fcitx is an input method framework with extension support. It has +Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods +built-in.") + (license gpl2+))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 0ee639d20a1c592ab15d399f4c15d95ffd006973..f65a5bbf9d587730ced6a908b40072ae409a2142 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,10 +18,14 @@ ;;; 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 licenses) #:select (expat x11)) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg)) (define-public xdg-utils (package @@ -43,4 +48,30 @@ (define-public xdg-utils (description "The xdg-utils package is a set of simple scripts that provide basic desktop integration functions in the framework of the freedesktop.org project.") - (license expat))) \ No newline at end of file + (license expat))) + +(define-public libinput + (package + (name "libinput") + (version "0.13.0") + (source (origin + (method url-fetch) + (uri (string-append "http://freedesktop.org/software/libinput/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "06n6ih2bfr957rprsgjxhi6f7m96wmf4kgac8y0ispsjvrzszv3c")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("libudev" ,eudev))) ; required by libinput.pc + (inputs + `(("libevdev" ,libevdev) + ("mtdev" ,mtdev))) + (home-page "http://www.freedesktop.org/wiki/Software/libinput/") + (synopsis "Input devices handling library") + (description + "Libinput is a library to handle input devices for display servers and +other applications that need to directly deal with input devices.") + (license x11))) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index e27103778cbd2f6f05266560e4493199d3579db4..725a8e7e9ef52499a55918d7a81c930543308c0b 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,9 +21,12 @@ (define-module (gnu packages gd) #:use-module (guix packages) #:use-module (guix build-system gnu) + #:use-module (guix build-system perl) #:use-module (guix download) #:use-module (gnu packages) + #:use-module (gnu packages perl) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages fontutils) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) @@ -66,3 +70,78 @@ (define-public gd most common applications of GD involve website development.") (license (non-copyleft "file://COPYING" "See COPYING file in the distribution.")))) + +(define-public perl-gd + (package + (name "perl-gd") + (version "2.56") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LD/LDS/" + "GD-" version ".tar.gz")) + (sha256 + (base32 + "1ya8f9hpiax8j29vwaiwlvvgah0vkyvpzva28r8231nyk0f3s40z")) + (patches + (list + (search-patch "perl-gd-options-passthrough-and-fontconfig.patch"))))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) ;needs Module::Build >= 0.42 + (inputs + `(("gd" ,gd) + ("zlib" ,zlib) + ("png" ,libpng) + ("ft" ,freetype) + ("jpeg" ,libjpeg) + ("fontconfig" ,fontconfig))) + (arguments + ;; We must use Build.PL for building because Makefile.PL fails to build + ;; the XS source. + `(#:module-build-flags (map (lambda (i) + (string-append "--lib_" i "_path=" + (assoc-ref %build-inputs i))) + '("zlib" "png" "ft" "jpeg" "fontconfig")) + #:phases (alist-cons-after + 'configure 'clear-autogenerated-files + (lambda _ + ;; This file is autogenerated by its .PLS script at build + ;; time, but file creation fails because that file already + ;; exists in the distribution with non-writable + ;; permissions, so delete it first. + (delete-file "bdf_scripts/bdf2gdfont.pl")) + %standard-phases))) + (home-page "http://search.cpan.org/dist/GD") + (synopsis "Perl interface to the GD graphics library") + (description "GD.pm is an autoloadable interface module for libgd, a +popular library for creating and manipulating PNG files. With this library +you can create PNG images on the fly or modify existing files.") + (license (package-license perl)))) + +(define-public perl-gd-securityimage + (package + (name "perl-gd-securityimage") + (version "1.73") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BU/BURAK/" + "GD-SecurityImage-" version ".tar.gz")) + (sha256 + (base32 + "1kaxs67rfd4w46lxgcg3pa05a596l0h1k8n4zk2gwrrar4022wpx")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-gd" ,perl-gd) + ("perl-image-magick" ,perl-image-magick))) + (home-page "http://search.cpan.org/dist/GD-SecurityImage") + (synopsis "Security image generator.") + (description "This module provides a basic interface to create +security (captcha) images. The final output is the actual graphic data, the +mime type of the graphic, and the created random string. The module also has +some \"styles\" that are used to create the background (or foreground) of the +image.") + (license (package-license perl)))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index bf19b9ec823c3e85b3f8ebf81114195c9d19f14d..78fd0f0107865b77e56970a99db4946680218248 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> +;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,8 @@ (define-module (gnu packages gnome) #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages) #:use-module (gnu packages bison) + #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages flex) #:use-module (gnu packages docbook) #:use-module (gnu packages glib) @@ -39,8 +42,10 @@ (define-module (gnu packages gnome) #:use-module (gnu packages pdf) #:use-module (gnu packages popt) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gnutls) #:use-module (gnu packages iso-codes) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages linux) #:use-module (gnu packages image) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -48,6 +53,7 @@ (define-module (gnu packages gnome) #:use-module (gnu packages xml) #:use-module (gnu packages gl) #:use-module (gnu packages compression) + #:use-module (gnu packages web) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) #:use-module (gnu packages ncurses)) @@ -252,7 +258,7 @@ (define-public evince (define-public gsettings-desktop-schemas (package (name "gsettings-desktop-schemas") - (version "3.10.0") + (version "3.16.0") (source (origin (method url-fetch) @@ -261,13 +267,14 @@ (define-public gsettings-desktop-schemas name "-" version ".tar.xz")) (sha256 (base32 - "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a")))) + "02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16")))) (build-system gnu-build-system) (inputs `(("glib" ,glib))) (native-inputs `(("intltool" ,intltool) ("glib" ,glib "bin") ; glib-compile-schemas, etc. + ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config))) (home-page "https://launchpad.net/gsettings-desktop-schemas") (synopsis @@ -1398,7 +1405,7 @@ (define-public vala (define-public vte (package (name "vte") - (version "0.38.2") + (version "0.40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1406,7 +1413,7 @@ (define-public vte name "-" version ".tar.xz")) (sha256 (base32 - "1rbxrigff9yszbgdw0gw4c2saz4d1hbbpz21phzxx14w49wvmnmj")))) + "0lnq0bgkmsixjwmfacb2ch9qfjqjxa8zkk1hiv3l29kgca0n3nal")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1416,7 +1423,8 @@ (define-public vte ("glib" ,glib "bin") ; for glib-genmarshal, etc. ("xmllint" ,libxml2))) (propagated-inputs - `(("gtk+" ,gtk+))) ; required by libvte-2.91.pc + `(("gtk+" ,gtk+) ;required by vte-2.91.pc + ("gnutls" ,gnutls))) ;ditto (arguments `(#:phases (alist-cons-before @@ -1622,10 +1630,114 @@ (define-public python2-rsvg ;; of gnome-python-desktop is given in 'COPYING'. (license license:lgpl2.1+))) +(define-public glib-networking + (package + (name "glib-networking") + (version "2.44.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/glib-networking/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + ;; FIXME: ca-certificates.crt is not available in the build environment. + '("--with-ca-certificates=no") + #:phases + (modify-phases %standard-phases + (add-before configure patch-giomoduledir + ;; Install GIO modules into $out/lib/gio/modules. + (lambda _ + (substitute* "configure" + (("GIO_MODULE_DIR=.*") + (string-append "GIO_MODULE_DIR=" %output + "/lib/gio/modules\n")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("glib" ,glib) + ("gnutls" ,gnutls) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("p11-kit" ,p11-kit))) + (home-page "http://www.gnome.org") + (synopsis "Network-related GIO modules") + (description + "This package contains various network related extensions for the GIO +library.") + (license license:lgpl2.0+))) + +(define-public libsoup + (package + (name "libsoup") + (version "2.50.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/libsoup/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y")))) + (build-system gnu-build-system) + (outputs '("out" "doc")) + (arguments + `(#:make-flags '("CC=gcc") ; for g-ir-scanner + #:configure-flags + (list (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html") + ;; To find GIO modules from glib-networking. + (string-append "GIO_EXTRA_MODULES=" + (assoc-ref %build-inputs "glib-networking") + "/lib/gio/modules")) + #:phases + (modify-phases %standard-phases + (add-before configure disable-unconnected-socket-test + ;; This test fails due to missing /etc/nsswitch.conf + ;; in the build environment. + (lambda _ + (substitute* "tests/socket-test.c" + ((".*/sockets/unconnected.*") "")) + #t)) + (add-before check unset-LC_ALL + ;; The 'check-local' target runs 'env LANG=C sort -u', + ;; unset 'LC_ALL' to make 'LANG' working. + (lambda _ + (unsetenv "LC_ALL") + #t))))) + (native-inputs + `(("glib:bin" ,glib "bin") ; for glib-mkenums + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ;; These are needed for the tests. + ;; FIXME: Add PHP once available. + ("curl" ,curl) + ("httpd" ,httpd))) + (propagated-inputs + ;; libsoup-2.4.pc refers to all these. + `(("glib" ,glib) + ("libxml2" ,libxml2))) + (inputs + `(("glib-networking" ,glib-networking) + ("sqlite" ,sqlite))) + (home-page "https://live.gnome.org/LibSoup/") + (synopsis "GLib-based HTTP Library") + (description + "LibSoup is an HTTP client/server library for GNOME. It uses GObjects +and the GLib main loop, to integrate well with GNOME applications.") + (license license:lgpl2.0+))) + (define-public gnome-mines (package (name "gnome-mines") - (version "3.14.1") + (version "3.16.0") (source (origin (method url-fetch) @@ -1634,7 +1746,7 @@ (define-public gnome-mines name "-" version ".tar.xz")) (sha256 (base32 - "0nbgvzlsznn3v83pdcx2d52r4ig1mvaijh633rjddx9rgq2ja7kv")))) + "0wfvqyryc1093l4dr75zv9h0jyn28z6wirdq03lm5w24qf9lvjjx")))) (build-system glib-or-gtk-build-system) (arguments '(#:phases @@ -1666,3 +1778,51 @@ (define-public gnome-mines "Mines (previously gnomine) is a puzzle game where you locate mines floating in an ocean using only your brain and a little bit of luck.") (license license:gpl2+))) + +(define-public gnome-terminal + (package + (name "gnome-terminal") + (version "3.16.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1s3zwqxs4crlqmh6l7s7n87pbmh2nnjdvhxlkalh58pbl0bk0qrd")))) + (build-system glib-or-gtk-build-system) + (arguments + '(#:configure-flags + (list "--disable-migration" "--disable-search-provider" + "--without-nautilus-extension") + #:phases + (modify-phases %standard-phases + (add-before configure patch-/bin/true + (lambda _ + (substitute* "configure" + (("/bin/true") (which "true")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("desktop-file-utils" ,desktop-file-utils) + ("intltool" ,intltool) + ("itstool" ,itstool))) + (inputs + `(("gtk+" ,gtk+) + ("vte" ,vte) + ("gnutls" ,gnutls) + ("dconf" ,dconf) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("util-linux" ,util-linux) + ("vala" ,vala))) + (home-page "https://wiki.gnome.org/Apps/Terminal") + (synopsis "Terminal emulator") + (description + "GNOME Terminal is a terminal emulator application for accessing a +UNIX shell environment which can be used to run programs available on +your system. + +It supports several profiles, multiple tabs and implements several +keyboard shortcuts.") + (license license:gpl3+))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 70b03b400abd8e4b3b52a0d6c18c638ba2bfb8fb..887bace42309cdfc4c949daac655558352abdaeb 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -20,6 +20,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages gnuzilla) + #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -122,15 +123,18 @@ (define-public nspr (define-public nss (package (name "nss") - (version "3.17.4") + (version "3.18") (source (origin (method url-fetch) - (uri (string-append - "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/" - "releases/NSS_3_17_4_RTM/src/nss-3.17.4.tar.gz")) + (uri (let ((version-with-underscores + (string-join (string-split version #\.) "_"))) + (string-append + "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/" + "releases/NSS_" version-with-underscores "_RTM/src/" + "nss-" version ".tar.gz"))) (sha256 (base32 - "0ycxzybgn4bq0i6j5zjdjl70n3s8a742yixyik4pw8x4h4cav60x")) + "0h0xy9kvd2s8r438q4dfn25cgvv5dc1hkm9lb4bgrxpr5bxv13b1")) ;; Create nss.pc and nss-config. (patches (list (search-patch "nss-pkgconfig.patch"))))) (build-system gnu-build-system) @@ -214,22 +218,16 @@ (define-public nss (define-public icecat (package (name "icecat") - (version "31.5.0") + (version "31.6.0-gnu1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gnuzilla/" - version "/" name "-" version ".tar.bz2")) + (first (string-split version #\-)) "/" + name "-" version ".tar.bz2")) (sha256 (base32 - "1rr4axghaypdkrf60i1qp6dz4cd29ya02fs3vyffvp4x9kgcq2dd")) - (patches (map search-patch '("icecat-bug-1127780.patch" - "icecat-CVE-2015-0817.patch" - "icecat-bug-1144991.patch" - "icecat-CVE-2015-0818-pt1.patch" - "icecat-bug-1145870.patch" - "icecat-CVE-2015-0818-pt2.patch" - "icecat-bug-1146339.patch"))))) + "1a4l23msg4cpc4yp59q2z6xv63r6advlbnjy65v4djv6yhgnqf1i")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 7afb9c4218b7c35c5ff2c1e0347afe078a8b84ef..ad0cfccca9bfb81c41e40223922cfa4bcb923333 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -88,11 +88,19 @@ (define-public gstreamer (base32 "1bmhbhak6i5wmmb6w86jyyv8lax4gdq983la4lk4a0krz6kim020")))) (build-system gnu-build-system) + (outputs '("out" "doc")) + (arguments + `(#:make-flags '("CC=gcc") ; for g-ir-scanner. + #:configure-flags + (list (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")))) (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc. (native-inputs `(("bison" ,bison) ("flex" ,flex) ("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper))) @@ -150,6 +158,9 @@ (define-public gst-plugins-base (base32 "07ampnfa6p41s0lhia62l9h8bdx3c7vxvdz93pbx64m3wycq3gbp")))) (build-system gnu-build-system) + (outputs '("out" "doc")) + (propagated-inputs + `(("gstreamer" ,gstreamer))) ; required by gstreamer-plugins-base-1.0.pc (inputs `(("cdparanoia" ,cdparanoia) ("orc" ,orc) @@ -161,19 +172,25 @@ (define-public gst-plugins-base ("zlib" ,zlib) ("libXext" ,libxext) ("libxv" ,libxv) - ("alsa-lib" ,alsa-lib) - ("gstreamer" ,gstreamer))) + ("alsa-lib" ,alsa-lib))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper))) (arguments - '(#:phases + `(#:configure-flags + (list (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases (alist-cons-before - 'configure 'patch-test-pb-utils + 'configure 'patch (lambda _ (substitute* "tests/check/libs/pbutils.c" - (("/bin/sh") (which "sh")))) + (("/bin/sh") (which "sh"))) + ;; for g-ir-scanner. + (setenv "CC" "gcc")) %standard-phases))) (home-page "http://gstreamer.freedesktop.org/") (synopsis diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 83c839a612ee3c2dfa0ed524783254011d0a0d24..bb30f6f8fa18d97e686708ab265b78c9b683d55b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> +;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,7 +53,7 @@ (define-module (gnu packages gtk) (define-public atk (package (name "atk") - (version "2.15.3") + (version "2.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -60,9 +61,15 @@ (define-public atk name "-" version ".tar.xz")) (sha256 (base32 - "177a9x6lz2im0mfgxv2crv0l740wy7rg5vlnb8wyyf4fmnh0q19f")))) ; 2.15.3 + "0qp5i91kfk6rhrlam3s8ha0cz88lkyp89vsyn4pb5856c1h9hpq9")))) (build-system gnu-build-system) - (inputs `(("glib" ,glib))) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")))) + (propagated-inputs `(("glib" ,glib))) ; required by atk.pc (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; glib-mkenums, etc. @@ -333,7 +340,7 @@ (define-public gdk-pixbuf (define-public at-spi2-core (package (name "at-spi2-core") - (version "2.10.0") + (version "2.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -341,18 +348,32 @@ (define-public at-spi2-core name "-" version ".tar.xz")) (sha256 (base32 - "1ns44yibdgcwzwri7sr075hfs5rh5lgxkh71247a0822az3mahcn")))) + "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw")))) (build-system gnu-build-system) - (inputs `(("dbus" ,dbus) - ("glib" ,glib) - ("libxi" ,libxi) - ("libxtst" ,libxtst))) - (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + (outputs '("out" "doc")) (arguments - `(#:tests? #f)) ; FIXME: dbind/dbtest fails; one should disable tests in - ; a more fine-grained way. + '(#:make-flags '("CC=gcc") ; for g-ir-scanner + #:configure-flags + (list (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (replace check + ;; Run test-suite under a dbus session. + (lambda _ + (zero? (system* "dbus-launch" "make" "check"))))))) + (propagated-inputs + ;; atspi-2.pc refers to all these. + `(("dbus" ,dbus) + ("glib" ,glib))) + (inputs + `(("libxi" ,libxi) + ("libxtst" ,libxtst))) + (native-inputs + `(("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) (synopsis "Assistive Technology Service Provider Interface, core components") (description "The Assistive Technology Service Provider Interface, core components, @@ -363,7 +384,7 @@ (define-public at-spi2-core (define-public at-spi2-atk (package (name "at-spi2-atk") - (version "2.10.0") + (version "2.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -371,17 +392,22 @@ (define-public at-spi2-atk name "-" version ".tar.xz")) (sha256 (base32 - "150sqc21difazqd53llwfdaqnwfy73bic9hia41xpfy9kcpzz9yy")))) + "1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq")))) (build-system gnu-build-system) - (inputs `(("atk" ,atk) - ("at-spi2-core" ,at-spi2-core) - ("dbus" ,dbus) - ("glib" ,glib))) - (native-inputs - `(("pkg-config" ,pkg-config))) (arguments - `(#:tests? #f)) ; FIXME: droute/droute-test fails; one should disable - ; tests in a more fine-grained way. + '(#:phases + (modify-phases %standard-phases + (replace check + ;; Run test-suite under a dbus session. + (lambda _ + (zero? (system* "dbus-launch" "make" "check"))))))) + (propagated-inputs + `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc + (inputs + `(("atk" ,atk))) + (native-inputs + `(("dbus" ,dbus) ; for testing + ("pkg-config" ,pkg-config))) (synopsis "Assistive Technology Service Provider Interface, ATK bindings") (description "The Assistive Technology Service Provider Interface @@ -392,7 +418,7 @@ (define-public at-spi2-atk (define-public gtk+-2 (package (name "gtk+") - (version "2.24.21") + (version "2.24.27") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -400,20 +426,35 @@ (define-public gtk+-2 name "-" version ".tar.xz")) (sha256 (base32 - "1qyw73pr9ryqhir2h1kbx3vm70km4dg2fxrgkrdlpv0rvlb94bih")))) + "1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0")))) (build-system gnu-build-system) + (outputs '("out" "doc")) (propagated-inputs `(("atk" ,atk) ("gdk-pixbuf" ,gdk-pixbuf) ("pango" ,pango))) + (inputs + `(("cups" ,cups) + ("libxcomposite" ,libxcomposite) + ("libxcursor" ,libxcursor) + ("libxdamage" ,libxdamage) + ("libxi" ,libxi) + ("libxinerama" ,libxinerama) + ("libxrandr" ,libxrandr))) (native-inputs `(("perl" ,perl) + ("gettext" ,gnu-gettext) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper))) (arguments `(#:make-flags '("CC=gcc") + #:configure-flags + (list "--with-xinput=yes" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) #:phases (alist-cons-before 'configure 'disable-tests diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a5656d0b91177500674213eae312aa752015b388..05622ca068a502413a56f19ae7d6e8fc70c4c131 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -33,22 +33,23 @@ (define-module (gnu packages haskell) #:use-module (gnu packages ncurses) #:use-module (gnu packages python)) -;; We use bootstrap binaries with a fix version which can be used to build -;; more versions of the GHC compiler. -(define ghc-bootstrap-7.8.4 +(define ghc-bootstrap-x86_64-7.8.4 (origin (method url-fetch) - (uri (string-append "https://www.haskell.org/ghc/dist/" - "7.8.4/ghc-7.8.4-" - (if (string-match "x86_64" (%current-system)) - "x86_64" - "i386") - "-unknown-linux-deb7.tar.xz")) + (uri + "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz") (sha256 (base32 - (if (string-match "x86_64" (%current-system)) - "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn" - "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))) + "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn")))) + +(define ghc-bootstrap-i686-7.8.4 + (origin + (method url-fetch) + (uri + "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz") + (sha256 + (base32 + "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg")))) ;; 43 tests out of 3965 fail. ;; @@ -99,7 +100,10 @@ (define-public ghc ("ghostscript" ,ghostscript) ; for tests ("patchelf" ,patchelf) ;; GHC is built with GHC. Therefore we need bootstrap binaries. - ("ghc-binary" ,ghc-bootstrap-7.8.4))) + ("ghc-binary" + ,(if (string-match "x86_64" (or (%current-target-system) (%current-system))) + ghc-bootstrap-x86_64-7.8.4 + ghc-bootstrap-i686-7.8.4)))) (arguments `(#:test-target "test" ;; We get a smaller number of test failures by disabling parallel test diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 0144212b3e0e5fe92287125d78b21c6a2998d500..2a68627dc60abe5d990937d42ead72e5baf9a1c5 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ (define-module (gnu packages imagemagick) #:use-module (guix packages) #:use-module (guix build-system gnu) + #:use-module (guix build-system perl) #:use-module (guix download) #:use-module ((guix licenses) #:select (fsf-free)) #:use-module (gnu packages algebra) @@ -90,3 +92,47 @@ (define-public imagemagick transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.") (license (fsf-free "http://www.imagemagick.org/script/license.php")))) + +(define-public perl-image-magick + (package + (name "perl-image-magick") + (version "6.89") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JC/JCRISTY/" + "PerlMagick-" version "-1.tar.gz")) + (sha256 + (base32 + "0n9afy1z5bhf9phrbahnkwhgcmijn8jggpbzwrivw1zhliliiy68")))) + (build-system perl-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("imagemagick" ,imagemagick))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before + configure image-magick-flags + (lambda* (#:key inputs #:allow-other-keys) + (let ((im (assoc-ref inputs "imagemagick"))) + (substitute* "Makefile.PL" + (("my \\$INC_magick = .*") + "my $INC_magick = `pkg-config --cflags ImageMagick`;\n") + (("my \\$LIBS_magick = .*") + "my $LIBS_magick = `pkg-config --libs ImageMagick`;\n"))))) + (add-before + check skip-mpeg-tests + (lambda _ + ;; TODO: MPEG tests fail even though our imagemagick supports + ;; MPEG. Has been reported elsewhere, + ;; http://www.imagemagick.org/discourse-server/viewtopic.php?f=7&t=25036, + ;; so skip for now. + (delete-file "t/mpeg/read.t")))))) + (home-page "http://search.cpan.org/dist/PerlMagick") + (synopsis "Perl interface to ImageMagick") + (description "This Perl extension allows the reading, manipulation and +writing of a large number of image file formats using the ImageMagick library. +Use it to create, edit, compose, or convert bitmap images from within a Perl +script.") + ;; See Magick.pm + (license (package-license imagemagick)))) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 844f1b2a194108b0561f1b9ca607912dfec47d98..036e485be314c2df3f27c5d5b83329bcb233f906 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -35,7 +35,8 @@ (define-module (gnu packages julia) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages textutils) - #:use-module (gnu packages version-control)) + #:use-module (gnu packages version-control) + #:use-module (ice-9 match)) (define-public julia (package @@ -51,7 +52,7 @@ (define-public julia "1hnbc2blzr9bc27m3vsr127fhg0h5imgqlrx00jakf0my0ccw8gr")))) (build-system gnu-build-system) (arguments - '(#:test-target "test" + `(#:test-target "test" #:modules ((ice-9 match) (guix build gnu-build-system) (guix build utils)) @@ -105,6 +106,14 @@ (define-public julia #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) + + ;; Passing the MARCH flag is necessary to build binary substitutes for + ;; the supported architectures. + ,(match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "MARCH=x86-64") + ("i686-linux" "MARCH=pentium4")) + "CONFIG_SHELL=bash" ;needed to build bundled libraries "USE_SYSTEM_LIBUV=0" ;Julia expects a modified libuv "USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no @@ -161,6 +170,9 @@ (define-public julia ("pkg-config" ,pkg-config) ("python" ,python-2) ("which" ,which))) + ;; Julia is not officially released for ARM and MIPS. + ;; See https://github.com/JuliaLang/julia/issues/10639 + (supported-systems '("i686-linux" "x86_64-linux")) (home-page "http://julialang.org/") (synopsis "High-performance dynamic language for technical computing") (description diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf index 3c82b91614acbf47a59bb4fbcee43cbab92f6fc6..2274ea28796db1622818db6c0cbb87fde0b9f80e 100644 --- a/gnu/packages/linux-libre-i686.conf +++ b/gnu/packages/linux-libre-i686.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.18.4-gnu Kernel Configuration +# Linux/x86 3.19.0-gnu Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -88,6 +88,7 @@ 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 @@ -127,7 +128,6 @@ 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_RESOURCE_COUNTERS=y +CONFIG_PAGE_COUNTER=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y # CONFIG_MEMCG_SWAP_ENABLED is not set @@ -179,6 +179,7 @@ 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 @@ -282,6 +283,7 @@ 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 @@ -293,6 +295,11 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_SIG_SHA1 is not set +# CONFIG_MODULE_SIG_SHA224 is not set +# CONFIG_MODULE_SIG_SHA256 is not set +# CONFIG_MODULE_SIG_SHA384 is not set +# CONFIG_MODULE_SIG_SHA512 is not set # CONFIG_MODULE_COMPRESS is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y @@ -450,6 +457,7 @@ 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 @@ -545,6 +553,7 @@ CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y +# CONFIG_X86_INTEL_MPX is not set CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_SECCOMP=y @@ -585,7 +594,6 @@ 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 @@ -634,6 +642,7 @@ 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 @@ -662,7 +671,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # -# x86 CPU frequency scaling drivers +# CPU frequency scaling drivers # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=y @@ -734,7 +743,6 @@ CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y -CONFIG_PCI_IOAPIC=y CONFIG_PCI_LABEL=y # @@ -856,6 +864,7 @@ 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 @@ -967,6 +976,7 @@ 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 @@ -979,6 +989,7 @@ 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 @@ -1147,6 +1158,7 @@ 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 @@ -1187,6 +1199,7 @@ 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 @@ -1286,6 +1299,7 @@ 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 @@ -1381,6 +1395,7 @@ 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 @@ -1392,15 +1407,16 @@ CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y # CONFIG_BATMAN_ADV_DEBUG is not set CONFIG_OPENVSWITCH=m -CONFIG_OPENVSWITCH_GRE=y -CONFIG_OPENVSWITCH_VXLAN=y -CONFIG_OPENVSWITCH_GENEVE=y +CONFIG_OPENVSWITCH_GRE=m +CONFIG_OPENVSWITCH_VXLAN=m +CONFIG_OPENVSWITCH_GENEVE=m 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 @@ -1549,7 +1565,7 @@ CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m CONFIG_BT=m -CONFIG_BT_6LOWPAN=m +CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m @@ -1557,6 +1573,8 @@ 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 @@ -1609,6 +1627,7 @@ 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 @@ -1660,7 +1679,8 @@ CONFIG_NFC_MRVL=m CONFIG_NFC_MRVL_USB=m CONFIG_NFC_ST21NFCA=m CONFIG_NFC_ST21NFCA_I2C=m -# CONFIG_NFC_ST21NFCB is not set +CONFIG_NFC_ST21NFCB=m +CONFIG_NFC_ST21NFCB_I2C=m # # Device Drivers @@ -1680,7 +1700,9 @@ 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 @@ -1689,6 +1711,7 @@ 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 @@ -2150,7 +2173,7 @@ CONFIG_SCSI_LPFC=m CONFIG_SCSI_SIM710=m CONFIG_SCSI_SYM53C416=m CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m +CONFIG_SCSI_AM53C974=m CONFIG_SCSI_T128=m CONFIG_SCSI_U14_34F=m CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y @@ -2158,6 +2181,7 @@ 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 @@ -2374,6 +2398,7 @@ 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 @@ -2453,6 +2478,7 @@ 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 @@ -2490,6 +2516,7 @@ 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 @@ -2556,7 +2583,7 @@ CONFIG_IXGBEVF=m CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y -# CONFIG_I40E_FCOE is not set +CONFIG_I40E_FCOE=y CONFIG_I40EVF=m CONFIG_FM10K=m CONFIG_FM10K_VXLAN=y @@ -2628,6 +2655,7 @@ 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 @@ -2649,10 +2677,8 @@ CONFIG_SMSC911X=m CONFIG_SMSC9420=m CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m -CONFIG_STMMAC_PLATFORM=y +CONFIG_STMMAC_PLATFORM=m # 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 @@ -2807,6 +2833,7 @@ 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 @@ -2893,7 +2920,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set -CONFIG_IWLWIFI_UAPSD=y +# CONFIG_IWLWIFI_UAPSD is not set # # Debugging Options @@ -3037,7 +3064,6 @@ 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 @@ -3259,6 +3285,9 @@ 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 @@ -3327,8 +3356,10 @@ 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 @@ -3557,6 +3588,7 @@ 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 @@ -3677,6 +3709,7 @@ 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 @@ -3691,6 +3724,7 @@ 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 @@ -3769,8 +3803,12 @@ 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 @@ -3787,7 +3825,6 @@ 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 @@ -3859,6 +3896,7 @@ CONFIG_GPIO_MSIC=y # USB GPIO expanders: # CONFIG_GPIO_VIPERBOARD=m +CONFIG_GPIO_DLN2=m CONFIG_W1=m CONFIG_W1_CON=y @@ -3984,6 +4022,7 @@ 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 @@ -4030,12 +4069,14 @@ 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 @@ -4241,6 +4282,7 @@ 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 @@ -4321,7 +4363,7 @@ CONFIG_MFD_WM831X_I2C=y CONFIG_MFD_WM831X_SPI=y CONFIG_MFD_WM8350=y CONFIG_MFD_WM8350_I2C=y -CONFIG_MFD_WM8994=y +CONFIG_MFD_WM8994=m CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=m @@ -4462,16 +4504,9 @@ 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 @@ -4547,7 +4582,6 @@ 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 @@ -4710,6 +4744,7 @@ 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 @@ -4721,17 +4756,12 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVID=m -CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_VIDEO_VIM2M=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 @@ -4933,6 +4963,7 @@ 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 @@ -5044,6 +5075,10 @@ 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 # @@ -5063,6 +5098,7 @@ 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 @@ -5106,6 +5142,7 @@ 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 @@ -5523,7 +5560,7 @@ CONFIG_SND_BCD2000=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWIRE_LIB=m CONFIG_SND_DICE=m -CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_OXFW=m CONFIG_SND_ISIGHT=m CONFIG_SND_SCS1X=m CONFIG_SND_FIREWORKS=m @@ -5551,6 +5588,9 @@ 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 @@ -5559,6 +5599,8 @@ 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 # @@ -5571,12 +5613,16 @@ 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 @@ -5589,7 +5635,10 @@ 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 @@ -5604,8 +5653,13 @@ 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 @@ -5631,6 +5685,7 @@ CONFIG_AC97_BUS=m # HID support # CONFIG_HID=m +CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_GENERIC=m @@ -5672,6 +5727,7 @@ 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 @@ -5692,6 +5748,7 @@ 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 @@ -5838,9 +5895,10 @@ 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 -CONFIG_USB_MUSB_TUSB6010=m -CONFIG_USB_MUSB_UX500=m -# CONFIG_USB_UX500_DMA is not set + +# +# Platform Glue Layer +# CONFIG_MUSB_PIO_ONLY=y CONFIG_USB_DWC3=m # CONFIG_USB_DWC3_HOST is not set @@ -5858,14 +5916,13 @@ 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=m -CONFIG_USB_DWC2_PLATFORM=y -CONFIG_USB_DWC2_PCI=y +CONFIG_USB_DWC2_HOST=y # -# Gadget mode requires USB Gadget support to be enabled +# Gadget/Dual-role mode requires USB Gadget support to be enabled # -CONFIG_USB_DWC2_PERIPHERAL=m +CONFIG_USB_DWC2_PLATFORM=y +CONFIG_USB_DWC2_PCI=y # CONFIG_USB_DWC2_DEBUG is not set # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set CONFIG_USB_CHIPIDEA=m @@ -6004,6 +6061,12 @@ 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 @@ -6027,7 +6090,10 @@ 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 @@ -6041,6 +6107,10 @@ 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 @@ -6105,6 +6175,7 @@ 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 @@ -6145,6 +6216,7 @@ 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 @@ -6194,6 +6266,7 @@ 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 @@ -6221,6 +6294,8 @@ 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 @@ -6260,6 +6335,7 @@ 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 @@ -6393,6 +6469,8 @@ 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 @@ -6493,10 +6571,9 @@ CONFIG_COMEDI_PCMMIO=m CONFIG_COMEDI_PCMUIO=m CONFIG_COMEDI_MULTIQ3=m CONFIG_COMEDI_S526=m -CONFIG_COMEDI_PCI_DRIVERS=y +CONFIG_COMEDI_PCI_DRIVERS=m 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 @@ -6549,7 +6626,7 @@ CONFIG_COMEDI_RTD520=m CONFIG_COMEDI_S626=m CONFIG_COMEDI_MITE=m CONFIG_COMEDI_NI_TIOCMD=m -CONFIG_COMEDI_PCMCIA_DRIVERS=y +CONFIG_COMEDI_PCMCIA_DRIVERS=m CONFIG_COMEDI_CB_DAS16_CS=m CONFIG_COMEDI_DAS08_CS=m CONFIG_COMEDI_NI_DAQ_700_CS=m @@ -6557,7 +6634,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=y +CONFIG_COMEDI_USB_DRIVERS=m CONFIG_COMEDI_DT9812=m CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m @@ -6692,7 +6769,6 @@ 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 @@ -6724,10 +6800,17 @@ CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m # CONFIG_DT3155_CCIR is not set CONFIG_DT3155_STREAMING=y -# CONFIG_VIDEO_TCM825X is not set +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_LIRC_STAGING=y CONFIG_LIRC_BT829=m -CONFIG_LIRC_IGORPLUGUSB=m CONFIG_LIRC_IMON=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SASEM=m @@ -6739,7 +6822,6 @@ CONFIG_LIRC_ZILOG=m # # Android # -# CONFIG_ANDROID is not set CONFIG_USB_WPAN_HCD=m CONFIG_WIMAX_GDM72XX=m CONFIG_WIMAX_GDM72XX_QOS=y @@ -6826,11 +6908,6 @@ 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 @@ -6866,6 +6943,7 @@ 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 @@ -6886,6 +6964,7 @@ CONFIG_STE_MODEM_RPROC=m # # SOC (System On Chip) specific Drivers # +CONFIG_SOC_TI=y CONFIG_PM_DEVFREQ=y # @@ -6948,6 +7027,7 @@ 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 @@ -6955,6 +7035,7 @@ 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 @@ -7030,6 +7111,7 @@ CONFIG_ITG3200=m # CONFIG_DHT11=m CONFIG_SI7005=m +CONFIG_SI7020=m # # Inertial measurement units @@ -7086,6 +7168,7 @@ CONFIG_IIO_SYSFS_TRIGGER=m # # Pressure sensors # +CONFIG_BMP280=m CONFIG_HID_SENSOR_PRESS=m CONFIG_MPL115=m CONFIG_MPL3115=m @@ -7157,6 +7240,11 @@ CONFIG_MCB_PCI=m CONFIG_RAS=y CONFIG_THUNDERBOLT=m +# +# Android +# +# CONFIG_ANDROID is not set + # # Firmware Drivers # @@ -7342,6 +7430,7 @@ 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 @@ -7526,6 +7615,7 @@ 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 @@ -7539,6 +7629,7 @@ 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 @@ -7575,7 +7666,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y -# CONFIG_SCHED_STACK_END_CHECK is not set +CONFIG_SCHED_STACK_END_CHECK=y CONFIG_TIMER_STATS=y # @@ -7692,6 +7783,7 @@ 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 @@ -7781,6 +7873,7 @@ CONFIG_IMA_DEFAULT_HASH_SHA1=y CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y +# CONFIG_IMA_LOAD_X509 is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf index 0b865808aba7d36afaaf88d926dfd1ed9c4ff374..cf4cd766c0a34ea936be9081a4d27a77c3ef8d5b 100644 --- a/gnu/packages/linux-libre-x86_64.conf +++ b/gnu/packages/linux-libre-x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.18.4-gnu Kernel Configuration +# Linux/x86 3.19.0-gnu Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -89,6 +89,7 @@ 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 @@ -108,19 +109,17 @@ CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC 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_IDLE=y +# CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # # CPU/Task time and stats accounting # -CONFIG_VIRT_CPU_ACCOUNTING=y -CONFIG_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y @@ -132,7 +131,6 @@ 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 @@ -154,8 +152,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_DEFAULT_ENABLED=y CONFIG_NUMA_BALANCING=y +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_FREEZER=y @@ -163,7 +161,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CPUSETS=y CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_CPUACCT=y -CONFIG_RESOURCE_COUNTERS=y +CONFIG_PAGE_COUNTER=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y # CONFIG_MEMCG_SWAP_ENABLED is not set @@ -194,6 +192,7 @@ 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 @@ -301,6 +300,7 @@ 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,6 +451,7 @@ 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 @@ -462,6 +463,7 @@ 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 @@ -549,6 +551,7 @@ CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y +# CONFIG_X86_INTEL_MPX is not set CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_EFI_MIXED=y @@ -594,7 +597,6 @@ 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 @@ -645,6 +647,7 @@ 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 # @@ -666,7 +669,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # -# x86 CPU frequency scaling drivers +# CPU frequency scaling drivers # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=y @@ -727,7 +730,6 @@ CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y -CONFIG_PCI_IOAPIC=y CONFIG_PCI_LABEL=y # @@ -840,6 +842,7 @@ 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 @@ -951,6 +954,7 @@ 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 @@ -963,6 +967,7 @@ 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 @@ -1131,6 +1136,7 @@ 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 @@ -1171,6 +1177,7 @@ 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 @@ -1270,6 +1277,7 @@ 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 @@ -1361,6 +1369,7 @@ 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 @@ -1372,15 +1381,16 @@ CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y # CONFIG_BATMAN_ADV_DEBUG is not set CONFIG_OPENVSWITCH=m -CONFIG_OPENVSWITCH_GRE=y -CONFIG_OPENVSWITCH_VXLAN=y -CONFIG_OPENVSWITCH_GENEVE=y +CONFIG_OPENVSWITCH_GRE=m +CONFIG_OPENVSWITCH_VXLAN=m +CONFIG_OPENVSWITCH_GENEVE=m 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 @@ -1523,7 +1533,7 @@ CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m CONFIG_BT=m -CONFIG_BT_6LOWPAN=m +CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m @@ -1531,6 +1541,8 @@ 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 @@ -1583,6 +1595,7 @@ 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 @@ -1634,7 +1647,8 @@ CONFIG_NFC_MRVL=m CONFIG_NFC_MRVL_USB=m CONFIG_NFC_ST21NFCA=m CONFIG_NFC_ST21NFCA_I2C=m -# CONFIG_NFC_ST21NFCB is not set +CONFIG_NFC_ST21NFCB=m +CONFIG_NFC_ST21NFCB_I2C=m CONFIG_HAVE_BPF_JIT=y # @@ -1655,7 +1669,9 @@ 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 @@ -1664,6 +1680,7 @@ 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 @@ -2108,7 +2125,8 @@ CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_WD719X=m CONFIG_SCSI_DEBUG=m CONFIG_SCSI_PMCRAID=m CONFIG_SCSI_PM8001=m @@ -2316,6 +2334,7 @@ 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 @@ -2394,6 +2413,7 @@ 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 @@ -2427,6 +2447,7 @@ 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 @@ -2490,7 +2511,7 @@ CONFIG_IXGBEVF=m CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y -# CONFIG_I40E_FCOE is not set +CONFIG_I40E_FCOE=y CONFIG_I40EVF=m CONFIG_FM10K=m CONFIG_FM10K_VXLAN=y @@ -2558,6 +2579,7 @@ 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 @@ -2578,10 +2600,8 @@ CONFIG_SMSC911X=m CONFIG_SMSC9420=m CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m -CONFIG_STMMAC_PLATFORM=y +CONFIG_STMMAC_PLATFORM=m # 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 @@ -2736,6 +2756,7 @@ 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 @@ -2822,7 +2843,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set -CONFIG_IWLWIFI_UAPSD=y +# CONFIG_IWLWIFI_UAPSD is not set # # Debugging Options @@ -2960,7 +2981,6 @@ 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 @@ -3166,6 +3186,9 @@ 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 @@ -3231,8 +3254,10 @@ 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 @@ -3450,6 +3475,7 @@ 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 @@ -3563,6 +3589,7 @@ 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 @@ -3575,6 +3602,7 @@ 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 @@ -3651,8 +3679,12 @@ 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 @@ -3669,7 +3701,6 @@ 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 @@ -3737,6 +3768,7 @@ CONFIG_GPIO_TPS65910=y # USB GPIO expanders: # CONFIG_GPIO_VIPERBOARD=m +CONFIG_GPIO_DLN2=m CONFIG_W1=m CONFIG_W1_CON=y @@ -3861,6 +3893,7 @@ 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 @@ -3907,12 +3940,14 @@ 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 @@ -4105,6 +4140,7 @@ 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 @@ -4183,7 +4219,7 @@ CONFIG_MFD_WM831X_I2C=y CONFIG_MFD_WM831X_SPI=y CONFIG_MFD_WM8350=y CONFIG_MFD_WM8350_I2C=y -CONFIG_MFD_WM8994=y +CONFIG_MFD_WM8994=m CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=m @@ -4323,16 +4359,9 @@ 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 @@ -4408,7 +4437,6 @@ 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 @@ -4571,6 +4599,7 @@ 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 @@ -4581,16 +4610,12 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVID=m -CONFIG_VIDEO_MEM2MEM_TESTDEV=m +CONFIG_VIDEO_VIM2M=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 @@ -4776,6 +4801,7 @@ 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 @@ -4887,6 +4913,10 @@ 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 # @@ -4906,6 +4936,7 @@ 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 @@ -4943,6 +4974,7 @@ 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 @@ -4975,6 +5007,7 @@ 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 @@ -5311,7 +5344,7 @@ CONFIG_SND_BCD2000=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWIRE_LIB=m CONFIG_SND_DICE=m -CONFIG_SND_FIREWIRE_SPEAKERS=m +CONFIG_SND_OXFW=m CONFIG_SND_ISIGHT=m CONFIG_SND_SCS1X=m CONFIG_SND_FIREWORKS=m @@ -5337,6 +5370,9 @@ 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 @@ -5345,6 +5381,8 @@ 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 # @@ -5357,12 +5395,16 @@ 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 @@ -5375,7 +5417,10 @@ 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 @@ -5389,8 +5434,13 @@ 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 @@ -5416,6 +5466,7 @@ CONFIG_AC97_BUS=m # HID support # CONFIG_HID=m +CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_GENERIC=m @@ -5457,6 +5508,7 @@ 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 @@ -5477,6 +5529,7 @@ 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 @@ -5623,9 +5676,10 @@ 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 -CONFIG_USB_MUSB_TUSB6010=m -CONFIG_USB_MUSB_UX500=m -# CONFIG_USB_UX500_DMA is not set + +# +# Platform Glue Layer +# CONFIG_MUSB_PIO_ONLY=y CONFIG_USB_DWC3=m # CONFIG_USB_DWC3_HOST is not set @@ -5643,14 +5697,13 @@ 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=m -CONFIG_USB_DWC2_PLATFORM=y -CONFIG_USB_DWC2_PCI=y +CONFIG_USB_DWC2_HOST=y # -# Gadget mode requires USB Gadget support to be enabled +# Gadget/Dual-role mode requires USB Gadget support to be enabled # -CONFIG_USB_DWC2_PERIPHERAL=m +CONFIG_USB_DWC2_PLATFORM=y +CONFIG_USB_DWC2_PCI=y # CONFIG_USB_DWC2_DEBUG is not set # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set CONFIG_USB_CHIPIDEA=m @@ -5789,6 +5842,12 @@ 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 @@ -5812,7 +5871,10 @@ 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 @@ -5826,6 +5888,10 @@ 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 @@ -5891,6 +5957,7 @@ 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 @@ -5929,6 +5996,7 @@ 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 @@ -5977,6 +6045,7 @@ 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 @@ -6044,6 +6113,7 @@ 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 @@ -6175,6 +6245,8 @@ 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 @@ -6276,10 +6348,9 @@ CONFIG_COMEDI_PCMMIO=m CONFIG_COMEDI_PCMUIO=m CONFIG_COMEDI_MULTIQ3=m CONFIG_COMEDI_S526=m -CONFIG_COMEDI_PCI_DRIVERS=y +CONFIG_COMEDI_PCI_DRIVERS=m 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 @@ -6332,7 +6403,7 @@ CONFIG_COMEDI_RTD520=m CONFIG_COMEDI_S626=m CONFIG_COMEDI_MITE=m CONFIG_COMEDI_NI_TIOCMD=m -CONFIG_COMEDI_PCMCIA_DRIVERS=y +CONFIG_COMEDI_PCMCIA_DRIVERS=m CONFIG_COMEDI_CB_DAS16_CS=m CONFIG_COMEDI_DAS08_CS=m CONFIG_COMEDI_NI_DAQ_700_CS=m @@ -6340,7 +6411,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=y +CONFIG_COMEDI_USB_DRIVERS=m CONFIG_COMEDI_DT9812=m CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m @@ -6475,7 +6546,6 @@ 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 @@ -6503,10 +6573,16 @@ CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m # CONFIG_DT3155_CCIR is not set CONFIG_DT3155_STREAMING=y -# CONFIG_VIDEO_TCM825X is not set +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_LIRC_STAGING=y CONFIG_LIRC_BT829=m -CONFIG_LIRC_IGORPLUGUSB=m CONFIG_LIRC_IMON=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SASEM=m @@ -6518,7 +6594,6 @@ CONFIG_LIRC_ZILOG=m # # Android # -# CONFIG_ANDROID is not set CONFIG_USB_WPAN_HCD=m CONFIG_WIMAX_GDM72XX=m CONFIG_WIMAX_GDM72XX_QOS=y @@ -6545,7 +6620,6 @@ 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 @@ -6609,11 +6683,6 @@ 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 @@ -6647,6 +6716,7 @@ 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 @@ -6671,6 +6741,7 @@ CONFIG_STE_MODEM_RPROC=m # # SOC (System On Chip) specific Drivers # +CONFIG_SOC_TI=y CONFIG_PM_DEVFREQ=y # @@ -6733,6 +6804,7 @@ 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 @@ -6740,6 +6812,7 @@ 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 @@ -6815,6 +6888,7 @@ CONFIG_ITG3200=m # CONFIG_DHT11=m CONFIG_SI7005=m +CONFIG_SI7020=m # # Inertial measurement units @@ -6871,6 +6945,7 @@ CONFIG_IIO_SYSFS_TRIGGER=m # # Pressure sensors # +CONFIG_BMP280=m CONFIG_HID_SENSOR_PRESS=m CONFIG_MPL115=m CONFIG_MPL3115=m @@ -6942,6 +7017,11 @@ CONFIG_MCB_PCI=m CONFIG_RAS=y CONFIG_THUNDERBOLT=m +# +# Android +# +# CONFIG_ANDROID is not set + # # Firmware Drivers # @@ -7128,6 +7208,7 @@ 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 @@ -7312,6 +7393,7 @@ 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 @@ -7325,6 +7407,7 @@ 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 @@ -7360,7 +7443,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y -# CONFIG_SCHED_STACK_END_CHECK is not set +CONFIG_SCHED_STACK_END_CHECK=y CONFIG_TIMER_STATS=y # @@ -7478,6 +7561,7 @@ 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 @@ -7567,6 +7651,7 @@ CONFIG_IMA_DEFAULT_HASH_SHA1=y CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y +# CONFIG_IMA_LOAD_X509 is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c4e34c197a8f26a8e13abdf647e8e70aefb1b9a6..e2b8301fefd860108ef3702811e061f121a71199 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -198,7 +198,7 @@ (define (lookup file) #f))) (define-public linux-libre - (let* ((version "3.18.10") + (let* ((version "3.19.3") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -271,7 +271,10 @@ (define-public linux-libre (uri (linux-libre-urls version)) (sha256 (base32 - "0ckbi94b56klp59wsfcmlkbyrj7hj7kb7ys2jjsrqsk39dd77zg5")))) + "13nq0wzkjy7hrhnnvxlwzs1awlqd81vzriqddjn6s9ma3fzj44bn")) + (patches + (list (search-patch "linux-libre-libreboot-fix.patch") + (search-patch "linux-libre-vblank-fix.patch"))))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) @@ -1373,14 +1376,14 @@ (define-public numactl (define-public kbd (package (name "kbd") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "0c34b0za2v0934acvgnva0vaqpghmmhz4zh7k0m9jd4mbc91byqm")) + "04mrms12nm5sas0nxs94yrr3hz7gmqhnmfgb9ff34bh1jszxmzcx")) (modules '((guix build utils))) (snippet '(begin @@ -2005,3 +2008,73 @@ (define-public cpufrequtils information, and set the CPU frequency if supported, using the cpufreq capabilities of the Linux kernel.") (license gpl2))) + +(define-public libraw1394 + (package + (name "libraw1394") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kernel.org/linux/libs/ieee1394/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0kwnf4ha45c04mhc4yla672aqmvqqihxix1gvblns5cd2pc2cc8b")))) + (build-system gnu-build-system) + (home-page "https://ieee1394.wiki.kernel.org/index.php/Main_Page") + (synopsis "Interface library for the Linux IEEE1394 drivers") + (description + "Libraw1394 is the only supported interface to the kernel side raw1394 of +the Linux IEEE-1394 subsystem, which provides direct access to the connected +1394 buses to user space. Through libraw1394/raw1394, applications can directly +send to and receive from other nodes without requiring a kernel driver for the +protocol in question.") + (license lgpl2.1+))) + +(define-public libavc1394 + (package + (name "libavc1394") + (version "0.5.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/libavc1394/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "0lsv46jdqvdx5hx92v0z2cz3yh6212pz9gk0k3513sbaa04zzcbw")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("libraw1394" ,libraw1394))) ; required by libavc1394.pc + (home-page "http://sourceforge.net/projects/libavc1394/") + (synopsis "AV/C protocol library for IEEE 1394") + (description + "Libavc1394 is a programming interface to the AV/C specification from +the 1394 Trade Assocation. AV/C stands for Audio/Video Control.") + (license lgpl2.1+))) + +(define-public libiec61883 + (package + (name "libiec61883") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kernel.org/linux/libs/ieee1394/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "17ph458zya2l8dr2xwqnzy195qd9swrir31g78qkgb3g4xz2rq6i")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("libraw1394" ,libraw1394))) ; required by libiec61883.pc + (home-page "https://ieee1394.wiki.kernel.org/index.php/Main_Page") + (synopsis "Isochronous streaming media library for IEEE 1394") + (description + "The libiec61883 library provides a higher level API for streaming DV, +MPEG-2 and audio over Linux IEEE 1394.") + (license lgpl2.1+))) diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm index 8062b99d654644ac156c1469dd6e85c73c90976d..da42957fee5f941bd24652e33d3dee3e2039f809 100644 --- a/gnu/packages/lsof.scm +++ b/gnu/packages/lsof.scm @@ -35,7 +35,17 @@ (define-public lsof (uri (list (string-append %ftp-base "lsof_" version ".tar.bz2") (string-append %ftp-base "OLD/lsof_" - version ".tar.bz2"))) + version ".tar.bz2") + + ;; Add mirrors because the FTP server at purdue.edu + ;; bails out when it cannot do a reverse DNS lookup, as + ;; noted at <http://people.freebsd.org/~abe/>. + (string-append + "ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/lsof_" + version ".tar.bz2") + (string-append + "ftp://sunsite.ualberta.ca/pub/Mirror/lsof/lsof_" + version ".tar.bz2"))) (sha256 (base32 "16y9wm26rg81mihnzcbdg8h8vhxmq8kn62ssxb8cqydp4q79nvzy")))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c92354248f00dc38796b683cb8bc98b604924b24..0c83b0bd82fb9e561a31bbaae3bb83115a57cdf7 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -23,6 +23,7 @@ (define-module (gnu packages music) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages audio) #:use-module (gnu packages bison) #:use-module (gnu packages docbook) #:use-module (gnu packages flex) @@ -30,9 +31,14 @@ (define-module (gnu packages music) #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages linux) ; for alsa-utils + #:use-module (gnu packages man) + #:use-module (gnu packages mp3) #:use-module (gnu packages netpbm) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -40,6 +46,8 @@ (define-module (gnu packages music) #:use-module (gnu packages rsync) #:use-module (gnu packages texinfo) #:use-module (gnu packages texlive) + #:use-module (gnu packages xml) + #:use-module (gnu packages xiph) #:use-module (gnu packages zip)) (define-public lilypond @@ -102,3 +110,114 @@ (define-public lilypond interpreted by LilyPond to produce the final document. It is extendable with Guile.") (license license:gpl3+))) + +(define-public solfege + (package + (name "solfege") + (version "3.22.2") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnu/solfege/solfege-" + version ".tar.xz")) + (sha256 + (base32 + "1w25rxdbj907nsx285k9nm480pvy12w3yknfh4n1dfv17cwy072i")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; xmllint attempts to download DTD + #:test-target "test" + #:phases + (alist-cons-after + 'unpack 'fix-configuration + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "default.config" + (("csound=csound") + (string-append "csound=" + (assoc-ref inputs "csound") + "/bin/csound")) + (("/usr/bin/aplay") + (string-append (assoc-ref inputs "aplay") + "/bin/aplay")) + (("/usr/bin/timidity") + (string-append (assoc-ref inputs "timidity") + "/bin/timidity")) + (("/usr/bin/mpg123") + (string-append (assoc-ref inputs "mpg123") + "/bin/mpg123")) + (("/usr/bin/ogg123") + (string-append (assoc-ref inputs "ogg123") + "/bin/ogg123")))) + (alist-cons-before + 'build 'patch-python-shebangs + (lambda _ + ;; Two python scripts begin with a Unicode BOM, so patch-shebang + ;; has no effect. + (substitute* '("solfege/parsetree.py" + "solfege/presetup.py") + (("#!/usr/bin/python") (string-append "#!" (which "python"))))) + (alist-cons-before + 'build 'add-sitedirs + ;; .pth files are not automatically interpreted unless the + ;; directories containing them are added as "sites". The directories + ;; are then added to those in the PYTHONPATH. This is required for + ;; the operation of pygtk and pygobject. + (lambda _ + (substitute* "run-solfege.py" + (("import os") + "import os, site +for path in [path for path in sys.path if 'site-packages' in path]: site.addsitedir(path)"))) + (alist-cons-before + 'build 'adjust-config-file-prefix + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "run-solfege.py" + (("prefix = os.path.*$") + (string-append "prefix = " (assoc-ref outputs "out"))))) + (alist-cons-after + 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Make sure 'solfege' runs with the correct PYTHONPATH. We + ;; also need to modify GDK_PIXBUF_MODULE_FILE for SVG support. + (let* ((out (assoc-ref outputs "out")) + (path (getenv "PYTHONPATH")) + (rsvg (assoc-ref inputs "librsvg")) + (pixbuf (find-files rsvg "^loaders\\.cache$"))) + (wrap-program (string-append out "/bin/solfege") + `("PYTHONPATH" ":" prefix (,path)) + `("GDK_PIXBUF_MODULE_FILE" ":" prefix ,pixbuf)))) + %standard-phases))))))) + (inputs + `(("python" ,python-2) + ("pygtk" ,python2-pygtk) + ("gettext" ,gnu-gettext) + ("gtk" ,gtk+) + ;; TODO: Lilypond is optional. Produces errors at build time: + ;; Drawing systems...Error: /undefinedresult in --glyphshow-- + ;; Fontconfig is needed to fix one of the errors, but other similar + ;; errors remain. + ;;("lilypond" ,lilypond) + ("librsvg" ,librsvg) ; needed at runtime for icons + ("libpng" ,libpng) ; needed at runtime for icons + ;; players needed at runtime + ("aplay" ,alsa-utils) + ("csound" ,csound) ; optional, needed for some exercises + ("mpg123" ,mpg123) + ("ogg123" ,vorbis-tools) + ("timidity" ,timidity++))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("txt2man" ,txt2man) + ("libxml2" ,libxml2) ; for tests + ("ghostscript" ,ghostscript) + ;;("fontconfig" ,fontconfig) ; only needed with lilypond + ;;("freetype" ,freetype) ; only needed with lilypond + ("texinfo" ,texinfo))) + (home-page "https://www.gnu.org/software/solfege/") + (synopsis "Ear training") + (description + "GNU Solfege is a program for practicing musical ear-training. With it, +you can practice your recognition of various musical intervals and chords. It +features a statistics overview so you can monitor your progress across several +sessions. Solfege is also designed to be extensible so you can easily write +your own lessons.") + (license license:gpl3+))) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index ba92abce1e3159092707afec37b4b39bf73f3238..0b6584318348a8a330f2411079f4f28016dfbd6a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -34,14 +34,14 @@ (define-module (gnu packages node) (define-public node (package (name "node") - (version "0.12.0") + (version "0.12.2") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "0cifd2qhpyrbxx71a4hsagzk24qas8m5zvwcyhx69cz9yhxf404p")))) + "0bbp58p3iwsp35c37brkkh6bmjjhwsw2nlr8srz3wqryx6nphzmc")))) (native-inputs `(("python" ,python-2) ("perl" ,perl) ("gcc" ,gcc-4.9) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 9072adae3c8b54a57811a3c08aeef63171cf103e..70595b1bac8ccb7cb5343616b9fbd01900c71eee 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013,2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,7 @@ (define-module (gnu packages parallel) (define-public parallel (package (name "parallel") - (version "20150122") + (version "20150322") (source (origin (method url-fetch) @@ -35,7 +36,7 @@ (define-public parallel version ".tar.bz2")) (sha256 (base32 - "14g9pka59vln19rg6y8lyvrsc4nb3jk8y26hv3hdrf44rgwpds7d")))) + "1zsj1bd4zbwb4n9i0jgzs7vd5wkyg3xvj6s1q6s5fyn0pff7j01c")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (home-page "http://www.gnu.org/software/parallel/") diff --git a/gnu/packages/patches/icecat-CVE-2015-0817.patch b/gnu/packages/patches/icecat-CVE-2015-0817.patch deleted file mode 100644 index bb530a535dcf8b14cd2a9b050db10b93ef6371b1..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0817.patch +++ /dev/null @@ -1,44 +0,0 @@ -From cedbdf8290018fbef65458e9e438c72adf2c2775 Mon Sep 17 00:00:00 2001 -From: Steve Fink <sfink@mozilla.com> -Date: Thu, 19 Mar 2015 15:46:24 -0700 -Subject: [PATCH] Bug 1145255. r=luke, a=lmandel - ---- - js/src/jit/AsmJS.cpp | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -diff --git a/js/src/jit/AsmJS.cpp b/js/src/jit/AsmJS.cpp -index 302b5ab..1b8eed6 100644 ---- a/js/src/jit/AsmJS.cpp -+++ b/js/src/jit/AsmJS.cpp -@@ -14,6 +14,7 @@ - - #include "jsmath.h" - #include "jsprf.h" -+#include "jsutil.h" - #include "jsworkers.h" - #include "prmjtime.h" - -@@ -3432,9 +3433,17 @@ FoldMaskedArrayIndex(FunctionCompiler &f, ParseNode **indexExpr, int32_t *mask, - if (IsLiteralOrConstInt(f, maskNode, &mask2)) { - // Flag the access to skip the bounds check if the mask ensures that an 'out of - // bounds' access can not occur based on the current heap length constraint. -- if (mask2 == 0 || -- CountLeadingZeroes32(f.m().minHeapLength() - 1) <= CountLeadingZeroes32(mask2)) { -+ if (mask2 == 0) { - *needsBoundsCheck = NO_BOUNDS_CHECK; -+ } else { -+ uint32_t minHeap = f.m().minHeapLength(); -+ uint32_t minHeapZeroes = CountLeadingZeroes32(minHeap - 1); -+ uint32_t maskZeroes = CountLeadingZeroes32(mask2); -+ if ((minHeapZeroes < maskZeroes) || -+ (IsPowerOfTwo(minHeap) && minHeapZeroes == maskZeroes)) -+ { -+ *needsBoundsCheck = NO_BOUNDS_CHECK; -+ } - } - *mask &= mask2; - *indexExpr = indexNode; --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch b/gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch deleted file mode 100644 index 5d396eed6b2b2e9c13b4c015146aa4e2a0604844..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 79dddb16aaa58f5b5cef49dac6d234f500af3baf Mon Sep 17 00:00:00 2001 -From: Olli Pettay <Olli.Pettay@helsinki.fi> -Date: Thu, 19 Mar 2015 21:53:32 -0400 -Subject: [PATCH] Bug 1144988 - Don't let other pages to load while doing - scroll-to-anchor. r=bz, a=lmandel - ---- - docshell/base/nsDocShell.cpp | 23 ++++++++++++++--------- - docshell/base/nsDocShell.h | 1 + - 2 files changed, 15 insertions(+), 9 deletions(-) - -diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index 887c910..14ff3f2 100644 ---- a/docshell/base/nsDocShell.cpp -+++ b/docshell/base/nsDocShell.cpp -@@ -4204,8 +4204,8 @@ nsDocShell::IsPrintingOrPP(bool aDisplayErrorDialog) - bool - nsDocShell::IsNavigationAllowed(bool aDisplayPrintErrorDialog) - { -- bool isAllowed = !IsPrintingOrPP(aDisplayPrintErrorDialog) && !mFiredUnloadEvent; -- if (!isAllowed) { -+ bool isAllowed = !IsPrintingOrPP(aDisplayPrintErrorDialog) && -+ !mFiredUnloadEvent && !mBlockNavigation; if (!isAllowed) { - return false; - } - if (!mContentViewer) { -@@ -9321,13 +9321,18 @@ nsDocShell::InternalLoad(nsIURI * aURI, - GetCurScrollPos(ScrollOrientation_X, &cx); - GetCurScrollPos(ScrollOrientation_Y, &cy); - -- // ScrollToAnchor doesn't necessarily cause us to scroll the window; -- // the function decides whether a scroll is appropriate based on the -- // arguments it receives. But even if we don't end up scrolling, -- // ScrollToAnchor performs other important tasks, such as informing -- // the presShell that we have a new hash. See bug 680257. -- rv = ScrollToAnchor(curHash, newHash, aLoadType); -- NS_ENSURE_SUCCESS(rv, rv); -+ { -+ AutoRestore<bool> scrollingToAnchor(mBlockNavigation); -+ mBlockNavigation = true; -+ -+ // ScrollToAnchor doesn't necessarily cause us to scroll the window; -+ // the function decides whether a scroll is appropriate based on the -+ // arguments it receives. But even if we don't end up scrolling, -+ // ScrollToAnchor performs other important tasks, such as informing -+ // the presShell that we have a new hash. See bug 680257. -+ rv = ScrollToAnchor(curHash, newHash, aLoadType); -+ NS_ENSURE_SUCCESS(rv, rv); -+ } - - // Reset mLoadType to its original value once we exit this block, - // because this short-circuited load might have started after a -diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h -index c191777..be353ee 100644 ---- a/docshell/base/nsDocShell.h -+++ b/docshell/base/nsDocShell.h -@@ -835,6 +835,7 @@ protected: - bool mInPrivateBrowsing; - bool mUseRemoteTabs; - bool mDeviceSizeIsPageSize; -+ bool mBlockNavigation; - - // Because scriptability depends on the mAllowJavascript values of our - // ancestors, we cache the effective scriptability and recompute it when --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch b/gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch deleted file mode 100644 index 4eac5df4dbea077194e0a704c7a4f59dac84759e..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 83364c747c421b191f9d4012896a9e5a1d5223ad Mon Sep 17 00:00:00 2001 -From: Kyle Huey <khuey@kylehuey.com> -Date: Fri, 20 Mar 2015 19:15:13 -0700 -Subject: [PATCH] Bug 1144988. r=bz a=lmandel - ---- - docshell/base/nsDocShell.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index 4cddcef..bdf88a5cf 100644 ---- a/docshell/base/nsDocShell.cpp -+++ b/docshell/base/nsDocShell.cpp -@@ -1322,9 +1322,10 @@ nsDocShell::LoadURI(nsIURI * aURI, - - // Note: we allow loads to get through here even if mFiredUnloadEvent is - // true; that case will get handled in LoadInternal or LoadHistoryEntry. -- if (IsPrintingOrPP()) { -+ if (IsPrintingOrPP() || mBlockNavigation) { - return NS_OK; // JS may not handle returning of an error code - } -+ - nsCOMPtr<nsIURI> referrer; - nsCOMPtr<nsIInputStream> postStream; - nsCOMPtr<nsIInputStream> headersStream; --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-bug-1127780.patch b/gnu/packages/patches/icecat-bug-1127780.patch deleted file mode 100644 index c433616087956c0b6779949640b6ac75267fd569..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/icecat-bug-1127780.patch +++ /dev/null @@ -1,25 +0,0 @@ -From cf1de3d04302841aaa05aed8364da3399cbca9b4 Mon Sep 17 00:00:00 2001 -From: Bobby Holley <bobbyholley@gmail.com> -Date: Tue, 17 Feb 2015 17:47:12 -0500 -Subject: [PATCH] Bug 1127780 - Add null check. r=bz, a=bkerensa - ---- - js/xpconnect/wrappers/XrayWrapper.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/xpconnect/wrappers/XrayWrapper.h b/js/xpconnect/wrappers/XrayWrapper.h -index ead095f1..cc8c580 100644 ---- a/js/xpconnect/wrappers/XrayWrapper.h -+++ b/js/xpconnect/wrappers/XrayWrapper.h -@@ -131,7 +131,7 @@ class XrayWrapper : public Base { - { - if (!Base::getPrototypeOf(cx, wrapper, protop)) - return false; -- if (WrapperFactory::IsXrayWrapper(protop)) -+ if (!protop || WrapperFactory::IsXrayWrapper(protop)) - return true; - - protop.set(JS_GetObjectPrototype(cx, wrapper)); --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-bug-1144991.patch b/gnu/packages/patches/icecat-bug-1144991.patch deleted file mode 100644 index 5632e37eb327d978d6cede56870d9c858b3d0cef..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/icecat-bug-1144991.patch +++ /dev/null @@ -1,76 +0,0 @@ -From ae49ed04f54c2f78d6ba7e545e0099602a3270fa Mon Sep 17 00:00:00 2001 -From: Boris Zbarsky <bzbarsky@mit.edu> -Date: Thu, 19 Mar 2015 18:58:44 -0400 -Subject: [PATCH] Bug 1144991 - Be a bit more restrictive about when a - URI_IS_UI_RESOURCE source is allowed to link to a URI_IS_UI_RESOURCE URI that - doesn't have the same scheme. r=bholley, a=abillings - ---- - caps/src/nsScriptSecurityManager.cpp | 38 +++++++++++++++++++++++++----------- - 1 file changed, 27 insertions(+), 11 deletions(-) - -diff --git a/caps/src/nsScriptSecurityManager.cpp b/caps/src/nsScriptSecurityManager.cpp -index 3587358..6577b95 100644 ---- a/caps/src/nsScriptSecurityManager.cpp -+++ b/caps/src/nsScriptSecurityManager.cpp -@@ -770,12 +770,31 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, - NS_ENSURE_SUCCESS(rv, rv); - if (hasFlags) { - if (aFlags & nsIScriptSecurityManager::ALLOW_CHROME) { -+ -+ // For now, don't change behavior for resource:// or moz-icon:// and -+ // just allow them. - if (!targetScheme.EqualsLiteral("chrome")) { -- // for now don't change behavior for resource: or moz-icon: - return NS_OK; - } - -- // allow load only if chrome package is whitelisted -+ // Allow a URI_IS_UI_RESOURCE source to link to a URI_IS_UI_RESOURCE -+ // target if ALLOW_CHROME is set. -+ // -+ // ALLOW_CHROME is a flag that we pass on all loads _except_ docshell -+ // loads (since docshell loads run the loaded content with its origin -+ // principal). So we're effectively allowing resource://, chrome://, -+ // and moz-icon:// source URIs to load resource://, chrome://, and -+ // moz-icon:// files, so long as they're not loading it as a document. -+ bool sourceIsUIResource; -+ rv = NS_URIChainHasFlags(sourceBaseURI, -+ nsIProtocolHandler::URI_IS_UI_RESOURCE, -+ &sourceIsUIResource); -+ NS_ENSURE_SUCCESS(rv, rv); -+ if (sourceIsUIResource) { -+ return NS_OK; -+ } -+ -+ // Allow the load only if the chrome package is whitelisted. - nsCOMPtr<nsIXULChromeRegistry> reg(do_GetService( - NS_CHROMEREGISTRY_CONTRACTID)); - if (reg) { -@@ -787,17 +806,14 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, - } - } - -- // resource: and chrome: are equivalent, securitywise -- // That's bogus!! Fix this. But watch out for -- // the view-source stylesheet? -- bool sourceIsChrome; -- rv = NS_URIChainHasFlags(sourceBaseURI, -- nsIProtocolHandler::URI_IS_UI_RESOURCE, -- &sourceIsChrome); -- NS_ENSURE_SUCCESS(rv, rv); -- if (sourceIsChrome) { -+ // Special-case the hidden window: it's allowed to load -+ // URI_IS_UI_RESOURCE no matter what. Bug 1145470 tracks removing this. -+ nsAutoCString sourceSpec; -+ if (NS_SUCCEEDED(sourceBaseURI->GetSpec(sourceSpec)) && -+ sourceSpec.EqualsLiteral("resource://gre-resources/hiddenWindow.html")) { - return NS_OK; - } -+ - if (reportErrors) { - ReportError(nullptr, errorTag, sourceURI, aTargetURI); - } --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-bug-1145870.patch b/gnu/packages/patches/icecat-bug-1145870.patch deleted file mode 100644 index 34a018c69707d253464e227ebbbf90061a4c4f7f..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/icecat-bug-1145870.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a40e2ebc2ab57dacb539d4e49ed4193764ff7112 Mon Sep 17 00:00:00 2001 -From: Kyle Huey <khuey@kylehuey.com> -Date: Fri, 20 Mar 2015 19:05:56 -0700 -Subject: [PATCH] Bug 1145870. r=bz a=lmandel - ---- - docshell/base/nsDocShell.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index 14ff3f2..4cddcef 100644 ---- a/docshell/base/nsDocShell.cpp -+++ b/docshell/base/nsDocShell.cpp -@@ -8900,6 +8900,8 @@ nsDocShell::InternalLoad(nsIURI * aURI, - - NS_ENSURE_TRUE(!mIsBeingDestroyed, NS_ERROR_NOT_AVAILABLE); - -+ NS_ENSURE_TRUE(!mBlockNavigation, NS_ERROR_UNEXPECTED); -+ - // wyciwyg urls can only be loaded through history. Any normal load of - // wyciwyg through docshell is illegal. Disallow such loads. - if (aLoadType & LOAD_CMD_NORMAL) { -@@ -12570,7 +12572,7 @@ nsDocShell::OnLinkClick(nsIContent* aContent, - { - NS_ASSERTION(NS_IsMainThread(), "wrong thread"); - -- if (!IsOKToLoadURI(aURI)) { -+ if (!IsOKToLoadURI(aURI) || mBlockNavigation) { - return NS_OK; - } - -@@ -12626,7 +12628,7 @@ nsDocShell::OnLinkClickSync(nsIContent *aContent, - *aRequest = nullptr; - } - -- if (!IsOKToLoadURI(aURI)) { -+ if (!IsOKToLoadURI(aURI) || mBlockNavigation) { - return NS_OK; - } - --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-bug-1146339.patch b/gnu/packages/patches/icecat-bug-1146339.patch deleted file mode 100644 index 9d858523b9296c0210986da5a9ebfba615a95617..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/icecat-bug-1146339.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 4ca86283a71427f27e810d77c8e75418f6428457 Mon Sep 17 00:00:00 2001 -From: Olli Pettay <Olli.Pettay@helsinki.fi> -Date: Mon, 23 Mar 2015 22:23:53 -0400 -Subject: [PATCH] Bug 1146339 - Do anchor scrolling right before dispatching - popstate/hashchange. r=bz, a=lmandel - ---- - docshell/base/nsDocShell.cpp | 64 +++++++++++++++++++++----------------------- - docshell/base/nsDocShell.h | 1 - - 2 files changed, 30 insertions(+), 35 deletions(-) - -diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp -index bdf88a5cf..efb6a6e 100644 ---- a/docshell/base/nsDocShell.cpp -+++ b/docshell/base/nsDocShell.cpp -@@ -1322,7 +1322,7 @@ nsDocShell::LoadURI(nsIURI * aURI, - - // Note: we allow loads to get through here even if mFiredUnloadEvent is - // true; that case will get handled in LoadInternal or LoadHistoryEntry. -- if (IsPrintingOrPP() || mBlockNavigation) { -+ if (IsPrintingOrPP()) { - return NS_OK; // JS may not handle returning of an error code - } - -@@ -4206,7 +4206,8 @@ bool - nsDocShell::IsNavigationAllowed(bool aDisplayPrintErrorDialog) - { - bool isAllowed = !IsPrintingOrPP(aDisplayPrintErrorDialog) && -- !mFiredUnloadEvent && !mBlockNavigation; if (!isAllowed) { -+ !mFiredUnloadEvent; -+ if (!isAllowed) { - return false; - } - if (!mContentViewer) { -@@ -8901,8 +8902,6 @@ nsDocShell::InternalLoad(nsIURI * aURI, - - NS_ENSURE_TRUE(!mIsBeingDestroyed, NS_ERROR_NOT_AVAILABLE); - -- NS_ENSURE_TRUE(!mBlockNavigation, NS_ERROR_UNEXPECTED); -- - // wyciwyg urls can only be loaded through history. Any normal load of - // wyciwyg through docshell is illegal. Disallow such loads. - if (aLoadType & LOAD_CMD_NORMAL) { -@@ -9324,19 +9323,6 @@ nsDocShell::InternalLoad(nsIURI * aURI, - GetCurScrollPos(ScrollOrientation_X, &cx); - GetCurScrollPos(ScrollOrientation_Y, &cy); - -- { -- AutoRestore<bool> scrollingToAnchor(mBlockNavigation); -- mBlockNavigation = true; -- -- // ScrollToAnchor doesn't necessarily cause us to scroll the window; -- // the function decides whether a scroll is appropriate based on the -- // arguments it receives. But even if we don't end up scrolling, -- // ScrollToAnchor performs other important tasks, such as informing -- // the presShell that we have a new hash. See bug 680257. -- rv = ScrollToAnchor(curHash, newHash, aLoadType); -- NS_ENSURE_SUCCESS(rv, rv); -- } -- - // Reset mLoadType to its original value once we exit this block, - // because this short-circuited load might have started after a - // normal, network load, and we don't want to clobber its load type. -@@ -9424,16 +9410,6 @@ nsDocShell::InternalLoad(nsIURI * aURI, - mOSHE->SetCacheKey(cacheKey); - } - -- /* restore previous position of scroller(s), if we're moving -- * back in history (bug 59774) -- */ -- if (mOSHE && (aLoadType == LOAD_HISTORY || aLoadType == LOAD_RELOAD_NORMAL)) -- { -- nscoord bx, by; -- mOSHE->GetScrollPosition(&bx, &by); -- SetCurScrollPosEx(bx, by); -- } -- - /* Restore the original LSHE if we were loading something - * while short-circuited load was initiated. - */ -@@ -9471,12 +9447,36 @@ nsDocShell::InternalLoad(nsIURI * aURI, - - SetDocCurrentStateObj(mOSHE); - -+ // Inform the favicon service that the favicon for oldURI also -+ // applies to aURI. -+ CopyFavicon(currentURI, aURI, mInPrivateBrowsing); -+ -+ nsRefPtr<nsGlobalWindow> win = mScriptGlobal ? -+ mScriptGlobal->GetCurrentInnerWindowInternal() : nullptr; -+ -+ // ScrollToAnchor doesn't necessarily cause us to scroll the window; -+ // the function decides whether a scroll is appropriate based on the -+ // arguments it receives. But even if we don't end up scrolling, -+ // ScrollToAnchor performs other important tasks, such as informing -+ // the presShell that we have a new hash. See bug 680257. -+ rv = ScrollToAnchor(curHash, newHash, aLoadType); -+ NS_ENSURE_SUCCESS(rv, rv); -+ -+ /* restore previous position of scroller(s), if we're moving -+ * back in history (bug 59774) -+ */ -+ if (mOSHE && (aLoadType == LOAD_HISTORY || -+ aLoadType == LOAD_RELOAD_NORMAL)) { -+ nscoord bx, by; -+ mOSHE->GetScrollPosition(&bx, &by); -+ SetCurScrollPosEx(bx, by); -+ } -+ - // Dispatch the popstate and hashchange events, as appropriate. - // - // The event dispatch below can cause us to re-enter script and - // destroy the docshell, nulling out mScriptGlobal. Hold a stack - // reference to avoid null derefs. See bug 914521. -- nsRefPtr<nsGlobalWindow> win = mScriptGlobal; - if (win) { - // Fire a hashchange event URIs differ, and only in their hashes. - bool doHashchange = sameExceptHashes && !curHash.Equals(newHash); -@@ -9492,10 +9492,6 @@ nsDocShell::InternalLoad(nsIURI * aURI, - } - } - -- // Inform the favicon service that the favicon for oldURI also -- // applies to aURI. -- CopyFavicon(currentURI, aURI, mInPrivateBrowsing); -- - return NS_OK; - } - } -@@ -12573,7 +12569,7 @@ nsDocShell::OnLinkClick(nsIContent* aContent, - { - NS_ASSERTION(NS_IsMainThread(), "wrong thread"); - -- if (!IsOKToLoadURI(aURI) || mBlockNavigation) { -+ if (!IsOKToLoadURI(aURI)) { - return NS_OK; - } - -@@ -12629,7 +12625,7 @@ nsDocShell::OnLinkClickSync(nsIContent *aContent, - *aRequest = nullptr; - } - -- if (!IsOKToLoadURI(aURI) || mBlockNavigation) { -+ if (!IsOKToLoadURI(aURI)) { - return NS_OK; - } - -diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h -index be353ee..c191777 100644 ---- a/docshell/base/nsDocShell.h -+++ b/docshell/base/nsDocShell.h -@@ -835,7 +835,6 @@ protected: - bool mInPrivateBrowsing; - bool mUseRemoteTabs; - bool mDeviceSizeIsPageSize; -- bool mBlockNavigation; - - // Because scriptability depends on the mAllowJavascript values of our - // ancestors, we cache the effective scriptability and recompute it when --- -2.2.1 - diff --git a/gnu/packages/patches/librep-rules.mk.patch b/gnu/packages/patches/librep-rules.mk.patch deleted file mode 100644 index 4ea2a3ae1b037ca7cf818ebd89570c9a2ba0b8ea..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/librep-rules.mk.patch +++ /dev/null @@ -1,30 +0,0 @@ -rules.mk.in: Don't set prefix, datadir, libdir, datarootdir and repdir. -rules.mk.in: Use pkg-config to get the absolute path for repcommonexedir. - -Merged into upstream: <https://github.com/SawfishWM/librep/commit/a1f2db721aa5055e90f6a76fde625946340ed8cf>. - ---- librep_0.92.4.orig/rules.mk.in 2015-01-31 23:21:59.614751496 +0800 -+++ librep_0.92.4/rules.mk.in 2015-02-02 18:56:55.097171657 +0800 -@@ -1,18 +1,10 @@ - # rules.mk - --prefix=@prefix@ --datadir=@datadir@ --libdir=@libdir@ -+repcommonexecdir?=$(shell pkg-config --variable=repcommonexecdir librep) -+rpath_repcommonexecdir:=$(repcommonexecdir) - --# shut up configure --datarootdir=@datarootdir@ -- --repdir=@repdir@ --repcommonexecdir=@repcommonexecdir@ --rpath_repcommonexecdir=@repcommonexecdir@ -- --rep_LIBTOOL=$(repcommonexecdir)/libtool --tag CC --rep_INSTALL_ALIASES=$(repcommonexecdir)/install-aliases -+rep_LIBTOOL:=$(repcommonexecdir)/libtool --tag CC -+rep_INSTALL_ALIASES:=$(repcommonexecdir)/install-aliases - - # use this like: - # foo.la : foo.lo bar.lo diff --git a/gnu/packages/patches/linux-libre-libreboot-fix.patch b/gnu/packages/patches/linux-libre-libreboot-fix.patch new file mode 100644 index 0000000000000000000000000000000000000000..d340a99fcb283603c70ee6dd8a4a30b2ba67e41e --- /dev/null +++ b/gnu/packages/patches/linux-libre-libreboot-fix.patch @@ -0,0 +1,37 @@ +This patch fixes linux-libre-3.19.x on Libreboot X60 machines. +Copied from https://bugzilla.kernel.org/show_bug.cgi?id=93171#c25 + +--- a/drivers/gpu/drm/i915/i915_irq.c ++++ a/drivers/gpu/drm/i915/i915_irq.c +@@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device *dev) + ~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | +- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT | +- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); ++ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT); + I915_WRITE16(IMR, dev_priv->irq_mask); + + I915_WRITE16(IER, + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | +- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT | + I915_USER_INTERRUPT); + POSTING_READ16(IER); + +@@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device *dev) + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | + I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | +- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT | +- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); ++ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT); + + enable_mask = + I915_ASLE_INTERRUPT | + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | +- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT | + I915_USER_INTERRUPT; + + if (I915_HAS_HOTPLUG(dev)) { diff --git a/gnu/packages/patches/linux-libre-vblank-fix.patch b/gnu/packages/patches/linux-libre-vblank-fix.patch new file mode 100644 index 0000000000000000000000000000000000000000..7f242cfcc112735502fe7dd779c326925b581dd8 --- /dev/null +++ b/gnu/packages/patches/linux-libre-vblank-fix.patch @@ -0,0 +1,175 @@ +From f9b61ff6bce9a44555324b29e593fdffc9a115bc Mon Sep 17 00:00:00 2001 +From: Daniel Vetter <daniel.vetter@ffwll.ch> +Date: Wed, 7 Jan 2015 13:54:39 +0100 +Subject: [PATCH] drm/i915: Push vblank enable/disable past + encoder->enable/disable +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It is platform/output depenedent when exactly the pipe will start +running. Sometimes we just need the (cpu) pipe enabled, in other cases +the pch transcoder is enough and in yet other cases the (DP) port is +sending the frame start signal. + +In a perfect world we'd put the drm_crtc_vblank_on call exactly where +the pipe starts running, but due to cloning and similar things this +will get messy. And the current approach of picking the most +conservative place for all combinations also doesn't work since that +results in legit vblank waits (in encoder->enable hooks, e.g. the 2 +vblank waits for sdvo) failing. + +Completely going back to the old world before + +commit 51e31d49c89055299e34b8f44d13f70e19aaaad1 +Author: Daniel Vetter <daniel.vetter@ffwll.ch> +Date: Mon Sep 15 12:36:02 2014 +0200 + + drm/i915: Use generic vblank wait + +isn't great either since screaming when the vblank wait work because +the pipe is off is kinda nice. + +Pick a compromise and move the drm_crtc_vblank_on right before the +encoder->enable call. This is a lie on some outputs/platforms, but +after the ->enable callback the pipe is guaranteed to run everywhere. +So not that bad really. Suggested by Ville. + +v2: Same treatment for drm_crtc_vblank_off and encoder->disable: I've +missed the ibx pipe B select w/a, which also has a vblank wait in the +disable function (while the pipe is obviously still running). + +Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> +Cc: Chris Wilson <chris@chris-wilson.co.uk> +Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com> +Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> +--- + drivers/gpu/drm/i915/intel_display.c | 42 ++++++++++++++++++------------------ + 1 file changed, 21 insertions(+), 21 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c +index a1dbe74..e224820 100644 +--- a/drivers/gpu/drm/i915/intel_display.c ++++ b/drivers/gpu/drm/i915/intel_display.c +@@ -4301,15 +4301,15 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc) + if (intel_crtc->config.has_pch_encoder) + ironlake_pch_enable(crtc); + ++ assert_vblank_disabled(crtc); ++ drm_crtc_vblank_on(crtc); ++ + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->enable(encoder); + + if (HAS_PCH_CPT(dev)) + cpt_verify_modeset(dev, intel_crtc->pipe); + +- assert_vblank_disabled(crtc); +- drm_crtc_vblank_on(crtc); +- + intel_crtc_enable_planes(crtc); + } + +@@ -4421,14 +4421,14 @@ static void haswell_crtc_enable(struct drm_crtc *crtc) + if (intel_crtc->config.dp_encoder_is_mst) + intel_ddi_set_vc_payload_alloc(crtc, true); + ++ assert_vblank_disabled(crtc); ++ drm_crtc_vblank_on(crtc); ++ + for_each_encoder_on_crtc(dev, crtc, encoder) { + encoder->enable(encoder); + intel_opregion_notify_encoder(encoder, true); + } + +- assert_vblank_disabled(crtc); +- drm_crtc_vblank_on(crtc); +- + /* If we change the relative order between pipe/planes enabling, we need + * to change the workaround. */ + haswell_mode_set_planes_workaround(intel_crtc); +@@ -4479,12 +4479,12 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc) + + intel_crtc_disable_planes(crtc); + +- drm_crtc_vblank_off(crtc); +- assert_vblank_disabled(crtc); +- + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->disable(encoder); + ++ drm_crtc_vblank_off(crtc); ++ assert_vblank_disabled(crtc); ++ + if (intel_crtc->config.has_pch_encoder) + intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false); + +@@ -4544,14 +4544,14 @@ static void haswell_crtc_disable(struct drm_crtc *crtc) + + intel_crtc_disable_planes(crtc); + +- drm_crtc_vblank_off(crtc); +- assert_vblank_disabled(crtc); +- + for_each_encoder_on_crtc(dev, crtc, encoder) { + intel_opregion_notify_encoder(encoder, false); + encoder->disable(encoder); + } + ++ drm_crtc_vblank_off(crtc); ++ assert_vblank_disabled(crtc); ++ + if (intel_crtc->config.has_pch_encoder) + intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A, + false); +@@ -5021,12 +5021,12 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc) + intel_update_watermarks(crtc); + intel_enable_pipe(intel_crtc); + +- for_each_encoder_on_crtc(dev, crtc, encoder) +- encoder->enable(encoder); +- + assert_vblank_disabled(crtc); + drm_crtc_vblank_on(crtc); + ++ for_each_encoder_on_crtc(dev, crtc, encoder) ++ encoder->enable(encoder); ++ + intel_crtc_enable_planes(crtc); + + /* Underruns don't raise interrupts, so check manually. */ +@@ -5082,12 +5082,12 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc) + intel_update_watermarks(crtc); + intel_enable_pipe(intel_crtc); + +- for_each_encoder_on_crtc(dev, crtc, encoder) +- encoder->enable(encoder); +- + assert_vblank_disabled(crtc); + drm_crtc_vblank_on(crtc); + ++ for_each_encoder_on_crtc(dev, crtc, encoder) ++ encoder->enable(encoder); ++ + intel_crtc_enable_planes(crtc); + + /* +@@ -5159,12 +5159,12 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc) + */ + intel_wait_for_vblank(dev, pipe); + +- drm_crtc_vblank_off(crtc); +- assert_vblank_disabled(crtc); +- + for_each_encoder_on_crtc(dev, crtc, encoder) + encoder->disable(encoder); + ++ drm_crtc_vblank_off(crtc); ++ assert_vblank_disabled(crtc); ++ + intel_disable_pipe(intel_crtc); + + i9xx_pfit_disable(intel_crtc); +-- +2.2.1 + diff --git a/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch b/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch new file mode 100644 index 0000000000000000000000000000000000000000..b2ff43c0d3d6bef86b4359742a449c3d5d2377a2 --- /dev/null +++ b/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch @@ -0,0 +1,53 @@ +This patch (adapted from nixpkgs for Build.PL) configures Getopt::Long to pass +options so they will be available at the second GetOptions call. + +Also an option to specify the search path for libfontconfig is added. + +--- GD-2.56/Build.PL 2014-10-27 20:34:54.000000000 -0500 ++++ GD-2.56/Build.PL 2015-02-22 10:08:12.569973657 -0600 +@@ -2,14 +2,14 @@ + + use strict; + use Module::Build; +-use Getopt::Long; ++use Getopt::Long qw(:config pass_through); + use Config; + + # =====> PATHS: CHECK AND ADJUST <===== + my (@INC,@LIBPATH,@LIBS); + my $AUTOCONFIG = 0; # global set by try_to_autoconfigure() below + +-my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path); ++my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$lib_fontconfig_path); + + unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS)) { + die <<END; +@@ -38,6 +38,7 @@ + "lib_jpeg_path=s" => \$lib_jpeg_path, + "lib_xpm_path=s" => \$lib_xpm_path, + "lib_zlib_path=s" => \$lib_zlib_path, ++ "lib_fontconfig_path=s" => \$lib_fontconfig_path, + ); + unless ($result) { + die <<END; +@@ -53,6 +54,7 @@ + -lib_jpeg_path path path to libjpeg + -lib_xpm_path path path to libxpm + -lib_zlib_path path path to libpng ++ -lib_fontconfig_path path path to fontconfig + -ignore_missing_gd Ignore missing or old libgd installations and try to compile anyway + + If no options are passed on the command line. The program will +@@ -100,6 +102,12 @@ + @INC = ("-I$lib_zlib_path/include", @INC); + @LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH); + } ++if( defined($lib_fontconfig_path) ) ++{ ++ print "Fontconfig library used from: $lib_fontconfig_path\n"; ++ @INC = ("-I$lib_fontconfig_path/include", @INC); ++ @LIBPATH = ("-L$lib_fontconfig_path/lib", @LIBPATH); ++} + ############################################################################################# + + if ($^O eq 'VMS'){ diff --git a/gnu/packages/patches/pulseaudio-longer-test-timeout.patch b/gnu/packages/patches/pulseaudio-longer-test-timeout.patch new file mode 100644 index 0000000000000000000000000000000000000000..fa81f749d2ec340b07044db163ece41ed193cd8a --- /dev/null +++ b/gnu/packages/patches/pulseaudio-longer-test-timeout.patch @@ -0,0 +1,13 @@ +Increase the timeout on 'cpu-mix-test' to accommodate slower machines. + +--- pulseaudio-6.0/src/tests/cpu-mix-test.c.ORIG 2015-02-12 09:10:35.000000000 -0500 ++++ pulseaudio-6.0/src/tests/cpu-mix-test.c 2015-03-31 13:45:05.316878322 -0400 +@@ -212,7 +212,7 @@ + #if defined (__arm__) && defined (__linux__) && defined (HAVE_NEON) + tcase_add_test(tc, mix_neon_test); + #endif +- tcase_set_timeout(tc, 120); ++ tcase_set_timeout(tc, 240); + suite_add_tcase(s, tc); + + sr = srunner_create(s); diff --git a/gnu/packages/patches/source-highlight-regexrange-test.patch b/gnu/packages/patches/source-highlight-regexrange-test.patch deleted file mode 100644 index 298c831b35dd4ee606abbe81072d85ea696198f7..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/source-highlight-regexrange-test.patch +++ /dev/null @@ -1,15 +0,0 @@ -Disable a single check. The failure is discussed at: - - https://savannah.gnu.org/bugs/index.php?41786 - ---- a/lib/tests/test_regexranges_main.cpp 2012-04-14 08:58:25.000000000 -0500 -+++ b/lib/tests/test_regexranges_main.cpp 2014-03-05 23:49:23.520402043 -0600 -@@ -52,7 +52,7 @@ - check_range_regex("simple regex"); - check_range_regex("[[:alpha:]]+"); - // test with a wrong regular expression -- check_range_regex("{notclosed", false); -+ // check_range_regex("{notclosed", false); - - // reset regular expressions - ranges.clear(); diff --git a/gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch b/gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch new file mode 100644 index 0000000000000000000000000000000000000000..f5cd0b9a9e16263c392d1b67ebea7e0a67b22323 --- /dev/null +++ b/gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch @@ -0,0 +1,45 @@ +Fix X server crash when sis driver is used with EXA acceleration. + +Source: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/xserver-xorg-video-sis/trusty/revision/24/debian/patches/fix-exa-crash.diff + +The patch was originally proposed by nihui: +https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-sis/+bug/1066464/comments/13 + +--- a/src/sis310_accel.c ++++ b/src/sis310_accel.c +@@ -1874,7 +1874,7 @@ + { + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); + SISPtr pSiS = SISPTR(pScrn); +- unsigned char *dst = pDst->devPrivate.ptr; ++ unsigned char *dst = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pDst); + int dst_pitch = exaGetPixmapPitch(pDst); + + (pSiS->SyncAccel)(pScrn); +@@ -1882,7 +1882,7 @@ + if(pDst->drawable.bitsPerPixel < 8) + return FALSE; + +- dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * src_pitch); ++ dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * dst_pitch); + while(h--) { + SiSMemCopyToVideoRam(pSiS, dst, (unsigned char *)src, + (w * pDst->drawable.bitsPerPixel / 8)); +@@ -1953,7 +1953,7 @@ + { + ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrc->drawable.pScreen); + SISPtr pSiS = SISPTR(pScrn); +- unsigned char *src = pSrc->devPrivate.ptr; ++ unsigned char *src = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pSrc); + int src_pitch = exaGetPixmapPitch(pSrc); + int size = src_pitch < dst_pitch ? src_pitch : dst_pitch; + +@@ -1964,7 +1964,7 @@ + + src += (x * pSrc->drawable.bitsPerPixel / 8) + (y * src_pitch); + while(h--) { +- SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, size); ++ SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, (w * pSrc->drawable.bitsPerPixel / 8)); + src += src_pitch; + dst += dst_pitch; + } diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9d41d88d26f023f1f4d161642af1eff2caeca744..902192bb6f6fb301195fed5a45b8d02e03aab81f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -281,6 +281,27 @@ (define-public perl-cache-cache easy to use abstraction of the filesystem or shared memory.") (license (package-license perl)))) +(define-public perl-cache-fastmmap + (package + (name "perl-cache-fastmmap") + (version "1.40") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RO/ROBM/" + "Cache-FastMmap-" version ".tar.gz")) + (sha256 + (base32 + "0h3ckr04cdn6dvl40m4m97vl5ybf30v1lwhw3jvkr92kpksvq4hd")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Cache-FastMmap") + (synopsis "Shared memory interprocess cache via mmap") + (description "A shared memory cache through an mmap'ed file. It's core is +written in C for performance. It uses fcntl locking to ensure multiple +processes can safely access the cache at the same time. It uses a basic LRU +algorithm to keep the most used entries in the cache.") + (license (package-license perl)))) + (define-public perl-capture-tiny (package (name "perl-capture-tiny") @@ -649,6 +670,26 @@ (define-public perl-class-method-modifiers method.") (license (package-license perl)))) +(define-public perl-class-singleton + (package + (name "perl-class-singleton") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SH/SHAY/" + "Class-Singleton-" version ".tar.gz")) + (sha256 + (base32 + "0y7ngrjf551bjgmijp5rsidbkq6c8hb5lmy2jcqq0fify020s8iq")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Class-Singleton") + (synopsis "Implementation of a singleton class for Perl") + (description "This module implements a Singleton class from which other +classes can be derived. By itself, the Class::Singleton module does very +little other than manage the instantiation of a single object.") + (license (package-license perl)))) + (define-public perl-class-tiny (package (name "perl-class-tiny") @@ -1023,6 +1064,88 @@ (define-public perl-data-visitor structures, and all ref types (hashes, arrays, scalars, code, globs).") (license (package-license perl)))) +(define-public perl-datetime + (package + (name "perl-datetime") + (version "1.18") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "DateTime-" version ".tar.gz")) + (sha256 + (base32 + "0fli1ls298qa8nfki15myxqqqfpxvslxk4j5r3vjk577wfgjrnms")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-warnings" ,perl-test-warnings))) + (propagated-inputs + `(("perl-datetime-locale" ,perl-datetime-locale) + ("perl-datetime-timezone" ,perl-datetime-timezone) + ("perl-params-validate" ,perl-params-validate) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/DateTime") + (synopsis "Date and time object for Perl") + (description "DateTime is a class for the representation of date/time +combinations. It represents the Gregorian calendar, extended backwards in +time before its creation (in 1582).") + (license artistic2.0))) + +(define-public perl-datetime-locale + (package + (name "perl-datetime-locale") + (version "0.45") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "DateTime-Locale-" version ".tar.gz")) + (sha256 + (base32 + "175grkrxiv012n6ch3z1sip4zprcili6m5zqi3njdk5c1gdvi8ca")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-list-moreutils" ,perl-list-moreutils) + ("perl-params-validate" ,perl-params-validate))) + (home-page "http://search.cpan.org/dist/DateTime-Locale") + (synopsis "Localization support for DateTime.pm") + (description "The DateTime::Locale modules provide localization data for +the DateTime.pm class.") + (license (package-license perl)))) + +(define-public perl-datetime-timezone + (package + (name "perl-datetime-timezone") + (version "1.86") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "DateTime-TimeZone-" version ".tar.gz")) + (sha256 + (base32 + "1aj5liy9as7yci2s9cqv9gqna5wggah8yg2jqrc89dnrin25s26z")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-class-singleton" ,perl-class-singleton) + ("perl-list-allutils" ,perl-list-allutils) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-params-validate" ,perl-params-validate) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/DateTime-TimeZone") + (synopsis "Time zone object for Perl") + (description "This class is the base class for all time zone objects. A +time zone is represented internally as a set of observances, each of which +describes the offset from GMT for a given time period. Note that without the +DateTime module, this module does not do much. It's primary interface is +through a DateTime object, and most users will not need to directly use +DateTime::TimeZone methods.") + (license (package-license perl)))) + (define-public perl-devel-caller (package (name "perl-devel-caller") @@ -1963,6 +2086,30 @@ (define-public perl-json-xs versa.") (license (package-license perl)))) +(define-public perl-list-allutils + (package + (name "perl-list-allutils") + (version "0.09") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "List-AllUtils-" version ".tar.gz")) + (sha256 + (base32 + "1qmfpmly0pghc94k6ifnd1vwzlv8nks27qkqs6h4p7vcricn7zjc")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-warnings" ,perl-test-warnings))) + (propagated-inputs + `(("perl-list-moreutils" ,perl-list-moreutils) + ("perl-scalar-list-utils" ,perl-scalar-list-utils))) + (home-page "http://search.cpan.org/dist/List-AllUtils") + (synopsis "Combination of List::Util and List::MoreUtils") + (description "This module exports all of the functions that either +List::Util or List::MoreUtils defines, with preference to List::Util.") + (license (package-license perl)))) + (define-public perl-list-moreutils (package (name "perl-list-moreutils") @@ -2469,6 +2616,28 @@ (define-public perl-moosex-params-validate validation to Moose.") (license (package-license perl)))) +(define-public perl-moosex-relatedclassroles + (package + (name "perl-moosex-relatedclassroles") + (version "0.004") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HD/HDP/" + "MooseX-RelatedClassRoles-" version ".tar.gz")) + (sha256 + (base32 + "17vynkf6m5d039qkr4in1c9lflr8hnwp1fgzdwhj4q6jglipmnrh")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-moose" ,perl-moose) + ("perl-moosex-role-parameterized" ,perl-moosex-role-parameterized))) + (home-page "http://search.cpan.org/dist/MooseX-RelatedClassRoles") + (synopsis "Apply roles to a related Perl class") + (description "This module applies roles to make a subclass instead of +manually setting up a subclass.") + (license (package-license perl)))) + (define-public perl-moosex-role-parameterized (package (name "perl-moosex-role-parameterized") @@ -3108,6 +3277,29 @@ (define-public perl-scope-guard collector.") (license (package-license perl)))) +(define-public perl-spiffy + (package + (name "perl-spiffy") + (version "0.46") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" + "Spiffy-" version ".tar.gz")) + (sha256 + (base32 + "18qxshrjh0ibpzjm2314157mxlibh3smyg64nr4mq990hh564n4g")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Spiffy") + (synopsis "Spiffy Perl Interface Framework For You") + (description "Spiffy is a framework and methodology for doing object +oriented (OO) programming in Perl. Spiffy combines the best parts of +Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class. +It attempts to fix all the nits and warts of traditional Perl OO, in a clean, +straightforward and (perhaps someday) standard way. Spiffy borrows ideas from +other OO languages like Python, Ruby, Java and Perl 6.") + (license (package-license perl)))) + (define-public perl-stream-buffered (package (name "perl-stream-buffered") @@ -3410,6 +3602,32 @@ (define-public perl-template-toolkit documents: HTML, XML, POD, PostScript, LaTeX, and so on.") (license (package-license perl)))) +(define-public perl-test-base + (package + (name "perl-test-base") + (version "0.88") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" + "Test-Base-" version ".tar.gz")) + (sha256 + (base32 + "0fch1cvivnszbnwhpfmwv1rin04j5xkj1n1ylfmlxg6bm72qqdjj")))) + (build-system perl-build-system) + (native-inputs + `(("perl-algorithm-diff" ,perl-algorithm-diff) + ("perl-text-diff" ,perl-text-diff))) + (propagated-inputs + `(("perl-spiffy" ,perl-spiffy) + ("perl-test-deep" ,perl-test-deep))) + (home-page "http://search.cpan.org/dist/Test-Base") + (synopsis "Data-driven testing framework for Perl") + (description "Test::Base gives a way to trivially write your own test +framework base class. It concentrates on offering reusable data driven +patterns, so that you can write tests with a minimum of code.") + (license (package-license perl)))) + (define-public perl-test-cleannamespaces (package (name "perl-test-cleannamespaces") @@ -3874,6 +4092,27 @@ (define-public perl-test-trap from boxed blocks of test code.") (license (package-license perl)))) +(define-public perl-test-utf8 + (package + (name "perl-test-utf8") + (version "1.01") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MA/MARKF/" + "Test-utf8-" version ".tar.gz")) + (sha256 + (base32 + "0yhvf735v334qqvp9zg7i66qyk6r4cbk5s2psv93d3fdd4bindzg")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Test-utf8") + (synopsis "UTF-8 testing in Perl") + (description "This module is a collection of tests useful for dealing with +UTF-8 strings in Perl. This module has two types of tests: The validity tests +check if a string is valid and not corrupt, whereas the characteristics tests +will check that string has a given set of characteristics.") + (license (package-license perl)))) + (define-public perl-test-warn (package (name "perl-test-warn") @@ -3963,6 +4202,27 @@ (define-public perl-test-writevariants generation of tests in nested combinations of contexts.") (license (package-license perl)))) ;See LICENSE +(define-public perl-test-yaml + (package + (name "perl-test-yaml") + (version "1.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" + "Test-YAML-" version ".tar.gz")) + (sha256 + (base32 + "079nayc0fp2fwjv8s2yr069bdffln699j6z3lqr5dpx1v2qg82ck")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-test-base" ,perl-test-base))) + (home-page "http://search.cpan.org/dist/Test-YAML") + (synopsis "Testing module for YAML implementations") + (description "Test::YAML is a subclass of Test::Base with YAML specific +support.") + (license (package-license perl)))) + (define-public perl-text-balanced (package (name "perl-text-balanced") @@ -3982,6 +4242,26 @@ (define-public perl-text-balanced text sequences from strings.") (license (package-license perl)))) +(define-public perl-text-csv + (package + (name "perl-text-csv") + (version "1.33") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MA/MAKAMAKA/" + "Text-CSV-" version ".tar.gz")) + (sha256 + (base32 + "05a1nayxv04n0hx7y3m8327ijm34k9nhngrbxl18zmgzpawqynww")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Text-CSV") + (synopsis "Manipulate comma-separated values") + (description "Text::CSV provides facilities for the composition and +decomposition of comma-separated values. An instance of the Text::CSV class +can combine fields into a CSV string and parse a CSV string into fields.") + (license (package-license perl)))) + (define-public perl-text-diff (package (name "perl-text-diff") @@ -4283,6 +4563,27 @@ (define-public perl-variable-magic having to write a single line of XS.") (license (package-license perl)))) +(define-public perl-yaml + (package + (name "perl-yaml") + (version "1.14") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" + "YAML-" version ".tar.gz")) + (sha256 + (base32 + "0sswbkyisgny7ksw34n7zdaxrhsbbn7dgjb9gjybpzhcnml476kc")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-yaml" ,perl-test-yaml))) + (home-page "http://search.cpan.org/dist/YAML") + (synopsis "YAML for Perl") + (description "The YAML.pm module implements a YAML Loader and Dumper based +on the YAML 1.0 specification.") + (license (package-license perl)))) + (define-public perl-yaml-tiny (package (name "perl-yaml-tiny") diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm index 9ccca5c8b540983052f65cae47e5f9edee0d8ed4..7739c7a2765febb6783b9f9dd21d3f59568fa865 100644 --- a/gnu/packages/popt.scm +++ b/gnu/packages/popt.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,34 @@ (define-module (gnu packages popt) #:use-module (guix build-system gnu) #:use-module (guix licenses)) +(define-public argtable + (package + (name "argtable") + (version "2.13") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/argtable/argtable" + (string-join (string-split version #\.) "-") + ".tar.gz")) + (sha256 + (base32 + "1gyxf4bh9jp5gb3l6g5qy90zzcf3vcpk0irgwbv1lc6mrskyhxwg")))) + (build-system gnu-build-system) + (home-page "http://argtable.sourceforge.net/") + (synopsis "Command line option parsing library") + (description + "Argtable is an ANSI C library for parsing GNU style command line +options. It enables a program's command line syntax to be defined in the +source code as an array of argtable structs. The command line is then parsed +according to that specification and the resulting values are returned in those +same structs where they are accessible to the main program. Both tagged (-v, +--verbose, --foo=bar) and untagged arguments are supported, as are multiple +instances of each argument. Syntax error handling is automatic and the library +also provides the means for generating a textual description of the command +line syntax.") + (license lgpl2.0+))) + (define-public popt (package (name "popt") diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 1576c3dfea42c6c057fe793702cc448eebd06378..81b6537f15dbe5bb643e116d86c82aea004af776 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -144,7 +144,7 @@ (define-public enscript (define-public source-highlight (package (name "source-highlight") - (version "3.1.7") + (version "3.1.8") (source (origin (method url-fetch) @@ -152,11 +152,7 @@ (define-public source-highlight version ".tar.gz")) (sha256 (base32 - "1s49ld8cnpzhhwq0r7s0sfm3cg3nhhm0wla27lwraifrrl3y1cp1")) - (patches - (list (search-patch - ;; Patch submitted as Savannah item #41786 - "source-highlight-regexrange-test.patch"))))) + "18xdalxg7yzrxc1njzgw7aryq2jdm7zq2yqz41sc7k6il5z6lcq1")))) (build-system gnu-build-system) ;; The ctags that comes with emacs does not support the --excmd options, ;; so can't be used diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index d76f74b775bd3ad1e14265a131e54e7bcddd98f4..edf01e59fae1585ac505ece4abe6703ea059e323 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,7 +128,9 @@ (define pulseaudio '(substitute* "src/daemon/default.pa.in" (("load-module module-console-kit" all) (string-append "#" all "\n")))) - (patches (list (search-patch "pulseaudio-fix-mult-test.patch"))))) + (patches + (list (search-patch "pulseaudio-fix-mult-test.patch") + (search-patch "pulseaudio-longer-test-timeout.patch"))))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--localstatedir=/var" ;"--sysconfdir=/etc" diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c5cae6de45e7a7fb2869e037aadd38f605ebd356..59c460af3b4e61832ba9720586f36c933be0c737 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1571,9 +1571,9 @@ (define-public python-certifi (define-public python2-certifi (package-with-python2 python-certifi)) -(define-public python2-requests +(define-public python-requests (package - (name "python2-requests") + (name "python-requests") (version "2.4.0") (source (origin (method url-fetch) @@ -1588,8 +1588,7 @@ (define-public python2-requests (inputs `(("python-setuptools" ,python-setuptools) ("python-certifi" ,python-certifi))) - (arguments `(#:tests? #f ; no tests - #:python ,python-2)) + (arguments `(#:tests? #f)) ; no tests (home-page "http://python-requests.org/") (synopsis "Python HTTP library") (description @@ -1597,6 +1596,9 @@ (define-public python2-requests than Python’s urllib2 library.") (license asl2.0))) +(define-public python2-requests + (package-with-python2 python-requests)) + (define-public python-jsonschema (package (name "python-jsonschema") @@ -2865,6 +2867,37 @@ (define-public python-decorator (define-public python2-decorator (package-with-python2 python-decorator)) +(define-public python-drmaa + (package + (name "python-drmaa") + (version "0.7.6") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/d/drmaa/drmaa-" + version ".tar.gz")) + (sha256 + (base32 "0bzl9f9g34dlhwf09i3fdv7dqqzf2iq0w7d6c2bafx1nlap8qfbh")))) + (build-system python-build-system) + ;; The test suite requires libdrmaa which is provided by the cluster + ;; environment. At runtime the environment variable DRMAA_LIBRARY_PATH + ;; should be set to the path of the libdrmaa library. + (arguments '(#:tests? #f)) + (native-inputs + `(("python-nose" ,python-nose) + ("python-setuptools" ,python-setuptools))) + (home-page "https://pypi.python.org/pypi/drmaa") + (synopsis "Python bindings for the DRMAA library") + (description + "A Python package for Distributed Resource Management (DRM) job +submission and control. This package is an implementation of the DRMAA 1.0 +Python language binding specification.") + (license bsd-3))) + +(define-public python2-drmaa + (package-with-python2 python-drmaa)) + (define-public python-ipython (package (name "python-ipython") @@ -3446,3 +3479,32 @@ (define-public python2-xlib library for Python programs. It is useful to implement low-level X clients. It is written entirely in Python.") (license gpl2+))) + +(define-public python-singledispatch + (package + (name "python-singledispatch") + (version "3.4.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/s/singledispatch/" + "singledispatch-" version ".tar.gz")) + (sha256 + (base32 + "171b7ip0hsq5qm83np40h3phlr36ym18w0lay0a8v08kvy3sy1jv")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page + "http://docs.python.org/3/library/functools.html#functools.singledispatch") + (synopsis "Backport of singledispatch feature from Python 3.4") + (description + "This library brings functools.singledispatch from Python 3.4 to Python +2.6-3.3.") + (license license:expat))) + +(define-public python2-singledispatch + (package-with-python2 python-singledispatch)) diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index f50632885fddf673400434e7ff0477661902c478..e2cb62c62c72d51fd1d5fe3898edbd2546db167e 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -36,15 +36,14 @@ (define-module (gnu packages sawfish) (define-public librep (package (name "librep") - (version "0.92.4") + (version "0.92.5") (source (origin (method url-fetch) (uri (string-append "http://download.tuxfamily.org/" name "/" name "_" version ".tar.xz")) (sha256 (base32 - "0297m24p2y8j3wavf8qqyriic7ls2392cmfn96y0pi83r5qckc25")) - (patches (list (search-patch "librep-rules.mk.patch"))))) + "0zsy5gi8kvz5vq41y5rzm6lfi3dpiwbg4diwb6d30qfi72mrpni2")))) (build-system gnu-build-system) (native-inputs `(("makeinfo" ,texinfo) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b8b9d4bd9c2db1ceb668780e16cbfd2f3fe9809e..661ef913865965d1e7db3badce5bdbaa09a95536 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -21,9 +21,7 @@ (define-module (gnu packages video) #:use-module (ice-9 match) - #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 public-domain - fsf-free isc)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) @@ -68,6 +66,7 @@ (define-module (gnu packages video) #:use-module (gnu packages samba) #:use-module (gnu packages sdl) #:use-module (gnu packages ssh) + #:use-module (gnu packages texinfo) #:use-module (gnu packages texlive) #:use-module (gnu packages textutils) #:use-module (gnu packages version-control) @@ -79,6 +78,44 @@ (define-module (gnu packages video) #:use-module (gnu packages yasm) #:use-module (gnu packages zip)) +(define-public aalib + (package + (name "aalib") + (version "1.4rc5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/aa-project/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv")))) + (build-system gnu-build-system) + (native-inputs + `(("makeinfo" ,texinfo))) + (inputs + `(("ncurses" ,ncurses))) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; This old `configure' script doesn't support + ;; variables passed as arguments. + (let ((out (assoc-ref outputs "out")) + (ncurses (assoc-ref inputs "ncurses"))) + (setenv "CONFIG_SHELL" (which "bash")) + (zero? (system* "./configure" + (string-append "--prefix=" out) + (string-append "--with-ncurses=" + ncurses))))))))) + (home-page "http://aa-project.sourceforge.net/aalib/") + (synopsis "ASCII-art library") + (description + "AA-lib is a low level gfx library which does not require graphics device. +In fact, there is no graphical output possible. AA-lib replaces those +old-fashioned output methods with powerful ascii-art renderer.") + (license license:lgpl2.0+))) + (define-public liba52 (package (name "liba52") @@ -106,7 +143,7 @@ (define-public liba52 (description "liba52 is a library for decoding ATSC A/52 streams. The A/52 standard is used in a variety of applications, including digital television and DVD. It is also known as AC-3.") - (license gpl2+))) + (license license:gpl2+))) (define-public libass (package @@ -134,7 +171,7 @@ (define-public libass (synopsis "Subtitle rendering library for the ASS/SSA format") (description "libass is a subtitle rendering library for the ASS/SSA (Advanced Substation Alpha/SubStation Alpha) subtitle format.") - (license isc))) + (license license:isc))) (define-public libcaca (package @@ -162,7 +199,7 @@ (define-public libcaca pixels, so that it can work on older video cards or text terminals. It supports Unicode, 2048 colors, dithering of color images, and advanced text canvas operations.") - (license (fsf-free "file://COPYING")))) ;WTFPL version 2 + (license (license:fsf-free "file://COPYING")))) ;WTFPL version 2 (define-public libdca (package @@ -181,7 +218,7 @@ (define-public libdca (synopsis "DTS Coherent Acoustics decoder") (description "libdca is a library for decoding DTS Coherent Acoustics streams.") - (license gpl2+))) + (license license:gpl2+))) (define-public libdv (package @@ -204,7 +241,7 @@ (define-public libdv that support the IEEE 1394 (a.k.a. FireWire or i.Link) interface. Libdv was developed according to the official standards for DV video: IEC 61834 and SMPTE 314M.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public libva (package @@ -233,7 +270,7 @@ (define-public libva to enable hardware accelerated video decode/encode at various entry-points (VLD, IDCT, Motion Compensation etc.) for prevailing coding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") - (license expat))) + (license license:expat))) (define-public ffmpeg (package @@ -389,7 +426,7 @@ (define-public ffmpeg (description "FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. It includes the libavcodec audio/video codec library.") - (license gpl2+))) + (license license:gpl2+))) ;; We need this older ffmpeg because vlc-2.1.5 doesn't work with ffmpeg-2.4. (define-public ffmpeg-2.2 @@ -465,7 +502,7 @@ (define-public vlc (description "VLC is a cross-platform multimedia player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various treaming protocols.") - (license gpl2+))) + (license license:gpl2+))) (define-public mplayer (package @@ -553,7 +590,7 @@ (define-public mplayer Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files. One can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") - (license gpl2))) + (license license:gpl2))) ;;; This is not version 2; it's a fork literally named "mplayer2". (define-public mplayer2 @@ -673,7 +710,7 @@ (define-public mplayer2 several areas.") ;; See file Copyright. Most files are gpl2+ or compatible, but talloc.c ;; is under lgpl3+, thus the whole project becomes gpl3+. - (license gpl3+))) + (license license:gpl3+))) (define-public mpv (package @@ -758,7 +795,7 @@ (define-public mpv (description "mpv is a general-purpose audio and video player. It is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more.") - (license gpl2+))) + (license license:gpl2+))) (define-public libvpx (package @@ -810,7 +847,7 @@ (define-public libvpx ("yasm" ,yasm))) (synopsis "VP8/VP9 video codec") (description "libvpx is a codec for the VP8/VP9 video compression format.") - (license bsd-3) + (license license:bsd-3) (home-page "http://www.webmproject.org/"))) (define-public youtube-dl @@ -832,7 +869,7 @@ (define-public youtube-dl (description "youtube-dl is a small command-line program to download videos from YouTube.com and a few more sites.") - (license public-domain))) + (license license:public-domain))) (define-public libbluray (package @@ -860,7 +897,7 @@ (define-public libbluray (description "libbluray is a library designed for Blu-Ray Disc playback for media players, like VLC or MPlayer.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public libdvdread (package @@ -883,7 +920,7 @@ (define-public libdvdread DVDs. It parses IFO files, reads NAV-blocks, and performs CSS authentication and descrambling (if an external libdvdcss library is installed).") - (license gpl2+))) + (license license:gpl2+))) (define-public libdvdnav (package @@ -915,7 +952,7 @@ (define-public libdvdnav additional calls to tell the library of user interaction. The whole DVD virtual machine and internal playback states are completely encapsulated.") - (license gpl2+))) + (license license:gpl2+))) (define-public libdvdnav-4 (package @@ -961,7 +998,7 @@ (define-public libdvdcss (description "libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption.") - (license gpl2+))) + (license license:gpl2+))) (define-public srt2vtt (package @@ -982,7 +1019,7 @@ (define-public srt2vtt (description "srt2vtt converts SubRip formatted subtitles to WebVTT format for use with HTML5 video.") (home-page "http://dthompson.us/pages/software/srt2vtt") - (license gpl3+))) + (license license:gpl3+))) (define-public avidemux (package @@ -1097,7 +1134,7 @@ (define-public avidemux can be automated using projects, job queue and powerful scripting capabilities.") ;; Software with various licenses is included, see License.txt. - (license gpl2+))) + (license license:gpl2+))) (define-public avidemux-2.5 (package (inherit avidemux) @@ -1228,7 +1265,7 @@ (define-public vapoursynth multithreading, generalized colorspaces, per frame properties, and videos with format changes.") ;; As seen from the source files. - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public xvid (package @@ -1261,4 +1298,31 @@ (define-public xvid codec library. It uses ASP features such as b-frames, global and quarter pixel motion compensation, lumi masking, trellis quantization, and H.263, MPEG and custom quantization matrices.") - (license gpl2+))) + (license license:gpl2+))) + +(define-public livestreamer + (package + (name "livestreamer") + (version "1.12.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/chrippa/livestreamer/archive/v" + version ".tar.gz")) + (file-name (string-append "livestreamer-" version ".tar.gz")) + (sha256 + (base32 + "1dhgk8v8q1h3km4g5jc0cmjsxdaa2d456fvdb2wk7hmxmmwbqm9j")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; tests rely on external web servers + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs + `(("python-requests" ,python-requests) + ("python-singledispatch" ,python-singledispatch))) + (synopsis "Internet video stream viewer") + (description "Livestreamer is a command-line utility that extracts streams +from various services and pipes them into a video playing application.") + (home-page "http://livestreamer.io/") + (license license:bsd-2))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index cbf3cb34656b55ee165ab46639029b49749b668d..374642862a94719a8eba42bc1a36d4e02501ed2e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -40,6 +40,7 @@ (define-module (gnu packages web) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) #:use-module (gnu packages openssl) + #:use-module (gnu packages gd) #:use-module (gnu packages gettext) #:use-module (gnu packages icu4c) #:use-module (gnu packages lua) @@ -107,38 +108,51 @@ (define-public nginx (arguments `(#:tests? #f ; no test target #:phases - (alist-cons-before - 'configure 'patch-/bin/sh - (lambda _ - (substitute* "auto/feature" - (("/bin/sh") (which "bash")))) - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((flags - (list (string-append "--prefix=" (assoc-ref outputs "out")) - "--with-http_ssl_module" - "--with-pcre-jit" - "--with-ipv6" - "--with-debug" - ;; Even when not cross-building, we pass the - ;; --crossbuild option to avoid customizing for the - ;; kernel version on the build machine. - ,(let ((system "Linux") ; uname -s - (release "2.6.32") ; uname -r - ;; uname -m - (machine (match (or (%current-target-system) - (%current-system)) - ("x86_64-linux" "x86_64") - ("i686-linux" "i686") - ("mips64el-linux" "mips64")))) - (string-append "--crossbuild=" - system ":" release ":" machine))))) - (setenv "CC" "gcc") - (format #t "environment variable `CC' set to `gcc'~%") - (format #t "configure flags: ~s~%" flags) - (zero? (apply system* "./configure" flags)))) - %standard-phases)))) + (modify-phases %standard-phases + (add-before configure patch-/bin/sh + (lambda _ + (substitute* "auto/feature" + (("/bin/sh") (which "bash"))))) + (replace configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((flags + (list (string-append "--prefix=" (assoc-ref outputs "out")) + "--with-http_ssl_module" + "--with-pcre-jit" + "--with-ipv6" + "--with-debug" + ;; Even when not cross-building, we pass the + ;; --crossbuild option to avoid customizing for the + ;; kernel version on the build machine. + ,(let ((system "Linux") ; uname -s + (release "2.6.32") ; uname -r + ;; uname -m + (machine (match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ("mips64el-linux" "mips64")))) + (string-append "--crossbuild=" + system ":" release ":" machine))))) + (setenv "CC" "gcc") + (format #t "environment variable `CC' set to `gcc'~%") + (format #t "configure flags: ~s~%" flags) + (zero? (apply system* "./configure" flags))))) + (add-after install fix-root-dirs + (lambda* (#:key outputs #:allow-other-keys) + ;; 'make install' puts things in strange places, so we need to + ;; clean it up ourselves. + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/nginx"))) + ;; This directory is empty, so get rid of it. + (rmdir (string-append out "/logs")) + ;; Example configuration and HTML files belong in + ;; /share. + (mkdir-p share) + (rename-file (string-append out "/conf") + (string-append share "/conf")) + (rename-file (string-append out "/html") + (string-append share "/html")))))))) (home-page "http://nginx.org") (synopsis "HTTP and reverse proxy server") (description @@ -648,6 +662,36 @@ (define-public perl-catalyst-devel modules.") (license (package-license perl)))) +(define-public perl-catalyst-dispatchtype-regex + (package + (name "perl-catalyst-dispatchtype-regex") + (version "5.90035") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MG/MGRIMES/" + "Catalyst-DispatchType-Regex-" version ".tar.gz")) + (sha256 + (base32 + "06jq1lmpq88rmp9zik5gqczg234xac0hiyc3l698iif7zsgcyb80")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) ;needs Module::Build >= 0.4004 + ("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-catalyst-runtime" ,perl-catalyst-runtime))) + (propagated-inputs + `(("perl-moose" ,perl-moose) + ("perl-text-simpletable" ,perl-text-simpletable))) + (home-page "http://search.cpan.org/dist/Catalyst-DispatchType-Regex") + (synopsis "Regex DispatchType for Catalyst") + (description "Dispatch type managing path-matching behaviour using +regexes. Regex dispatch types have been deprecated and removed from Catalyst +core. It is recommend that you use Chained methods or other techniques +instead. As part of the refactoring, the dispatch priority of Regex vs Regexp +vs LocalRegex vs LocalRegexp may have changed. Priority is now influenced by +when the dispatch type is first seen in your application.") + (license (package-license perl)))) + (define-public perl-catalyst-model-dbic-schema (package (name "perl-catalyst-model-dbic-schema") @@ -693,6 +737,32 @@ (define-public perl-catalyst-model-dbic-schema Models.") (license (package-license perl)))) +(define-public perl-catalyst-plugin-accesslog + (package + (name "perl-catalyst-plugin-accesslog") + (version "1.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AR/ARODLAND/" + "Catalyst-Plugin-AccessLog-" version ".tar.gz")) + (sha256 + (base32 + "0hqvckaw91q5yc25a33bp0d4qqxlgkp7rxlvi8n8svxd1406r55s")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-datetime" ,perl-datetime) + ("perl-moose" ,perl-moose) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (arguments `(#:tests? #f)) ;Unexpected http responses + (home-page "http://search.cpan.org/dist/Catalyst-Plugin-AccessLog") + (synopsis "Request logging from within Catalyst") + (description "This Catalyst plugin enables you to create \"access logs\" +from within a Catalyst application instead of requiring a webserver to do it +for you. It will work even with Catalyst debug logging turned off.") + (license (package-license perl)))) + (define-public perl-catalyst-plugin-authentication (package (name "perl-catalyst-plugin-authentication") @@ -727,6 +797,30 @@ (define-public perl-catalyst-plugin-authentication system authorises them to do).") (license (package-license perl)))) +(define-public perl-catalyst-plugin-captcha + (package + (name "perl-catalyst-plugin-captcha") + (version "0.04") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DI/DIEGOK/" + "Catalyst-Plugin-Captcha-" version ".tar.gz")) + (sha256 + (base32 + "0llyj3v5nx9cx46jdbbvxf1lc9s9cxq5ml22xmx3wkb201r5qgaa")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session) + ("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-gd-securityimage" ,perl-gd-securityimage) + ("perl-http-date" ,perl-http-date))) + (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Captcha") + (synopsis "Captchas for Catalyst") + (description "This plugin creates and validates Captcha images for +Catalyst.") + (license (package-license perl)))) + (define-public perl-catalyst-plugin-configloader (package (name "perl-catalyst-plugin-configloader") @@ -785,6 +879,90 @@ (define-public perl-catalyst-plugin-session management in web applications together: the state, and the store.") (license (package-license perl)))) +(define-public perl-catalyst-plugin-session-state-cookie + (package + (name "perl-catalyst-plugin-session-state-cookie") + (version "0.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MS/MSTROUT/" + "Catalyst-Plugin-Session-State-Cookie-" + version ".tar.gz")) + (sha256 + (base32 + "1rvxbfnpf9x2pc2zgpazlcgdlr2dijmxgmcs0m5nazs0w6xikssb")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session) + ("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-moose" ,perl-moose) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (home-page + "http://search.cpan.org/dist/Catalyst-Plugin-Session-State-Cookie") + (synopsis "Maintain session IDs using cookies") + (description "In order for Catalyst::Plugin::Session to work, the session +ID needs to be stored on the client, and the session data needs to be stored +on the server. This plugin stores the session ID on the client using the +cookie mechanism.") + (license (package-license perl)))) + +(define-public perl-catalyst-plugin-session-store-fastmmap + (package + (name "perl-catalyst-plugin-session-store-fastmmap") + (version "0.16") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/" + "Catalyst-Plugin-Session-Store-FastMmap-" + version ".tar.gz")) + (sha256 + (base32 + "0x3j6zv3wr41jlwr6yb2jpmcx019ibyn11y8653ffnwhpzbpzsxs")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-cache-fastmmap" ,perl-cache-fastmmap) + ("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session) + ("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-moosex-emulate-class-accessor-fast" + ,perl-moosex-emulate-class-accessor-fast) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-path-class" ,perl-path-class))) + (home-page + "http://search.cpan.org/dist/Catalyst-Plugin-Session-Store-FastMmap") + (synopsis "FastMmap session storage backend.") + (description "Catalyst::Plugin::Session::Store::FastMmap is a fast session +storage plugin for Catalyst that uses an mmap'ed file to act as a shared +memory interprocess cache. It is based on Cache::FastMmap.") + (license (package-license perl)))) + +(define-public perl-catalyst-plugin-stacktrace + (package + (name "perl-catalyst-plugin-stacktrace") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/" + "Catalyst-Plugin-StackTrace-" version ".tar.gz")) + (sha256 + (base32 + "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-devel-stacktrace" ,perl-devel-stacktrace) + ("perl-mro-compat" ,perl-mro-compat))) + (home-page "http://search.cpan.org/dist/Catalyst-Plugin-StackTrace") + (synopsis "Stack trace on the Catalyst debug screen") + (description "This plugin enhances the standard Catalyst debug screen by +including a stack trace of your appliation up to the point where the error +occurred. Each stack frame is displayed along with the package name, line +number, file name, and code context surrounding the line number.") + (license (package-license perl)))) + (define-public perl-catalyst-plugin-static-simple (package (name "perl-catalyst-plugin-static-simple") @@ -879,6 +1057,88 @@ (define-public perl-catalyst-runtime \"plug in\" existing Perl modules that do what you need.") (license (package-license perl)))) +(define-public perl-catalyst-traitfor-request-proxybase + (package + (name "perl-catalyst-traitfor-request-proxybase") + (version "0.000005") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/" + "Catalyst-TraitFor-Request-ProxyBase-" + version ".tar.gz")) + (sha256 + (base32 + "02kir63d5cs2ipj3fn1qlmmx3gqi1xqzrxfr4pv5vjhjgsm0zgx7")))) + (build-system perl-build-system) + (native-inputs + `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-catalystx-roleapplicator" ,perl-catalystx-roleapplicator) + ("perl-http-message" ,perl-http-message))) + (propagated-inputs + `(("perl-moose" ,perl-moose) + ("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-uri" ,perl-uri))) + (home-page + "http://search.cpan.org/dist/Catalyst-TraitFor-Request-ProxyBase") + (synopsis "Replace request base with value passed by HTTP proxy") + (description "This module is a Moose::Role which allows you more +flexibility in your application's deployment configurations when deployed +behind a proxy. Using this module, the request base ($c->req->base) is +replaced with the contents of the X-Request-Base header.") + (license (package-license perl)))) + +(define-public perl-catalyst-view-download + (package + (name "perl-catalyst-view-download") + (version "0.09") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GA/GAUDEON/" + "Catalyst-View-Download-" version ".tar.gz")) + (sha256 + (base32 + "1qgq6y9iwfbhbkbgpw9czang2ami6z8jk1zlagrzdisy4igqzkvs")))) + (build-system perl-build-system) + (native-inputs + `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-test-simple" ,perl-test-simple) + ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst) + ("perl-text-csv" ,perl-text-csv) + ("perl-xml-simple" ,perl-xml-simple))) + (home-page "http://search.cpan.org/dist/Catalyst-View-Download") + (synopsis "Download data in many formats") + (description "The purpose of this module is to provide a method for +downloading data into many supportable formats. For example, downloading a +table based report in a variety of formats (CSV, HTML, etc.). ") + (license (package-license perl)))) + +(define-public perl-catalyst-view-json + (package + (name "perl-catalyst-view-json") + (version "0.35") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/" + "Catalyst-View-JSON-" version ".tar.gz")) + (sha256 + (base32 + "184pyghlrkl7p387bnyvswi2d9myvdg4v3lax6xrd59shskvpmkm")))) + (build-system perl-build-system) + (native-inputs + `(("perl-yaml" ,perl-yaml))) + (inputs + `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-json-maybexs" ,perl-json-maybexs) + ("perl-mro-compat" ,perl-mro-compat))) + (home-page "http://search.cpan.org/dist/Catalyst-View-JSON") + (synopsis "Catalyst JSON view") + (description "Catalyst::View::JSON is a Catalyst View handler that returns +stash data in JSON format.") + (license (package-license perl)))) + (define-public perl-catalystx-component-traits (package (name "perl-catalystx-component-traits") @@ -912,6 +1172,29 @@ (define-public perl-catalystx-component-traits MooseX::Traits::Pluggable.") (license (package-license perl)))) +(define-public perl-catalystx-roleapplicator + (package + (name "perl-catalystx-roleapplicator") + (version "0.005") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HD/HDP/" + "CatalystX-RoleApplicator-" version ".tar.gz")) + (sha256 + (base32 + "0vwaapxn8g5hs2xp63c4dwv9jmapmji4272fakssvgc9frklg3p2")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-moose" ,perl-moose) + ("perl-moosex-relatedclassroles" ,perl-moosex-relatedclassroles))) + (home-page "http://search.cpan.org/dist/CatalystX-RoleApplicator") + (synopsis "Apply roles to Catalyst classes") + (description "CatalystX::RoleApplicator applies roles to Catalyst +application classes.") + (license (package-license perl)))) + (define-public perl-cgi-simple (package (name "perl-cgi-simple") @@ -1725,6 +2008,41 @@ (define-public perl-test-www-mechanize WWW::Mechanize that incorporates features for web application testing.") (license l:artistic2.0))) +(define-public perl-test-www-mechanize-catalyst + (package + (name "perl-test-www-mechanize-catalyst") + (version "0.60") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/" + "Test-WWW-Mechanize-Catalyst-" version ".tar.gz")) + (sha256 + (base32 + "0nhhfrrai3ndziz873vpa1j0vljjnib4wqafd6yyvkf58ad7v0lv")))) + (build-system perl-build-system) + (native-inputs + `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session) + ("perl-catalyst-plugin-session-state-cookie" + ,perl-catalyst-plugin-session-state-cookie) + ("perl-test-exception" ,perl-test-exception) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-utf8" ,perl-test-utf8))) + (propagated-inputs + `(("perl-catalyst-runtime" ,perl-catalyst-runtime) + ("perl-class-load" ,perl-class-load) + ("perl-libwww" ,perl-libwww) + ("perl-moose" ,perl-moose) + ("perl-namespace-clean" ,perl-namespace-clean) + ("perl-test-www-mechanize" ,perl-test-www-mechanize) + ("perl-www-mechanize" ,perl-www-mechanize))) + (home-page "http://search.cpan.org/dist/Test-WWW-Mechanize-Catalyst") + (synopsis "Test::WWW::Mechanize for Catalyst") + (description "The Test::WWW::Mechanize::Catalyst module meshes the +Test::WWW:Mechanize module and the Catalyst web application framework to allow +testing of Catalyst applications without needing to start up a web server.") + (license (package-license perl)))) + (define-public perl-test-www-mechanize-psgi (package (name "perl-test-www-mechanize-psgi") diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index f182270aea9a4b1da4be1f6aab7601e6b1ada78d..dff76cacf50aee2f0a3aba8ad2489ce20a70b690 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -27,10 +27,12 @@ (define-module (gnu packages xiph) #:use-module (gnu packages curl) #:use-module (gnu packages doxygen) #:use-module (gnu packages image) + #:use-module (gnu packages openssl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages linux) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -338,3 +340,63 @@ (define opus-tools decoding .opus files") (license license:bsd-3) (home-page "http://www.opus-codec.org"))) + +(define-public icecast + (package + (name "icecast") + (version "2.4.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.xiph.org/releases/icecast/icecast-" + version ".tar.gz")) + (sha256 + (base32 + "0js5lylrgklhvvaksx46zc8lc975qb1bns8h1ms545nv071rxy23")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libxslt" ,libxslt) + ("libxml2" ,libxml2) + ("openssl" ,openssl) + ("curl" ,curl) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) + ("libtheora" ,libtheora) + ("speex" ,speex))) + (synopsis "Streaming media server") + (description "Icecast is a streaming media server which currently supports +Ogg (Vorbis and Theora), Opus, WebM and MP3 audio streams. It can be used to +create an Internet radio station or a privately running jukebox and many +things in between.") + (home-page "http://icecast.org/") + (license license:gpl2))) + +(define-public libshout + (package + (name "libshout") + (version "2.3.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.xiph.org/releases/libshout/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "0vlj4dxfxg06xhvv0z2zjjlrjh5di2m28w7v16zcygsy99mmyg6g")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + ;; shout.pc refers to all these. + `(("libtheora" ,libtheora) + ("libvorbis" ,libvorbis) + ("speex" ,speex))) + (home-page "http://www.icecast.org/") + (synopsis "Audio streaming library for icecast encoders") + (description + "Libshout is a library for communicating with and sending data to an +icecast server. It handles the socket connection, the timing of the data, +and prevents bad data from getting to the icecast server.") + (license license:gpl2+))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index cfb4cc16434e68178d95904b704f6decfbc8aeee..998f0803fcf04ecdb7886426f00320d280cf5fb1 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2932,7 +2932,8 @@ (define-public xf86-video-sis (sha256 (base32 "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy")) - (patches (list (search-patch "xf86-video-sis-update-api.patch"))))) + (patches (list (search-patch "xf86-video-sis-update-api.patch") + (search-patch "xf86-video-sis-fix-exa-crash.patch"))))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) ("xf86dgaproto" ,xf86dgaproto) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 24e6d323595f3a8add6a16f216ec982f35dccce4..cd1ba0b7b907dca456a9629b97cacd0add6026d1 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -526,8 +526,10 @@ (define* (nscd-service #:optional (config %nscd-default-configuration) (respawn? #f))))) -(define (syslog-service) - "Return a service that runs @code{syslogd} with reasonable default settings." +(define* (syslog-service #:key config-file) + "Return a service that runs @code{syslogd}. +If configuration file name @var{config-file} is not specified, use some +reasonable default settings." ;; Snippet adapted from the GNU inetutils manual. (define contents " @@ -561,7 +563,7 @@ (define contents " (start #~(make-forkexec-constructor (list (string-append #$inetutils "/libexec/syslogd") - "--no-detach" "--rcfile" #$syslog.conf))) + "--no-detach" "--rcfile" #$(or config-file syslog.conf)))) (stop #~(make-kill-destructor)))))) (define* (guix-build-accounts count #:key diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 9537958df7a32d86104f4fdba916da60b696ea84..e2f85421e9df4dfca7a189675c16e05f4ba9bd18 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -86,7 +86,7 @@ (define* (lsh-service #:key (tcp/ip-forwarding? #t) (password-authentication? #t) (public-key-authentication? #t) - initialize?) + (initialize? #t)) "Run the @command{lshd} program from @var{lsh} to listen on port @var{port-number}. @var{host-key} must designate a file containing the host key, and readable only by root. diff --git a/gnu/system.scm b/gnu/system.scm index 0d510b623b1ef65557bf5c5c69d9530edfab6751..ece61adb2b8abad740caef766c32a0e768f88c3b 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -737,6 +737,7 @@ (define make-initrd (operating-system-initrd os)) (mlet %store-monad ((initrd (make-initrd boot-file-systems + #:linux (operating-system-kernel os) #:mapped-devices mapped-devices))) (return #~(string-append #$initrd "/initrd")))) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 9feb8f73e62550aa1b728cfd1cfc2775d8eacc7b..83685adcbc9e4c41cbc40130e2d2389f5e1ea1af 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -143,20 +143,22 @@ (define (file-system->spec fs) (define* (base-initrd file-systems #:key + (linux linux-libre) (mapped-devices '()) qemu-networking? - virtio? + (virtio? #t) volatile-root? (extra-modules '())) - "Return a monadic derivation that builds a generic initrd. FILE-SYSTEMS is -a list of file-systems to be mounted by the initrd, possibly in addition to -the root file system specified on the kernel command line via '--root'. -MAPPED-DEVICES is a list of device mappings to realize before FILE-SYSTEMS are -mounted. + "Return a monadic derivation that builds a generic initrd, with kernel +modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be +mounted by the initrd, possibly in addition to the root file system specified +on the kernel command line via '--root'. MAPPED-DEVICES is a list of device +mappings to realize before FILE-SYSTEMS are mounted. When QEMU-NETWORKING? is true, set up networking with the standard QEMU parameters. When VIRTIO? is true, load additional modules so the initrd can -be used as a QEMU guest with para-virtualized I/O drivers. +be used as a QEMU guest with the root file system on a para-virtualized block +device. When VOLATILE-ROOT? is true, the root file system is writable but any changes to it are lost. @@ -224,7 +226,7 @@ (define device-mapping-commands (open source target))) mapped-devices)) - (mlet %store-monad ((kodir (flat-linux-module-directory linux-libre + (mlet %store-monad ((kodir (flat-linux-module-directory linux linux-modules))) (expression->initrd #~(begin diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index c93e26d65f37de703b1410c074b380542073c986..e194ed6cf1866119743fe7e51c2471488d0db07a 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -149,6 +149,7 @@ (define* (expression->derivation-in-linux-vm name exp (initrd (if initrd ; use the default initrd? (return initrd) (base-initrd %linux-vm-file-systems + #:linux linux #:virtio? #t #:qemu-networking? #t)))) diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm new file mode 100644 index 0000000000000000000000000000000000000000..79faa5a09e0a13fe8a17654cd03ce89c5d70df28 --- /dev/null +++ b/guix/build-system/haskell.scm @@ -0,0 +1,135 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> +;;; +;;; 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 (guix build-system haskell) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix derivations) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (ice-9 match) + #:use-module (srfi srfi-26) + #:export (haskell-build + haskell-build-system)) + +;; Commentary: +;; +;; Standard build procedure for Haskell packages using 'Setup.hs'. This is +;; implemented as an extension of 'gnu-build-system'. +;; +;; Code: + +(define (default-haskell) + "Return the default Haskell package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((haskell (resolve-interface '(gnu packages haskell)))) + (module-ref haskell 'ghc))) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (haskell (default-haskell)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:target #:haskell #:inputs #:native-inputs)) + + (and (not target) ;XXX: no cross-compilation + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (build-inputs `(("haskell" ,haskell) + ,@native-inputs)) + (outputs outputs) + (build haskell-build) + (arguments (strip-keyword-arguments private-keywords arguments))))) + +(define* (haskell-build store name inputs + #:key source + (haddock? #t) + (haddock-flags ''()) + (tests? #t) + (test-target "test") + (configure-flags ''()) + (phases '(@ (guix build haskell-build-system) + %standard-phases)) + (outputs '("out")) + (search-paths '()) + (system (%current-system)) + (guile #f) + (imported-modules '((guix build haskell-build-system) + (guix build gnu-build-system) + (guix build utils))) + (modules '((guix build haskell-build-system) + (guix build utils)))) + "Build SOURCE using HASKELL, and with INPUTS. This assumes that SOURCE +provides a 'Setup.hs' file as its build system." + (define builder + `(begin + (use-modules ,@modules) + (haskell-build #:name ,name + #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:configure-flags ,configure-flags + #:haddock-flags ,haddock-flags + #:system ,system + #:test-target ,test-target + #:tests? ,tests? + #:haddock? ,haddock? + #:phases ,phases + #:outputs %outputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:inputs %build-inputs))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:inputs inputs + #:system system + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define haskell-build-system + (build-system + (name 'haskell) + (description "The standard Haskell build system") + (lower lower))) + +;;; haskell.scm ends here diff --git a/guix/build/glib-or-gtk-build-system.scm b/guix/build/glib-or-gtk-build-system.scm index 9c0104365daf1232fb5f0c6d7f2bfb81678904b2..15d7de2236ad5e640e01c82bd5bcf47d9e0430cd 100644 --- a/guix/build/glib-or-gtk-build-system.scm +++ b/guix/build/glib-or-gtk-build-system.scm @@ -140,7 +140,9 @@ (define handle-output ((output . directory) (unless (member output glib-or-gtk-wrap-excluded-outputs) (let* ((bindir (string-append directory "/bin")) - (bin-list (find-files bindir ".*")) + (libexecdir (string-append directory "/libexec")) + (bin-list (append (find-files bindir ".*") + (find-files libexecdir ".*"))) (datadirs (data-directories (alist-cons output directory inputs))) (gtk-mod-dirs (gtk-module-directories diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm new file mode 100644 index 0000000000000000000000000000000000000000..52b9c79d2f1915ae3aea93b5802c93992305998e --- /dev/null +++ b/guix/build/haskell-build-system.scm @@ -0,0 +1,220 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> +;;; +;;; 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 (guix build haskell-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 regex) + #:use-module (ice-9 match) + #:export (%standard-phases + haskell-build)) + +;; Commentary: +;; +;; Builder-side code of the standard Haskell package build procedure. +;; +;; The Haskell compiler, to find libraries, relies on a library database with +;; a binary cache. For GHC the cache has to be named 'package.cache'. If every +;; library would generate the cache at build time, then they would clash in +;; profiles. For this reason we do not generate the cache when we generate +;; libraries substitutes. Instead: +;; +;; - At build time we use the 'setup-compiler' phase to generate a temporary +;; library database and its cache. +;; +;; - We generate the cache when a profile is created. +;; +;; Code: + +;; Directory where we create the temporary libraries database with its cache +;; as required by the compiler. +(define %tmp-db-dir + (string-append (or (getenv "TMP") "/tmp") + "/package.conf.d")) + +(define (run-setuphs command params) + (let ((setup-file (cond + ((file-exists? "Setup.hs") + "Setup.hs") + ((file-exists? "Setup.lhs") + "Setup.lhs") + (else + #f)))) + (if setup-file + (begin + (format #t "running \"runhaskell Setup.hs\" with command ~s \ +and parameters ~s~%" + command params) + (zero? (apply system* "runhaskell" setup-file command params))) + (error "no Setup.hs nor Setup.lhs found")))) + +(define* (configure #:key outputs inputs tests? (configure-flags '()) + #:allow-other-keys) + "Configure a given Haskell package." + (let* ((out (assoc-ref outputs "out")) + (input-dirs (match inputs + (((_ . dir) ...) + dir) + (_ '()))) + (params (append `(,(string-append "--prefix=" out)) + `(,(string-append + "--docdir=" out "/share/doc/" + (package-name-version out))) + `(,(string-append "--package-db=" %tmp-db-dir)) + '("--global") + `(,(string-append + "--extra-include-dirs=" + (list->search-path-as-string + (search-path-as-list '("include") input-dirs) + ":"))) + `(,(string-append + "--extra-lib-dirs=" + (list->search-path-as-string + (search-path-as-list '("lib") input-dirs) + ":"))) + (if tests? + '("--enable-tests") + '()) + configure-flags))) + (run-setuphs "configure" params))) + +(define* (build #:rest empty) + "Build a given Haskell package." + (run-setuphs "build" '())) + +(define* (install #:rest empty) + "Install a given Haskell package." + (run-setuphs "copy" '())) + +(define (package-name-version store-dir) + "Given a store directory STORE-DIR return 'name-version' of the package." + (let* ((base (basename store-dir))) + (string-drop base + (+ 1 (string-index base #\-))))) + +(define (grep rx port) + "Given a regular-expression RX including a group, read from PORT until the +first match and return the content of the group." + (let ((line (read-line port))) + (if (eof-object? line) + #f + (let ((rx-result (regexp-exec rx line))) + (if rx-result + (match:substring rx-result 1) + (grep rx port)))))) + +(define* (setup-compiler #:key system inputs outputs #:allow-other-keys) + "Setup the compiler environment." + (let* ((haskell (assoc-ref inputs "haskell")) + (name-version (package-name-version haskell))) + (cond + ((string-match "ghc" name-version) + (make-ghc-package-database system inputs outputs)) + (else + (format #t + "Compiler ~a not supported~%" name-version))))) + +(define (make-ghc-package-database system inputs outputs) + "Generate the GHC package database." + (let* ((haskell (assoc-ref inputs "haskell")) + (input-dirs (match inputs + (((_ . dir) ...) + dir) + (_ '()))) + (conf-dirs (search-path-as-list + `(,(string-append "lib/" system "-" + (package-name-version haskell) + "/package.conf.d")) + input-dirs)) + (conf-files (append-map (cut find-files <> "\\.conf$") conf-dirs))) + (mkdir-p %tmp-db-dir) + (for-each (lambda (file) + (copy-file file + (string-append %tmp-db-dir "/" (basename file)))) + conf-files) + (zero? (system* "ghc-pkg" + (string-append "--package-db=" %tmp-db-dir) + "recache")))) + +(define* (register #:key name system inputs outputs #:allow-other-keys) + "Generate the compiler registration file for a given Haskell package. Don't +generate the cache as it would clash in user profiles." + (let* ((out (assoc-ref outputs "out")) + (haskell (assoc-ref inputs "haskell")) + (lib (string-append out "/lib")) + (config-dir (string-append lib "/" system + "-" (package-name-version haskell) + "/package.conf.d")) + (id-rx (make-regexp "^id: *(.*)$")) + (lib-rx (make-regexp "lib.*\\.(a|so)")) + (config-file (string-append config-dir "/" name ".conf")) + (params + (list (string-append "--gen-pkg-config=" config-file)))) + (unless (null? (find-files lib lib-rx)) + (mkdir-p config-dir) + (run-setuphs "register" params) + (let ((config-file-name+id + (call-with-ascii-input-file config-file (cut grep id-rx <>)))) + (rename-file config-file + (string-append config-dir "/" config-file-name+id + ".conf")))) + #t)) + +(define* (check #:key tests? test-target #:allow-other-keys) + "Run the test suite of a given Haskell package." + (if tests? + (run-setuphs test-target '()) + (begin + (format #t "test suite not run~%") + #t))) + +(define* (haddock #:key outputs haddock? haddock-flags #:allow-other-keys) + "Run the test suite of a given Haskell package." + (if haddock? + (let* ((out (assoc-ref outputs "out")) + (doc-src (string-append (getcwd) "/dist/doc")) + (doc-dest (string-append out "/share/doc/" + (package-name-version out)))) + (if (run-setuphs "haddock" haddock-flags) + (begin + (copy-recursively doc-src doc-dest) + #t) + #f)) + #t)) + +(define %standard-phases + (modify-phases gnu:%standard-phases + (add-before configure setup-compiler setup-compiler) + (add-after install haddock haddock) + (add-after install register register) + (replace install install) + (replace check check) + (replace build build) + (replace configure configure))) + +(define* (haskell-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given Haskell package, applying all of PHASES in order." + (apply gnu:gnu-build + #:inputs inputs #:phases phases + args)) + +;;; haskell-build-system.scm ends here diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 3cc7ae760f59e06ff8fef9ac2ca6e29d87b0765d..6190f3286d9bf83b769964a98e81e4987321966e 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -232,6 +232,41 @@ (define generation-ctime-alist filter-by-duration) (else #f))) +(define (delete-matching-generations store profile pattern) + "Delete from PROFILE all the generations matching PATTERN. PATTERN must be +a string denoting a set of generations: the empty list means \"all generations +but the current one\", a number designates a generation, and other patterns +denote ranges as interpreted by 'matching-derivations'." + (let ((current (generation-number profile))) + (cond ((not (file-exists? profile)) ; XXX: race condition + (raise (condition (&profile-not-found-error + (profile profile))))) + ((string-null? pattern) + (delete-generations (%store) profile + (delv current (profile-generations profile)))) + ;; Do not delete the zeroth generation. + ((equal? 0 (string->number pattern)) + #t) + + ;; If PATTERN is a duration, match generations that are + ;; older than the specified duration. + ((matching-generations pattern profile + #:duration-relation >) + => + (lambda (numbers) + (when (memv current numbers) + (warning (_ "not removing generation ~a, which is current~%") + current)) + + ;; Make sure we don't inadvertently remove the current + ;; generation. + (let ((numbers (delv current numbers))) + (when (null-list? numbers) + (leave (_ "no matching generation~%"))) + (delete-generations (%store) profile numbers)))) + (else + (leave (_ "invalid syntax: ~a~%") pattern))))) + ;;; ;;; Package specifications. @@ -751,9 +786,6 @@ (define (process-actions opts) (define dry-run? (assoc-ref opts 'dry-run?)) (define profile (assoc-ref opts 'profile)) - (define current-generation-number - (generation-number profile)) - ;; First roll back if asked to. (cond ((and (assoc-ref opts 'roll-back?) (not dry-run?)) @@ -782,30 +814,7 @@ (define current-generation-number (for-each (match-lambda (('delete-generations . pattern) - (cond ((not (file-exists? profile)) ; XXX: race condition - (raise (condition (&profile-not-found-error - (profile profile))))) - ((string-null? pattern) - (delete-generations - (%store) profile - (delete current-generation-number - (profile-generations profile)))) - ;; Do not delete the zeroth generation. - ((equal? 0 (string->number pattern)) - (exit 0)) - - ;; If PATTERN is a duration, match generations that are - ;; older than the specified duration. - ((matching-generations pattern profile - #:duration-relation >) - => - (lambda (numbers) - (if (null-list? numbers) - (exit 1) - (delete-generations (%store) profile numbers)))) - (else - (leave (_ "invalid syntax: ~a~%") - pattern))) + (delete-matching-generations (%store) profile pattern) (process-actions (alist-delete 'delete-generations opts))) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm new file mode 100644 index 0000000000000000000000000000000000000000..c7c66fefbeac44260476356330047769f962b5f3 --- /dev/null +++ b/guix/scripts/publish.scm @@ -0,0 +1,243 @@ +;;; 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 (guix scripts publish) + #:use-module ((system repl server) #:prefix repl:) + #:use-module (ice-9 binary-ports) + #:use-module (ice-9 format) + #:use-module (ice-9 match) + #:use-module (ice-9 regex) + #:use-module (rnrs io ports) + #:use-module (rnrs bytevectors) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-2) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-37) + #:use-module (web http) + #:use-module (web request) + #:use-module (web response) + #:use-module (web server) + #:use-module (web uri) + #:use-module (guix base32) + #:use-module (guix base64) + #:use-module (guix config) + #:use-module (guix derivations) + #:use-module (guix hash) + #:use-module (guix pki) + #:use-module (guix pk-crypto) + #:use-module (guix store) + #:use-module (guix serialization) + #:use-module (guix ui) + #:export (guix-publish)) + +(define (show-help) + (format #t (_ "Usage: guix publish [OPTION]... +Publish ~a over HTTP.\n") %store-directory) + (display (_ " + -p, --port=PORT listen on PORT")) + (display (_ " + -r, --repl[=PORT] spawn REPL server on PORT")) + (newline) + (display (_ " + -h, --help display this help and exit")) + (display (_ " + -V, --version display version information and exit")) + (newline) + (show-bug-report-information)) + +(define %options + (list (option '(#\h "help") #f #f + (lambda _ + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda _ + (show-version-and-exit "guix publish"))) + (option '(#\p "port") #t #f + (lambda (opt name arg result) + (alist-cons 'port (string->number* arg) result))) + (option '(#\r "repl") #f #t + (lambda (opt name arg result) + ;; If port unspecified, use default Guile REPL port. + (let ((port (and arg (string->number* arg)))) + (alist-cons 'repl (or port 37146) result)))))) + +(define %default-options + '((port . 8080) + (repl . #f))) + +(define (lazy-read-file-sexp file) + "Return a promise to read the canonical sexp from FILE." + (delay + (call-with-input-file file + (compose string->canonical-sexp + get-string-all)))) + +(define %private-key + (lazy-read-file-sexp %private-key-file)) + +(define %public-key + (lazy-read-file-sexp %public-key-file)) + +(define %nix-cache-info + `(("StoreDir" . ,%store-directory) + ("WantMassQuery" . 0) + ("Priority" . 100))) + +(define (load-derivation file) + "Read the derivation from FILE." + (call-with-input-file file read-derivation)) + +(define (signed-string s) + "Sign the hash of the string S with the daemon's key." + (let* ((public-key (force %public-key)) + (hash (bytevector->hash-data (sha256 (string->utf8 s)) + #:key-type (key-type public-key)))) + (signature-sexp hash (force %private-key) public-key))) + +(define base64-encode-string + (compose base64-encode string->utf8)) + +(define (narinfo-string store-path path-info key) + "Generate a narinfo key/value string for STORE-PATH using the details in +PATH-INFO. The narinfo is signed with KEY." + (let* ((url (string-append "nar/" (basename store-path))) + (hash (bytevector->base32-string + (path-info-hash path-info))) + (size (path-info-nar-size path-info)) + (references (string-join + (map basename (path-info-references path-info)) + " ")) + (deriver (path-info-deriver path-info)) + (base-info (format #f + "StorePath: ~a +URL: ~a +Compression: none +NarHash: sha256:~a +NarSize: ~d +References: ~a~%" + store-path url hash size references)) + ;; Do not render a "Deriver" or "System" line if we are rendering + ;; info for a derivation. + (info (if (string-null? deriver) + base-info + (let ((drv (load-derivation deriver))) + (format #f "~aSystem: ~a~%Deriver: ~a~%" + base-info (derivation-system drv) + (basename deriver))))) + (signature (base64-encode-string + (canonical-sexp->string (signed-string info))))) + (format #f "~aSignature: 1;~a;~a~%" info (gethostname) signature))) + +(define (not-found request) + "Render 404 response for REQUEST." + (values (build-response #:code 404) + (string-append "Resource not found: " + (uri-path (request-uri request))))) + +(define (render-nix-cache-info) + "Render server information." + (values '((content-type . (text/plain))) + (lambda (port) + (for-each (match-lambda + ((key . value) + (format port "~a: ~a~%" key value))) + %nix-cache-info)))) + +(define (render-narinfo store request hash) + "Render metadata for the store path corresponding to HASH." + (let* ((store-path (hash-part->path store hash)) + (path-info (and (not (string-null? store-path)) + (query-path-info store store-path)))) + (if path-info + (values '((content-type . (application/x-nix-narinfo))) + (cut display + (narinfo-string store-path path-info (force %private-key)) + <>)) + (not-found request)))) + +(define (render-nar request store-item) + "Render archive of the store path corresponding to STORE-ITEM." + (let ((store-path (string-append %store-directory "/" store-item))) + ;; The ISO-8859-1 charset *must* be used otherwise HTTP clients will + ;; interpret the byte stream as UTF-8 and arbitrarily change invalid byte + ;; sequences. + (if (file-exists? store-path) + (values '((content-type . (application/x-nix-archive + (charset . "ISO-8859-1")))) + (lambda (port) + (write-file store-path port))) + (not-found request)))) + +(define extract-narinfo-hash + (let ((regexp (make-regexp "^([a-df-np-sv-z0-9]{32}).narinfo$"))) + (lambda (str) + "Return the hash within the narinfo resource string STR, or false if STR +is invalid." + (and=> (regexp-exec regexp str) + (cut match:substring <> 1))))) + +(define (get-request? request) + "Return #t if REQUEST uses the GET method." + (eq? (request-method request) 'GET)) + +(define (request-path-components request) + "Split the URI path of REQUEST into a list of component strings. For +example: \"/foo/bar\" yields '(\"foo\" \"bar\")." + (split-and-decode-uri-path (uri-path (request-uri request)))) + +(define (make-request-handler store) + (lambda (request body) + (format #t "~a ~a~%" + (request-method request) + (uri-path (request-uri request))) + (if (get-request? request) ; reject POST, PUT, etc. + (match (request-path-components request) + ;; /nix-cache-info + (("nix-cache-info") + (render-nix-cache-info)) + ;; /<hash>.narinfo + (((= extract-narinfo-hash (? string? hash))) + (render-narinfo store request hash)) + ;; /nar/<store-item> + (("nar" store-item) + (render-nar request store-item)) + (_ (not-found request))) + (not-found request)))) + +(define (run-publish-server port store) + (run-server (make-request-handler store) + 'http + `(#:addr ,INADDR_ANY + #:port ,port))) + +(define (guix-publish . args) + (with-error-handling + (let* ((opts (args-fold* args %options + (lambda (opt name arg result) + (leave (_ "~A: unrecognized option~%") name)) + (lambda (arg result) + (leave (_ "~A: extraneuous argument~%") arg)) + %default-options)) + (port (assoc-ref opts 'port)) + (repl-port (assoc-ref opts 'repl))) + (format #t (_ "publishing ~a on port ~d~%") %store-directory port) + (when repl-port + (repl:spawn-server (repl:make-tcp-server-socket #:port repl-port))) + (with-store store + (run-publish-server (assoc-ref opts 'port) store))))) diff --git a/guix/store.scm b/guix/store.scm index 3d6b06989c950718649a69cc975569600303083e..10b9062db206d21c7fe72777fcff6eaa30829174 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -60,6 +60,7 @@ (define-module (guix store) valid-path? query-path-hash hash-part->path + query-path-info add-text-to-store add-to-store build-things @@ -79,6 +80,13 @@ (define-module (guix store) substitutable-paths substitutable-path-info + path-info? + path-info-deriver + path-info-hash + path-info-references + path-info-registration-time + path-info-nar-size + references requisites referrers @@ -212,6 +220,24 @@ (define (read-substitutable-path-list p) (cons (substitutable path deriver refs dl-size nar-size) result)))))) +;; Information about a store path. +(define-record-type <path-info> + (path-info deriver hash references registration-time nar-size) + path-info? + (deriver path-info-deriver) + (hash path-info-hash) + (references path-info-references) + (registration-time path-info-registration-time) + (nar-size path-info-nar-size)) + +(define (read-path-info p) + (let ((deriver (read-store-path p)) + (hash (base16-string->bytevector (read-string p))) + (refs (read-store-path-list p)) + (registration-time (read-int p)) + (nar-size (read-long-long p))) + (path-info deriver hash refs registration-time nar-size))) + (define-syntax write-arg (syntax-rules (integer boolean file string string-list string-pairs store-path store-path-list base16) @@ -236,7 +262,7 @@ (define-syntax write-arg (define-syntax read-arg (syntax-rules (integer boolean string store-path store-path-list - substitutable-path-list base16) + substitutable-path-list path-info base16) ((_ integer p) (read-int p)) ((_ boolean p) @@ -249,6 +275,8 @@ (define-syntax read-arg (read-store-path-list p)) ((_ substitutable-path-list p) (read-substitutable-path-list p)) + ((_ path-info p) + (read-path-info p)) ((_ base16 p) (base16-string->bytevector (read-string p))))) @@ -541,6 +569,10 @@ (define hash-part->path ;; /HASH.narinfo. (query-path-from-hash-part server hash-part)))) +(define-operation (query-path-info (store-path path)) + "Return the info (hash, references, etc.) for PATH." + path-info) + (define add-text-to-store ;; A memoizing version of `add-to-store', to avoid repeated RPCs with ;; the very same arguments during a given session. diff --git a/guix/ui.scm b/guix/ui.scm index 9e75a35d161e533d32da153289b3036dd617df0a..5ca5afe4573d1bc61d011c9585faa248fe7739c9 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -902,6 +902,8 @@ (define (option? str) (string-prefix? "-" str)) (format (current-error-port) (_ "guix: unrecognized option '~a'~%") o) (show-guix-usage)) + (("help" args ...) + (show-guix-help)) ((command args ...) (apply run-guix-command (string->symbol command) diff --git a/po/guix/LINGUAS b/po/guix/LINGUAS index 8052ce9d3e13b3ea646c471ecc981a1fe85b5ccf..b271fd3ad5442782a0390812ca19501a687069a4 100644 --- a/po/guix/LINGUAS +++ b/po/guix/LINGUAS @@ -1,6 +1,7 @@ # Set of available languages. cs +da de en@boldquot en@quot diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 39115f970b1f4f2f3ffe953b66b61421ca786d19..5ac9201295c70c0df7fb26c5740da775ed8ad309 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -13,6 +13,7 @@ guix/scripts/substitute.scm guix/scripts/authenticate.scm guix/scripts/system.scm guix/scripts/lint.scm +guix/scripts/publish.scm guix/gnu-maintenance.scm guix/ui.scm guix/http-client.scm diff --git a/po/guix/da.po b/po/guix/da.po new file mode 100644 index 0000000000000000000000000000000000000000..3e0c84caf122cfb32a5e82b0ab947914bccc84a7 --- /dev/null +++ b/po/guix/da.po @@ -0,0 +1,1516 @@ +# Danish translation guix. +# Copyright (C) 2015 Free Software Foundation, Inc. +# This file is distributed under the same license as the guix package. +# Joe Hansen <joedalton2@yahoo.dk>, 2015. +# +# garbage -> affald (spild, bedre forslag?) +# +msgid "" +msgstr "" +"Project-Id-Version: guix 0.8.1\n" +"Report-Msgid-Bugs-To: ludo@gnu.org\n" +"POT-Creation-Date: 2015-01-26 23:51+0100\n" +"PO-Revision-Date: 2015-04-06 19:30+01:00\n" +"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" +"Language-Team: Danish <dansk@dansk-gruppen.dk>\n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: gnu/packages.scm:78 +#, scheme-format +msgid "~a: patch not found" +msgstr "~a: rettelse blev ikke fundet" + +#: gnu/packages.scm:89 +#, scheme-format +msgid "could not find bootstrap binary '~a' for system '~a'" +msgstr "kunne ikke finde bootstraps binære »~a« for system »~a«" + +#: gnu/packages.scm:141 +#, scheme-format +msgid "cannot access `~a': ~a~%" +msgstr "kan ikke tilgå »~a«: ~a~%" + +#: gnu/packages.scm:372 +#, scheme-format +msgid "looking for the latest release of GNU ~a..." +msgstr "kigger efter den seneste udgivelse af GNU ~a..." + +#: gnu/packages.scm:379 +#, scheme-format +msgid "~a: note: using ~a but ~a is available upstream~%" +msgstr "~a: bemærk: bruger ~a men ~a er tilgængelig opstrøm~%" + +#: gnu/packages.scm:401 guix/scripts/package.scm:306 +#, scheme-format +msgid "ambiguous package specification `~a'~%" +msgstr "tvetydig pakkespecifikation »~a«~%" + +#: gnu/packages.scm:402 guix/scripts/package.scm:308 +#, scheme-format +msgid "choosing ~a from ~a~%" +msgstr "vælger ~a fra ~a~%" + +#: gnu/packages.scm:408 +#, scheme-format +msgid "~A: package not found for version ~a~%" +msgstr "~A: pakke ikke fundet for version ~a~%" + +#: gnu/packages.scm:410 +#, scheme-format +msgid "~A: unknown package~%" +msgstr "~A: ukendt pakke~%" + +#: gnu/system.scm:716 +msgid "system locale lacks a definition" +msgstr "systemsprog mangler en definition" + +#: guix/scripts/build.scm:65 +#, scheme-format +msgid "failed to create GC root `~a': ~a~%" +msgstr "kunne ikke oprette GC-root »~a«: ~a~%" + +#: guix/scripts/build.scm:102 +msgid "" +"\n" +" -L, --load-path=DIR prepend DIR to the package module search path" +msgstr "" +"\n" +" -L, --load-path=MAPPE foranstil MAPPE til pakkemodulets søgesti" + +#: guix/scripts/build.scm:104 +msgid "" +"\n" +" -K, --keep-failed keep build tree of failed builds" +msgstr "" +"\n" +" -K, --keep-failed bevar byggetræ for mislykkede bygninger" + +#: guix/scripts/build.scm:106 +msgid "" +"\n" +" -n, --dry-run do not build the derivations" +msgstr "" +"\n" +" -n, --dry-run byg ikke derivationerne" + +#: guix/scripts/build.scm:108 +msgid "" +"\n" +" --fallback fall back to building when the substituter fails" +msgstr "" +"\n" +" --fallback fald tilbage til bygning når erstatningen fejler" + +#: guix/scripts/build.scm:110 +msgid "" +"\n" +" --no-substitutes build instead of resorting to pre-built substitutes" +msgstr "" +"\n" +" --no-substitutes byg i stedet for en ny sortering af præbyggede substitutter" + +#: guix/scripts/build.scm:112 +msgid "" +"\n" +" --no-build-hook do not attempt to offload builds via the build hook" +msgstr "" +"\n" +" --no-build-hook forsøg ikke at aflaste bygninger via byggekrogen" + +#: guix/scripts/build.scm:114 +msgid "" +"\n" +" --max-silent-time=SECONDS\n" +" mark the build as failed after SECONDS of silence" +msgstr "" +"\n" +" --max-silent-time=SEKUNDER\n" +" marker bygningen som mislykket efter SEKUNDER af stilhed" + +#: guix/scripts/build.scm:117 +msgid "" +"\n" +" --timeout=SECONDS mark the build as failed after SECONDS of activity" +msgstr "" +"\n" +" --timeout=SEKUNDER marker bygningen som mislykket efter SEKUNDER af aktivitet" + +#: guix/scripts/build.scm:119 +msgid "" +"\n" +" --verbosity=LEVEL use the given verbosity LEVEL" +msgstr "" +"\n" +" --verbosity=NIVEAU brug det angivne uddybnings-NIVEAU" + +#: guix/scripts/build.scm:121 +msgid "" +"\n" +" -c, --cores=N allow the use of up to N CPU cores for the build" +msgstr "" +"\n" +" -c, --cores=N tillad brugen af op til N CPU-kerner til bygningen" + +#: guix/scripts/build.scm:123 +msgid "" +"\n" +" -M, --max-jobs=N allow at most N build jobs" +msgstr "" +"\n" +" -M, --max-jobs=N tillad højest N-byggejob" + +#: guix/scripts/build.scm:198 guix/scripts/build.scm:205 +#, scheme-format +msgid "not a number: '~a' option argument: ~a~%" +msgstr "ikke et nummer: »~a« tilvalgsparameter: ~a~%" + +#: guix/scripts/build.scm:224 +msgid "" +"Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" +"Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" +msgstr "" +"Brug: guix build [TILVALG]... PAKKE-ELLER-AFLEDNING...\n" +"Byg den angivne PAKKE-ELLER-AFLEDNING og returner deres uddatastier.\n" + +#: guix/scripts/build.scm:226 +msgid "" +"\n" +" -e, --expression=EXPR build the package or derivation EXPR evaluates to" +msgstr "" +"\n" +" -e, --expression=UDTRYK\n" +" byg pakken eller derivationen UDTRYK evaluerer til" + +#: guix/scripts/build.scm:228 +msgid "" +"\n" +" -S, --source build the packages' source derivations" +msgstr "" +"\n" +" -S, --source byg pakkernes kildederivationer" + +#: guix/scripts/build.scm:230 +msgid "" +"\n" +" -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" +msgstr "" +"\n" +" -s, --system=SYSTEM forsøger at bygge for SYSTEM--f.eks., »i686-linux«" + +#: guix/scripts/build.scm:232 +msgid "" +"\n" +" --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" +msgstr "" +"\n" +" --target=TRIPLET krydsbyg for TRIPLET--f.eks., »armel-linux-gnu«" + +#: guix/scripts/build.scm:234 +msgid "" +"\n" +" --with-source=SOURCE\n" +" use SOURCE when building the corresponding package" +msgstr "" +"\n" +" --with-source=KILDE\n" +" brug KILDE når den tilsvarende pakke bygges" + +#: guix/scripts/build.scm:237 +msgid "" +"\n" +" --no-grafts do not graft packages" +msgstr "" +"\n" +" --no-grafts pod ikke pakker" + +#: guix/scripts/build.scm:239 +msgid "" +"\n" +" -d, --derivations return the derivation paths of the given packages" +msgstr "" +"\n" +" -d, --derivations returner de afledte stier for de givne pakker" + +#: guix/scripts/build.scm:241 +msgid "" +"\n" +" -r, --root=FILE make FILE a symlink to the result, and register it\n" +" as a garbage collector root" +msgstr "" +"\n" +" -r, --root=FIL gør FIL til en symbolsk henvisning for resultatet, og\n" +" registrer den som en affaldsindsamlerroot" + +#: guix/scripts/build.scm:244 +msgid "" +"\n" +" --log-file return the log file names for the given derivations" +msgstr "" +"\n" +" --log-file returner logfilnavnen for de givne afledninger" + +#: guix/scripts/build.scm:249 guix/scripts/download.scm:53 +#: guix/scripts/package.scm:467 guix/scripts/gc.scm:58 +#: guix/scripts/hash.scm:55 guix/scripts/pull.scm:81 +#: guix/scripts/substitute-binary.scm:566 guix/scripts/system.scm:414 +#: guix/scripts/lint.scm:469 +msgid "" +"\n" +" -h, --help display this help and exit" +msgstr "" +"\n" +" -h, --help vis denne hjælpetekst og afslut" + +#: guix/scripts/build.scm:251 guix/scripts/download.scm:55 +#: guix/scripts/package.scm:469 guix/scripts/gc.scm:60 +#: guix/scripts/hash.scm:57 guix/scripts/pull.scm:83 +#: guix/scripts/substitute-binary.scm:568 guix/scripts/system.scm:416 +#: guix/scripts/lint.scm:473 +msgid "" +"\n" +" -V, --version display version information and exit" +msgstr "" +"\n" +" -V, --version vis versioninformation og afslut" + +#: guix/scripts/build.scm:383 +#, scheme-format +msgid "sources do not match any package:~{ ~a~}~%" +msgstr "kilder matcher ikke nogen pakke:~{ ~a~}~%" + +#: guix/scripts/build.scm:417 guix/scripts/download.scm:96 +#: guix/scripts/package.scm:694 guix/scripts/gc.scm:122 +#: guix/scripts/pull.scm:213 guix/scripts/system.scm:499 +#: guix/scripts/lint.scm:521 +#, scheme-format +msgid "~A: unrecognized option~%" +msgstr "~A: ikke genkendt tilvalg~%" + +#: guix/scripts/build.scm:445 +#, scheme-format +msgid "no build log for '~a'~%" +msgstr "ingen byggelog for »~a«~%" + +#: guix/scripts/download.scm:44 +msgid "" +"Usage: guix download [OPTION] URL\n" +"Download the file at URL, add it to the store, and print its store path\n" +"and the hash of its contents.\n" +"\n" +"Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n" +"('hex' and 'hexadecimal' can be used as well).\n" +msgstr "" +"Brug: guix download [TILVALG] ADRESSE\n" +"hent filen på ADRESSE, tilføj den til lageret, og udskriv dens lagersti\n" +"og hashen for dens indhold.\n" +"\n" +"Understøttede formater: »nix-base32« (standard), »base32«, og »base16«\n" +"(»hex« og »hexadecimal« kan også bruges).\n" + +#: guix/scripts/download.scm:50 guix/scripts/hash.scm:50 +msgid "" +"\n" +" -f, --format=FMT write the hash in the given format" +msgstr "" +"\n" +" -f, --format=FMT skriv hashen i det givne format" + +#: guix/scripts/download.scm:73 guix/scripts/hash.scm:75 +#, scheme-format +msgid "unsupported hash format: ~a~%" +msgstr "ikke understøttet hash-format: ~a~%" + +#: guix/scripts/download.scm:106 +#, scheme-format +msgid "~a: failed to parse URI~%" +msgstr "~a: kunne ikke fortolke URI~%" + +#: guix/scripts/download.scm:117 +#, scheme-format +msgid "~a: download failed~%" +msgstr "~a: overførsel mislykkede~%" + +#: guix/scripts/package.scm:98 +#, scheme-format +msgid "failed to build the empty profile~%" +msgstr "kunne ikke bygge den tomme profil~%" + +#: guix/scripts/package.scm:114 +#, scheme-format +msgid "switching from generation ~a to ~a~%" +msgstr "skifter fra generation ~a til ~a~%" + +#: guix/scripts/package.scm:133 +#, scheme-format +msgid "nothing to do: already at the empty profile~%" +msgstr "intet at udføre: allerede en tom profil~%" + +#: guix/scripts/package.scm:145 +#, scheme-format +msgid "deleting ~a~%" +msgstr "sletter ~a~%" + +#: guix/scripts/package.scm:296 +#, scheme-format +msgid "package `~a' lacks output `~a'~%" +msgstr "pakke »~a« mangler uddata »~a«~%" + +#: guix/scripts/package.scm:313 +#, scheme-format +msgid "~a: package not found~%" +msgstr "~a: pakken blev ikke fundet~%" + +#: guix/scripts/package.scm:406 +#, scheme-format +msgid "The following environment variable definitions may be needed:~%" +msgstr "De følgende miljøvariabeldefinitioner kan være krævet:~%" + +#: guix/scripts/package.scm:422 +msgid "" +"Usage: guix package [OPTION]... PACKAGES...\n" +"Install, remove, or upgrade PACKAGES in a single transaction.\n" +msgstr "" +"Brug: guix-pakke [TILVALG]... PAKKER...\n" +"Installer, fjern eller opgrader PAKKER i en enkel transaktion.\n" + +#: guix/scripts/package.scm:424 +msgid "" +"\n" +" -i, --install=PACKAGE install PACKAGE" +msgstr "" +"\n" +" -i, --install=PAKKE installer PAKKE" + +#: guix/scripts/package.scm:426 +msgid "" +"\n" +" -e, --install-from-expression=EXP\n" +" install the package EXP evaluates to" +msgstr "" +"\n" +" -e, --install-from-expression=UDTRYK\n" +" installer pakken UDTRYK evaluerer til" + +#: guix/scripts/package.scm:429 +msgid "" +"\n" +" -r, --remove=PACKAGE remove PACKAGE" +msgstr "" +"\n" +" -r, --remove=PAKKE fjern PAKKE" + +#: guix/scripts/package.scm:431 +msgid "" +"\n" +" -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" +msgstr "" +"\n" +" -u, --upgrade[=REGUDTRYK]\n" +" opgrader alle de installerede pakker der matcher\n" +" REGUDTRYK" + +#: guix/scripts/package.scm:433 +msgid "" +"\n" +" --roll-back roll back to the previous generation" +msgstr "" +"\n" +" --roll-back rul tilbage til den forrige generation" + +#: guix/scripts/package.scm:435 +msgid "" +"\n" +" --search-paths display needed environment variable definitions" +msgstr "" +"\n" +" --search-paths vis krævede miljøvariabeldefinitioner" + +#: guix/scripts/package.scm:437 +msgid "" +"\n" +" -l, --list-generations[=PATTERN]\n" +" list generations matching PATTERN" +msgstr "" +"\n" +" -l, --list-generations[=MØNSTER]\n" +" vis generationer der matcher MØNSTER" + +#: guix/scripts/package.scm:440 +msgid "" +"\n" +" -d, --delete-generations[=PATTERN]\n" +" delete generations matching PATTERN" +msgstr "" +"\n" +" -d, --delete-generations[=MØNSTER]\n" +" slet generationer der matcher MØNSTER" + +#: guix/scripts/package.scm:443 +msgid "" +"\n" +" -S, --switch-generation=PATTERN\n" +" switch to a generation matching PATTERN" +msgstr "" +"\n" +" -S, --switch-generation=MØNSTER\n" +" skift til et generationsmatchende MØNSTER" + +#: guix/scripts/package.scm:446 +msgid "" +"\n" +" -p, --profile=PROFILE use PROFILE instead of the user's default profile" +msgstr "" +"\n" +" -p, --profile=PROFIL brug PROFIL i stedet for brugerens standardprofil" + +#: guix/scripts/package.scm:449 +msgid "" +"\n" +" --bootstrap use the bootstrap Guile to build the profile" +msgstr "" +"\n" +" --bootstrap brug bootstrap Guile til at bygge profilen" + +#: guix/scripts/package.scm:451 guix/scripts/pull.scm:74 +msgid "" +"\n" +" --verbose produce verbose output" +msgstr "" +"\n" +" --verbose lav uddybende uddata" + +#: guix/scripts/package.scm:454 +msgid "" +"\n" +" -s, --search=REGEXP search in synopsis and description using REGEXP" +msgstr "" +"\n" +" -s, --search=REGUDTRYK søg i synopsis og beskrivelse via REGUDTRYK" + +#: guix/scripts/package.scm:456 +msgid "" +"\n" +" -I, --list-installed[=REGEXP]\n" +" list installed packages matching REGEXP" +msgstr "" +"\n" +" -I, --list-installed[=REGUDTRYK]\n" +" vis installerede pakker der matcher REGUDTRYK" + +#: guix/scripts/package.scm:459 +msgid "" +"\n" +" -A, --list-available[=REGEXP]\n" +" list available packages matching REGEXP" +msgstr "" +"\n" +" -A, --list-available[=REGUDTRYK]\n" +" vis tilgængelige pakker der matcher REGUDTRYK" + +#: guix/scripts/package.scm:462 +msgid "" +"\n" +" --show=PACKAGE show details about PACKAGE" +msgstr "" +"\n" +" --show=PACKAGE vis detaljer om PAKKE" + +#: guix/scripts/package.scm:698 +#, scheme-format +msgid "~A: extraneous argument~%" +msgstr "~A: uvedkommende argument~%" + +#: guix/scripts/package.scm:708 +#, scheme-format +msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" +msgstr "Prøv »info '(guix) Invoking guix package« for yderligere information.~%" + +#: guix/scripts/package.scm:730 +#, scheme-format +msgid "error: while creating directory `~a': ~a~%" +msgstr "fejl: under oprettelse af mappe »~a«: ~a~%" + +#: guix/scripts/package.scm:734 +#, scheme-format +msgid "Please create the `~a' directory, with you as the owner.~%" +msgstr "Opret venligst mappen »~a«, med dig som ejer.~%" + +#: guix/scripts/package.scm:741 +#, scheme-format +msgid "error: directory `~a' is not owned by you~%" +msgstr "fejl: mappen »~a« er ikke ejet af dig~%" + +#: guix/scripts/package.scm:744 +#, scheme-format +msgid "Please change the owner of `~a' to user ~s.~%" +msgstr "Ændr venligst ejeren af »~a« til brugeren ~s.~%" + +#: guix/scripts/package.scm:777 +#, scheme-format +msgid "cannot switch to generation '~a'~%" +msgstr "kan ikke skifte til generation »~a«~%" + +#: guix/scripts/package.scm:809 guix/scripts/package.scm:910 +#, scheme-format +msgid "invalid syntax: ~a~%" +msgstr "ugyldig syntaks: ~a~%" + +#: guix/scripts/package.scm:846 +#, scheme-format +msgid "nothing to be done~%" +msgstr "intet at udføre~%" + +#: guix/scripts/package.scm:861 +#, scheme-format +msgid "~a package in profile~%" +msgid_plural "~a packages in profile~%" +msgstr[0] "~a pakke i profil~%" +msgstr[1] "~a pakker i profil~%" + +#: guix/scripts/package.scm:876 +#, scheme-format +msgid "Generation ~a\t~a" +msgstr "Generation ~a\t~a" + +#: guix/scripts/package.scm:883 +#, scheme-format +msgid "~a\t(current)~%" +msgstr "~a\t(nuværende)~%" + +#: guix/scripts/gc.scm:39 +msgid "" +"Usage: guix gc [OPTION]... PATHS...\n" +"Invoke the garbage collector.\n" +msgstr "" +"Brug: guix gc [TILVALG]... STIER...\n" +"Start affaldsindsamleren.\n" + +#: guix/scripts/gc.scm:41 +msgid "" +"\n" +" -C, --collect-garbage[=MIN]\n" +" collect at least MIN bytes of garbage" +msgstr "" +"\n" +" -C, --collect-garbage[=MIN]\n" +" saml mindst MIN byte affald" + +#: guix/scripts/gc.scm:44 +msgid "" +"\n" +" -d, --delete attempt to delete PATHS" +msgstr "" +"\n" +" -d, --delete forsøg at slette STIER" + +#: guix/scripts/gc.scm:46 +msgid "" +"\n" +" --list-dead list dead paths" +msgstr "" +"\n" +" --list-dead vis døde stier" + +#: guix/scripts/gc.scm:48 +msgid "" +"\n" +" --list-live list live paths" +msgstr "" +"\n" +" --list-live vis live stier" + +#: guix/scripts/gc.scm:51 +msgid "" +"\n" +" --references list the references of PATHS" +msgstr "" +"\n" +" --references vis referencerne for STIER" + +#: guix/scripts/gc.scm:53 +msgid "" +"\n" +" -R, --requisites list the requisites of PATHS" +msgstr "" +"\n" +" -R, --requisites vis rekvisitter for STIER" + +#: guix/scripts/gc.scm:55 +msgid "" +"\n" +" --referrers list the referrers of PATHS" +msgstr "" +"\n" +" --referrers vis henvisninger for STIER" + +#: guix/scripts/gc.scm:84 +#, scheme-format +msgid "invalid amount of storage: ~a~%" +msgstr "ugyldig lagermængde: ~a~%" + +#: guix/scripts/hash.scm:45 +msgid "" +"Usage: guix hash [OPTION] FILE\n" +"Return the cryptographic hash of FILE.\n" +"\n" +"Supported formats: 'nix-base32' (default), 'base32', and 'base16' ('hex'\n" +"and 'hexadecimal' can be used as well).\n" +msgstr "" +"Brug: guix hash [TILVALG] FIL\n" +"Returner den kryptografiske hash for FIL.\n" +"\n" +"Understøttede formater: »nix-base32« (standard), »base32« og »base16« (»hex«\n" +"og »hexadecimal« kan også bruges).\n" + +#: guix/scripts/hash.scm:52 +msgid "" +"\n" +" -r, --recursive compute the hash on FILE recursively" +msgstr "" +"\n" +" -r, --recursive beregn hashen på FIL rekursivt" + +#: guix/scripts/hash.scm:103 +#, scheme-format +msgid "unrecognized option: ~a~%" +msgstr "tilvalg blev ikke genkendt: ~a~%" + +#: guix/scripts/hash.scm:134 guix/ui.scm:258 +#, scheme-format +msgid "~a~%" +msgstr "~a~%" + +#: guix/scripts/hash.scm:137 +#, scheme-format +msgid "wrong number of arguments~%" +msgstr "forkert antal argumenter~%" + +#: guix/scripts/pull.scm:72 +msgid "" +"Usage: guix pull [OPTION]...\n" +"Download and deploy the latest version of Guix.\n" +msgstr "" +"Brug: guix pull [TILVALG]...\n" +"Hent og udrul den seneste version af Guix.\n" + +#: guix/scripts/pull.scm:76 +msgid "" +"\n" +" --url=URL download the Guix tarball from URL" +msgstr "" +"\n" +" --url=URL hent Guix-tarball'en fra ADRESSE" + +#: guix/scripts/pull.scm:78 +msgid "" +"\n" +" --bootstrap use the bootstrap Guile to build the new Guix" +msgstr "" +"\n" +" --bootstrap brug bootstrap Guile til at bygge den nye Guix" + +#: guix/scripts/pull.scm:132 +msgid "tarball did not produce a single source directory" +msgstr "tarball fremstillede ikke en enkel kildemappe" + +#: guix/scripts/pull.scm:150 +#, scheme-format +msgid "unpacking '~a'...~%" +msgstr "udpakker »~a«...~%" + +#: guix/scripts/pull.scm:159 +msgid "failed to unpack source code" +msgstr "kunne ikke udpakke kildekode" + +#: guix/scripts/pull.scm:200 +#, scheme-format +msgid "updated ~a successfully deployed under `~a'~%" +msgstr "opdaterede ~a der med succes blev udrullet undet »~a«~%" + +#: guix/scripts/pull.scm:203 +#, scheme-format +msgid "failed to update Guix, check the build log~%" +msgstr "kunne ikke opdatere Guix, kontroller byggeloggen~%" + +#: guix/scripts/pull.scm:205 +msgid "Guix already up to date\n" +msgstr "Guix er allerede opdateret\n" + +#: guix/scripts/pull.scm:215 +#, scheme-format +msgid "~A: unexpected argument~%" +msgstr "~A: uventet argument~%" + +#: guix/scripts/pull.scm:224 +msgid "failed to download up-to-date source, exiting\n" +msgstr "kunne ikke hente opdateret kilde, afslutter\n" + +#: guix/scripts/substitute-binary.scm:80 +#, scheme-format +msgid "authentication and authorization of substitutes disabled!~%" +msgstr "godkendelse og autorisation af substitutter er deaktiveret!~%" + +#: guix/scripts/substitute-binary.scm:163 +#, scheme-format +msgid "download from '~a' failed: ~a, ~s~%" +msgstr "hent fra »~a« mislykkedes: ~a, ~s~%" + +#: guix/scripts/substitute-binary.scm:178 +#, scheme-format +msgid "while fetching ~a: server is somewhat slow~%" +msgstr "under overførsel af ~a: server er noget langsom~%" + +#: guix/scripts/substitute-binary.scm:180 +#, scheme-format +msgid "try `--no-substitutes' if the problem persists~%" +msgstr "prøv »--no-substitutes« hvis problemet fortsætter~%" + +#: guix/scripts/substitute-binary.scm:221 +#, scheme-format +msgid "updating list of substitutes from '~a'...~%" +msgstr "opdaterer liste af substitutter fra »~a«...~%" + +#: guix/scripts/substitute-binary.scm:253 +#, scheme-format +msgid "signature version must be a number: ~s~%" +msgstr "signaturversion skal være et nummer: ~s~%" + +#: guix/scripts/substitute-binary.scm:257 +#, scheme-format +msgid "unsupported signature version: ~a~%" +msgstr "signaturversion er ikke understøttet: ~a~%" + +#: guix/scripts/substitute-binary.scm:265 +#, scheme-format +msgid "signature is not a valid s-expression: ~s~%" +msgstr "signatur er ikke et gyldigt s-udtryk: ~s~%" + +#: guix/scripts/substitute-binary.scm:269 +#, scheme-format +msgid "invalid format of the signature field: ~a~%" +msgstr "ugyldigt format for signaturfeltet: ~a~%" + +#: guix/scripts/substitute-binary.scm:304 +#, scheme-format +msgid "invalid signature for '~a'~%" +msgstr "ugyldig signatur for »~a«~%" + +#: guix/scripts/substitute-binary.scm:306 +#, scheme-format +msgid "hash mismatch for '~a'~%" +msgstr "hash mismatch for »~a«~%" + +#: guix/scripts/substitute-binary.scm:308 +#, scheme-format +msgid "'~a' is signed with an unauthorized key~%" +msgstr "»~a« er underskrevet med en uautoriseret nøgle~%" + +#: guix/scripts/substitute-binary.scm:310 +#, scheme-format +msgid "signature on '~a' is corrupt~%" +msgstr "signatur på »~a« er ødelagt~%" + +#: guix/scripts/substitute-binary.scm:344 +#, scheme-format +msgid "substitute at '~a' lacks a signature~%" +msgstr "substitut på »~a« mangler en signatur~%" + +#: guix/scripts/substitute-binary.scm:532 +#, scheme-format +msgid "Downloading, please wait...~%" +msgstr "Henter, vent venligst ...~%" + +#: guix/scripts/substitute-binary.scm:534 +#, scheme-format +msgid "(Please consider upgrading Guile to get proper progress report.)~%" +msgstr "(Overvej venligst at opgradere Guile for at få korrekt statusrapport.)~%" + +#: guix/scripts/substitute-binary.scm:547 +#, scheme-format +msgid "host name lookup error: ~a~%" +msgstr "opslagsfejl for værtsnavn: ~a~%" + +#: guix/scripts/substitute-binary.scm:556 +msgid "" +"Usage: guix substitute-binary [OPTION]...\n" +"Internal tool to substitute a pre-built binary to a local build.\n" +msgstr "" +"Brug: guix substitute-binary [TILVALG]...\n" +"Internt værktøj til at erstatte en præbygget binær fil med en lokal bygning.\n" + +#: guix/scripts/substitute-binary.scm:558 +msgid "" +"\n" +" --query report on the availability of substitutes for the\n" +" store file names passed on the standard input" +msgstr "" +"\n" +" --query rapport om tilgængeligheden for substitutter for\n" +" lagerfilnavnene sendt til standardind" + +#: guix/scripts/substitute-binary.scm:561 +msgid "" +"\n" +" --substitute STORE-FILE DESTINATION\n" +" download STORE-FILE and store it as a Nar in file\n" +" DESTINATION" +msgstr "" +"\n" +" --substitute LAGER-FIL DESTINATION\n" +" hent LAGER-FIL og lagr den som en Nar i filen\n" +" DESTINATION" + +#: guix/scripts/substitute-binary.scm:606 +msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" +msgstr "ACL for arkivimporter ser ikke ud til at være initialiseret, substitutter kan være utilgængelige\n" + +#: guix/scripts/substitute-binary.scm:640 +#, scheme-format +msgid "these substitute URLs will not be used:~{ ~a~}~%" +msgstr "disse substitutadresser vil ikke blive brugt:~{ ~a~}~%" + +#: guix/scripts/substitute-binary.scm:666 +#, scheme-format +msgid "failed to look up host '~a' (~a), substituter disabled~%" +msgstr "kunne ikke slå vært op »~a« (~a), substitutter deaktiveret~%" + +#: guix/scripts/substitute-binary.scm:777 +#, scheme-format +msgid "~a: unrecognized options~%" +msgstr "~a: ikke genkendte tilvalg~%" + +#: guix/scripts/authenticate.scm:58 +#, scheme-format +msgid "cannot find public key for secret key '~a'~%" +msgstr "kan ikke finde offentlig nøgle for hemmelig nøgle »~a«~%" + +#: guix/scripts/authenticate.scm:78 +#, scheme-format +msgid "error: invalid signature: ~a~%" +msgstr "fejl: ugyldig signatur: ~a~%" + +#: guix/scripts/authenticate.scm:80 +#, scheme-format +msgid "error: unauthorized public key: ~a~%" +msgstr "fejl: ikke autoriseret offentlig nøgle: ~a~%" + +#: guix/scripts/authenticate.scm:82 +#, scheme-format +msgid "error: corrupt signature data: ~a~%" +msgstr "fejl: ødelagt signaturdata: ~a~%" + +#: guix/scripts/authenticate.scm:126 +msgid "" +"Usage: guix authenticate OPTION...\n" +"Sign or verify the signature on the given file. This tool is meant to\n" +"be used internally by 'guix-daemon'.\n" +msgstr "" +"Brug: guix authenticate TILVALG...\n" +"Underskriv eller verificer signaturen på den givne fil. Dette værktøj skal\n" +"bruges internt af »guix-daemon«.\n" + +#: guix/scripts/authenticate.scm:132 +msgid "wrong arguments" +msgstr "forkerte argumenter" + +#: guix/scripts/system.scm:75 +#, scheme-format +msgid "failed to open operating system file '~a': ~a~%" +msgstr "kunne ikke åbne operativsystemfil »~a«: ~a~%" + +#: guix/scripts/system.scm:79 +#, scheme-format +msgid "~a: error: ~a~%" +msgstr "~a: fejl: ~a~%" + +#: guix/scripts/system.scm:83 +#, scheme-format +msgid "failed to load operating system file '~a':~%" +msgstr "kunne ikke indlæse operativsystemfil »~a«:~%" + +#: guix/scripts/system.scm:120 +#, scheme-format +msgid "failed to register '~a' under '~a'~%" +msgstr "kunne ikke registrere »~a« under »~a«~%" + +#: guix/scripts/system.scm:152 +#, scheme-format +msgid "failed to install GRUB on device '~a'~%" +msgstr "kunne ikke installere GRUB på enhed »~a«~%" + +#: guix/scripts/system.scm:169 +#, scheme-format +msgid "initializing the current root file system~%" +msgstr "initialiserer det nuværende root-filsystem~%" + +#: guix/scripts/system.scm:223 +#, scheme-format +msgid "activating system...~%" +msgstr "aktiverer system ...~%" + +#: guix/scripts/system.scm:273 +#, scheme-format +msgid "unrecognized boot parameters for '~a'~%" +msgstr "ikke genkendte opstartsparametre for »~a«~%" + +#: guix/scripts/system.scm:369 +#, scheme-format +msgid "initializing operating system under '~a'...~%" +msgstr "initialiserer operativsystem under »~a«...~%" + +#: guix/scripts/system.scm:385 +msgid "" +"Usage: guix system [OPTION] ACTION FILE\n" +"Build the operating system declared in FILE according to ACTION.\n" +msgstr "" +"Brug: guix system [TILVALG] HANDLING FIL\n" +"Byg operativsystemet deklæret i FIL jævnfør HANDLING.\n" + +#: guix/scripts/system.scm:388 +msgid "The valid values for ACTION are:\n" +msgstr "De gyldige værdier for HANDLING er:\n" + +#: guix/scripts/system.scm:389 +msgid " - 'reconfigure', switch to a new operating system configuration\n" +msgstr " - »reconfigure«, skift til en ny operativsystemkonfiguration\n" + +#: guix/scripts/system.scm:391 +msgid " - 'build', build the operating system without installing anything\n" +msgstr " - »build«, byg operativsystemet uden at installere noget\n" + +#: guix/scripts/system.scm:393 +msgid " - 'vm', build a virtual machine image that shares the host's store\n" +msgstr " - »vm«, byg et virtuelt maskinaftryk som deler værtens lager\n" + +#: guix/scripts/system.scm:395 +msgid " - 'vm-image', build a freestanding virtual machine image\n" +msgstr " - »vm-image«, byg et fritstående virtuelt maskinaftryk\n" + +#: guix/scripts/system.scm:397 +msgid " - 'disk-image', build a disk image, suitable for a USB stick\n" +msgstr " - »disk-image«, byg et diskaftryk, egnet for et USB-drev\n" + +#: guix/scripts/system.scm:399 +msgid " - 'init', initialize a root file system to run GNU.\n" +msgstr " - »init«, initialiser et rootfilsystem til at køre GNU.\n" + +#: guix/scripts/system.scm:403 +msgid "" +"\n" +" --image-size=SIZE for 'vm-image', produce an image of SIZE" +msgstr "" +"\n" +" --image-size=STR for »vm-image«, lav et aftryk af STR" + +#: guix/scripts/system.scm:405 +msgid "" +"\n" +" --no-grub for 'init', do not install GRUB" +msgstr "" +"\n" +" --no-grub for »init«, installer ikke GRUB" + +#: guix/scripts/system.scm:407 +msgid "" +"\n" +" --share=SPEC for 'vm', share host file system according to SPEC" +msgstr "" +"\n" +" --share=SPEC for »vm«, del værtsfilsystem jævnfør SPEC" + +#: guix/scripts/system.scm:409 +msgid "" +"\n" +" --expose=SPEC for 'vm', expose host file system according to SPEC" +msgstr "" +"\n" +" --expose=SPEC for »vm«, fremvis værtsfilsystem jævnfør SPEC" + +#: guix/scripts/system.scm:411 +msgid "" +"\n" +" --full-boot for 'vm', make a full boot sequence" +msgstr "" +"\n" +" --full-boot for »vm«, lav en fuld opstartssekvens" + +#: guix/scripts/system.scm:507 +#, scheme-format +msgid "~a: unknown action~%" +msgstr "~a: ukendt handling~%" + +#: guix/scripts/system.scm:524 +#, scheme-format +msgid "wrong number of arguments for action '~a'~%" +msgstr "forkert antal argumenter for handling »~a«~%" + +#: guix/scripts/system.scm:544 +#, scheme-format +msgid "no configuration file specified~%" +msgstr "ingen konfigurationsfil angivet~%" + +#: guix/scripts/lint.scm:82 +#, scheme-format +msgid "Available checkers:~%" +msgstr "Tilgængelige kontrolprogrammer:~%" + +#: guix/scripts/lint.scm:102 +msgid "description should not be empty" +msgstr "beskrivelse skal være udfyldt" + +#: guix/scripts/lint.scm:109 +msgid "description should start with an upper-case letter or digit" +msgstr "beskrivelse skal starte med et stort bogstav eller et tal" + +# arg, hvad foregår der her +#: guix/scripts/lint.scm:125 +#, scheme-format +msgid "" +"sentences in description should be followed ~\n" +"by two spaces; possible infraction~p at ~{~a~^, ~}" +msgstr "" +"sætninger i beskrivelsen skal efterfølges ~\n" +"af to mellemrum; mulig infraction~p ved ~{~a~^, ~}" + +#: guix/scripts/lint.scm:146 +msgid "pkg-config should probably be a native input" +msgstr "pkg-config skal sandsynligvis være standarddata" + +#: guix/scripts/lint.scm:161 +msgid "synopsis should not be empty" +msgstr "synopsis skal være udfyldt" + +#: guix/scripts/lint.scm:169 +msgid "no period allowed at the end of the synopsis" +msgstr "ingen periode er tilladt i slutningen af synopsen" + +#: guix/scripts/lint.scm:181 +msgid "no article allowed at the beginning of the synopsis" +msgstr "ingen artikel er tilladt i begyndelsen af synopsen" + +#: guix/scripts/lint.scm:188 +msgid "synopsis should be less than 80 characters long" +msgstr "synopsis skal være mindre end 80 tegn lang" + +#: guix/scripts/lint.scm:194 +msgid "synopsis should start with an upper-case letter or digit" +msgstr "synopsis skal starte med et stort bogstav eller et tal" + +#: guix/scripts/lint.scm:201 +msgid "synopsis should not start with the package name" +msgstr "synopsis skal ikke starte med pakkenavnet" + +#: guix/scripts/lint.scm:270 +#, scheme-format +msgid "URI ~a not reachable: ~a (~s)" +msgstr "URI ~a kan ikke nås: ~a (~s)" + +#: guix/scripts/lint.scm:278 +#, scheme-format +msgid "URI ~a domain not found: ~a" +msgstr "URI ~a domæne blev ikke fundet: ~a" + +#: guix/scripts/lint.scm:286 +#, scheme-format +msgid "URI ~a unreachable: ~a" +msgstr "URI ~a kan ikke nås: ~a" + +#: guix/scripts/lint.scm:312 +msgid "invalid value for home page" +msgstr "ugyldig værdi for hjemmeside" + +#: guix/scripts/lint.scm:315 +#, scheme-format +msgid "invalid home page URL: ~s" +msgstr "ugyldig hjemmesideadresse: ~s" + +#: guix/scripts/lint.scm:336 +msgid "file names of patches should start with the package name" +msgstr "filnavn for rettelser skal starte med pakkenavnet" + +#: guix/scripts/lint.scm:374 +#, scheme-format +msgid "~a: ~a: proposed synopsis: ~s~%" +msgstr "~a: ~a: foreslået synopsis: ~s~%" + +#: guix/scripts/lint.scm:386 +#, scheme-format +msgid "~a: ~a: proposed description:~% \"~a\"~%" +msgstr "~a: ~a: foreslået beskrivelse:~% »~a«~%" + +#: guix/scripts/lint.scm:415 +msgid "Validate package descriptions" +msgstr "Valider pakkebeskrivelser" + +#: guix/scripts/lint.scm:419 +msgid "Validate synopsis & description of GNU packages" +msgstr "Valider synopsis og beskrivelse for GNU-pakker" + +#: guix/scripts/lint.scm:423 +msgid "Identify inputs that should be native inputs" +msgstr "Identificer inddata som skal være standarddata" + +#: guix/scripts/lint.scm:427 +msgid "Validate file names of patches" +msgstr "Valider filnavne for rettelser" + +#: guix/scripts/lint.scm:431 +msgid "Validate home-page URLs" +msgstr "Valider hjemmesiders adresser" + +#: guix/scripts/lint.scm:435 +msgid "Validate source URLs" +msgstr "Valider kildeadresser" + +#: guix/scripts/lint.scm:439 +msgid "Validate package synopses" +msgstr "Valider pakkesynopser" + +#: guix/scripts/lint.scm:464 +msgid "" +"Usage: guix lint [OPTION]... [PACKAGE]...\n" +"Run a set of checkers on the specified package; if none is specified, run the checkers on all packages.\n" +msgstr "" +"Brug: guix lint [TILVALG]... [PAKKE]...\n" +"Kør et sæt af kontroller på den specificerede pakke; hvis ingen er specificeret, så kør kontrollerne på alle pakker.\n" + +#: guix/scripts/lint.scm:466 +msgid "" +"\n" +" -c, --checkers=CHECKER1,CHECKER2...\n" +" only run the specificed checkers" +msgstr "" +"\n" +" -c, --checkers=KONTROL1,KONTROL2...\n" +" kør kun de specificerede kontroller" + +#: guix/scripts/lint.scm:471 +msgid "" +"\n" +" -l, --list-checkers display the list of available lint checkers" +msgstr "" +"\n" +" -l, --list-checkers vis listen med tilgængelige lint-kontroller" + +#: guix/scripts/lint.scm:491 +#, scheme-format +msgid "~a: invalid checker~%" +msgstr "~a: ugyldig kontrol~%" + +#: guix/gnu-maintenance.scm:438 +#, scheme-format +msgid "signature verification failed for `~a'~%" +msgstr "signaturverifikation mislykkedes for »~a«~%" + +#: guix/gnu-maintenance.scm:440 +#, scheme-format +msgid "(could be because the public key is not in your keyring)~%" +msgstr "(kunne være fordi den offentlige nøgle ikke er i din nøglering)~%" + +#: guix/gnu-maintenance.scm:515 +#, scheme-format +msgid "~a: could not locate source file" +msgstr "~a: kunne ikke lokalisere kildefil" + +#: guix/gnu-maintenance.scm:520 +#, scheme-format +msgid "~a: ~a: no `version' field in source; skipping~%" +msgstr "~a: ~a: intet »versionsfelt« i kilde; udelader~%" + +#: guix/ui.scm:137 +#, scheme-format +msgid "failed to install locale: ~a~%" +msgstr "kunne ikke installere sprog: ~a~%" + +#: guix/ui.scm:156 +msgid "" +"Copyright (C) 2014 the Guix authors\n" +"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +msgstr "" +"Ophavsret 2014 Guix-forfatterne\n" +"Licens GPLv3+: GNU GPL version 3 eller senere <http://gnu.org/licenses/gpl.html>\n" +"Dette er et frit program; du kan frit ændre og videredistribuere programmet.\n" +"Der er INGEN GARANTI, inden for lovens rammer.\n" + +#: guix/ui.scm:164 +#, scheme-format +msgid "" +"\n" +"Report bugs to: ~a." +msgstr "" +"\n" +"Rapporter fejl til: ~a." + +#: guix/ui.scm:166 +#, scheme-format +msgid "" +"\n" +"~a home page: <~a>" +msgstr "" +"\n" +"~a hjemmeside: <~a>" + +#: guix/ui.scm:168 +msgid "" +"\n" +"General help using GNU software: <http://www.gnu.org/gethelp/>" +msgstr "" +"\n" +"Generel hjælp til brugen af GNU-programmer: <http://www.gnu.org/gethelp/>" + +#: guix/ui.scm:175 +#, scheme-format +msgid "~a: invalid number~%" +msgstr "~a: ugyldigt nummer~%" + +#: guix/ui.scm:192 +#, scheme-format +msgid "invalid number: ~a~%" +msgstr "ugyldigt nummer: ~a~%" + +#: guix/ui.scm:215 +#, scheme-format +msgid "unknown unit: ~a~%" +msgstr "ukendt enhed: ~a~%" + +#: guix/ui.scm:226 +#, scheme-format +msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" +msgstr "~a:~a:~a: pakken »~a« har ugyldige inddata: ~s~%" + +#: guix/ui.scm:233 +#, scheme-format +msgid "~a: ~a: build system `~a' does not support cross builds~%" +msgstr "~a: ~a: byggesystem »~a« understøtter ikke krydsbygninger~%" + +#: guix/ui.scm:238 +#, scheme-format +msgid "profile '~a' does not exist~%" +msgstr "profilen »~a« findes ikke~%" + +#: guix/ui.scm:241 +#, scheme-format +msgid "generation ~a of profile '~a' does not exist~%" +msgstr "oprettelse ~a af profilen »~a« findes ikke~%" + +#: guix/ui.scm:245 +#, scheme-format +msgid "failed to connect to `~a': ~a~%" +msgstr "kunne ikke forbinde til »~a«: ~a~%" + +#: guix/ui.scm:250 +#, scheme-format +msgid "build failed: ~a~%" +msgstr "bygning mislykkedes: ~a~%" + +#: guix/ui.scm:253 +#, scheme-format +msgid "reference to invalid output '~a' of derivation '~a'~%" +msgstr "reference til ugyldige uddata »~a« for afledning »~a«~%" + +#: guix/ui.scm:264 +#, scheme-format +msgid "~a: ~a~%" +msgstr "~a: ~a~%" + +#: guix/ui.scm:283 +#, scheme-format +msgid "failed to read expression ~s: ~s~%" +msgstr "kunne ikke læse udtryk ~s: ~s~%" + +#: guix/ui.scm:289 +#, scheme-format +msgid "failed to evaluate expression `~a': ~s~%" +msgstr "kunne ikke evaluere udtryk »~a«: ~s~%" + +#: guix/ui.scm:298 +#, scheme-format +msgid "expression ~s does not evaluate to a package~%" +msgstr "udtryk ~s evaluerer ikke til en pakke~%" + +#: guix/ui.scm:350 +#, scheme-format +msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Den følgende afledning ville blive bygget:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[De følgende afledninger ville blive bygget:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:355 +#, scheme-format +msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Den følgende fil ville blive hentet:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[De følgende filer ville blive hentet:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:361 +#, scheme-format +msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Den følgende afledning vil blive bygget:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[De følgende afledninger vil blive bygget:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:366 +#, scheme-format +msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Den følgende fil vil blive hentet:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[De følgende filer vil blive hentet:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:418 +#, scheme-format +msgid "The following package would be removed:~%~{~a~%~}~%" +msgid_plural "The following packages would be removed:~%~{~a~%~}~%" +msgstr[0] "Den følgende pakke ville blive fjernet:~%~{~a~%~}~%" +msgstr[1] "De følgende pakker ville blive fjernet:~%~{~a~%~}~%" + +#: guix/ui.scm:423 +#, scheme-format +msgid "The following package will be removed:~%~{~a~%~}~%" +msgid_plural "The following packages will be removed:~%~{~a~%~}~%" +msgstr[0] "Den følgende pakke vil blive fjernet:~%~{~a~%~}~%" +msgstr[1] "De følgende pakker vil blive fjernet:~%~{~a~%~}~%" + +#: guix/ui.scm:436 +#, scheme-format +msgid "The following package would be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" +msgstr[0] "Den følgende pakke ville blive opgraderet:~%~{~a~%~}~%" +msgstr[1] "De følgende pakker ville blive opgraderet:~%~{~a~%~}~%" + +#: guix/ui.scm:441 +#, scheme-format +msgid "The following package will be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" +msgstr[0] "Den følgende pakke vil blive opgraderet:~%~{~a~%~}~%" +msgstr[1] "De følgende pakker vil blive opgraderet:~%~{~a~%~}~%" + +#: guix/ui.scm:452 +#, scheme-format +msgid "The following package would be installed:~%~{~a~%~}~%" +msgid_plural "The following packages would be installed:~%~{~a~%~}~%" +msgstr[0] "Den følgende pakke ville blive installeret:~%~{~a~%~}~%" +msgstr[1] "De følgende pakker ville blive installeret:~%~{~a~%~}~%" + +#: guix/ui.scm:457 +#, scheme-format +msgid "The following package will be installed:~%~{~a~%~}~%" +msgid_plural "The following packages will be installed:~%~{~a~%~}~%" +msgstr[0] "Den følgende pakke vil blive installeret:~%~{~a~%~}~%" +msgstr[1] "De følgende pakker vil blive installeret:~%~{~a~%~}~%" + +#: guix/ui.scm:474 +msgid "<unknown location>" +msgstr "<ukendt sted>" + +#: guix/ui.scm:500 +#, scheme-format +msgid "failed to create configuration directory `~a': ~a~%" +msgstr "kunne ikke oprette konfiguratinsmappe »~a«: ~a~%" + +#: guix/ui.scm:600 guix/ui.scm:614 +msgid "unknown" +msgstr "ukendt" + +#: guix/ui.scm:723 +#, scheme-format +msgid "invalid argument: ~a~%" +msgstr "ugyldigt argument: ~a~%" + +#: guix/ui.scm:732 +#, scheme-format +msgid "Try `guix --help' for more information.~%" +msgstr "Prøv »guix --help« for yderligere information.~%" + +#: guix/ui.scm:762 +msgid "" +"Usage: guix COMMAND ARGS...\n" +"Run COMMAND with ARGS.\n" +msgstr "" +"Brug: guix KOMMANDO ARG...\n" +"Kør KOMMANDO med ARG.\n" + +#: guix/ui.scm:765 +msgid "COMMAND must be one of the sub-commands listed below:\n" +msgstr "KOMMANDO skal være en af underkommandoerne vist nedenfor:\n" + +#: guix/ui.scm:785 +#, scheme-format +msgid "guix: ~a: command not found~%" +msgstr "guix: ~a: kommando blev ikke fundet~%" + +#: guix/ui.scm:803 +#, scheme-format +msgid "guix: missing command name~%" +msgstr "guix: mangler kommandonavn~%" + +#: guix/ui.scm:811 +#, scheme-format +msgid "guix: unrecognized option '~a'~%" +msgstr "guix: ikke genkendt tilvalg »~a«~%" + +#: guix/http-client.scm:217 +#, scheme-format +msgid "using Guile ~a, which does not support ~s encoding~%" +msgstr "bruger Guile ~a, som ikke understøtter ~s-kodning~%" + +#: guix/http-client.scm:220 +#, scheme-format +msgid "download failed; use a newer Guile~%" +msgstr "overførsel mislykkedes; brug en nyere Guile~%" + +#: guix/http-client.scm:232 +#, scheme-format +msgid "following redirection to `~a'...~%" +msgstr "følger omdirigering til »~a«...~%" + +#: guix/http-client.scm:241 +msgid "download failed" +msgstr "overførsel mislykkedes" + +#: guix/nar.scm:155 +msgid "signature is not a valid s-expression" +msgstr "signatur er ikke et gyldigt s-udtryk" + +#: guix/nar.scm:164 +msgid "invalid signature" +msgstr "ugyldig signatur" + +#: guix/nar.scm:168 +msgid "invalid hash" +msgstr "ugyldig hash" + +#: guix/nar.scm:176 +msgid "unauthorized public key" +msgstr "uautoriseret offentlig nøgle" + +#: guix/nar.scm:181 +msgid "corrupt signature data" +msgstr "ødelagt signaturdata" + +#: guix/nar.scm:201 +msgid "corrupt file set archive" +msgstr "ødelagt filsætarkiv" + +#: guix/nar.scm:211 +#, scheme-format +msgid "importing file or directory '~a'...~%" +msgstr "importerer fil eller mappe »~a«...~%" + +#: guix/nar.scm:222 +#, scheme-format +msgid "found valid signature for '~a'~%" +msgstr "fandt gyldig signatur for »~a«~%" + +#: guix/nar.scm:229 +msgid "imported file lacks a signature" +msgstr "importeret fil mangler en signatur" + +#: guix/nar.scm:268 +msgid "invalid inter-file archive mark" +msgstr "ugyldig arkivmærke for mellemfil" diff --git a/tests/guix-package-net.sh b/tests/guix-package-net.sh new file mode 100644 index 0000000000000000000000000000000000000000..cedfa3217b514ae807c1ae6e7e652fee9bc97843 --- /dev/null +++ b/tests/guix-package-net.sh @@ -0,0 +1,170 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> +# Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.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/>. + +# +# Test the `guix package' command-line utility. This test requires network +# access and is skipped when that is lacking. +# + +guix package --version + +readlink_base () +{ + basename `readlink "$1"` +} + +# Return true if a typical shebang in the store would exceed Linux's default +# static limit. +shebang_too_long () +{ + test `echo $NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash | wc -c` \ + -ge 128 +} + +profile="t-profile-$$" +rm -f "$profile" + +trap 'rm -f "$profile" "$profile-"[0-9]* ; rm -rf t-home-'"$$" EXIT + + +guix package --bootstrap -p "$profile" -i guile-bootstrap +test -L "$profile" && test -L "$profile-1-link" +! test -f "$profile-2-link" +test -f "$profile/bin/guile" + +boot_make="(@@ (gnu packages commencement) gnu-make-boot0)" +boot_make_drv="`guix build -e "$boot_make" | grep -v -e -debug`" +guix package --bootstrap -p "$profile" -i "$boot_make_drv" +test -L "$profile-2-link" +test -f "$profile/bin/make" && test -f "$profile/bin/guile" + +# Check whether `--list-installed' works. +# XXX: Change the tests when `--install' properly extracts the package +# name and version string. +installed="`guix package -p "$profile" --list-installed | cut -f1 | xargs echo | sort`" +case "x$installed" in + "guile-bootstrap make-boot0") + true;; + "make-boot0 guile-bootstrap") + true;; + "*") + false;; +esac + +test "`guix package -p "$profile" -I 'g.*e' | cut -f1`" = "guile-bootstrap" + +# List generations. +test "`guix package -p "$profile" -l | cut -f1 | grep guile | head -n1`" \ + = " guile-bootstrap" + +# Exit with 1 when a generation does not exist. +if guix package -p "$profile" --list-generations=42; +then false; else true; fi +if guix package -p "$profile" --switch-generation=99; +then false; else true; fi + +# Remove a package. +guix package --bootstrap -p "$profile" -r "guile-bootstrap" +test -L "$profile-3-link" +test -f "$profile/bin/make" && ! test -f "$profile/bin/guile" + +# Roll back. +guix package --roll-back -p "$profile" +test "`readlink_base "$profile"`" = "$profile-2-link" +test -x "$profile/bin/guile" && test -x "$profile/bin/make" +guix package --roll-back -p "$profile" +test "`readlink_base "$profile"`" = "$profile-1-link" +test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" + +# Switch to the rolled generation and switch back. +guix package -p "$profile" --switch-generation=2 +test "`readlink_base "$profile"`" = "$profile-2-link" +guix package -p "$profile" --switch-generation=-1 +test "`readlink_base "$profile"`" = "$profile-1-link" + +# Move to the empty profile. +for i in `seq 1 3` +do + guix package --bootstrap --roll-back -p "$profile" + ! test -f "$profile/bin" + ! test -f "$profile/lib" + test "`readlink_base "$profile"`" = "$profile-0-link" +done + +# Test that '--list-generations' does not output the zeroth generation. +test -z "`guix package -p "$profile" -l 0`" + +# Reinstall after roll-back to the empty profile. +guix package --bootstrap -p "$profile" -e "$boot_make" +test "`readlink_base "$profile"`" = "$profile-1-link" +test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" + +# Check that the first generation is the current one. +test "`guix package -p "$profile" -l 1 | cut -f3 | head -n1`" = "(current)" + +# Roll-back to generation 0, and install---all at once. +guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap +test "`readlink_base "$profile"`" = "$profile-1-link" +test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" + +# Install Make. +guix package --bootstrap -p "$profile" -e "$boot_make" +test "`readlink_base "$profile"`" = "$profile-2-link" +test -x "$profile/bin/guile" && test -x "$profile/bin/make" +grep "`guix build -e "$boot_make"`" "$profile/manifest" + +# Make a "hole" in the list of generations, and make sure we can +# roll back and switch "over" it. +rm "$profile-1-link" +guix package --bootstrap -p "$profile" --roll-back +test "`readlink_base "$profile"`" = "$profile-0-link" +guix package -p "$profile" --switch-generation=+1 +test "`readlink_base "$profile"`" = "$profile-2-link" + +# Make sure LIBRARY_PATH gets listed by `--search-paths'. +guix package --bootstrap -p "$profile" -i guile-bootstrap -i gcc-bootstrap +guix package --search-paths -p "$profile" | grep LIBRARY_PATH + +# Roll back so we can delete #3 below. +guix package -p "$profile" --switch-generation=2 + +# Delete the third generation and check that it was actually deleted. +guix package -p "$profile" --delete-generations=3 +test -z "`guix package -p "$profile" -l 3`" + + +# +# Try with the default profile. +# + +XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" +export XDG_CACHE_HOME +HOME="$PWD/t-home-$$" +export HOME + +mkdir -p "$HOME" + +# Get the canonical directory name so that 'guix package' recognizes it. +HOME="`cd $HOME; pwd -P`" + +guix package --bootstrap -e "$boot_make" +test -f "$HOME/.guix-profile/bin/make" + +guix package --bootstrap --roll-back +! test -f "$HOME/.guix-profile/bin/make" diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 94cf92742075023bba92c881ca384f89e4f984d9..6cfd50b5e5b2848d73f3724a13bea10c38543e79 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -28,14 +28,6 @@ readlink_base () basename `readlink "$1"` } -# Return true if a typical shebang in the store would not exceed Linux's -# default static limit. -shebang_not_too_long () -{ - test `echo $NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash | wc -c` \ - -lt 128 -} - module_dir="t-guix-package-$$" profile="t-profile-$$" rm -f "$profile" @@ -63,115 +55,12 @@ test -f "$profile/bin/guile" guix package --search-paths -p "$profile" test "`guix package --search-paths -p "$profile" | wc -l`" = 0 -# Check whether we have network access and an acceptable shebang length. -if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null \ - && shebang_not_too_long -then - boot_make="(@@ (gnu packages commencement) gnu-make-boot0)" - boot_make_drv="`guix build -e "$boot_make" | grep -v -e -debug`" - guix package --bootstrap -p "$profile" -i "$boot_make_drv" - test -L "$profile-2-link" - test -f "$profile/bin/make" && test -f "$profile/bin/guile" - - - # Check whether `--list-installed' works. - # XXX: Change the tests when `--install' properly extracts the package - # name and version string. - installed="`guix package -p "$profile" --list-installed | cut -f1 | xargs echo | sort`" - case "x$installed" in - "guile-bootstrap make-boot0") - true;; - "make-boot0 guile-bootstrap") - true;; - "*") - false;; - esac - - test "`guix package -p "$profile" -I 'g.*e' | cut -f1`" = "guile-bootstrap" - - # List generations. - test "`guix package -p "$profile" -l | cut -f1 | grep guile | head -n1`" \ - = " guile-bootstrap" - - # Exit with 1 when a generation does not exist. - if guix package -p "$profile" --list-generations=42; - then false; else true; fi - if guix package -p "$profile" --switch-generation=99; - then false; else true; fi - - # Remove a package. - guix package --bootstrap -p "$profile" -r "guile-bootstrap" - test -L "$profile-3-link" - test -f "$profile/bin/make" && ! test -f "$profile/bin/guile" - - # Roll back. - guix package --roll-back -p "$profile" - test "`readlink_base "$profile"`" = "$profile-2-link" - test -x "$profile/bin/guile" && test -x "$profile/bin/make" - guix package --roll-back -p "$profile" - test "`readlink_base "$profile"`" = "$profile-1-link" - test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" - - # Switch to the rolled generation and switch back. - guix package -p "$profile" --switch-generation=2 - test "`readlink_base "$profile"`" = "$profile-2-link" - guix package -p "$profile" --switch-generation=-1 - test "`readlink_base "$profile"`" = "$profile-1-link" - - # Move to the empty profile. - for i in `seq 1 3` - do - guix package --bootstrap --roll-back -p "$profile" - ! test -f "$profile/bin" - ! test -f "$profile/lib" - test "`readlink_base "$profile"`" = "$profile-0-link" - done - - # Test that '--list-generations' does not output the zeroth generation. - test -z "`guix package -p "$profile" -l 0`" - - # Reinstall after roll-back to the empty profile. - guix package --bootstrap -p "$profile" -e "$boot_make" - test "`readlink_base "$profile"`" = "$profile-1-link" - test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" - - # Check that the first generation is the current one. - test "`guix package -p "$profile" -l 1 | cut -f3 | head -n1`" = "(current)" - - # Roll-back to generation 0, and install---all at once. - guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap - test "`readlink_base "$profile"`" = "$profile-1-link" - test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" - - # Install Make. - guix package --bootstrap -p "$profile" -e "$boot_make" - test "`readlink_base "$profile"`" = "$profile-2-link" - test -x "$profile/bin/guile" && test -x "$profile/bin/make" - grep "`guix build -e "$boot_make"`" "$profile/manifest" - - # Make a "hole" in the list of generations, and make sure we can - # roll back and switch "over" it. - rm "$profile-1-link" - guix package --bootstrap -p "$profile" --roll-back - test "`readlink_base "$profile"`" = "$profile-0-link" - guix package -p "$profile" --switch-generation=+1 - test "`readlink_base "$profile"`" = "$profile-2-link" - - # Make sure LIBRARY_PATH gets listed by `--search-paths'. - guix package --bootstrap -p "$profile" -i guile-bootstrap -i gcc-bootstrap - guix package --search-paths -p "$profile" | grep LIBRARY_PATH - - # Delete the third generation and check that it was actually deleted. - guix package -p "$profile" --delete-generations=3 - test -z "`guix package -p "$profile" -l 3`" - - # Exit with 1 when a generation does not exist. - if guix package -p "$profile" --delete-generations=42; - then false; else true; fi - - # Exit with 0 when trying to delete the zeroth generation. - guix package -p "$profile" --delete-generations=0 -fi +# Exit with 1 when a generation does not exist. +if guix package -p "$profile" --delete-generations=42; +then false; else true; fi + +# Exit with 0 when trying to delete the zeroth generation. +guix package -p "$profile" --delete-generations=0 # Make sure multiple arguments to -i works. guix package --bootstrap -i guile gcc -p "$profile" -n @@ -212,6 +101,14 @@ if guix package -p "$profile" --delete-generations=12m; then false; else true; fi test "`readlink_base "$profile"`" = "$generation" +# The following command should not delete the current generation, even though +# it matches the given pattern (see <http://bugs.gnu.org/19978>.) And since +# there's nothing else to delete, it should just fail. +guix package --list-generations -p "$profile" +if guix package --bootstrap -p "$profile" --delete-generations=1.. +then false; else true; fi +test "`readlink_base "$profile"`" = "$generation" + # Make sure $profile is a GC root at this point. real_profile="`readlink -f "$profile"`" if guix gc -d "$real_profile" @@ -242,18 +139,6 @@ guix package --bootstrap -i guile-bootstrap test -L "$HOME/.guix-profile" test -f "$HOME/.guix-profile/bin/guile" -if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null -then - guix package --bootstrap -e "$boot_make" - test -f "$HOME/.guix-profile/bin/make" - first_environment="`cd $HOME/.guix-profile ; pwd`" - - guix package --bootstrap --roll-back - test -f "$HOME/.guix-profile/bin/guile" - ! test -f "$HOME/.guix-profile/bin/make" - test "`cd $HOME/.guix-profile ; pwd`" = "$first_environment" -fi - # Move to the empty profile. default_profile="`readlink "$HOME/.guix-profile"`" for i in `seq 1 3` diff --git a/tests/publish.scm b/tests/publish.scm new file mode 100644 index 0000000000000000000000000000000000000000..60f57a8ddbf0c20408f2c3fac239a6f78d622f61 --- /dev/null +++ b/tests/publish.scm @@ -0,0 +1,114 @@ +;;; 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 (test-publish) + #:use-module (guix scripts publish) + #:use-module (guix tests) + #:use-module (guix config) + #:use-module (guix utils) + #:use-module (guix hash) + #:use-module (guix store) + #:use-module (guix base32) + #:use-module (guix base64) + #:use-module ((guix serialization) #:select (restore-file)) + #:use-module (guix pk-crypto) + #:use-module (web client) + #:use-module (web response) + #:use-module (rnrs bytevectors) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-64) + #:use-module (ice-9 match) + #:use-module (ice-9 rdelim)) + +(define %store + (open-connection-for-tests)) + +(define %reference (add-text-to-store %store "ref" "foo")) + +(define %item (add-text-to-store %store "item" "bar" (list %reference))) + +(define (http-get-body uri) + (call-with-values (lambda () (http-get uri)) + (lambda (response body) body))) + +(define (publish-uri route) + (string-append "http://localhost:6789" route)) + +;; Run a local publishing server in a separate thread. +(call-with-new-thread + (lambda () + (guix-publish "--port=6789"))) ; attempt to avoid port collision + +;; Wait until the server is accepting connections. +(let ((conn (socket PF_INET SOCK_STREAM 0))) + (let loop () + (unless (false-if-exception + (connect conn AF_INET (inet-pton AF_INET "127.0.0.1") 6789)) + (loop)))) + +(test-begin "publish") + +(test-equal "/nix-cache-info" + (format #f "StoreDir: ~a\nWantMassQuery: 0\nPriority: 100\n" + %store-directory) + (http-get-body (publish-uri "/nix-cache-info"))) + +(test-equal "/*.narinfo" + (let* ((info (query-path-info %store %item)) + (unsigned-info + (format #f + "StorePath: ~a +URL: nar/~a +Compression: none +NarHash: sha256:~a +NarSize: ~d +References: ~a~%" + %item + (basename %item) + (bytevector->base32-string + (path-info-hash info)) + (path-info-nar-size info) + (basename (first (path-info-references info))))) + (signature (base64-encode + (string->utf8 + (canonical-sexp->string + ((@@ (guix scripts publish) signed-string) + unsigned-info)))))) + (format #f "~aSignature: 1;~a;~a~%" + unsigned-info (gethostname) signature)) + (utf8->string + (http-get-body + (publish-uri + (string-append "/" (store-path-hash-part %item) ".narinfo"))))) + +(test-equal "/nar/*" + "bar" + (call-with-temporary-output-file + (lambda (temp port) + (let ((nar (utf8->string + (http-get-body + (publish-uri + (string-append "/nar/" (basename %item))))))) + (call-with-input-string nar (cut restore-file <> temp))) + (call-with-input-file temp read-string)))) + +(test-end "publish") + + +(exit (= (test-runner-fail-count (test-runner-current)) 0)) diff --git a/tests/store.scm b/tests/store.scm index f778c2086d8e6d76c4bab1a293fdc4195d003687..eeceed45c18a2ac990ba50c92ad053997bb5cbc9 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -606,6 +606,16 @@ (define (same? x y) (file (add %store "foo" "Lowered."))) (call-with-input-file file get-string-all))) +(test-assert "query-path-info" + (let* ((ref (add-text-to-store %store "ref" "foo")) + (item (add-text-to-store %store "item" "bar" (list ref))) + (info (query-path-info %store item))) + (and (equal? (path-info-references info) (list ref)) + (equal? (path-info-hash info) + (sha256 + (string->utf8 + (call-with-output-string (cut write-file item <>)))))))) + (test-end "store") diff --git a/tests/syscalls.scm b/tests/syscalls.scm index f26331e1644545658f81bc621bf63f9aad3dffef..706f3dff44f82424264d04f14ecb318b1e80c230 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm @@ -19,6 +19,7 @@ (define-module (test-syscalls) #:use-module (guix build syscalls) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (srfi srfi-64) #:use-module (ice-9 match)) @@ -45,7 +46,10 @@ (define-module (test-syscalls) (memv (system-error-errno args) (list EPERM ENOENT))))) (test-assert "mount-points" - (member "/" (mount-points))) + ;; Reportedly "/" is not always listed as a mount point, so check a few + ;; others (see <http://bugs.gnu.org/20261>.) + (any (cute member <> (mount-points)) + '("/" "/proc" "/sys" "/dev"))) (test-assert "swapon, ENOENT/EPERM" (catch 'system-error