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>
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/environment.scm \
+ guix/scripts/publish.scm \
guix.scm \
$(GNU_SYSTEM_MODULES)
tests/profiles.scm \
tests/syscalls.scm \
tests/gremlin.scm \
- tests/lint.scm
+ tests/lint.scm \
+ tests/publish.scm
if HAVE_GUILE_JSON
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 \
* 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
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.
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:
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.
@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
@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,
#~(begin
(mkdir #$output)
(chdir #$output)
- (symlink (string-append #$coreutils "/bin/ls")
+ (symlink (string-append #$coreutils "/bin/ls")
"list-files")))
@end example
* 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
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
(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
@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
[#: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.
@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
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 \
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 \
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 \
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 \
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 \
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 \
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 \
#:use-module (srfi srfi-39)
#:export (search-patch
search-bootstrap-binary
- %patch-directory
+ %patch-path
%bootstrap-binaries-path
%package-module-path
;;; 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.
;;;
(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
#: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)
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")
;; 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")
#: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)
"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")
#: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)
#: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)
("libpng" ,libpng)
("zlib" ,zlib)
+ ("librsvg" ,librsvg)
("libxpm" ,libxpm)
("libxml2" ,libxml2)
("libice" ,libice)
(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")))))
--- /dev/null
+;;; 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+)))
;;; 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.
;;;
;;; 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
(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)))
;;; 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.
;;;
(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)
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))))
;;; 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.
;;;
#: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)
#: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)
#: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))
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
- (version "3.10.0")
+ (version "3.16.0")
(source
(origin
(method url-fetch)
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
(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 "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1rbxrigff9yszbgdw0gw4c2saz4d1hbbpz21phzxx14w49wvmnmj"))))
+ "0lnq0bgkmsixjwmfacb2ch9qfjqjxa8zkk1hiv3l29kgca0n3nal"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("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
;; 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)
name "-" version ".tar.xz"))
(sha256
(base32
- "0nbgvzlsznn3v83pdcx2d52r4ig1mvaijh633rjddx9rgq2ja7kv"))))
+ "0wfvqyryc1093l4dr75zv9h0jyn28z6wirdq03lm5w24qf9lvjjx"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
"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+)))
;;; 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)
(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)
(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)
(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)))
(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)
("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
;;; 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.
;;;
(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 "/"
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.
(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 "/"
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,
(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 "/"
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
(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 "/"
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
#: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.
;;
("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
;;; 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.
;;;
(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)
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))))
#: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
"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))
#: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
("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
#
# 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
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
# 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
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
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
# 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
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
# 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
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
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
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
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
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
-CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
# 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
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
#
# 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
# 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
# USB GPIO expanders:
#
CONFIG_GPIO_VIPERBOARD=m
+CONFIG_GPIO_DLN2=m
CONFIG_W1=m
CONFIG_W1_CON=y
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
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
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
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
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
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
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
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
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
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
+
+#
+# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
+#
CONFIG_DVB_TC90522=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
#
# 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
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
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
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
#
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
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
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
# HID support
#
CONFIG_HID=m
+CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=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
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
# 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
# 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
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
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
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
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
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
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
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
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
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
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
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
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
# 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
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
#
# Android
#
-# CONFIG_ANDROID is not set
CONFIG_USB_WPAN_HCD=m
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
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
# 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
#
# SOC (System On Chip) specific Drivers
#
+CONFIG_SOC_TI=y
CONFIG_PM_DEVFREQ=y
#
CONFIG_AD7887=m
CONFIG_AD7923=m
CONFIG_AD799X=m
+CONFIG_AXP288_ADC=m
CONFIG_LP8788_ADC=m
CONFIG_MAX1027=m
CONFIG_MAX1363=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
#
CONFIG_DHT11=m
CONFIG_SI7005=m
+CONFIG_SI7020=m
#
# Inertial measurement units
#
# Pressure sensors
#
+CONFIG_BMP280=m
CONFIG_HID_SENSOR_PRESS=m
CONFIG_MPL115=m
CONFIG_MPL3115=m
CONFIG_RAS=y
CONFIG_THUNDERBOLT=m
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+
#
# Firmware Drivers
#
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
# 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
#
# 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
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
#
# 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
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
#
# 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
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
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
# 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
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
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
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
# 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
# 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
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
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
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
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_CPU_FREQ_GOV_CONSERVATIVE=y
#
-# x86 CPU frequency scaling drivers
+# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
-CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=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
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
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
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
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
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
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
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
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
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
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
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
#
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
# 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
#
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
#
# 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
# 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
# USB GPIO expanders:
#
CONFIG_GPIO_VIPERBOARD=m
+CONFIG_GPIO_DLN2=m
CONFIG_W1=m
CONFIG_W1_CON=y
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
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
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
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
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
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
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
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
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
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
+
+#
+# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
+#
CONFIG_DVB_TC90522=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
#
# 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
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_BOCHS is not set
+CONFIG_HSA_AMD=m
#
# Frame buffer Devices
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
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
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
#
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
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
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
# HID support
#
CONFIG_HID=m
+CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=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
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
# 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
# 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
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
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
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
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
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
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
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
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
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
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
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
# 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
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
#
# Android
#
-# CONFIG_ANDROID is not set
CONFIG_USB_WPAN_HCD=m
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
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
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
# 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
#
# SOC (System On Chip) specific Drivers
#
+CONFIG_SOC_TI=y
CONFIG_PM_DEVFREQ=y
#
CONFIG_AD7887=m
CONFIG_AD7923=m
CONFIG_AD799X=m
+CONFIG_AXP288_ADC=m
CONFIG_LP8788_ADC=m
CONFIG_MAX1027=m
CONFIG_MAX1363=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
#
CONFIG_DHT11=m
CONFIG_SI7005=m
+CONFIG_SI7020=m
#
# Inertial measurement units
#
# Pressure sensors
#
+CONFIG_BMP280=m
CONFIG_HID_SENSOR_PRESS=m
CONFIG_MPL115=m
CONFIG_MPL3115=m
CONFIG_RAS=y
CONFIG_THUNDERBOLT=m
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+
#
# Firmware Drivers
#
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
# 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
#
# 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
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
#
# 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
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
#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.
(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)
(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
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+)))
(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"))))
#: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)
#: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)
#: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
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+)))
(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)
;;; 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.
;;;
(define-public parallel
(package
(name "parallel")
- (version "20150122")
+ (version "20150322")
(source
(origin
(method url-fetch)
version ".tar.bz2"))
(sha256
(base32
- "14g9pka59vln19rg6y8lyvrsc4nb3jk8y26hv3hdrf44rgwpds7d"))))
+ "1zsj1bd4zbwb4n9i0jgzs7vd5wkyg3xvj6s1q6s5fyn0pff7j01c"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(home-page "http://www.gnu.org/software/parallel/")
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
--- /dev/null
+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)) {
--- /dev/null
+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
+
--- /dev/null
+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'){
--- /dev/null
+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);
+++ /dev/null
-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();
--- /dev/null
+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;
+ }
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
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")
;;; 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.
;;;
#: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")
(define-public source-highlight
(package
(name "source-highlight")
- (version "3.1.7")
+ (version "3.1.8")
(source
(origin
(method url-fetch)
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
;;; 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.
;;;
'(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"
(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)
(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
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")
(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")
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))
(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)
(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)
#: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)
#: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")
(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
(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
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
(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
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
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
(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
(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
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
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
(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
("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
(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
(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
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
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
(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
(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
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)
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
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)))
#: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)
(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
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")
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")
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")
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")
\"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")
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")
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")
#: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)
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+)))
(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)
(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 "
(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
(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.
(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"))))
(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.
(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
(initrd (if initrd ; use the default initrd?
(return initrd)
(base-initrd %linux-vm-file-systems
+ #:linux linux
#:virtio? #t
#:qemu-networking? #t))))
--- /dev/null
+;;; 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
((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
--- /dev/null
+;;; 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
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)))))
+
\f
;;;
;;; Package specifications.
(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?))
(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)))
--- /dev/null
+;;; 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)))))
valid-path?
query-path-hash
hash-part->path
+ query-path-info
add-text-to-store
add-to-store
build-things
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
(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)
(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)
(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)))))
;; /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.
(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)
# Set of available languages.
cs
+da
de
en@boldquot
en@quot
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
--- /dev/null
+# 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"
--- /dev/null
+# 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"
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"
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
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"
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`
--- /dev/null
+;;; 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")
+
+\f
+(exit (= (test-runner-fail-count (test-runner-current)) 0))
(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")
\f
(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))
(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