diff options
Diffstat (limited to 'gnu')
82 files changed, 4674 insertions, 618 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 3eebb71dfc..dfadde326c 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -50,6 +50,25 @@ ,name))) (zero? (apply system* "groupadd" args)))) +(define %skeleton-directory + ;; Directory containing skeleton files for new accounts. + ;; Note: keep the trailing '/' so that 'scandir' enters it. + "/etc/skel/") + +(define (dot-or-dot-dot? file) + (member file '("." ".."))) + +(define* (copy-account-skeletons home + #:optional (directory %skeleton-directory)) + "Copy the account skeletons from DIRECTORY to HOME." + (let ((files (scandir directory (negate dot-or-dot-dot?) + string<?))) + (mkdir-p home) + (for-each (lambda (file) + (copy-file (string-append directory "/" file) + (string-append home "/" file))) + files))) + (define* (add-user name group #:key uid comment home shell password system? (supplementary-groups '()) @@ -70,6 +89,7 @@ properties. Return #t on success." (cut format <> "~a:x:~a:~a:~a:~a:~a~%" name "0" "0" comment home shell)) (chmod "/etc/shadow" #o600) + (copy-account-skeletons (or home "/root")) #t) ;; Use 'useradd' from the Shadow package. @@ -198,18 +218,12 @@ numeric gid or #f." ;; XXX: Dirty hack to meet sudo's expectations. (when (string=? (basename target) "sudoers") (chmod target #o440)))) - (scandir etc - (lambda (file) - (not (member file '("." "..")))) + (scandir etc (negate dot-or-dot-dot?) ;; The default is 'string-locale<?', but we don't have ;; it when run from the initrd's statically-linked ;; Guile. - string<?)) - - ;; Prevent ETC from being GC'd. - (rm-f "/var/guix/gcroots/etc-directory") - (symlink etc "/var/guix/gcroots/etc-directory")) + string<?))) (define %setuid-directory ;; Place where setuid programs are stored. diff --git a/gnu/build/install.scm b/gnu/build/install.scm index a472259a4a..aa901f6971 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -36,13 +36,17 @@ (define* (install-grub grub.cfg device mount-point) "Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on -MOUNT-POINT." +MOUNT-POINT. + +Note that the caller must make sure that GRUB.CFG is registered as a GC root +so that the fonts, background images, etc. referred to by GRUB.CFG are not +GC'd." (let* ((target (string-append mount-point "/boot/grub/grub.cfg")) (pivot (string-append target ".new"))) (mkdir-p (dirname target)) - ;; Copy GRUB.CFG instead of just symlinking it since it's not a GC root. - ;; Do that atomically. + ;; Copy GRUB.CFG instead of just symlinking it, because symlinks won't + ;; work when /boot is on a separate partition. Do that atomically. (copy-file grub.cfg pivot) (rename-file pivot target) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index ea1971ff9c..b2ed1a8b54 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -26,6 +26,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 ftw) #:use-module (guix build utils) + #:use-module (gnu build linux-modules) #:use-module (gnu build file-systems) #:export (mount-essential-file-systems linux-command-line @@ -34,7 +35,6 @@ configure-qemu-networking bind-mount - load-linux-module* device-number boot-system)) @@ -218,14 +218,6 @@ networking values.) Return #t if INTERFACE is up, #f otherwise." (logand (network-interface-flags sock interface) IFF_UP))) -(define (load-linux-module* file) - "Load Linux module from FILE, the name of a `.ko' file." - (define (slurp module) - ;; TODO: Use 'mmap' to reduce memory usage. - (call-with-input-file file get-bytevector-all)) - - (load-linux-module (slurp file))) - (define (device-number major minor) "Return the device number for the device with MAJOR and MINOR, for use as the last argument of `mknod'." @@ -332,16 +324,17 @@ bailing out.~%root contents: ~s~%" (scandir "/")) (define* (boot-system #:key (linux-modules '()) + linux-module-directory qemu-guest-networking? volatile-root? pre-mount (mounts '())) "This procedure is meant to be called from an initrd. Boot a system by -first loading LINUX-MODULES (a list of absolute file names of '.ko' files), -then setting up QEMU guest networking if QEMU-GUEST-NETWORKING? is true, -calling PRE-MOUNT, mounting the file systems specified in MOUNTS, and finally -booting into the new root if any. The initrd supports kernel command-line -options '--load', '--root', and '--repl'. +first loading LINUX-MODULES (a list of module names) from +LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if +QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems +specified in MOUNTS, and finally booting into the new root if any. The initrd +supports kernel command-line options '--load', '--root', and '--repl'. Mount the root file system, specified by the '--root' command-line argument, if any. @@ -362,6 +355,10 @@ to it are lost." mounts) "ext4")) + (define (lookup-module name) + (string-append linux-module-directory "/" + (ensure-dot-ko name))) + (display "Welcome, this is GNU's early boot Guile.\n") (display "Use '--repl' for an initrd REPL.\n\n") @@ -376,7 +373,10 @@ to it are lost." (start-repl)) (display "loading kernel modules...\n") - (for-each load-linux-module* linux-modules) + (current-module-debugging-port (current-output-port)) + (for-each (cut load-linux-module* <> + #:lookup-module lookup-module) + (map lookup-module linux-modules)) (when qemu-guest-networking? (unless (configure-qemu-networking) @@ -388,6 +388,14 @@ to it are lost." ;; Prepare the real root file system under /root. (unless (file-exists? "/root") (mkdir "/root")) + + (when (procedure? pre-mount) + ;; Do whatever actions are needed before mounting the root file + ;; system--e.g., installing device mappings. Error out when the + ;; return value is false. + (unless (pre-mount) + (error "pre-mount actions failed"))) + (if root (mount-root-file-system (canonicalize-device-spec root) root-fs-type @@ -398,11 +406,6 @@ to it are lost." (mkdir "/root/dev") (make-essential-device-nodes #:root "/root")) - (when (procedure? pre-mount) - ;; Do whatever actions are needed before mounting--e.g., installing - ;; device mappings. - (pre-mount)) - ;; Mount the specified file systems. (for-each mount-file-system (remove root-mount-point? mounts)) diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm new file mode 100644 index 0000000000..a3bc7d6e33 --- /dev/null +++ b/gnu/build/linux-modules.scm @@ -0,0 +1,166 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu build linux-modules) + #:use-module (guix elf) + #:use-module (rnrs io ports) + #:use-module (rnrs bytevectors) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 vlist) + #:use-module (ice-9 match) + #:export (dot-ko + ensure-dot-ko + module-dependencies + recursive-module-dependencies + modules-loaded + module-loaded? + load-linux-module* + + current-module-debugging-port)) + +;;; Commentary: +;;; +;;; Tools to deal with Linux kernel modules. +;;; +;;; Code: + +(define current-module-debugging-port + (make-parameter (%make-void-port "w"))) + +(define (section-contents elf section) + "Return the contents of SECTION in ELF as a bytevector." + (let* ((modinfo (elf-section-by-name elf ".modinfo")) + (contents (make-bytevector (elf-section-size modinfo)))) + (bytevector-copy! (elf-bytes elf) (elf-section-offset modinfo) + contents 0 + (elf-section-size modinfo)) + contents)) + +(define %not-nul + (char-set-complement (char-set #\nul))) + +(define (nul-separated-string->list str) + "Split STR at occurrences of the NUL character and return the resulting +string list." + (string-tokenize str %not-nul)) + +(define (key=value->pair str) + "Assuming STR has the form \"KEY=VALUE\", return a pair like (KEY +. \"VALUE\")." + (let ((= (string-index str #\=))) + (cons (string->symbol (string-take str =)) + (string-drop str (+ 1 =))))) + +(define (modinfo-section-contents file) + "Return the contents of the '.modinfo' section of FILE as a list of +key/value pairs.." + (let* ((bv (call-with-input-file file get-bytevector-all)) + (elf (parse-elf bv)) + (modinfo (section-contents elf ".modinfo"))) + (map key=value->pair + (nul-separated-string->list (utf8->string modinfo))))) + +(define %not-comma + (char-set-complement (char-set #\,))) + +(define (module-dependencies file) + "Return the list of modules that FILE depends on. The returned list +contains module names, not actual file names." + (let ((info (modinfo-section-contents file))) + (match (assq 'depends info) + (('depends . what) + (string-tokenize what %not-comma))))) + +(define dot-ko + (cut string-append <> ".ko")) + +(define (ensure-dot-ko name) + "Return NAME with a '.ko' prefix appended, unless it already has it." + (if (string-suffix? ".ko" name) + name + (dot-ko name))) + +(define* (recursive-module-dependencies files + #:key (lookup-module dot-ko)) + "Return the topologically-sorted list of file names of the modules depended +on by FILES, recursively. File names of modules are determined by applying +LOOKUP-MODULE to the module name." + (let loop ((files files) + (result '()) + (visited vlist-null)) + (match files + (() + (delete-duplicates (reverse result))) + ((head . tail) + (let* ((visited? (vhash-assoc head visited)) + (deps (if visited? + '() + (map lookup-module (module-dependencies head)))) + (visited (if visited? + visited + (vhash-cons head #t visited)))) + (loop (append deps tail) + (append result deps) visited)))))) + +(define %not-newline + (char-set-complement (char-set #\newline))) + +(define (modules-loaded) + "Return the list of names of currently loaded Linux modules." + (let* ((contents (call-with-input-file "/proc/modules" + get-string-all)) + (lines (string-tokenize contents %not-newline))) + (match (map string-tokenize lines) + (((modules . _) ...) + modules)))) + +(define (module-loaded? module) + "Return #t if MODULE is already loaded. MODULE must be a Linux module name, +not a file name." + (member module (modules-loaded))) + +(define* (load-linux-module* file + #:key + (recursive? #t) + (lookup-module dot-ko)) + "Load Linux module from FILE, the name of a `.ko' file. When RECURSIVE? is +true, load its dependencies first (à la 'modprobe'.) The actual files +containing modules depended on are obtained by calling LOOKUP-MODULE with the +module name." + (define (slurp module) + ;; TODO: Use 'mmap' to reduce memory usage. + (call-with-input-file file get-bytevector-all)) + + (when recursive? + (for-each (cut load-linux-module* <> #:lookup-module lookup-module) + (map lookup-module (module-dependencies file)))) + + (format (current-module-debugging-port) + "loading Linux module from '~a'...~%" file) + + (catch 'system-error + (lambda () + (load-linux-module (slurp file))) + (lambda args + ;; If this module was already loaded and we're in modprobe style, ignore + ;; the error. + (unless (and recursive? (= EEXIST (system-error-errno args))) + (apply throw args))))) + +;;; linux-modules.scm ends here diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 03db1cd5f9..2c53cf5dd9 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -178,6 +178,12 @@ volume name." (display "populating...\n") (populate-root-file-system system-directory target-directory)) +(define (register-grub.cfg-root target grub.cfg) + "On file system TARGET, register GRUB.CFG as a GC root." + (let ((directory (string-append target "/var/guix/gcroots"))) + (mkdir-p directory) + (symlink grub.cfg (string-append directory "/grub.cfg")))) + (define* (initialize-hard-disk device #:key system-directory @@ -222,6 +228,9 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (install-grub grub.cfg device target-directory) + ;; Register GRUB.CFG as a GC root. + (register-grub.cfg-root target-directory grub.cfg) + ;; 'guix-register' resets timestamps and everything, so no need to do it ;; once more in that case. (unless register-closures? diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3893da3a07..d7cd0b8092 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -689,9 +689,12 @@ commands and their arguments.") (let ((port (open-file ".config" "al"))) (display " CONFIG_DEBUG_SYSLOG=y - CONFIG_CTRL_IFACE_DBUS=y - CONFIG_CTRL_IFACE_DBUS_NEW=y - CONFIG_CTRL_IFACE_DBUS_INTRO=y + + # TODO: Add a variant of this package with DBus support. + #CONFIG_CTRL_IFACE_DBUS=y + #CONFIG_CTRL_IFACE_DBUS_NEW=y + #CONFIG_CTRL_IFACE_DBUS_INTRO=y + CONFIG_DRIVER_NL80211=y CFLAGS += $(shell pkg-config libnl-3.0 --cflags) CONFIG_LIBNL32=y @@ -708,7 +711,9 @@ commands and their arguments.") (inputs `(("readline" ,readline) ("libnl" ,libnl) - ("dbus" ,dbus) + ;; TODO: Add a variant with DBus support. This significantly increases + ;; the size of its closure since DBus depends on libx11. + ;; ("dbus" ,dbus) ("openssl" ,o:openssl))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e2ec52a45b..aec8d8949c 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -500,7 +501,7 @@ with the Linux kernel.") (define-public tzdata (package (name "tzdata") - (version "2014a") + (version "2014j") (source (origin (method url-fetch) (uri (string-append @@ -508,7 +509,7 @@ with the Linux kernel.") version ".tar.gz")) (sha256 (base32 - "1cg843ajz4g16axpz56zvalwsbp1s764na2bk4fb44ayx162bzvw")))) + "038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -555,7 +556,7 @@ with the Linux kernel.") version ".tar.gz")) (sha256 (base32 - "1xfkqi1q8cnxqbv8azdj5pqlzhkjz6xag09f1z0s8rxi86jkpf85")))))) + "1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z")))))) (home-page "http://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm new file mode 100644 index 0000000000..6f6178a3ff --- /dev/null +++ b/gnu/packages/bioinformatics.scm @@ -0,0 +1,84 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages bioinformatics) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python)) + +(define-public samtools + (package + (name "samtools") + (version "1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/samtools/" + version "/samtools-" version ".tar.bz2")) + (sha256 + (base32 + "1y5p2hs4gif891b4ik20275a8xf3qrr1zh9wpysp4g8m0g1jckf2")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + (alist-cons-after + 'unpack + 'patch-makefile-curses + (lambda _ + (substitute* "Makefile" + (("-lcurses") "-lncurses"))) + (alist-cons-after + 'unpack + 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "test/test.pl" + ;; The test script calls out to /bin/bash + (("/bin/bash") + (string-append bash "/bin/bash")) + ;; There are two failing tests upstream relating to the "stats" + ;; subcommand in test_usage_subcommand ("did not have Usage" + ;; and "usage did not mention samtools stats"), so we disable + ;; them. + (("(test_usage_subcommand\\(.*\\);)" cmd) + (string-append "unless ($subcommand eq 'stats') {" cmd "};"))))) + (alist-delete + 'configure + %standard-phases))))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("ncurses" ,ncurses) + ("perl" ,perl) + ("python" ,python) + ("zlib" ,zlib))) + (home-page "http://samtools.sourceforge.net") + (synopsis "Utilities to efficiently manipulate nucleotide sequence alignments") + (description + "Samtools implements various utilities for post-processing nucleotide +sequence alignments in the SAM, BAM, and CRAM formats, including indexing, +variant calling (in conjunction with bcftools), and a simple alignment +viewer.") + (license license:expat))) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 8b4388668e..20a2bdca8c 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -1,4 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -20,6 +21,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module ((guix licenses) #:prefix l:) #:use-module (gnu packages openssl) #:use-module (gnu packages libevent) @@ -30,7 +32,11 @@ #:use-module ((gnu packages compression) #:select (zlib)) #:use-module (gnu packages glib) - #:use-module (gnu packages gtk)) + #:use-module (gnu packages gtk) + #:use-module (gnu packages check) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages curl) + #:use-module (gnu packages cyrus-sasl)) (define-public transmission (package @@ -44,11 +50,12 @@ (sha256 (base32 "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (outputs '("out" ; library and command-line interface "gui")) ; graphical user interface (arguments - '(#:phases (alist-cons-after + '(#:glib-or-gtk-wrap-excluded-outputs '("out") + #:phases (alist-cons-after 'install 'move-gui (lambda* (#:key outputs #:allow-other-keys) ;; Move the GUI to its own output, so that "out" doesn't @@ -88,3 +95,63 @@ DHT, µTP, PEX and Magnet Links.") ;; ;; A few files files carry an MIT/X11 license header. (license l:gpl3+))) + +(define-public libtorrent + (package + (name "libtorrent") + (version "0.13.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://libtorrent.rakshasa.no/downloads/libtorrent-" + version ".tar.gz")) + (sha256 + (base32 + "0ma910br5vxrfpm4f4w4942lpmhwvqjnnf9h8vpf52fw35qhjkkh")))) + (build-system gnu-build-system) + (inputs `(("openssl" ,openssl) + ("zlib" ,zlib))) + (native-inputs `(("pkg-config" ,pkg-config) + ;; Add this when you enable tests: + ;; ("cppunit" ,cppunit) + )) + (arguments + ;; FIXME: enable tests on the next release: + ;; https://github.com/rakshasa/libtorrent/issues/59 + `(#:tests? #f)) + (synopsis "BitTorrent library of rtorrent") + (description + "LibTorrent is a BitTorrent library used by and developed in parallel +with the BitTorrent client rtorrent. It is written in C++ with emphasis on +speed and efficiency.") + (home-page "http://libtorrent.rakshasa.no/") + (license l:gpl2+))) + +(define-public rtorrent + (package + (name "rtorrent") + (version "0.9.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://libtorrent.rakshasa.no/downloads/rtorrent-" + version ".tar.gz")) + (sha256 + (base32 + "113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw")))) + (build-system gnu-build-system) + (inputs `(("libtorrent" ,libtorrent) + ("ncurses" ,ncurses) + ("curl" ,curl) + ("cyrus-sasl" ,cyrus-sasl) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (native-inputs `(("pkg-config" ,pkg-config) + ("cppunit" ,cppunit))) + (synopsis "BitTorrent client with ncurses interface") + (description + "rTorrent is a BitTorrent client with an ncurses interface. It supports +full encryption, DHT, PEX, and Magnet Links. It can also be controlled via +XML-RPC over SCGI.") + (home-page "http://libtorrent.rakshasa.no/") + (license l:gpl2+))) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 29def9b6aa..6187f871af 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -32,7 +32,11 @@ #:use-module (gnu packages elf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) - #:use-module (gnu packages which)) + #:use-module (gnu packages which) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages wget) + #:use-module (gnu packages xiph)) (define-public libcddb (package @@ -68,14 +72,14 @@ caching facility provided by the library.") (define-public libcdio (package (name "libcdio") - (version "0.92") + (version "0.93") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libcdio/libcdio-" version ".tar.gz")) (sha256 (base32 - "1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik")))) + "0xb9km1750ndr7nglgbv1smv03dy8nkcfd9djbzqn3ldzlicswj9")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) @@ -217,3 +221,104 @@ files. Dvdisaster works at the image level so that the recovery does not depend on the file system of the medium. The maximum error correction capacity is user-selectable.") (license gpl2+))) + +(define-public cd-discid + (package + (name "cd-discid") + (version "1.4") + (home-page "http://linukz.org/cd-discid.shtml") + (source (origin + (method url-fetch) + (uri (string-append "http://linukz.org/download/cd-discid-" + version ".tar.gz")) + (sha256 + (base32 + "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/usr/bin/install") + "install"))))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases (alist-delete 'configure %standard-phases) + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))))) + (synopsis "Get CDDB discid information from an audio CD") + (description + "cd-discid is a command-line tool to retrieve CDDB discid information +from an audio CD.") + (license gpl2+))) + +(define-public abcde + (package + (name "abcde") + (version "2.6") + (home-page "http://abcde.einval.com/") + (source (origin + (method url-fetch) + (uri (string-append home-page "/download/abcde-" + version ".tar.gz")) + (sha256 + (base32 + "0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/usr/bin/install") + "install") + (("^etcdir = .*$") + (string-append "etcdir = $(prefix)/etc\n")))))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs inputs #:allow-other-keys) + (substitute* "Makefile" + (("^prefix = .*$") + (string-append "prefix = " + (assoc-ref outputs "out") + "\n")))) + (alist-cons-after + 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((wget (assoc-ref inputs "wget")) + (vorbis (assoc-ref inputs "vorbis-tools")) + (parano (assoc-ref inputs "cdparanoia")) + (which (assoc-ref inputs "which")) + (discid (assoc-ref inputs "cd-discid")) + (out (assoc-ref outputs "out"))) + (define (wrap file) + (wrap-program file + `("PATH" ":" prefix + (,(string-append out "/bin:" + wget "/bin:" + which "/bin:" + vorbis "/bin:" + discid "/bin:" + parano "/bin"))))) + + (for-each wrap + (find-files (string-append out "/bin") + ".*")))) + %standard-phases)) + #:tests? #f)) + + (inputs `(("wget" ,wget) + ("which" ,which) + ("cdparanoia" ,cdparanoia) + ("cd-discid" ,cd-discid) + ("vorbis-tools" ,vorbis-tools) + + ;; A couple of Python and Perl scripts are included. + ("python" ,python) + ("perl" ,perl))) + + (synopsis "Command-line audio CD ripper") + (description + "abcde is a front-end command-line utility (actually, a shell script) +that grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex +and/or MPP/MP+ (Musepack) format, and tags them, all in one go.") + (license gpl2+))) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm new file mode 100644 index 0000000000..afa8b8d99b --- /dev/null +++ b/gnu/packages/debug.scm @@ -0,0 +1,139 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages debug) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages bash) + #:use-module (gnu packages flex) + #:use-module (gnu packages indent) + #:use-module (gnu packages llvm) + #:use-module (gnu packages perl) + #:use-module (gnu packages pretty-print)) + +(define-public delta + (package + (name "delta") + (version "2006.08.03") + (source + (origin + (method url-fetch) + (uri (list + (string-append "http://ftp.de.debian.org/debian/pool/main/d/delta/" + "delta_" version ".orig.tar.gz") + ;; This uri seems to send guix download into an infinite loop + (string-append "http://delta.tigris.org/files/documents/3103/" + "33566/delta-" version ".tar.gz"))) + (sha256 + (base32 + "184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q")))) + (build-system gnu-build-system) + (inputs ;Installed programs are perl scripts + `(("perl" ,perl))) + (arguments + `(#:phases + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Makefile contains no install target + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/delta-" ,version))) + (begin + (mkdir-p bin) + (mkdir-p doc) + (for-each (lambda (h) + (copy-file h (string-append doc "/" (basename h)))) + `("License.txt" ,@(find-files "www" ".*\\.html"))) + (for-each (lambda (b) + (copy-file b (string-append bin "/" b))) + `("delta" "multidelta" "topformflat"))))) + (alist-delete 'configure %standard-phases)))) + (home-page "http://delta.tigris.org/") + (synopsis "Heuristical file minimizer") + (description + "Delta assists you in minimizing \"interesting\" files subject to a test +of their interestingness. A common such situation is when attempting to +isolate a small failure-inducing substring of a large input that causes your +program to exhibit a bug.") + ;; See License.txt, which is a bsd-3 license, despite the project's + ;; home-page pointing to a bsd-2 license. + (license bsd-3))) + +(define-public c-reduce + (package + (name "c-reduce") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (list + (string-append "http://embed.cs.utah.edu/creduce/" + "creduce-" version ".tar.gz"))) + (sha256 + (base32 + "0wh0fkyg2l41d2wkndrgdiai9g2qiav7jik7cys21vmgzq01pyy2")) + (modules '((guix build utils))) + (snippet + '(substitute* "clang_delta/TransformationManager.cpp" + (("llvm/Config/config.h") "llvm/Config/llvm-config.h"))))) + (build-system gnu-build-system) + (inputs + `(("astyle" ,astyle) + ("delta" ,delta) + ("llvm" ,llvm) + ("clang" ,clang) + ("flex" ,flex) + ("indent" ,indent) + ("perl" ,perl) + ("benchmark-timer" ,perl-benchmark-timer) + ("exporter-lite" ,perl-exporter-lite) + ("file-which" ,perl-file-which) + ("getopt-tabular" ,perl-getopt-tabular) + ("regex-common" ,perl-regexp-common) + ("sys-cpu" ,perl-sys-cpu))) + (arguments + `(#:phases (alist-cons-after + 'install 'set-load-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Tell creduce where to find the perl modules it needs. + (let* ((out (assoc-ref outputs "out")) + (prog (string-append out "/bin/creduce"))) + (wrap-program + prog + `("PERL5LIB" ":" prefix + ,(map (lambda (p) + (string-append (assoc-ref inputs p) + "/lib/perl5/site_perl/" + ,(package-version perl))) + '("benchmark-timer" "exporter-lite" + "file-which" "getopt-tabular" + "regex-common" "sys-cpu")))))) + %standard-phases))) + (home-page "http://embed.cs.utah.edu/creduce") + (synopsis "Reducer for interesting code") + (description + "C-Reduce is a tool that takes a large C or C++ program that has a +property of interest (such as triggering a compiler bug) and automatically +produces a much smaller C/C++ program that has the same property. It is +intended for use by people who discover and report bugs in compilers and other +tools that process C/C++ code.") + (license ncsa))) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 4520c2149f..345d0a26c1 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -29,14 +29,14 @@ (define-public vera (package (name "vera") - (version "1.21a") + (version "1.22") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/vera/vera-" version ".tar.gz")) (sha256 (base32 - "09qz1g8js8qw735wmd8kraqbk1d1997v3px2lcc58frf1r66bp8f")))) + "1anx6ikwlkg7bn3c5a8xxrp33bvhfgxmncvnqbn2fp1hnbhqh5i7")))) (build-system trivial-build-system) (arguments `(#:builder (begin diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c37a6bb25e..6a7fdcfb19 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -100,7 +100,7 @@ tables, and it understands a variety of different formats.") (define-public ddrescue (package (name "ddrescue") - (version "1.18.1") + (version "1.19") (source (origin (method url-fetch) @@ -108,7 +108,7 @@ tables, and it understands a variety of different formats.") version ".tar.lz")) (sha256 (base32 - "1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq")))) + "1f278w7i9sx45jk6fsw1kyzx743k3alx1c4w1q8sk05ckafhr3gd")))) (build-system gnu-build-system) (home-page "http://www.gnu.org/software/ddrescue/ddrescue.html") (synopsis "Data recovery utility") diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm index b5dbe73cda..1a02aa3769 100644 --- a/gnu/packages/dwm.scm +++ b/gnu/packages/dwm.scm @@ -84,3 +84,58 @@ left corner. dwm draws a small customizable border around windows to indicate the focus state.") (license x11))) + +(define-public dmenu + (package + (name "dmenu") + (version "4.5") + (source (origin + (method url-fetch) + (uri (string-append "http://dl.suckless.org/tools/dmenu-" + version ".tar.gz")) + (sha256 + (base32 + "0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (alist-delete 'configure %standard-phases))) + (inputs + `(("libx11" ,libx11) + ("libxinerama" ,libxinerama))) + (home-page "http://tools.suckless.org/dmenu/") + (synopsis "Dynamic menu") + (description + "A dynamic menu for X, originally designed for dwm. It manages large +numbers of user-defined menu items efficiently.") + (license x11))) + +(define-public slock + (package + (name "slock") + (version "1.1") + (source (origin + (method url-fetch) + (uri (string-append "http://dl.suckless.org/tools/slock-" + version ".tar.gz")) + (sha256 + (base32 + "1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases (alist-delete 'configure %standard-phases))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxinerama" ,libxinerama))) + (home-page "http://tools.suckless.org/slock/") + (synopsis "Simple X session lock") + (description + "Simple X session lock with trivial feedback on password entry.") + (license x11))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 119c613128..9ccf34c362 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages gtk) @@ -44,6 +46,10 @@ #:use-module (gnu packages xml) #:use-module (gnu packages glib) #:use-module (gnu packages acl) + #:use-module (gnu packages perl) + #:use-module (gnu packages linux) ;alsa + #:use-module (gnu packages xiph) + #:use-module (gnu packages mp3) #:use-module (guix utils) #:use-module (srfi srfi-1)) @@ -58,7 +64,7 @@ (sha256 (base32 "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments '(#:phases (alist-cons-before 'configure 'fix-/bin/pwd @@ -114,6 +120,7 @@ languages.") (name "emacs-no-x-toolkit") (synopsis "The extensible, customizable, self-documenting text editor (without an X toolkit)" ) + (build-system gnu-build-system) (inputs (append `(("inotify-tools" ,inotify-tools)) (alist-delete "gtk+" (package-inputs emacs)))) (arguments (append '(#:configure-flags '("--with-x-toolkit=no")) @@ -135,6 +142,15 @@ editor (without an X toolkit)" ) (sha256 (base32 "1mrk0bzqcpfhsw6635qznn47nzfy9ps7wrhkpymswdfpw5mdsry5")))) (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (symlink "geiser-install.el" + (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/" + "geiser-autoloads.el"))) + %standard-phases))) (inputs `(("guile" ,guile-2.0) ("emacs" ,emacs))) (home-page "http://nongnu.org/geiser/") @@ -186,6 +202,7 @@ giving her access to live metadata.") (copy-file source target) (with-directory-excursion lisp-dir (parameterize ((%emacs emacs)) + (emacs-generate-autoloads ,name lisp-dir) (emacs-batch-eval '(byte-compile-file "paredit.el")))))))) (home-page "http://mumble.net/~campbell/emacs/paredit/") (synopsis "Emacs minor mode for editing parentheses") @@ -240,7 +257,13 @@ when typing parentheses directly or commenting out code line by line.") (emacs-substitute-variables "magit.el" ("magit-git-executable" (string-append git "/bin/git")) ("magit-gitk-executable" (string-append git:gui "/bin/gitk"))))) - %standard-phases)))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (emacs-generate-autoloads + ,name (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/"))) + %standard-phases))))) (home-page "http://magit.github.io/") (synopsis "Emacs interface for the Git version control system") (description @@ -317,6 +340,7 @@ operations.") (string-append (assoc-ref outputs "out") "/share/emacs/site-lisp") (for-each delete-file '("ChangeLog" "ChangeLog.1")) + (symlink "w3m-load.el" "w3m-autoloads.el") #t))) %standard-phases))))) (home-page "http://emacs-w3m.namazu.org/") @@ -359,9 +383,183 @@ operations.") (let ((wget (assoc-ref inputs "wget"))) (emacs-substitute-variables "wget.el" ("wget-command" (string-append wget "/bin/wget"))))) - %standard-phases)))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (emacs-generate-autoloads + "wget" (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/"))) + %standard-phases))))) (home-page "http://www.emacswiki.org/emacs/EmacsWget") (synopsis "Simple file downloader for Emacs based on wget") (description "Emacs-wget is an emacs interface for the wget file downloader.") (license gpl2+))) + + +;;; +;;; Multimedia. +;;; + +(define-public emms + (package + (name "emms") + (version "4.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/emms/emms-" + version ".tar.gz")) + (sha256 + (base32 + "1q0n3iwva8bvai2rl9sm49sdjmk0wi7vajz4knz01l7g67nrp87l")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/usr/bin/install-info") + ;; No need to use 'install-info' since it would create a + ;; useless 'dir' file. + "true") + (("^INFODIR=.*") + ;; Install Info files to $out/share/info, not $out/info. + "INFODIR := $(PREFIX)/share/info\n") + (("/site-lisp/emms") + ;; Install directly in share/emacs/site-lisp, not in a + ;; sub-directory. + "/site-lisp") + (("^all: (.*)\n" _ rest) + ;; Build 'emms-print-metadata'. + (string-append "all: " rest " emms-print-metadata\n")))))) + (build-system gnu-build-system) + (arguments + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (guix build emacs-utils)) + #:imported-modules ((guix build gnu-build-system) + (guix build utils) + (guix build emacs-utils)) + + #:phases (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (vorbis (assoc-ref inputs "vorbis-tools")) + (alsa (assoc-ref inputs "alsa-utils")) + (mpg321 (assoc-ref inputs "mpg321")) + (mp3info (assoc-ref inputs "mp3info"))) + ;; Specify the installation directory. + (substitute* "Makefile" + (("PREFIX=.*$") + (string-append "PREFIX := " out "\n"))) + + (setenv "SHELL" (which "sh")) + (setenv "CC" "gcc") + + ;; Specify the absolute file names of the various + ;; programs so that everything works out-of-the-box. + (with-directory-excursion "lisp" + (emacs-substitute-variables + "emms-player-mpg321-remote.el" + ("emms-player-mpg321-remote-command" + (string-append mpg321 "/bin/mpg321"))) + (substitute* "emms-player-simple.el" + (("\"ogg123\"") + (string-append "\"" vorbis "/bin/ogg123\""))) + (emacs-substitute-variables "emms-info-ogginfo.el" + ("emms-info-ogginfo-program-name" + (string-append vorbis "/bin/ogginfo"))) + (emacs-substitute-variables "emms-info-libtag.el" + ("emms-info-libtag-program-name" + (string-append out "/bin/emms-print-metadata"))) + (emacs-substitute-variables "emms-info-mp3info.el" + ("emms-info-mp3info-program-name" + (string-append mp3info "/bin/mp3info"))) + (substitute* "emms-volume-amixer.el" + (("\"amixer\"") + (string-append "\"" alsa "/bin/amixer\""))) + (substitute* "emms-tag-editor.el" + (("\"mp3info\"") + (string-append mp3info "/bin/mp3info")))))) + (alist-cons-before + 'install 'pre-install + (lambda* (#:key outputs #:allow-other-keys) + ;; The 'install' rule expects 'emms-print-metadata.1' to + ;; be already installed. + (let* ((out (assoc-ref outputs "out")) + (man1 (string-append out "/share/man/man1"))) + (mkdir-p man1) + (copy-file "emms-print-metadata.1" + (string-append man1 "/emms-print-metadata.1")))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (target (string-append + out "/bin/emms-print-metadata"))) + (symlink "emms-auto.el" + (string-append out "/share/emacs/site-lisp/" + "emms-autoloads.el")) + (mkdir-p (dirname target)) + (copy-file "src/emms-print-metadata" target) + (chmod target #o555))) + %standard-phases))) + #:tests? #f)) + (native-inputs `(("emacs" ,emacs) ;for (guix build emacs-utils) + ("texinfo" ,texinfo))) + (inputs `(;("perl" ,perl) ;for 'emms-print-metadata.pl' + ("alsa-utils" ,alsa-utils) + ("vorbis-tools" ,vorbis-tools) + ("mpg321" ,mpg321) + ("taglib" ,taglib) + ("mp3info" ,mp3info))) + (synopsis "Emacs Multimedia System") + (description + "EMMS is the Emacs Multimedia System. It is a small front-end which +can control one of the supported external players. Thus, it supports +whatever formats are supported by your music player. It also +supports tagging and playlist management, all behind a clean and +light user interface.") + (home-page "http://www.gnu.org/software/emms/") + (license gpl3+))) + + +;;; +;;; Miscellaneous. +;;; + +(define-public bbdb + (package + (name "bbdb") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/bbdb/bbdb-" + version ".tar.gz")) + (sha256 + (base32 + "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05")) + (modules '((guix build utils))) + (snippet + ;; We don't want to build and install the PDF. + '(substitute* "doc/Makefile.in" + (("^doc_DATA = .*$") + "doc_DATA =\n"))))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Add an autoloads file with the right name for guix.el. + (let* ((out (assoc-ref outputs "out")) + (site (string-append out "/share/emacs/site-lisp"))) + (with-directory-excursion site + (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))) + %standard-phases))) + (native-inputs `(("emacs" ,emacs))) + (home-page "http://savannah.nongnu.org/projects/bbdb/") + (synopsis "Contact management utility for Emacs") + (description + "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides +an address book for email and snail mail addresses, phone numbers and the +like. It can be linked with various Emacs mail clients (Message and Mail +mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") + (license gpl3+))) diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm index 6f818b4ed9..9398446a0c 100644 --- a/gnu/packages/fish.scm +++ b/gnu/packages/fish.scm @@ -28,21 +28,27 @@ (define-public fish (package (name "fish") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append "http://fishshell.com/files/" version "/fish-" version ".tar.gz")) (sha256 (base32 - "0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg")))) + "096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p")) + (modules '((guix build utils))) + ;; Don't try to install /etc/fish/config.fish. + (snippet + '(substitute* "Makefile.in" + ((".*INSTALL.*sysconfdir.*fish.*") ""))))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen))) (inputs `(("ncurses" ,ncurses))) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f ; no check target + #:configure-flags '("--sysconfdir=/etc"))) (synopsis "The friendly interactive shell") (description "Fish (friendly interactive shell) is a shell focused on interactive use, diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 4ed86d96f8..74cfc9dbe1 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net> +;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,9 +32,9 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages pkg-config)) -(define-public ttf-dejavu +(define-public font-dejavu (package - (name "ttf-dejavu") + (name "font-dejavu") (version "2.34") (source (origin (method url-fetch) @@ -97,9 +98,9 @@ provide serif, sans and monospaced variants.") (license:x11-style "http://dejavu-fonts.org/")))) -(define-public ttf-bitstream-vera +(define-public font-bitstream-vera (package - (name "ttf-bitstream-vera") + (name "font-bitstream-vera") (version "1.10") (source (origin (method url-fetch) @@ -151,9 +152,9 @@ package provides the TrueType (TTF) files.") (license:x11-style "https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts")))) -(define-public freefont-ttf +(define-public font-gnu-freefont-ttf (package - (name "freefont-ttf") + (name "font-gnu-freefont-ttf") (version "20100919") (source (origin (method url-fetch) @@ -203,9 +204,74 @@ package provides the TrueType (TTF) files.") 10646/Unicode UCS (Universal Character Set).") (license license:gpl3+))) -(define-public terminus-font +(define-public font-liberation (package - (name "terminus-font") + (name "font-liberation") + (version "2.00.1") + (source (origin + (method url-fetch) + (uri (string-append "https://fedorahosted.org/releases/l/i/" + "liberation-fonts/liberation-fonts-ttf-" + version ".tar.gz")) + (sha256 + (base32 + "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + + (let ((tar (string-append (assoc-ref %build-inputs "tar") + "/bin/tar")) + (PATH (string-append (assoc-ref %build-inputs "gzip") + "/bin")) + (font-dir (string-append %output "/share/fonts/truetype")) + (doc-dir (string-append %output "/share/doc/" ,name))) + (setenv "PATH" PATH) + (system* tar "xvf" (assoc-ref %build-inputs "source")) + (mkdir-p font-dir) + (mkdir-p doc-dir) + (chdir (string-append "liberation-fonts-ttf-" ,version)) + (for-each (lambda (ttf) + (copy-file ttf + (string-append font-dir "/" + (basename ttf)))) + (find-files "." "\\.ttf$")) + (for-each (lambda (doc) + (copy-file doc + (string-append doc-dir "/" + (basename doc)))) + '("AUTHORS" "ChangeLog" "LICENSE" "README" "TODO")))))) + (native-inputs + `(("source" ,source) + ("tar" ,tar) + ("gzip" ,gzip))) + (home-page "https://fedorahosted.org/liberation-fonts/") + (synopsis + "Fonts compatible with Arial, Times New Roman, and Courier New") + (description + "The Liberation font family aims at metric compatibility with +Arial, Times New Roman, and Courier New. + +There are three sets: + +- Sans (a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and +Bitstream Vera Sans); + +- Serif (a substitute for Times New Roman, Thorndale, Nimbus Roman, and +Bitstream Vera Serif); + +- Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, +and Bitstream Vera Sans Mono). + +The Liberation Fonts are sponsored by Red Hat.") + (license license:silofl1.1))) + +(define-public font-terminus + (package + (name "font-terminus") (version "4.39") (source (origin diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 5ce87ae842..39e541b884 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -27,14 +27,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.4.5") + (version "1.4.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz")))) + "1j33b2spj1vzjf1ymfrgka5h7imijmdwg9jdjfb92b2ccld9jj6l")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("libgcrypt" ,libgcrypt))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index e79be3fa49..db878b033d 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -168,7 +168,8 @@ scriptable with Guile.") (let ((prefix (assoc-ref outputs "out"))) ;; Create directories that the makefile assumes exist. (mkdir-p (string-append prefix "/bin")) - (mkdir-p (string-append prefix "/share/applications")))) + (mkdir-p (string-append prefix "/share/applications")) + (mkdir-p (string-append prefix "/share/pixmaps")))) ;; No configure script. (alist-delete 'configure %standard-phases)))) #:tests? #f)) ;; No check target. diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index aeedd23916..a0c18eac93 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -74,7 +74,10 @@ provided as well as the framework to add new color models and data types.") "09nlv06li9nrn74ifpm7223mxpg0s7cii702z72cpbwrjh6nlbnz")))) (build-system gnu-build-system) (arguments - `(#:phases + `(;; More than just the one test disabled below now fails; disable them + ;; all according to the rationale given below. + #:tests? #f + #:phases (alist-cons-before 'build 'pre-build (lambda _ diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 94f03cb1ec..17a6d4fd3c 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -31,7 +31,8 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module (gnu packages fontutils) - #:use-module (gnu packages guile)) + #:use-module (gnu packages guile) + #:use-module (gnu packages xdisorg)) (define-public glu (package diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index be2924c606..486cdb6add 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -22,6 +22,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) @@ -37,6 +38,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages bash) #:use-module (gnu packages file) + #:use-module (gnu packages which) #:use-module (gnu packages xorg) #:use-module (gnu packages m4) @@ -54,8 +56,7 @@ (define dbus (package (name "dbus") - (version "1.8.8") - (replacement dbus-1.8.10) ;fix for CVE-2014-7824 + (version "1.8.10") (source (origin (method url-fetch) (uri @@ -63,7 +64,7 @@ version ".tar.gz")) (sha256 (base32 - "1zfi5grrlryppgrl23im82cqw6l9fk1wlc2ayvzx0yd994v2dayz")) + "13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh")) (patches (list (search-patch "dbus-localstatedir.patch"))))) (build-system gnu-build-system) (arguments @@ -114,35 +115,23 @@ or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 -(define-public dbus-1.8.10 - (let ((real-version "1.8.10")) - (package (inherit dbus) - (source (origin - (method url-fetch) - (uri - (string-append "http://dbus.freedesktop.org/releases/dbus/dbus-" - real-version ".tar.gz")) - (sha256 - (base32 - "13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh")) - (patches (list (search-patch "dbus-localstatedir.patch"))))) - (replacement #f)))) - (define glib (package (name "glib") - (version "2.40.0") + (version "2.40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd")) + (base32 + "0ykcf99mhpkza3xwa3k79vgfml8mqiac9044802yi5q8jpr8mzz8")) (patches (list (search-patch "glib-tests-homedir.patch") (search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-prlimit.patch") - (search-patch "glib-tests-timer.patch"))))) + (search-patch "glib-tests-timer.patch") + (search-patch "glib-tests-gapplication.patch"))))) (build-system gnu-build-system) (outputs '("out" ; everything "bin" ; glib-mkenums, gtester, etc.; depends on Python @@ -233,6 +222,11 @@ dynamic loading, and an object system.") `(;; In practice, GIR users will need libffi when using ;; gobject-introspection. ("libffi" ,libffi))) + (native-search-paths + (list (search-path-specification + (variable "GI_TYPELIB_PATH") + (directories '("lib/girepository-1.0"))))) + (search-paths native-search-paths) (arguments `(#:phases (alist-cons-before @@ -430,3 +424,85 @@ has an ease of use unmatched by other C++ callback libraries.") "Glibmm provides a C++ programming interface to the part of GLib that are useful for C++.") (license license:lgpl2.1+))) + +(define-public python2-pygobject-2 + (package + (name "python2-pygobject") + ;; This was the last version to declare the 2.0 platform number, i.e. its + ;; pkg-config files were named pygobject-2.0.pc + (version "2.28.6") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pygobject/" + (version-major+minor version) + "/pygobject-" version ".tar.xz")) + (sha256 + (base32 + "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv")) + (patches + (list (search-patch + "python2-pygobject-2-gi-info-type-error-domain.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("which" ,which) + ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas + ("pkg-config" ,pkg-config) + ("dbus" ,dbus))) ;for tests + (inputs + `(("python" ,python-2) + ("glib" ,glib) + ("python2-py2cairo" ,python2-py2cairo) + ("gobject-introspection" ,gobject-introspection))) + (propagated-inputs + `(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc + (arguments + `(#:tests? #f ;segfaults during tests + #:configure-flags '("LIBS=-lcairo-gobject"))) + (home-page "https://pypi.python.org/pypi/PyGObject") + (synopsis "Python bindings for GObject") + (description + "Python bindings for GLib, GObject, and GIO.") + (license license:lgpl2.1+))) + +(define-public python-pygobject + (package + (name "python-pygobject") + (version "3.12.2") ;last version that works with + ;gobject-introspection 1.38 + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pygobject/" + (version-major+minor version) + "/pygobject-" version ".tar.xz")) + (sha256 + (base32 + "08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky")))) + ;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp + (build-system gnu-build-system) + (native-inputs + `(("which" ,which) + ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas + ("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python) + ("glib" ,glib) + ("python-pycairo" ,python-pycairo) + ("gobject-introspection" ,gobject-introspection) + ("libffi" ,libffi))) + (arguments + ;; TODO: failing tests: test_native_calls_async + ;; test_native_calls_async_errors test_native_calls_sync + ;; test_native_calls_sync_errors test_python_calls_async + ;; test_python_calls_async_error test_python_calls_async_error_result + ;; test_python_calls_sync test_python_calls_sync_errors + ;; test_python_calls_sync_noargs test_callback_user_data_middle_none + ;; test_callback_user_data_middle_single + ;; test_callback_user_data_middle_tuple + '(#:tests? #f)) + (home-page "https://pypi.python.org/pypi/PyGObject") + (synopsis "Python bindings for GObject") + (description + "Python bindings for GLib, GObject, and GIO.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/global.scm b/gnu/packages/global.scm index d43caf4f54..f7377def0a 100644 --- a/gnu/packages/global.scm +++ b/gnu/packages/global.scm @@ -28,14 +28,14 @@ (define-public global ; a global variable (package (name "global") - (version "6.3.2") + (version "6.3.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/global/global-" version ".tar.gz")) (sha256 (base32 - "07iifpz00ch3drlscvk5v12j7bckwv6pk8040y81s1x14b0gf220")))) + "0j828dg2cjf77rx71cw68jpk7jl119v6nyb0kyvirr5i1860j1fx")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("libtool" ,libtool))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5fa892ad07..1d3ce25421 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -46,7 +46,8 @@ #:use-module (gnu packages xml) #:use-module (gnu packages gl) #:use-module (gnu packages compression) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public brasero (package @@ -1119,6 +1120,51 @@ widgets built in the loading process.") controls using the Bonobo component framework.") (license license:lgpl2.0+))) +(define-public libwnck + (package + (name "libwnck") + (version "3.14.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "074jww04z8g9r1acndqap79wx4kbm3rpkf4lcg1v82b66iv0027m")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + `(("gtk+" ,gtk+) + ("libxres" ,libxres) + ("startup-notification" ,startup-notification))) + (home-page "https://developer.gnome.org/libwnck/") + (synopsis "Window Navigator Construction Kit") + (description + "Libwnck is the Window Navigator Construction Kit, a library for use in +writing pagers, tasklists, and more generally applications that are dealing +with window management. It tries hard to respect the Extended Window Manager +Hints specification (EWMH).") + (license license:lgpl2.0+))) + +;; stable version for gtk2, required by xfwm4. +(define-public libwnck-1 + (package (inherit libwnck) + (name "libwnck") + (version "2.30.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b")))) + (propagated-inputs + `(("gtk+" ,gtk+-2) + ("libxres" ,libxres) + ("startup-notification" ,startup-notification))))) (define-public goffice (package diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index d9f83477df..249971becd 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -103,14 +103,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.37") + (version "0.9.38") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "1p3wnhr43v6vqdgl86r76298wjfxz2ihj9zh9kpz8l7va30br357")))) + "08g7p4l0p2fsjj8ayl68zq1bqgrn0pck19bm8yd7k61whvfv9wld")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index ecbb17895c..1ef8fe7e3a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -39,7 +39,7 @@ (define-public libgpg-error (package (name "libgpg-error") - (version "1.13") + (version "1.17") (source (origin (method url-fetch) @@ -47,7 +47,7 @@ version ".tar.bz2")) (sha256 (base32 - "02lv5h865f8if391xjp3njg04k0l4x2pwjkcdbzcwilail1skazq")))) + "1dapxzxl1naghf342fwfc2w2f2c5hb9gr1a1s4n8dsqn26kybx1z")))) (build-system gnu-build-system) (home-page "http://gnupg.org") (synopsis "Library of error values for GnuPG components") @@ -132,7 +132,7 @@ provided.") (define-public libksba (package (name "libksba") - (version "1.3.0") + (version "1.3.2") (source (origin (method url-fetch) @@ -141,7 +141,7 @@ provided.") version ".tar.bz2")) (sha256 (base32 - "0w8rfb6yhcwkwzvjafrashcygy4hd9xwwmvlnkfd1m2h0paywqas")))) + "01l4hvcknk9nb4bvyb6aqaid19jg0wv3ik54j1b89hnzamwm75gb")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error))) diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm index fd1b38d5ae..7ac7a9e304 100644 --- a/gnu/packages/gnutls.scm +++ b/gnu/packages/gnutls.scm @@ -36,7 +36,7 @@ (define-public libtasn1 (package (name "libtasn1") - (version "4.1") + (version "4.2") (source (origin (method url-fetch) @@ -44,7 +44,7 @@ version ".tar.gz")) (sha256 (base32 - "00gkyppzw6fqi5mnc3d8paf7bp6nfhi9213481awy07sviqnbvk0")))) + "1fydwh5hlnmprdzmzn4kiqb939br59qv1001k7ah5b626v5l2fv9")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm index 8fb21eee90..071ffb4b84 100644 --- a/gnu/packages/gsasl.scm +++ b/gnu/packages/gsasl.scm @@ -48,13 +48,13 @@ (define-public gss (package (name "gss") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gss/gss-" version ".tar.gz")) (sha256 (base32 - "1qa8lbkzi6ilfggx7mchfzjnchvhwi68rck3jf9j4425ncz7zsd9")))) + "1syyvh3k659xf1hdv9pilnnhbbhs6vfapayp4xgdcc8mfgf9v4gz")))) (build-system gnu-build-system) (inputs `(("nettle" ,nettle) ("shishi" ,shishi) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 15d6ab441b..8646397aad 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) @@ -38,7 +39,8 @@ #:use-module (gnu packages python) #:use-module (gnu packages guile) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public atk (package @@ -272,10 +274,11 @@ printing and other features typical of a source code editor.") (base32 "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q")))) (build-system gnu-build-system) - (inputs + (propagated-inputs ; required by gdk-pixbuf-2.0.pc `(("glib" ,glib) - ("libjpeg" ,libjpeg) - ("libpng" ,libpng) + ("libpng" ,libpng))) + (inputs + `(("libjpeg" ,libjpeg) ("libtiff" ,libtiff))) (native-inputs `(("pkg-config" ,pkg-config) @@ -634,3 +637,109 @@ extensive documentation, including API reference and a tutorial.") ("atkmm" ,atkmm) ("gtk+" ,gtk+-2) ("glibmm" ,glibmm))))) + +(define-public python-pycairo + (package + (name "python-pycairo") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://cairographics.org/releases/pycairo-" + version ".tar.bz2")) + (sha256 + (base32 + "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s")))) + (build-system python-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs ;pycairo.pc references cairo + `(("cairo" ,cairo))) + (arguments + `(#:tests? #f + #:phases (alist-cons-before + 'build 'configure + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./waf" "configure" + (string-append "--prefix=" + (assoc-ref outputs "out"))))) + (alist-replace + 'build + (lambda _ + (zero? (system* "./waf" "build"))) + (alist-replace + 'install + (lambda _ + (zero? (system* "./waf" "install"))) + %standard-phases))))) + (home-page "http://cairographics.org/pycairo/") + (synopsis "Python bindings for cairo") + (description + "Pycairo is a set of Python bindings for the Cairo graphics library.") + (license license:lgpl3+))) + +(define-public python2-py2cairo + (package (inherit python-pycairo) + (name "python2-py2cairo") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://cairographics.org/releases/py2cairo-" + version ".tar.bz2")) + (sha256 + (base32 + "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k")))) + (arguments + `(#:python ,python-2 + ,@(package-arguments python-pycairo))) + ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 + (license (list license:lgpl2.1 license:mpl1.1)))) + +(define-public python2-pygtk + (package + (name "python2-pygtk") + (version "2.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources" + "/pygtk/" (version-major+minor version) + "/pygtk-" version ".tar.bz2")) + (sha256 + (base32 + "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python-2) + ("glib" ,glib))) + (propagated-inputs + `(("python-pycairo" ,python2-py2cairo) ;loaded at runtime + ("python-pygobject" ,python2-pygobject-2) ;referenced in pc file + ("gtk+" ,gtk+-2))) + (arguments + `(#:tests? #f + #:phases (alist-cons-after + 'install 'install-pth + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; pygtk's modules are stored in a subdirectory of python's + ;; site-packages directory. Add a .pth file so that python + ;; will add that subdirectory to its module search path. + (let* ((out (assoc-ref outputs "out")) + (site (string-append out "/lib/python" + ,(version-major+minor + (package-version python-2)) + "/site-packages"))) + (call-with-output-file (string-append site "/pygtk.pth") + (lambda (port) + (format port "gtk-2.0~%"))))) + %standard-phases))) + (home-page "http://www.pygtk.org/") + (synopsis "Python bindings for GTK+") + (description + "PyGTK allows you to write full featured GTK programs in Python. It is +targetted at GTK 2.x, and can be used in conjunction with gnome-python to +write GNOME applications.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf index e14994c38b..d50f5ca246 100644 --- a/gnu/packages/linux-libre-i686.conf +++ b/gnu/packages/linux-libre-i686.conf @@ -1,11 +1,12 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.17.0-gnu Kernel Configuration +# Linux/x86 3.18.0-gnu Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y +CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_OUTPUT_FORMAT="elf32-i386" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_LOCKDEP_SUPPORT=y @@ -127,6 +128,7 @@ CONFIG_TASK_IO_ACCOUNTING=y # 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_RCU_FANOUT_LEAF=16 @@ -139,7 +141,6 @@ CONFIG_RCU_FAST_NO_HZ=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y -CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_FREEZER=y @@ -184,6 +185,7 @@ CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_SGETMASK_SYSCALL=y @@ -201,8 +203,10 @@ CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y +CONFIG_BPF_SYSCALL=y CONFIG_SHMEM=y CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y CONFIG_PCI_QUIRKS=y # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y @@ -289,6 +293,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y @@ -361,12 +366,15 @@ CONFIG_FREEZER=y # CONFIG_ZONE_DMA=y CONFIG_SMP=y +CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_MPPARSE=y # CONFIG_X86_BIGSMP is not set CONFIG_X86_EXTENDED_PLATFORM=y # CONFIG_X86_GOLDFISH is not set CONFIG_X86_INTEL_MID=y CONFIG_X86_INTEL_LPSS=y +CONFIG_IOSF_MBI=m +CONFIG_IOSF_MBI_DEBUG=y # CONFIG_X86_RDC321X is not set # CONFIG_X86_32_NON_STANDARD is not set CONFIG_X86_32_IRIS=m @@ -499,6 +507,7 @@ CONFIG_MEMORY_HOTPLUG_SPARSE=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y @@ -803,7 +812,6 @@ CONFIG_BINFMT_AOUT=m CONFIG_BINFMT_MISC=m CONFIG_COREDUMP=y CONFIG_HAVE_ATOMIC_IOMAP=y -CONFIG_IOSF_MBI=m CONFIG_PMC_ATOM=y CONFIG_NET=y @@ -847,6 +855,8 @@ CONFIG_IP_PIMSM_V2=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_FOU=m +CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m @@ -872,6 +882,7 @@ CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" @@ -908,7 +919,7 @@ CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NETFILTER=m # # Core Netfilter Configuration @@ -967,6 +978,7 @@ CONFIG_NFT_HASH=m CONFIG_NFT_COUNTER=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m CONFIG_NFT_NAT=m CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m @@ -1070,6 +1082,7 @@ CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m @@ -1098,6 +1111,7 @@ CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_FO=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m @@ -1126,10 +1140,13 @@ CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m CONFIG_NF_TABLES_IPV4=m CONFIG_NFT_CHAIN_ROUTE_IPV4=m -CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_REJECT_IPV4=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NF_TABLES_ARP=m CONFIG_NF_NAT_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NFT_MASQ_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PPTP=m @@ -1163,10 +1180,13 @@ CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_TABLES_IPV6=m CONFIG_NFT_CHAIN_ROUTE_IPV6=m -CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_REJECT_IPV6=m CONFIG_NFT_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NFT_MASQ_IPV6=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1266,6 +1286,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m +CONFIG_NET_DSA_TAG_BRCM=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y @@ -1373,6 +1394,7 @@ CONFIG_BATMAN_ADV_MCAST=y CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_GRE=y CONFIG_OPENVSWITCH_VXLAN=y +CONFIG_OPENVSWITCH_GENEVE=y CONFIG_VSOCKETS=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_NETLINK_MMAP=y @@ -1447,6 +1469,7 @@ CONFIG_CAN_TSCAN1=m CONFIG_CAN_C_CAN=m CONFIG_CAN_C_CAN_PLATFORM=m CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_M_CAN=m CONFIG_CAN_CC770=m CONFIG_CAN_CC770_ISA=m CONFIG_CAN_CC770_PLATFORM=m @@ -1657,6 +1680,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y @@ -1784,6 +1808,7 @@ CONFIG_MTD_NAND_DENALI_PCI=m CONFIG_MTD_NAND_DENALI_DT=m CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 CONFIG_MTD_NAND_GPIO=m +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_DISKONCHIP=m @@ -1807,6 +1832,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y CONFIG_MTD_LPDDR=m CONFIG_MTD_QINFO_PROBE=m CONFIG_MTD_SPI_NOR=m +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 @@ -1979,6 +2005,7 @@ CONFIG_VMWARE_VMCI=m # Intel MIC Card Driver # CONFIG_ECHO=m +# CONFIG_CXL_BASE is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1990,6 +2017,7 @@ CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_NETLINK=y +# CONFIG_SCSI_MQ_DEFAULT is not set CONFIG_SCSI_PROC_FS=y # @@ -2077,6 +2105,7 @@ CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y CONFIG_VMWARE_PVSCSI=m +CONFIG_XEN_SCSI_FRONTEND=m CONFIG_HYPERV_STORAGE=m CONFIG_LIBFC=m CONFIG_LIBFCOE=m @@ -2295,6 +2324,7 @@ CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m +CONFIG_TCM_USER=m CONFIG_LOOPBACK_TARGET=m CONFIG_TCM_FC=m CONFIG_ISCSI_TARGET=m @@ -2422,6 +2452,8 @@ CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_MV88E6131=m CONFIG_NET_DSA_MV88E6123_61_65=m +CONFIG_NET_DSA_MV88E6171=m +CONFIG_NET_DSA_BCM_SF2=m CONFIG_ETHERNET=y CONFIG_MDIO=m CONFIG_NET_VENDOR_3COM=y @@ -2433,6 +2465,8 @@ CONFIG_VORTEX=m CONFIG_TYPHOON=m CONFIG_NET_VENDOR_ADAPTEC=y CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_AGERE=y +CONFIG_ET131X=m CONFIG_NET_VENDOR_ALTEON=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set @@ -2523,6 +2557,8 @@ CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y CONFIG_I40EVF=m +CONFIG_FM10K=m +CONFIG_FM10K_VXLAN=y CONFIG_NET_VENDOR_I825XX=y CONFIG_IP1000=m CONFIG_JME=m @@ -2579,6 +2615,7 @@ CONFIG_QLCNIC_VXLAN=y CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -2668,6 +2705,7 @@ CONFIG_MICREL_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_GPIO=m +CONFIG_MDIO_BCM_UNIMAC=m CONFIG_MICREL_KS8995MA=m CONFIG_PLIP=m CONFIG_PPP=y @@ -2764,8 +2802,10 @@ CONFIG_ATH9K_PCI=y CONFIG_ATH9K_AHB=y CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_STATION_STATISTICS=y +# CONFIG_ATH9K_DYNACK is not set CONFIG_ATH9K_WOW=y CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_CARL9170=m @@ -2852,6 +2892,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set +CONFIG_IWLWIFI_UAPSD=y # # Debugging Options @@ -2926,6 +2967,8 @@ CONFIG_RTL8192DE=m CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTLWIFI_PCI=m @@ -3346,6 +3389,7 @@ CONFIG_INPUT_AD714X_SPI=m CONFIG_INPUT_ARIZONA_HAPTICS=m CONFIG_INPUT_BMA150=m CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MAX77693_HAPTIC=m CONFIG_INPUT_MAX8925_ONKEY=m CONFIG_INPUT_MAX8997_HAPTIC=m CONFIG_INPUT_MC13783_PWRBUTTON=m @@ -3369,6 +3413,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=m CONFIG_INPUT_TWL4030_VIBRA=m CONFIG_INPUT_TWL6040_VIBRA=m CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_PALMAS_PWRBUTTON=m CONFIG_INPUT_PCF50633_PMU=m CONFIG_INPUT_PCF8574=m CONFIG_INPUT_PWM_BEEPER=m @@ -3386,6 +3431,8 @@ CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m CONFIG_INPUT_IDEAPAD_SLIDEBAR=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m +CONFIG_INPUT_DRV260X_HAPTICS=m +CONFIG_INPUT_DRV2667_HAPTICS=m # # Hardware I/O ports @@ -3464,6 +3511,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_FINTEK=m # # Non-8250 serial port support @@ -3553,6 +3601,8 @@ CONFIG_TCG_ST33_I2C=m CONFIG_TCG_XEN=m CONFIG_TELCLOCK=m CONFIG_DEVPORT=y +CONFIG_XILLYBUS=m +CONFIG_XILLYBUS_PCIE=m # # I2C support @@ -3736,6 +3786,7 @@ CONFIG_GPIO_MAX730X=m # Memory mapped GPIO drivers: # CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_DWAPB=m CONFIG_GPIO_IT8761E=m CONFIG_GPIO_F7188X=m CONFIG_GPIO_SCH311X=m @@ -3781,6 +3832,7 @@ CONFIG_GPIO_RDC321X=m # SPI GPIO expanders: # CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m CONFIG_GPIO_MC33880=m # @@ -3954,6 +4006,7 @@ CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_HTU21=m CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_MENF21BMC_HWMON=m CONFIG_SENSORS_ADCXX=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM70=m @@ -4046,12 +4099,14 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_EMULATION=y CONFIG_INTEL_POWERCLAMP=m CONFIG_X86_PKG_TEMP_THERMAL=m -CONFIG_ACPI_INT3403_THERMAL=m CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INT340X_THERMAL=m +CONFIG_ACPI_THERMAL_REL=m # # Texas Instruments thermal drivers @@ -4066,10 +4121,13 @@ CONFIG_WATCHDOG_CORE=y CONFIG_SOFT_WATCHDOG=m CONFIG_DA9052_WATCHDOG=m CONFIG_DA9055_WATCHDOG=m +CONFIG_DA9063_WATCHDOG=m +CONFIG_MENF21BMC_WATCHDOG=m CONFIG_WM831X_WATCHDOG=m CONFIG_WM8350_WATCHDOG=m CONFIG_XILINX_WATCHDOG=m CONFIG_DW_WATCHDOG=m +CONFIG_RN5T618_WATCHDOG=m CONFIG_TWL4030_WATCHDOG=m CONFIG_RETU_WATCHDOG=m CONFIG_ACQUIRE_WDT=m @@ -4203,6 +4261,7 @@ CONFIG_MFD_MAX8907=m CONFIG_MFD_MAX8925=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y +CONFIG_MFD_MENF21BMC=m CONFIG_EZX_PCAP=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_RETU=m @@ -4214,6 +4273,7 @@ CONFIG_MFD_RDC321X=m CONFIG_MFD_RTSX_PCI=m CONFIG_MFD_RTSX_USB=m CONFIG_MFD_RC5T583=y +CONFIG_MFD_RN5T618=m CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SM501=m @@ -4285,6 +4345,7 @@ CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m CONFIG_REGULATOR_FAN53555=m CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_ISL9305=m CONFIG_REGULATOR_ISL6271A=m CONFIG_REGULATOR_LP3971=m CONFIG_REGULATOR_LP3972=m @@ -4304,6 +4365,7 @@ CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_MAX8998=m CONFIG_REGULATOR_MAX77686=m CONFIG_REGULATOR_MAX77693=m +CONFIG_REGULATOR_MAX77802=m CONFIG_REGULATOR_MC13XXX_CORE=m CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m @@ -4311,7 +4373,9 @@ CONFIG_REGULATOR_PALMAS=m CONFIG_REGULATOR_PCAP=m CONFIG_REGULATOR_PCF50633=m CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PWM=m CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RN5T618=m CONFIG_REGULATOR_S2MPA01=m CONFIG_REGULATOR_S2MPS11=m CONFIG_REGULATOR_S5M8767=m @@ -4388,6 +4452,7 @@ CONFIG_IR_XMP_DECODER=m CONFIG_RC_DEVICES=y CONFIG_RC_ATI_REMOTE=m CONFIG_IR_ENE=m +CONFIG_IR_HIX5HD2=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m @@ -4547,11 +4612,13 @@ CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_DVBSKY=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_USB_DRV=m CONFIG_DVB_B2C2_FLEXCOP_USB=m # CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_AS102=m # # Webcam, TV (analog/digital) USB devices @@ -4565,8 +4632,9 @@ CONFIG_VIDEO_EM28XX_RC=m # # Software defined radio USB devices # -CONFIG_USB_MSI2500=m CONFIG_USB_AIRSPY=m +CONFIG_USB_HACKRF=m +CONFIG_USB_MSI2500=m CONFIG_MEDIA_PCI_SUPPORT=y # @@ -4592,6 +4660,7 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_TW68=m # # Media capture/analog/hybrid TV support @@ -4615,11 +4684,13 @@ CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_RC=y CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m CONFIG_VIDEO_SAA7164=m # # Media digital TV PCI Adapters # +CONFIG_DVB_AV7110_IR=y CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m @@ -4632,6 +4703,7 @@ CONFIG_DVB_B2C2_FLEXCOP_PCI=m CONFIG_DVB_PLUTO2=m CONFIG_DVB_DM1105=m CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m CONFIG_MANTIS_CORE=m CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m @@ -4646,9 +4718,8 @@ CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m -CONFIG_VIDEO_RENESAS_VSP1=m CONFIG_V4L_TEST_DRIVERS=y -CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VIVID=m CONFIG_VIDEO_MEM2MEM_TESTDEV=m # @@ -4865,6 +4936,8 @@ CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_MXL301RF=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m # # Multistandard (satellite) frontends @@ -4938,6 +5011,7 @@ CONFIG_DVB_RTL2830=m CONFIG_DVB_RTL2832=m CONFIG_DVB_RTL2832_SDR=m CONFIG_DVB_SI2168=m +CONFIG_DVB_AS102_FE=m # # DVB-C (cable) frontends @@ -4969,6 +5043,7 @@ CONFIG_DVB_S5H1411=m CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m +CONFIG_DVB_TC90522=m # # Digital terrestrial only tuners/PLL @@ -5022,7 +5097,6 @@ CONFIG_VGA_SWITCHEROO=y # Direct Rendering Manager # CONFIG_DRM=m -CONFIG_DRM_USB=m CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_LOAD_EDID_FIRMWARE=y @@ -5063,13 +5137,14 @@ CONFIG_DRM_AST=m # CONFIG_DRM_MGAG200 is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_QXL=m -CONFIG_DRM_BOCHS=m +# CONFIG_DRM_BOCHS is not set # # Frame buffer Devices # CONFIG_FB=y CONFIG_FIRMWARE_EDID=y +CONFIG_FB_CMDLINE=y CONFIG_FB_DDC=m CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y @@ -5243,7 +5318,7 @@ CONFIG_LOGO=y CONFIG_LOGO_LIBRE_CLUT224=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE=y -CONFIG_SOUND_OSS_CORE_PRECLAIM=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set CONFIG_SND=m CONFIG_SND_TIMER=m CONFIG_SND_PCM=m @@ -5494,6 +5569,7 @@ CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_CS35L32=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m @@ -5503,6 +5579,7 @@ CONFIG_SND_SOC_CS4271=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_MAX98090=m CONFIG_SND_SOC_PCM1681=m CONFIG_SND_SOC_PCM1792A=m @@ -5519,6 +5596,10 @@ CONFIG_SND_SOC_SIGMADSP_I2C=m CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m CONFIG_SND_SOC_SN95031=m CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_SSM2602_SPI=m +CONFIG_SND_SOC_SSM2602_I2C=m +CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS5086=m @@ -5539,6 +5620,7 @@ CONFIG_SND_SOC_WM8776=m CONFIG_SND_SOC_WM8804=m CONFIG_SND_SOC_WM8903=m CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SIMPLE_CARD=m # CONFIG_SOUND_PRIME is not set @@ -5601,6 +5683,7 @@ CONFIG_HID_NTRIG=m CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PENMOUNT=m CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y @@ -5679,6 +5762,7 @@ CONFIG_USB_WUSB_CBAF=m # CONFIG_USB_C67X00_HCD=m CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y @@ -5701,13 +5785,11 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_HCD_ISO=y CONFIG_USB_SL811_CS=m CONFIG_USB_R8A66597_HCD=m -CONFIG_USB_RENESAS_USBHS_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m CONFIG_USB_HCD_BCMA=m CONFIG_USB_HCD_SSB=m # CONFIG_USB_HCD_TEST_MODE is not set -CONFIG_USB_RENESAS_USBHS=m # # USB Device Class drivers @@ -5857,7 +5939,6 @@ CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OPTICON=m CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL_WISHBONE=m -CONFIG_USB_SERIAL_ZTE=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m CONFIG_USB_SERIAL_DEBUG=m @@ -5901,9 +5982,6 @@ CONFIG_USB_XUSBATM=m # CONFIG_USB_PHY=y CONFIG_NOP_USB_XCEIV=m -CONFIG_SAMSUNG_USBPHY=m -CONFIG_SAMSUNG_USB2PHY=m -CONFIG_SAMSUNG_USB3PHY=m CONFIG_USB_GPIO_VBUS=m CONFIG_TAHVO_USB=m CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y @@ -5921,7 +5999,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 CONFIG_USB_FOTG210_UDC=m CONFIG_USB_GR_UDC=m CONFIG_USB_R8A66597=m -CONFIG_USB_RENESAS_USBHS_UDC=m CONFIG_USB_PXA27X=m CONFIG_USB_MV_UDC=m CONFIG_USB_MV_U3D=m @@ -5948,6 +6025,8 @@ CONFIG_USB_F_SUBSET=m CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m CONFIG_USB_F_FS=m +CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UVC=m CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y @@ -5988,6 +6067,7 @@ CONFIG_USB_G_DBGP=m # CONFIG_USB_G_DBGP_PRINTK is not set CONFIG_USB_G_DBGP_SERIAL=y CONFIG_USB_G_WEBCAM=m +CONFIG_USB_LED_TRIG=y CONFIG_UWB=m CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m @@ -6085,6 +6165,7 @@ CONFIG_LEDS_TCA6507=m CONFIG_LEDS_MAX8997=m CONFIG_LEDS_LM355x=m CONFIG_LEDS_OT200=m +CONFIG_LEDS_MENF21BMC=m # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) @@ -6188,6 +6269,7 @@ CONFIG_RTC_DRV_MAX8925=m CONFIG_RTC_DRV_MAX8998=m CONFIG_RTC_DRV_MAX8997=m CONFIG_RTC_DRV_MAX77686=m +CONFIG_RTC_DRV_MAX77802=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m @@ -6245,7 +6327,6 @@ CONFIG_RTC_DRV_DS2404=m CONFIG_RTC_DRV_DA9052=m CONFIG_RTC_DRV_DA9055=m CONFIG_RTC_DRV_DA9063=m -CONFIG_RTC_DRV_EFI=m CONFIG_RTC_DRV_STK17TA8=m CONFIG_RTC_DRV_M48T86=m CONFIG_RTC_DRV_M48T35=m @@ -6348,11 +6429,11 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m CONFIG_SWIOTLB_XEN=y CONFIG_XEN_TMEM=m CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_SCSI_BACKEND=m CONFIG_XEN_PRIVCMD=m CONFIG_XEN_ACPI_PROCESSOR=y CONFIG_XEN_HAVE_PVMMU=y CONFIG_STAGING=y -CONFIG_ET131X=m CONFIG_SLICOSS=m CONFIG_PRISM2_USB=m CONFIG_COMEDI=m @@ -6360,12 +6441,10 @@ CONFIG_COMEDI=m CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 CONFIG_COMEDI_MISC_DRIVERS=y -CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_BOND=m CONFIG_COMEDI_TEST=m CONFIG_COMEDI_PARPORT=m CONFIG_COMEDI_SERIAL2002=m -CONFIG_COMEDI_SKEL=m CONFIG_COMEDI_SSV_DNP=m CONFIG_COMEDI_ISA_DRIVERS=y CONFIG_COMEDI_PCL711=m @@ -6480,12 +6559,13 @@ CONFIG_COMEDI_NI_MIO_CS=m CONFIG_COMEDI_QUATECH_DAQP_CS=m CONFIG_COMEDI_USB_DRIVERS=y CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m CONFIG_COMEDI_USBDUXFAST=m CONFIG_COMEDI_USBDUXSIGMA=m CONFIG_COMEDI_VMK80XX=m CONFIG_COMEDI_8255=m -CONFIG_COMEDI_FC=m +CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_AMPLC_DIO200=m CONFIG_COMEDI_AMPLC_PC236=m CONFIG_COMEDI_DAS08=m @@ -6505,13 +6585,10 @@ CONFIG_RTL8192E=m CONFIG_R8712U=m CONFIG_R8188EU=m CONFIG_88EU_AP_MODE=y -CONFIG_R8192EE=m CONFIG_R8723AU=m CONFIG_8723AU_AP_MODE=y CONFIG_8723AU_BT_COEXIST=y -CONFIG_R8821AE=m CONFIG_RTS5208=m -# CONFIG_RTS5208_DEBUG is not set CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set CONFIG_VT6655=m @@ -6561,13 +6638,8 @@ CONFIG_AD7746=m # # Direct Digital Synthesis # -CONFIG_AD5930=m CONFIG_AD9832=m CONFIG_AD9834=m -CONFIG_AD9850=m -CONFIG_AD9852=m -CONFIG_AD9910=m -CONFIG_AD9951=m # # Digital gyroscope sensors @@ -6647,7 +6719,6 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m CONFIG_STAGING_MEDIA=y -CONFIG_DVB_AS102=m CONFIG_I2C_BCM2048=m CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m @@ -6691,8 +6762,6 @@ CONFIG_LNET=m CONFIG_LNET_MAX_PAYLOAD=1048576 CONFIG_LNET_SELFTEST=m CONFIG_LNET_XPRT_IB=m -CONFIG_XILLYBUS=m -CONFIG_XILLYBUS_PCIE=m CONFIG_DGNC=m CONFIG_DGAP=m CONFIG_GS_FPGABOOT=m @@ -6761,6 +6830,7 @@ 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 @@ -6769,11 +6839,14 @@ CONFIG_COMMON_CLK=y # Common Clock Framework # CONFIG_COMMON_CLK_WM831X=m +CONFIG_COMMON_CLK_MAX_GEN=y CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_SI5351=m CONFIG_COMMON_CLK_S2MPS11=m CONFIG_CLK_TWL6040=m CONFIG_COMMON_CLK_PALMAS=m +# CONFIG_COMMON_CLK_PXA is not set # # Hardware Spinlock drivers @@ -6787,6 +6860,7 @@ CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y CONFIG_DW_APB_TIMER=y +# CONFIG_ATMEL_PIT is not set # CONFIG_SH_TIMER_CMT is not set # CONFIG_SH_TIMER_MTU2 is not set # CONFIG_SH_TIMER_TMU is not set @@ -6808,6 +6882,10 @@ CONFIG_STE_MODEM_RPROC=m # # Rpmsg drivers # + +# +# SOC (System On Chip) specific Drivers +# CONFIG_PM_DEVFREQ=y # @@ -6833,6 +6911,7 @@ CONFIG_EXTCON_MAX14577=m CONFIG_EXTCON_MAX77693=m CONFIG_EXTCON_MAX8997=m CONFIG_EXTCON_PALMAS=m +CONFIG_EXTCON_RT8973A=m CONFIG_EXTCON_SM5502=m CONFIG_MEMORY=y CONFIG_IIO=m @@ -6847,6 +6926,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # Accelerometers # CONFIG_BMA180=m +CONFIG_BMC150_ACCEL=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m @@ -6876,6 +6956,7 @@ CONFIG_MCP3422=m CONFIG_MEN_Z188_ADC=m CONFIG_NAU7802=m CONFIG_TI_ADC081C=m +CONFIG_TI_ADC128S052=m CONFIG_TI_AM335X_ADC=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m @@ -6937,6 +7018,7 @@ CONFIG_ADIS16130=m CONFIG_ADIS16136=m CONFIG_ADIS16260=m CONFIG_ADXRS450=m +CONFIG_BMG160=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m @@ -6962,6 +7044,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y # Light sensors # CONFIG_ADJD_S311=m +CONFIG_AL3320A=m CONFIG_APDS9300=m CONFIG_CM32181=m CONFIG_CM36651=m @@ -7044,6 +7127,8 @@ CONFIG_PWM=y CONFIG_PWM_SYSFS=y CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=m +CONFIG_PWM_LPSS_PCI=m +CONFIG_PWM_LPSS_PLATFORM=m CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m CONFIG_IPACK_BUS=m @@ -7162,6 +7247,7 @@ CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=y CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m # # Caches @@ -7317,6 +7403,7 @@ CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_V4_SECURITY_LABEL=y # CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_GRACE_PERIOD=m CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m @@ -7488,6 +7575,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_TIMER_STATS=y # @@ -7592,7 +7680,7 @@ CONFIG_TEST_KSTRTOX=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_DMA_API_DEBUG is not set -CONFIG_TEST_MODULE=m +CONFIG_TEST_LKM=m CONFIG_TEST_USER_COPY=m CONFIG_TEST_BPF=m CONFIG_TEST_FIRMWARE=m @@ -7663,6 +7751,7 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set CONFIG_SECURITY_SMACK=y +# CONFIG_SECURITY_SMACK_BRINGUP is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 @@ -7676,8 +7765,8 @@ CONFIG_SECURITY_YAMA=y CONFIG_SECURITY_YAMA_STACKED=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y -CONFIG_INTEGRITY_AUDIT=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y CONFIG_IMA=y CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_LSM_RULES=y @@ -7693,10 +7782,6 @@ CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y CONFIG_EVM=y - -# -# EVM options -# CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y # CONFIG_DEFAULT_SECURITY_SELINUX is not set @@ -7738,6 +7823,7 @@ CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_MCRYPTD=m CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_ABLK_HELPER=m diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf index fcad0654b5..e7ecc6829e 100644 --- a/gnu/packages/linux-libre-x86_64.conf +++ b/gnu/packages/linux-libre-x86_64.conf @@ -1,11 +1,12 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.17.0-gnu Kernel Configuration +# Linux/x86 3.18.0-gnu Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y +CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y @@ -132,6 +133,7 @@ CONFIG_TASK_IO_ACCOUNTING=y # 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_RCU_USER_QS=y @@ -152,8 +154,6 @@ CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_SUPPORTS_INT128=y -CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y -CONFIG_ARCH_USES_NUMA_PROT_NONE=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_NUMA_BALANCING=y CONFIG_CGROUPS=y @@ -200,6 +200,7 @@ CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_SGETMASK_SYSCALL=y @@ -217,8 +218,10 @@ CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y +CONFIG_BPF_SYSCALL=y CONFIG_SHMEM=y CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y CONFIG_PCI_QUIRKS=y # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y @@ -309,6 +312,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLK_DEV_BSG=y @@ -381,6 +385,7 @@ CONFIG_FREEZER=y # CONFIG_ZONE_DMA=y CONFIG_SMP=y +CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_X2APIC=y CONFIG_X86_MPPARSE=y CONFIG_X86_EXTENDED_PLATFORM=y @@ -389,6 +394,8 @@ CONFIG_X86_NUMACHIP=y # CONFIG_X86_UV is not set # CONFIG_X86_GOLDFISH is not set CONFIG_X86_INTEL_LPSS=y +CONFIG_IOSF_MBI=m +CONFIG_IOSF_MBI_DEBUG=y CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_HYPERVISOR_GUEST=y @@ -496,6 +503,7 @@ CONFIG_MEMORY_HOTREMOVE=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y @@ -782,7 +790,6 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y CONFIG_KEYS_COMPAT=y CONFIG_X86_DEV_DMA_OPS=y -CONFIG_IOSF_MBI=m CONFIG_PMC_ATOM=y CONFIG_NET=y CONFIG_COMPAT_NETLINK_MESSAGES=y @@ -827,6 +834,8 @@ CONFIG_IP_PIMSM_V2=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_FOU=m +CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m @@ -852,6 +861,7 @@ CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" @@ -888,7 +898,7 @@ CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NETFILTER=m # # Core Netfilter Configuration @@ -947,6 +957,7 @@ CONFIG_NFT_HASH=m CONFIG_NFT_COUNTER=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m CONFIG_NFT_NAT=m CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m @@ -1050,6 +1061,7 @@ CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m @@ -1078,6 +1090,7 @@ CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_FO=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m @@ -1106,10 +1119,13 @@ CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m CONFIG_NF_TABLES_IPV4=m CONFIG_NFT_CHAIN_ROUTE_IPV4=m -CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_REJECT_IPV4=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NF_TABLES_ARP=m CONFIG_NF_NAT_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NFT_MASQ_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PPTP=m @@ -1143,10 +1159,13 @@ CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_TABLES_IPV6=m CONFIG_NFT_CHAIN_ROUTE_IPV6=m -CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_REJECT_IPV6=m CONFIG_NFT_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NFT_MASQ_IPV6=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1246,6 +1265,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m +CONFIG_NET_DSA_TAG_BRCM=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y @@ -1349,6 +1369,7 @@ CONFIG_BATMAN_ADV_MCAST=y CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_GRE=y CONFIG_OPENVSWITCH_VXLAN=y +CONFIG_OPENVSWITCH_GENEVE=y CONFIG_VSOCKETS=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_NETLINK_MMAP=y @@ -1418,6 +1439,7 @@ CONFIG_CAN_PLX_PCI=m CONFIG_CAN_C_CAN=m CONFIG_CAN_C_CAN_PLATFORM=m CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_M_CAN=m CONFIG_CAN_CC770=m CONFIG_CAN_CC770_ISA=m CONFIG_CAN_CC770_PLATFORM=m @@ -1628,6 +1650,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y @@ -1754,6 +1777,7 @@ CONFIG_MTD_NAND_DENALI_PCI=m CONFIG_MTD_NAND_DENALI_DT=m CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 CONFIG_MTD_NAND_GPIO=m +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_DISKONCHIP=m @@ -1776,6 +1800,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y CONFIG_MTD_LPDDR=m CONFIG_MTD_QINFO_PROBE=m CONFIG_MTD_SPI_NOR=m +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 @@ -1947,6 +1972,7 @@ CONFIG_INTEL_MIC_CARD=m CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 CONFIG_ECHO=m +# CONFIG_CXL_BASE is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1958,6 +1984,7 @@ CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_NETLINK=y +# CONFIG_SCSI_MQ_DEFAULT is not set CONFIG_SCSI_PROC_FS=y # @@ -2040,6 +2067,7 @@ CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y CONFIG_VMWARE_PVSCSI=m +CONFIG_XEN_SCSI_FRONTEND=m CONFIG_HYPERV_STORAGE=m CONFIG_LIBFC=m CONFIG_LIBFCOE=m @@ -2233,6 +2261,7 @@ CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m +CONFIG_TCM_USER=m CONFIG_LOOPBACK_TARGET=m CONFIG_TCM_FC=m CONFIG_ISCSI_TARGET=m @@ -2359,6 +2388,8 @@ CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_MV88E6131=m CONFIG_NET_DSA_MV88E6123_61_65=m +CONFIG_NET_DSA_MV88E6171=m +CONFIG_NET_DSA_BCM_SF2=m CONFIG_ETHERNET=y CONFIG_MDIO=m CONFIG_NET_VENDOR_3COM=y @@ -2368,6 +2399,8 @@ CONFIG_VORTEX=m CONFIG_TYPHOON=m CONFIG_NET_VENDOR_ADAPTEC=y CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_AGERE=y +CONFIG_ET131X=m CONFIG_NET_VENDOR_ALTEON=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set @@ -2453,6 +2486,8 @@ CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y CONFIG_I40EVF=m +CONFIG_FM10K=m +CONFIG_FM10K_VXLAN=y CONFIG_NET_VENDOR_I825XX=y CONFIG_IP1000=m CONFIG_JME=m @@ -2505,6 +2540,7 @@ CONFIG_QLCNIC_VXLAN=y CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -2593,6 +2629,7 @@ CONFIG_MICREL_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_GPIO=m +CONFIG_MDIO_BCM_UNIMAC=m CONFIG_MICREL_KS8995MA=m CONFIG_PLIP=m CONFIG_PPP=y @@ -2689,8 +2726,10 @@ CONFIG_ATH9K_PCI=y CONFIG_ATH9K_AHB=y CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_STATION_STATISTICS=y +# CONFIG_ATH9K_DYNACK is not set CONFIG_ATH9K_WOW=y CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_CARL9170=m @@ -2777,6 +2816,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set +CONFIG_IWLWIFI_UAPSD=y # # Debugging Options @@ -2851,6 +2891,8 @@ CONFIG_RTL8192DE=m CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTLWIFI_PCI=m @@ -3244,6 +3286,7 @@ CONFIG_INPUT_AD714X_SPI=m CONFIG_INPUT_ARIZONA_HAPTICS=m CONFIG_INPUT_BMA150=m CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MAX77693_HAPTIC=m CONFIG_INPUT_MAX8925_ONKEY=m CONFIG_INPUT_MAX8997_HAPTIC=m CONFIG_INPUT_MC13783_PWRBUTTON=m @@ -3266,6 +3309,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=m CONFIG_INPUT_TWL4030_VIBRA=m CONFIG_INPUT_TWL6040_VIBRA=m CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_PALMAS_PWRBUTTON=m CONFIG_INPUT_PCF50633_PMU=m CONFIG_INPUT_PCF8574=m CONFIG_INPUT_PWM_BEEPER=m @@ -3283,6 +3327,8 @@ CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m CONFIG_INPUT_IDEAPAD_SLIDEBAR=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m +CONFIG_INPUT_DRV260X_HAPTICS=m +CONFIG_INPUT_DRV2667_HAPTICS=m # # Hardware I/O ports @@ -3356,6 +3402,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_FINTEK=m # # Non-8250 serial port support @@ -3436,6 +3483,8 @@ CONFIG_TCG_ST33_I2C=m CONFIG_TCG_XEN=m CONFIG_TELCLOCK=m CONFIG_DEVPORT=y +CONFIG_XILLYBUS=m +CONFIG_XILLYBUS_PCIE=m # # I2C support @@ -3614,6 +3663,7 @@ CONFIG_GPIO_MAX730X=m # Memory mapped GPIO drivers: # CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_DWAPB=m CONFIG_GPIO_IT8761E=m CONFIG_GPIO_F7188X=m CONFIG_GPIO_SCH311X=m @@ -3656,6 +3706,7 @@ CONFIG_GPIO_RDC321X=m # SPI GPIO expanders: # CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m CONFIG_GPIO_MC33880=m # @@ -3827,6 +3878,7 @@ CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_HTU21=m CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_MENF21BMC_HWMON=m CONFIG_SENSORS_ADCXX=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM70=m @@ -3919,12 +3971,14 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_EMULATION=y CONFIG_INTEL_POWERCLAMP=m CONFIG_X86_PKG_TEMP_THERMAL=m -CONFIG_ACPI_INT3403_THERMAL=m CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INT340X_THERMAL=m +CONFIG_ACPI_THERMAL_REL=m # # Texas Instruments thermal drivers @@ -3939,10 +3993,13 @@ CONFIG_WATCHDOG_CORE=y CONFIG_SOFT_WATCHDOG=m CONFIG_DA9052_WATCHDOG=m CONFIG_DA9055_WATCHDOG=m +CONFIG_DA9063_WATCHDOG=m +CONFIG_MENF21BMC_WATCHDOG=m CONFIG_WM831X_WATCHDOG=m CONFIG_WM8350_WATCHDOG=m CONFIG_XILINX_WATCHDOG=m CONFIG_DW_WATCHDOG=m +CONFIG_RN5T618_WATCHDOG=m CONFIG_TWL4030_WATCHDOG=m CONFIG_RETU_WATCHDOG=m CONFIG_ACQUIRE_WDT=m @@ -4062,6 +4119,7 @@ CONFIG_MFD_MAX8907=m CONFIG_MFD_MAX8925=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y +CONFIG_MFD_MENF21BMC=m CONFIG_EZX_PCAP=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_RETU=m @@ -4073,6 +4131,7 @@ CONFIG_MFD_RDC321X=m CONFIG_MFD_RTSX_PCI=m CONFIG_MFD_RTSX_USB=m CONFIG_MFD_RC5T583=y +CONFIG_MFD_RN5T618=m CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SM501=m @@ -4143,6 +4202,7 @@ CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m CONFIG_REGULATOR_FAN53555=m CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_ISL9305=m CONFIG_REGULATOR_ISL6271A=m CONFIG_REGULATOR_LP3971=m CONFIG_REGULATOR_LP3972=m @@ -4162,6 +4222,7 @@ CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_MAX8998=m CONFIG_REGULATOR_MAX77686=m CONFIG_REGULATOR_MAX77693=m +CONFIG_REGULATOR_MAX77802=m CONFIG_REGULATOR_MC13XXX_CORE=m CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m @@ -4169,7 +4230,9 @@ CONFIG_REGULATOR_PALMAS=m CONFIG_REGULATOR_PCAP=m CONFIG_REGULATOR_PCF50633=m CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PWM=m CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RN5T618=m CONFIG_REGULATOR_S2MPA01=m CONFIG_REGULATOR_S2MPS11=m CONFIG_REGULATOR_S5M8767=m @@ -4245,6 +4308,7 @@ CONFIG_IR_XMP_DECODER=m CONFIG_RC_DEVICES=y CONFIG_RC_ATI_REMOTE=m CONFIG_IR_ENE=m +CONFIG_IR_HIX5HD2=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m @@ -4404,11 +4468,13 @@ CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_DVBSKY=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_USB_DRV=m CONFIG_DVB_B2C2_FLEXCOP_USB=m # CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_AS102=m # # Webcam, TV (analog/digital) USB devices @@ -4422,8 +4488,9 @@ CONFIG_VIDEO_EM28XX_RC=m # # Software defined radio USB devices # -CONFIG_USB_MSI2500=m CONFIG_USB_AIRSPY=m +CONFIG_USB_HACKRF=m +CONFIG_USB_MSI2500=m CONFIG_MEDIA_PCI_SUPPORT=y # @@ -4449,6 +4516,7 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_TW68=m # # Media capture/analog/hybrid TV support @@ -4472,11 +4540,13 @@ CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_RC=y CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m CONFIG_VIDEO_SAA7164=m # # Media digital TV PCI Adapters # +CONFIG_DVB_AV7110_IR=y CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m @@ -4489,6 +4559,7 @@ CONFIG_DVB_B2C2_FLEXCOP_PCI=m CONFIG_DVB_PLUTO2=m CONFIG_DVB_DM1105=m CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m CONFIG_MANTIS_CORE=m CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m @@ -4502,9 +4573,8 @@ CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m -CONFIG_VIDEO_RENESAS_VSP1=m CONFIG_V4L_TEST_DRIVERS=y -CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VIVID=m CONFIG_VIDEO_MEM2MEM_TESTDEV=m # @@ -4704,6 +4774,8 @@ CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_MXL301RF=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m # # Multistandard (satellite) frontends @@ -4777,6 +4849,7 @@ CONFIG_DVB_RTL2830=m CONFIG_DVB_RTL2832=m CONFIG_DVB_RTL2832_SDR=m CONFIG_DVB_SI2168=m +CONFIG_DVB_AS102_FE=m # # DVB-C (cable) frontends @@ -4808,6 +4881,7 @@ CONFIG_DVB_S5H1411=m CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m +CONFIG_DVB_TC90522=m # # Digital terrestrial only tuners/PLL @@ -4855,7 +4929,6 @@ CONFIG_VGA_SWITCHEROO=y # Direct Rendering Manager # CONFIG_DRM=m -CONFIG_DRM_USB=m CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_LOAD_EDID_FIRMWARE=y @@ -4895,13 +4968,14 @@ CONFIG_DRM_AST=m # CONFIG_DRM_MGAG200 is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_QXL=m -CONFIG_DRM_BOCHS=m +# CONFIG_DRM_BOCHS is not set # # Frame buffer Devices # CONFIG_FB=y CONFIG_FIRMWARE_EDID=y +CONFIG_FB_CMDLINE=y CONFIG_FB_DDC=m CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y @@ -5068,7 +5142,7 @@ CONFIG_LOGO=y CONFIG_LOGO_LIBRE_CLUT224=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE=y -CONFIG_SOUND_OSS_CORE_PRECLAIM=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set CONFIG_SND=m CONFIG_SND_TIMER=m CONFIG_SND_PCM=m @@ -5276,6 +5350,7 @@ CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_CS35L32=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m @@ -5285,6 +5360,7 @@ CONFIG_SND_SOC_CS4271=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_MAX98090=m CONFIG_SND_SOC_PCM1681=m CONFIG_SND_SOC_PCM1792A=m @@ -5300,6 +5376,10 @@ CONFIG_SND_SOC_SIGMADSP=m CONFIG_SND_SOC_SIGMADSP_I2C=m CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_SSM2602_SPI=m +CONFIG_SND_SOC_SSM2602_I2C=m +CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS5086=m @@ -5320,6 +5400,7 @@ CONFIG_SND_SOC_WM8776=m CONFIG_SND_SOC_WM8804=m CONFIG_SND_SOC_WM8903=m CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SIMPLE_CARD=m # CONFIG_SOUND_PRIME is not set @@ -5382,6 +5463,7 @@ CONFIG_HID_NTRIG=m CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PENMOUNT=m CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y @@ -5460,6 +5542,7 @@ CONFIG_USB_WUSB_CBAF=m # CONFIG_USB_C67X00_HCD=m CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y @@ -5482,13 +5565,11 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_HCD_ISO=y CONFIG_USB_SL811_CS=m CONFIG_USB_R8A66597_HCD=m -CONFIG_USB_RENESAS_USBHS_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m CONFIG_USB_HCD_BCMA=m CONFIG_USB_HCD_SSB=m # CONFIG_USB_HCD_TEST_MODE is not set -CONFIG_USB_RENESAS_USBHS=m # # USB Device Class drivers @@ -5638,7 +5719,6 @@ CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OPTICON=m CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL_WISHBONE=m -CONFIG_USB_SERIAL_ZTE=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m CONFIG_USB_SERIAL_DEBUG=m @@ -5682,9 +5762,6 @@ CONFIG_USB_XUSBATM=m # CONFIG_USB_PHY=y CONFIG_NOP_USB_XCEIV=m -CONFIG_SAMSUNG_USBPHY=m -CONFIG_SAMSUNG_USB2PHY=m -CONFIG_SAMSUNG_USB3PHY=m CONFIG_USB_GPIO_VBUS=m CONFIG_TAHVO_USB=m CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y @@ -5702,7 +5779,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 CONFIG_USB_FOTG210_UDC=m CONFIG_USB_GR_UDC=m CONFIG_USB_R8A66597=m -CONFIG_USB_RENESAS_USBHS_UDC=m CONFIG_USB_PXA27X=m CONFIG_USB_MV_UDC=m CONFIG_USB_MV_U3D=m @@ -5729,6 +5805,8 @@ CONFIG_USB_F_SUBSET=m CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m CONFIG_USB_F_FS=m +CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UVC=m CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y @@ -5769,6 +5847,7 @@ CONFIG_USB_G_DBGP=m # CONFIG_USB_G_DBGP_PRINTK is not set CONFIG_USB_G_DBGP_SERIAL=y CONFIG_USB_G_WEBCAM=m +CONFIG_USB_LED_TRIG=y CONFIG_UWB=m CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m @@ -5864,6 +5943,7 @@ CONFIG_LEDS_MC13783=m CONFIG_LEDS_TCA6507=m CONFIG_LEDS_MAX8997=m CONFIG_LEDS_LM355x=m +CONFIG_LEDS_MENF21BMC=m # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) @@ -5968,6 +6048,7 @@ CONFIG_RTC_DRV_MAX8925=m CONFIG_RTC_DRV_MAX8998=m CONFIG_RTC_DRV_MAX8997=m CONFIG_RTC_DRV_MAX77686=m +CONFIG_RTC_DRV_MAX77802=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m @@ -6024,7 +6105,6 @@ CONFIG_RTC_DRV_DS2404=m CONFIG_RTC_DRV_DA9052=m CONFIG_RTC_DRV_DA9055=m CONFIG_RTC_DRV_DA9063=m -CONFIG_RTC_DRV_EFI=m CONFIG_RTC_DRV_STK17TA8=m CONFIG_RTC_DRV_M48T86=m CONFIG_RTC_DRV_M48T35=m @@ -6126,13 +6206,13 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m CONFIG_SWIOTLB_XEN=y CONFIG_XEN_TMEM=m CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_SCSI_BACKEND=m CONFIG_XEN_PRIVCMD=m CONFIG_XEN_ACPI_PROCESSOR=y CONFIG_XEN_MCE_LOG=y CONFIG_XEN_HAVE_PVMMU=y CONFIG_XEN_EFI=y CONFIG_STAGING=y -CONFIG_ET131X=m CONFIG_SLICOSS=m CONFIG_PRISM2_USB=m CONFIG_COMEDI=m @@ -6140,12 +6220,10 @@ CONFIG_COMEDI=m CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 CONFIG_COMEDI_MISC_DRIVERS=y -CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_BOND=m CONFIG_COMEDI_TEST=m CONFIG_COMEDI_PARPORT=m CONFIG_COMEDI_SERIAL2002=m -CONFIG_COMEDI_SKEL=m CONFIG_COMEDI_ISA_DRIVERS=y CONFIG_COMEDI_PCL711=m CONFIG_COMEDI_PCL724=m @@ -6259,12 +6337,13 @@ CONFIG_COMEDI_NI_MIO_CS=m CONFIG_COMEDI_QUATECH_DAQP_CS=m CONFIG_COMEDI_USB_DRIVERS=y CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m CONFIG_COMEDI_USBDUXFAST=m CONFIG_COMEDI_USBDUXSIGMA=m CONFIG_COMEDI_VMK80XX=m CONFIG_COMEDI_8255=m -CONFIG_COMEDI_FC=m +CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_AMPLC_DIO200=m CONFIG_COMEDI_AMPLC_PC236=m CONFIG_COMEDI_DAS08=m @@ -6284,13 +6363,10 @@ CONFIG_RTL8192E=m CONFIG_R8712U=m CONFIG_R8188EU=m CONFIG_88EU_AP_MODE=y -CONFIG_R8192EE=m CONFIG_R8723AU=m CONFIG_8723AU_AP_MODE=y CONFIG_8723AU_BT_COEXIST=y -CONFIG_R8821AE=m CONFIG_RTS5208=m -# CONFIG_RTS5208_DEBUG is not set CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set CONFIG_VT6655=m @@ -6340,13 +6416,8 @@ CONFIG_AD7746=m # # Direct Digital Synthesis # -CONFIG_AD5930=m CONFIG_AD9832=m CONFIG_AD9834=m -CONFIG_AD9850=m -CONFIG_AD9852=m -CONFIG_AD9910=m -CONFIG_AD9951=m # # Digital gyroscope sensors @@ -6422,7 +6493,6 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m CONFIG_STAGING_MEDIA=y -CONFIG_DVB_AS102=m CONFIG_I2C_BCM2048=m CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m @@ -6466,8 +6536,6 @@ CONFIG_LNET=m CONFIG_LNET_MAX_PAYLOAD=1048576 CONFIG_LNET_SELFTEST=m CONFIG_LNET_XPRT_IB=m -CONFIG_XILLYBUS=m -CONFIG_XILLYBUS_PCIE=m CONFIG_DGNC=m CONFIG_DGAP=m CONFIG_GS_FPGABOOT=m @@ -6540,6 +6608,7 @@ 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 @@ -6548,11 +6617,14 @@ CONFIG_COMMON_CLK=y # Common Clock Framework # CONFIG_COMMON_CLK_WM831X=m +CONFIG_COMMON_CLK_MAX_GEN=y CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_SI5351=m CONFIG_COMMON_CLK_S2MPS11=m CONFIG_CLK_TWL6040=m CONFIG_COMMON_CLK_PALMAS=m +# CONFIG_COMMON_CLK_PXA is not set # # Hardware Spinlock drivers @@ -6564,6 +6636,7 @@ CONFIG_COMMON_CLK_PALMAS=m CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y +# CONFIG_ATMEL_PIT is not set # CONFIG_SH_TIMER_CMT is not set # CONFIG_SH_TIMER_MTU2 is not set # CONFIG_SH_TIMER_TMU is not set @@ -6589,6 +6662,10 @@ CONFIG_STE_MODEM_RPROC=m # # Rpmsg drivers # + +# +# SOC (System On Chip) specific Drivers +# CONFIG_PM_DEVFREQ=y # @@ -6614,6 +6691,7 @@ CONFIG_EXTCON_MAX14577=m CONFIG_EXTCON_MAX77693=m CONFIG_EXTCON_MAX8997=m CONFIG_EXTCON_PALMAS=m +CONFIG_EXTCON_RT8973A=m CONFIG_EXTCON_SM5502=m CONFIG_MEMORY=y CONFIG_IIO=m @@ -6628,6 +6706,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # Accelerometers # CONFIG_BMA180=m +CONFIG_BMC150_ACCEL=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m @@ -6657,6 +6736,7 @@ CONFIG_MCP3422=m CONFIG_MEN_Z188_ADC=m CONFIG_NAU7802=m CONFIG_TI_ADC081C=m +CONFIG_TI_ADC128S052=m CONFIG_TI_AM335X_ADC=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m @@ -6718,6 +6798,7 @@ CONFIG_ADIS16130=m CONFIG_ADIS16136=m CONFIG_ADIS16260=m CONFIG_ADXRS450=m +CONFIG_BMG160=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m @@ -6743,6 +6824,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y # Light sensors # CONFIG_ADJD_S311=m +CONFIG_AL3320A=m CONFIG_APDS9300=m CONFIG_CM32181=m CONFIG_CM36651=m @@ -6825,6 +6907,8 @@ CONFIG_PWM=y CONFIG_PWM_SYSFS=y CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=m +CONFIG_PWM_LPSS_PCI=m +CONFIG_PWM_LPSS_PLATFORM=m CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m CONFIG_IPACK_BUS=m @@ -6944,6 +7028,7 @@ CONFIG_QUOTACTL_COMPAT=y CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=y CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m # # Caches @@ -7099,6 +7184,7 @@ CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_V4_SECURITY_LABEL=y # CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_GRACE_PERIOD=m CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m @@ -7269,6 +7355,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_TIMER_STATS=y # @@ -7374,7 +7461,7 @@ CONFIG_TEST_KSTRTOX=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_DMA_API_DEBUG is not set -CONFIG_TEST_MODULE=m +CONFIG_TEST_LKM=m CONFIG_TEST_USER_COPY=m CONFIG_TEST_BPF=m CONFIG_TEST_FIRMWARE=m @@ -7445,6 +7532,7 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set CONFIG_SECURITY_SMACK=y +# CONFIG_SECURITY_SMACK_BRINGUP is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 @@ -7458,8 +7546,8 @@ CONFIG_SECURITY_YAMA=y CONFIG_SECURITY_YAMA_STACKED=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y -CONFIG_INTEGRITY_AUDIT=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y CONFIG_IMA=y CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_LSM_RULES=y @@ -7475,10 +7563,6 @@ CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y CONFIG_EVM=y - -# -# EVM options -# CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y # CONFIG_DEFAULT_SECURITY_SELINUX is not set @@ -7520,6 +7604,7 @@ CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_MCRYPTD=m CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_ABLK_HELPER=m @@ -7572,6 +7657,7 @@ CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_CRYPTO_SHA512_SSSE3=m +CONFIG_CRYPTO_SHA1_MB=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_TGR192=m diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0d30aeea94..3f83711f32 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -192,7 +192,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "3.17.3") + (let* ((version "3.18") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -265,7 +265,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1qyk70m7y7ak94idkqpgyinnnpqpwxvl39rwh8pqdvrcm7w5b0lq")))) + "1kv03bhls9rya4sg3qixyjirc79pn2g5bcwldcj7hs4apa77sd0g")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) @@ -1487,7 +1487,13 @@ mapper. Kernel components are part of Linux-libre.") version ".tar.gz")) (sha256 (base32 - "0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb")))) + "0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb")) + (modules '((guix build utils))) + (snippet + ;; Install the manual pages in the right place. + '(substitute* "Makefile" + (("INSTALL_MAN= .*") + "INSTALL_MAN= $(PREFIX)/share/man"))))) (build-system gnu-build-system) (arguments `(#:phases (alist-replace diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index f9d1c26518..0bacac47bf 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -31,13 +31,13 @@ (define-public gcl (package (name "gcl") - (version "2.6.11") + (version "2.6.12") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 "177vz8z74mky5nrq6qlfvnzvb1prw8jmlv4cwfx8w7k3k818y1a4")))) + (base32 "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; The build system seems not to be thread safe. @@ -63,7 +63,10 @@ (find-files "h" "\\.defs")) (("SHELL=/bin/(ba)?sh") (string-append "SHELL=" (which "bash"))))) - %standard-phases))) + ;; drop strip phase to make maxima build, see + ;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html + (alist-delete 'strip + %standard-phases)))) (native-inputs `(("m4" ,m4) ("readline" ,readline) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm new file mode 100644 index 0000000000..5b70124655 --- /dev/null +++ b/gnu/packages/llvm.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages llvm) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages xml)) + +(define-public llvm + (package + (name "llvm") + (version "3.5.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98")))) + (build-system cmake-build-system) + (native-inputs + `(("python" ,python-wrapper) + ("perl" ,perl))) + (arguments + `(#:phases (alist-cons-before + 'build 'link-lib-for-build-exec + (lambda* (#:key outputs #:allow-other-keys) + ;; This is a hacky fix that will allow binaries to run + ;; before being installed. -DCMAKE_SKIP_BUILD_RPATH=FALSE + ;; seems to not help. Nixpkgs does the same. + (let* ((out (assoc-ref outputs "out")) + (out-lib (string-append out "/lib")) + (build-lib (string-append (getcwd) "/lib"))) + (mkdir-p out) + (symlink build-lib out-lib))) + (alist-cons-after + 'build 'cleanup-out + (lambda* (#:key outputs #:allow-other-keys) + ;; Cleanup the symlink that was created previously. Let + ;; the install phase repopulate out. + (delete-file-recursively (assoc-ref outputs "out"))) + %standard-phases)))) + (home-page "http://www.llvm.org") + (synopsis "Optimizing compiler infrastructure") + (description + "LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, +and idle-time optimization of programs from arbitrary programming languages. +It currently supports compilation of C and C++ programs, using front-ends +derived from GCC 4.0.1. A new front-end for the C family of languages is in +development. The compiler infrastructure includes mirror sets of programming +tools as well as libraries with equivalent functionality.") + (license ncsa))) + +(define-public clang + (package + (name "clang") + (version (package-version llvm)) + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/cfe-" version ".src.tar.xz")) + (sha256 + (base32 + "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w")))) + ;; Using cmake allows us to treat llvm as an external library. There + ;; doesn't seem to be any way to do this with clang's autotools-based + ;; build system. + (build-system cmake-build-system) + (native-inputs (package-native-inputs llvm)) + (inputs + `(("libxml2" ,libxml2) + ,@(package-inputs llvm))) + (propagated-inputs + `(("llvm" ,llvm))) + (arguments `(#:configure-flags '("-DCLANG_INCLUDE_TESTS=True"))) + (home-page "http://clang.llvm.org") + (synopsis "C language family frontend for LLVM") + (description + "Clang is a compiler front end for the C, C++, Objective-C and +Objective-C++ programming languages. It uses LLVM as its back end. The Clang +project includes the Clang front end, the Clang static analyzer, and several +code analysis tools.") + (license ncsa))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 46c24092e5..6051dabb29 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> +;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com> +;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,14 +24,23 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages backup) + #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) #:use-module (gnu packages emacs) + #:use-module (gnu packages enchant) #:use-module (gnu packages gdbm) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnutls) + #:use-module (gnu packages gsasl) + #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages libcanberra) + #:use-module (gnu packages libidn) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages databases) @@ -46,8 +57,10 @@ #:use-module (gnu packages flex) #:use-module (gnu packages gdb) #:use-module (gnu packages samba) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+)) + #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ bsd-style)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -365,4 +378,154 @@ attachments, create new maildirs, and so on.") ing, and tagging large collections of email messages.") (license gpl3+))) +(define-public getmail + (package + (name "getmail") + (version "4.46.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://pyropus.ca/software/getmail/old-versions/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no tests + #:python ,python-2)) + (home-page "http://pyropus.ca/software/getmail/") + (synopsis "Mail retriever") + (description + "A flexible, extensible mail retrieval system with support for +POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, +arbitrary message filtering, single-user and domain-mailboxes, and many other +useful features.") + + ;; License is specified in file '__init__.py'. + (license gpl2))) + +(define-public libetpan + (package + (name "libetpan") + (version "1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/dinhviethoa/" name + "/archive/" version ".tar.gz")) + (sha256 + (base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr")))) + (build-system gnu-build-system) + (native-inputs `(("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("libtool" ,libtool "bin") + ("pkg-config" ,pkg-config))) + (propagated-inputs + ;; 'libetpan-config --libs' returns '-lssl -lcrypto -lsasl2', so these + ;; libraries need to be propagated. + `(("cyrus-sasl" ,cyrus-sasl) + ("openssl" ,openssl))) + (inputs + `(("curl" ,curl) + ("expat" ,expat))) + (arguments + '(#:phases (alist-cons-before + 'configure 'autogen + (lambda _ + (system* "./autogen.sh")) ;; Note: this fails because the + ;; generated configure script uses /bin/sh. It is + ;; replaced in the configure phase by the correct + ;; value. TODO: replace the configure phase by the + ;; autogen phase and have the SHELL variable be replaced + %standard-phases) + #:configure-flags + '("--disable-static" "--disable-db"))) + (home-page "http://www.etpan.org/libetpan.html") + (synopsis "Portable middleware for email access") + (description + "The purpose of this mail library is to provide a portable, efficient +framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It +provides an API for C language. It's the low-level API used by MailCore and +MailCore 2.") + (license (bsd-style "file://COPYING")))) + +(define-public claws-mail + (package + (name "claws-mail") + (version "3.11.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/project/claws-mail/" + "Claws Mail/" version "/" name "-" version ".tar.xz")) + (sha256 + (base32 "0cyixz1jgfpi8abh9fbb8ylx9mcvw4jqj81cms666wpqr6v828yp")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("bogofilter" ,bogofilter) + ("curl" ,curl) + ("dbus-glib" ,dbus-glib) + ("dbus" ,dbus) + ("enchant" ,enchant) + ("expat" ,expat) + ("ghostscript" ,ghostscript) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("gnupg" ,gnupg) + ("gnutls" ,gnutls) + ("gpgme" ,gpgme) + ("gtk" ,gtk+-2) + ("libarchive" ,libarchive) + ("libcanberra" ,libcanberra) + ("libetpan" ,libetpan) + ("libnotify" ,libnotify) + ("libsm" ,libsm) + ("libxml2" ,libxml2) + ("perl" ,perl) + ("python-2" ,python-2))) + (arguments + '(#:configure-flags + '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant"))) + (synopsis "GTK-based Email client") + (description + "Claws-Mail is an email client (and news reader) based on GTK+. The +appearance and interface are designed to be familiar to new users coming from +other popular email clients, as well as experienced users. Almost all commands +are accessible with the keyboard. Plus, Claws-Mail is extensible via addons +which can add many functionalities to the base client.") + (home-page "http://www.claws-mail.org/") + (license gpl3+))) ; most files are actually public domain or x11 + +(define-public msmtp + (package + (name "msmtp") + (version "1.4.32") + (source + (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/project/msmtp/msmtp/" version + "/msmtp-" version ".tar.bz2")) + (sha256 (base32 + "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b")))) + (build-system gnu-build-system) + (inputs + `(("libidn" ,libidn) + ("gnutls" ,gnutls) + ("zlib" ,zlib) + ("gsasl" ,gsasl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://msmtp.sourceforge.net/") + (arguments + `(#:configure-flags (list "--with-libgsasl" + "--with-libidn" + "--with-ssl=gnutls"))) + (synopsis + "Simple and easy to use SMTP client with decent sendmail compatibility") + (description + "msmtp is an SMTP client. In the default mode, it transmits a mail to +an SMTP server (for example at a free mail provider) which takes care of further +delivery.") + (license gpl3+))) + ;;; mail.scm ends here diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 3d5d02ea64..028403ce74 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -151,7 +151,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.46.3") + (version "1.46.4") (source (origin (method url-fetch) @@ -159,7 +159,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "0hi94a6ai96yw0v8xgjzpp5c6jr33ifmbn2mkp7wz7rgmwxxqsd6")))) + "0csn7jx7nhlrflalw1992p3l5afawlpdyjdff2q5bk5hadgz3rqs")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1aa3757ebe..7296d48d83 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -953,6 +953,9 @@ point numbers") (inputs `(("gfortran" ,gfortran-4.8) ("lapack-tar" ,(package-source lapack)))) (outputs '("out" "doc")) + ;; For the moment we drop support for MIPS at it fails to compile. See + ;; https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00516.html + (supported-systems (delete "mips64el-linux" %supported-systems)) (arguments `(#:parallel-build? #f #:parallel-tests? #f @@ -979,6 +982,12 @@ point numbers") ;; Disable parallel build as it gives errors: atlas_pthread.h is ;; needed to compile C files before it is generated. "-Ss" "pmake" "make -j 1" + ;; Probe is failing for MIPS. We therefore define the system + ;; architecture explicitly by setting (-A) MACHINETYPE = 49 + ;; 'MIPSR1xK' and (-V) ISA = 1 'none'. + ,,@(if (string-prefix? "mips" (%current-system)) + (list "-A" "49" "-V" "1") + (list)) ;; Generate shared libraries. "--shared" ;; Build a full LAPACK library. diff --git a/gnu/packages/mg.scm b/gnu/packages/mg.scm new file mode 100644 index 0000000000..a315dfed33 --- /dev/null +++ b/gnu/packages/mg.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages mg) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config)) + +(define-public mg + (package + (name "mg") + (version "20050429") + (source (origin + (method url-fetch) + (uri (string-append "http://homepage.boetes.org/software/mg/mg-" + version ".tar.gz")) + (sha256 + (base32 + "19kib0aha4a40izzds7r63qfb2akq4sily6k28fl0n0zdgq0cna1")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile.in" + (("-Werror") "") + (("-lcurses") "-lncurses") + (("/usr/bin/install") "install -D") + (("/usr/bin/strip") "strip")))))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses))) + (arguments + ;; No test suite available. + '(#:tests? #f + #:phases (alist-cons-before + 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + (("(prefix=[[:blank:]]*)/usr/local" all prefix) + (string-append prefix (assoc-ref outputs "out"))))) + %standard-phases))) + (home-page "http://homepage.boetes.org/software/mg/") + (synopsis "Microscopic GNU Emacs clone") + (description + "mg is Micro GNU Emacs; this is a portable version of the mg maintained +by the OpenBSD team.") + (license public-domain))) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 54b81955d9..1731cd59af 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,17 +25,18 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages ncurses) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xiph) #:use-module (gnu packages pulseaudio) - #:use-module ((gnu packages linux) - #:select (alsa-lib)) + #:use-module (gnu packages linux) ;alsa-lib #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake)) (define-public libmad (package @@ -129,6 +131,90 @@ a highly stable and efficient implementation.") (license license:lgpl2.0+) (home-page "http://id3lib.sourceforge.net/"))) +(define-public taglib + (package + (name "taglib") + (version "1.9.1") + (source (origin + (method url-fetch) + (uri (string-append "http://taglib.github.io/releases/taglib-" + version ".tar.gz")) + (sha256 + (base32 + "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;no 'test' target + (inputs `(("zlib" ,zlib))) + (home-page "http://developer.kde.org/~wheeler/taglib.html") + (synopsis "Library to access audio file meta-data") + (description + "TagLib is a C++ library for reading and editing the meta-data of several +popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 +files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, +Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.") + + ;; Dual-licensed: user may choose between LGPLv2.1 or MPLv1.1. + (license (list license:lgpl2.1 license:mpl1.1)))) + +(define-public mp3info + (package + (name "mp3info") + (version "0.8.5a") + (source (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-" + version ".tgz")) + (sha256 + (base32 + "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/bin/rm") "rm") + (("/usr/bin/install") "install") + (("man/man1") "share/man/man1"))))) + (build-system gnu-build-system) + (outputs '("out" "gui")) ;GTK+ interface in "gui" + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("prefix=.*") + (string-append "prefix := " out "\n"))))) + (alist-cons-before + 'install 'pre-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/share/man/man1")))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Move the GTK+ interface to "gui". + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui"))) + (mkdir-p (string-append gui "/bin")) + (rename-file (string-append out "/bin/gmp3info") + (string-append gui "/bin/gmp3info")))) + %standard-phases))) + #:tests? #f)) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+-2) + ("ncurses" ,ncurses))) + (home-page "http://www.ibiblio.org/mp3info/") + (synopsis "MP3 technical info viewer and ID3 1.x tag editor") + (description + "MP3Info is a little utility used to read and modify the ID3 tags of MP3 +files. MP3Info can also display various techincal aspects of an MP3 file +including playing time, bit-rate, sampling frequency and other attributes in a +pre-defined or user-specifiable output format.") + (license license:gpl2+))) + (define-public libmp3splt (package (name "libmp3splt") diff --git a/gnu/packages/nutrition.scm b/gnu/packages/nutrition.scm new file mode 100644 index 0000000000..72bd5b0d3e --- /dev/null +++ b/gnu/packages/nutrition.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages nutrition) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages) + #:use-module (gnu packages gtk) + #:use-module (gnu packages glib) + #:use-module (gnu packages image) + #:use-module (gnu packages python)) + +(define-public gourmet + (package + (name "gourmet") + (version "0.17.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/thinkle/gourmet/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1qvz175arzqm10lpfx8ffadrgirs3240zzqcp0h7sl53qfwx7v8k")))) + (build-system python-build-system) + (native-inputs + `(("distutils-extra" ,python2-distutils-extra) + ("intltool" ,intltool) + ("python-pygtk" ,python2-pygtk))) ;for tests + ;; TODO: Add python-reportlab and/or python-poppler for printing/pdf + ;; export, and python-beautifulsoup for web import plugin. + (inputs + `(("pygtk" ,python2-pygtk) + ("sqlalchemy" ,python2-sqlalchemy) + ("python-pillow" ,python2-pillow) + ("elib.intl" ,python2-elib.intl) + ;; XXX: This really isn't an input for gourmet but of pillow. Making + ;; it a propagated input in pillow doesn't seem to get its site path + ;; into gourmet's wrapper's PYTHONPATH however... + ("python-setuptools" ,python2-setuptools))) + (arguments + `(#:python ,python-2 ;exception and print syntax + #:tests? #f)) ;tests look bitrotted + (home-page "http://thinkle.github.io/gourmet/") + (synopsis "Recipe organizer") + (description + "Gourmet Recipe Manager is a recipe organizer that allows you to collect, +search, organize, and browse your recipes. Gourmet can also generate shopping +lists and calculate nutritional information. It imports Mealmaster, +MasterCook and KRecipe files and exports PDFs, webpages, and other formats.") + (license gpl2+))) diff --git a/gnu/packages/ocrad.scm b/gnu/packages/ocrad.scm index ee35256123..8ad4f32670 100644 --- a/gnu/packages/ocrad.scm +++ b/gnu/packages/ocrad.scm @@ -27,14 +27,14 @@ (define-public ocrad (package (name "ocrad") - (version "0.23") + (version "0.24") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ocrad/ocrad-" version ".tar.lz")) (sha256 (base32 - "0vx0v4sz8ivgcp04zggdq9cv9sb5zxnn7j1nm15cds0zq1wr9g7m")))) + "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv")))) (build-system gnu-build-system) (native-inputs `(("lzip" ,lzip))) (home-page "http://www.gnu.org/software/ocrad/") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 0bbd7b6dcd..408734d6fa 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -118,7 +118,7 @@ the Nix package manager.") (define guix-devel ;; Development version of Guix. - (let ((commit "47739f5")) + (let ((commit "3b09332")) (package (inherit guix-0.8) (version (string-append "0.8." commit)) (source (origin @@ -129,7 +129,7 @@ the Nix package manager.") (recursive? #t))) (sha256 (base32 - "17azgv1i8f9spwa35m23d2yk0wlmf48xm6ka1rqh30nhacwlmnx7")))) + "1szlyhpy688ca96kfyjb6cdy5zhxvqmdig4m7ql7rjqfmz0gvka1")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.8) ((#:phases phases) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index eaf789f828..6524110f2a 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -27,7 +27,7 @@ (define-public parallel (package (name "parallel") - (version "20141022") + (version "20141122") (source (origin (method url-fetch) @@ -35,7 +35,7 @@ version ".tar.bz2")) (sha256 (base32 - "1dpssybids6k6na4rh2gwv1m581h28rcmsvq0hs56hrrh7qpjmvp")))) + "1kpd4ayd4lb867nfnpkam4b3mh86jl6cdy386x1rich938gbrg38")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (home-page "http://www.gnu.org/software/parallel/") diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/patches/glib-tests-gapplication.patch new file mode 100644 index 0000000000..1845fcb9b8 --- /dev/null +++ b/gnu/packages/patches/glib-tests-gapplication.patch @@ -0,0 +1,28 @@ +This test has proven to be unreliable, often leading to things like this +in gapplication.log: + + PASS: gapplication 3 /gapplication/properties + Failed to register: The connection is closed + ** + GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated) + ok 4 /gapplication/app-id + PASS: gapplication 4 /gapplication/app-id + ../../tap-test: line 5: 24133 Aborted $1 -k --tap + # GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated) + cleaning up pid 24154 + ERROR: gapplication - missing test plan + ERROR: gapplication - exited with status 134 (terminated by signal 6?) + +See <https://bugs.debian.org/756273> and <http://bugs.gnu.org/18445>. + + +--- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 +0100 ++++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 +0100 +@@ -685,7 +685,6 @@ main (int argc, char **argv) + /* g_test_add_func ("/gapplication/non-unique", test_nonunique); */ + g_test_add_func ("/gapplication/properties", properties); + g_test_add_func ("/gapplication/app-id", appid); +- g_test_add_func ("/gapplication/quit", test_quit); + g_test_add_func ("/gapplication/local-actions", test_local_actions); + /* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */ + g_test_add_func ("/gapplication/local-command-line", test_local_command_line); diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index 1fb24bde27..57c7f2589d 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -7,7 +7,7 @@ diff --git a/libguile/posix.c b/libguile/posix.c index 324f21b..cbee94d 100644 --- a/libguile/posix.c +++ b/libguile/posix.c -@@ -2286,6 +2286,266 @@ scm_init_popen (void) +@@ -2286,6 +2286,261 @@ scm_init_popen (void) } #endif @@ -84,12 +84,7 @@ index 324f21b..cbee94d 100644 + free (c_options); + + if (err != 0) -+ { -+ /* XXX: `insmod' actually provides better translation of some of -+ the error codes. */ -+ errno = err; -+ SCM_SYSERROR; -+ } ++ SCM_SYSERROR; + + return SCM_UNSPECIFIED; +} diff --git a/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch new file mode 100644 index 0000000000..2f8b159870 --- /dev/null +++ b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch @@ -0,0 +1,15 @@ +From resolution of upstream python issue #20901: http://bugs.python.org/issue20901 + +diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py +--- Lib/sqlite3/test/hooks.py ++++ Lib/sqlite3/test/hooks.py +@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase): + create table bar (a, b) + """) + second_count = len(progress_calls) +- self.assertGreater(first_count, second_count) ++ self.assertGreaterEqual(first_count, second_count) + + def CheckCancelOperation(self): + """ + diff --git a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch new file mode 100644 index 0000000000..6a08e56351 --- /dev/null +++ b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch @@ -0,0 +1,39 @@ +From e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549 Mon Sep 17 00:00:00 2001 +From: "John (J5) Palmieri" <johnp@redhat.com> +Date: Sat, 13 Aug 2011 04:13:28 -0400 +Subject: remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN + + +diff --git a/gi/pygi-info.c b/gi/pygi-info.c +index 8729e25..007b609 100644 +--- a/gi/pygi-info.c ++++ b/gi/pygi-info.c +@@ -165,9 +165,6 @@ _pygi_info_new (GIBaseInfo *info) + case GI_INFO_TYPE_CONSTANT: + type = &PyGIConstantInfo_Type; + break; +- case GI_INFO_TYPE_ERROR_DOMAIN: +- type = &PyGIErrorDomainInfo_Type; +- break; + case GI_INFO_TYPE_UNION: + type = &PyGIUnionInfo_Type; + break; +@@ -484,7 +481,6 @@ _pygi_g_type_info_size (GITypeInfo *type_info) + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: +- case GI_INFO_TYPE_ERROR_DOMAIN: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: +@@ -863,7 +859,6 @@ pygi_g_struct_info_is_simple (GIStructInfo *struct_info) + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: +- case GI_INFO_TYPE_ERROR_DOMAIN: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: +-- +cgit v0.10.1 + diff --git a/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch new file mode 100644 index 0000000000..f121e8852a --- /dev/null +++ b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch @@ -0,0 +1,15 @@ +From resolution of upstream python issue #20901: http://bugs.python.org/issue20901 + +diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py +--- Lib/sqlite3/test/hooks.py ++++ Lib/sqlite3/test/hooks.py +@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase): + create table bar (a, b) + """) + second_count = len(progress_calls) +- self.assertTrue(first_count > second_count) ++ self.assertGreaterEqual(first_count, second_count) + + def CheckCancelOperation(self): + """ + diff --git a/gnu/packages/patches/wmctrl-64-fix.patch b/gnu/packages/patches/wmctrl-64-fix.patch new file mode 100644 index 0000000000..3ec1c913ff --- /dev/null +++ b/gnu/packages/patches/wmctrl-64-fix.patch @@ -0,0 +1,32 @@ +Description: Correct 64 Architecture implementation of 32 bit data +Author: Chris Donoghue <cdonoghu@gmail.com> +Bug-Debian: http://bugs.debian.org/362068 + +--- wmctrl-1.07.orig/main.c ++++ wmctrl-1.07/main.c +@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis + * + * long_length = Specifies the length in 32-bit multiples of the + * data to be retrieved. ++ * ++ * NOTE: see ++ * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html ++ * In particular: ++ * ++ * When the X window system was ported to 64-bit architectures, a ++ * rather peculiar design decision was made. 32-bit quantities such ++ * as Window IDs, atoms, etc, were kept as longs in the client side ++ * APIs, even when long was changed to 64 bits. ++ * + */ + if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False, + xa_prop_type, &xa_ret_type, &ret_format, +@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis + + /* null terminate the result to make string handling easier */ + tmp_size = (ret_format / 8) * ret_nitems; ++ /* Correct 64 Architecture implementation of 32 bit data */ ++ if(ret_format==32) tmp_size *= sizeof(long)/4; + ret = g_malloc(tmp_size + 1); + memcpy(ret, ret_prop, tmp_size); + ret[tmp_size] = '\0'; diff --git a/gnu/packages/patches/xf86-video-openchrome-includes.patch b/gnu/packages/patches/xf86-video-openchrome-includes.patch new file mode 100644 index 0000000000..3c79596387 --- /dev/null +++ b/gnu/packages/patches/xf86-video-openchrome-includes.patch @@ -0,0 +1,35 @@ +This follows the same rationale as xf86-input-synaptics-glibc-2.20.patch +to allow building with glibc-2.20. +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_3d.h xf86-video-openchrome-0.2.906/src/via_3d.h +--- xf86-video-openchrome-0.2.906.old/src/via_3d.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_3d.h 2014-11-23 14:18:37.000000000 +0100 +@@ -24,6 +24,7 @@ + #ifndef VIA_3D_H + #define VIA_3D_H + ++#include "xorg-server.h" + #include "xf86.h" + #include "via_dmabuffer.h" + +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_driver.h xf86-video-openchrome-0.2.906/src/via_driver.h +--- xf86-video-openchrome-0.2.906.old/src/via_driver.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_driver.h 2014-11-23 14:21:43.000000000 +0100 +@@ -35,6 +35,7 @@ + #endif + + #include "vgaHW.h" ++#include "xorg-server.h" + #include "xf86.h" + + #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_timing.h xf86-video-openchrome-0.2.906/src/via_timing.h +--- xf86-video-openchrome-0.2.906.old/src/via_timing.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_timing.h 2014-11-23 14:20:50.000000000 +0100 +@@ -25,6 +25,7 @@ + #ifndef _TIMING_H_ + #define _TIMING_H_ + ++#include "xorg-server.h" + #include "xf86.h" + + /* Aspect ratio not CVT standard */ diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index 54a3e2277c..3181ba7592 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,14 +28,14 @@ (define-public pcre (package (name "pcre") - (version "8.32") + (version "8.36") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/pcre/pcre/" version "/pcre-" version ".tar.bz2")) (sha256 (base32 - "0m8gvrf1q0iwll4csirvvj98xygw4cy7r14i5l53ivsqs2dzn4x9")))) + "1fs5p1z67m9f4xnyil3s4lhgyld78f7m4d1yawpyhh0cvrbk90zg")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) ("readline" ,readline) @@ -43,7 +44,8 @@ `(#:configure-flags '("--enable-utf" "--enable-pcregrep-libz" "--enable-pcregrep-libbz2" - "--enable-pcretest-libreadline"))) + "--enable-pcretest-libreadline" + "--enable-jit"))) (synopsis "Perl Compatible Regular Expressions") (description "The PCRE library is a set of functions that implement regular expression diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8d71660180..a724a1b21f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -161,3 +161,206 @@ SHA-1 message digest algorithm for use by Perl programs.") (home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-" version "/SHA1.pm")) (license (package-license perl)))) + +(define-public perl-benchmark-timer + (package + (name "perl-benchmark-timer") + (version "0.7102") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/" + "Benchmark-Timer-" version ".tar.gz")) + (sha256 + (base32 + "1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01")))) + (build-system perl-build-system) + ;; The optional input module Statistics::PointEstimation (from + ;; Statistics-TTest) lists no license. + (synopsis "Benchmarking with statistical confidence") + (description + "The Benchmark::Timer class allows you to time portions of code +conveniently, as well as benchmark code by allowing timings of repeated +trials. It is perfect for when you need more precise information about the +running time of portions of your code than the Benchmark module will give you, +but don't want to go all out and profile your code.") + (home-page (string-append "http://search.cpan.org/~dcoppit/" + "Benchmark-Timer-" version)) + (license gpl2))) + +(define-public perl-exporter-lite + (package + (name "perl-exporter-lite") + (version "0.06") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" + "Exporter-Lite-" version ".tar.gz")) + (sha256 + (base32 + "0k4gkvid4fr8yvwj0axdx5111mzfw2iipls3qllxr364fqhmclpj")))) + (build-system perl-build-system) + (synopsis "Lightweight exporting of functions and variables") + (description + "Exporter::Lite is an alternative to Exporter, intended to provide a +lightweight subset of the most commonly-used functionality. It supports +import(), @EXPORT and @EXPORT_OK and not a whole lot else.") + (home-page (string-append "http://search.cpan.org/~neilb/" + "Exporter-Lite-" version)) + (license (package-license perl)))) + +(define-public perl-probe-perl + (package + (name "perl-probe-perl") + (version "0.03") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/" + "Probe-Perl-" version ".tar.gz")) + (sha256 + (base32 + "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r")))) + (build-system perl-build-system) + (synopsis "Information about the currently running perl") + (description + "Probe::Perl provides methods for obtaining information about the +currently running perl interpreter. It originally began life as code in the +Module::Build project, but has been externalized here for general use.") + (home-page (string-append "http://search.cpan.org/~kwilliams/" + "Probe-Perl-" version)) + (license (package-license perl)))) + +(define-public perl-ipc-run3 + (package + (name "perl-ipc-run3") + (version "0.048") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" + "IPC-Run3-" version ".tar.gz")) + (sha256 + (base32 + "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x")))) + (build-system perl-build-system) + (synopsis "Run a subprocess with input/ouput redirection") + (description + "The IPC::Run3 module allows you to run a subprocess and redirect stdin, +stdout, and/or stderr to files and perl data structures. It aims to satisfy +99% of the need for using system, qx, and open3 with a simple, extremely +Perlish API and none of the bloat and rarely used features of IPC::Run.") + (home-page (string-append "http://search.cpan.org/~rjbs/" + "IPC-Run3-" version)) + ;; "You may use this module under the terms of the BSD, Artistic, or GPL + ;; licenses, any version." + (license (list bsd-3 gpl3+)))) + +(define-public perl-test-script + (package + (name "perl-test-script") + (version "1.07") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "Test-Script-" version ".tar.gz")) + (sha256 + (base32 + "15pb4zzsnm33msc1syhig2bk05xqc0pckmfyahdwbd177bj5w7p2")))) + (build-system perl-build-system) + (propagated-inputs + `(("probe-perl" ,perl-probe-perl) + ("ipc-run3" ,perl-ipc-run3))) + (synopsis "Basic cross-platform tests for scripts") + (description + "The intent of the Test::Script module is to provide a series of basic +tests for 80% of the testing you will need to do for scripts in the script (or +bin as is also commonly used) paths of your Perl distribution.") + (home-page (string-append "http://search.cpan.org/~adamk/" + "Test-Script-" version)) + (license (package-license perl)))) + +(define-public perl-file-which + (package + (name "perl-file-which") + (version "1.09") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "File-Which-" version ".tar.gz")) + (sha256 + (base32 + "1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp")))) + (build-system perl-build-system) + (native-inputs `(("test-script" ,perl-test-script))) + (synopsis "Portable implementation of the `which' utility") + (description + "File::Which was created to be able to get the paths to executable +programs on systems under which the `which' program wasn't implemented in the +shell.") + (home-page (string-append "http://search.cpan.org/~adamk/" + "File-Which-" version)) + (license (package-license perl)))) + +(define-public perl-getopt-tabular + (package + (name "perl-getopt-tabular") + (version "0.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GW/GWARD/" + "Getopt-Tabular-" version ".tar.gz")) + (sha256 + (base32 + "0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv")))) + (build-system perl-build-system) + (synopsis "Table-driven argument parsing for Perl") + (description + "Getopt::Tabular is a Perl 5 module for table-driven argument parsing, +vaguely inspired by John Ousterhout's Tk_ParseArgv.") + (home-page (string-append "http://search.cpan.org/~gward/" + "Getopt-Tabular-" version)) + (license (package-license perl)))) + +(define-public perl-regexp-common + (package + (name "perl-regexp-common") + (version "2013031301") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/" + "Regexp-Common-" version ".tar.gz")) + (sha256 + (base32 + "112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj")))) + (build-system perl-build-system) + (synopsis "Provide commonly requested regular expressions") + (description + "This module exports a single hash (`%RE') that stores or generates +commonly needed regular expressions. Patterns currently provided include: +balanced parentheses and brackets, delimited text (with escapes), integers and +floating-point numbers in any base (up to 36), comments in 44 languages, +offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip +codes.") + (home-page (string-append "http://search.cpan.org/~abigail/" + "Regexp-Common-" version)) + ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. + (license (list (package-license perl) x11 bsd-3)))) + +(define-public perl-sys-cpu + (package + (name "perl-sys-cpu") + (version "0.61") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/" + "Sys-CPU-" version ".tar.gz")) + (sha256 + (base32 + "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5")))) + (build-system perl-build-system) + (synopsis "Perl extension for getting CPU information") + (description + "In responce to a post on perlmonks.org, a module for counting the number +of CPU's on a system. Support has now also been added for type of CPU and +clock speed.") + (home-page (string-append "http://search.cpan.org/~mzsanford/" + "Sys-CPU-" version)) + (license (package-license perl)))) diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 279a6c1f29..dc4905a271 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -71,13 +71,11 @@ instance."))) #:builder (begin (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin")) - (prog (string-append ,target "-pkg-config")) - (native - (string-append - (assoc-ref %build-inputs "pkg-config") - "/bin/pkg-config"))) + (let* ((in (assoc-ref %build-inputs "pkg-config")) + (out (assoc-ref %outputs "out")) + (bin (string-append out "/bin")) + (prog (string-append ,target "-pkg-config")) + (native (string-append in "/bin/pkg-config"))) (mkdir-p bin) @@ -85,7 +83,13 @@ instance."))) ;; This satisfies the pkg.m4 macros, which use ;; AC_PROG_TOOL to determine the `pkg-config' program ;; name. - (symlink native (string-append bin "/" prog)))))) + (symlink native (string-append bin "/" prog)) + + ;; Also make 'pkg.m4' available, some packages might + ;; expect it. + (mkdir-p (string-append out "/share")) + (symlink (string-append in "/share/aclocal") + (string-append out "/share/aclocal")))))) (native-inputs `(("pkg-config" ,%pkg-config))) ;; Ignore native inputs, and set `PKG_CONFIG_PATH' for target inputs. diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index bd38a4b53d..1576c3dfea 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -196,3 +196,44 @@ output to 8 different formats, including HTML, LaTeX and ODF. It can also output to ANSI color escape sequences, so that highlighted source code can be seen in a terminal.") (license gpl3+))) + +(define-public astyle + (package + (name "astyle") + (version "2.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/astyle/astyle/astyle%20" + version "/astyle_" version "_linux.tar.gz")) + (sha256 + (base32 + "0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no tests + #:make-flags (list (string-append "prefix=" %output) + "INSTALL=install" + "all") + #:phases (alist-replace + 'configure + (lambda _ (chdir "build/gcc")) + (alist-cons-after + 'install 'install-libs + (lambda* (#:key outputs #:allow-other-keys) + ;; Libraries are not installed by default + (let* ((output (assoc-ref outputs "out")) + (libdir (string-append output "/lib"))) + (begin + (mkdir-p libdir) + (for-each (lambda (l) + (copy-file + l (string-append libdir "/" (basename l)))) + (find-files "bin" "lib*"))))) + %standard-phases)))) + (home-page "http://astyle.sourceforge.net/") + (synopsis "Source code indenter, formatter, and beautifier") + (description + "Artistic Style is a source code indenter, formatter, and beautifier for +the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") + (license lgpl3+))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 378660482f..dc7def5507 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -24,27 +24,40 @@ (define-module (gnu packages python) #:use-module ((guix licenses) #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style - gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ + gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ psfl public-domain)) #:use-module ((guix licenses) #:select (zlib) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages gdbm) #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages readline) #:use-module (gnu packages openssl) #:use-module (gnu packages elf) + #:use-module (gnu packages maths) + #:use-module (gnu packages gcc) #:use-module (gnu packages pkg-config) #:use-module (gnu packages databases) #:use-module (gnu packages zip) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages texlive) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages which) + #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (srfi srfi-1)) (define-public python-2 (package @@ -55,7 +68,8 @@ (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) - (patches (list (search-patch "python-libffi-mips-n32-fix.patch"))) + (patches (list (search-patch "python-libffi-mips-n32-fix.patch") + (search-patch "python2-sqlite-3.8.4-test-fix.patch"))) (patch-flags '("-p0")) (sha256 (base32 @@ -109,6 +123,7 @@ (let ((bz2 (assoc-ref %build-inputs "bzip2")) (gdbm (assoc-ref %build-inputs "gdbm")) (libffi (assoc-ref %build-inputs "libffi")) + (sqlite (assoc-ref %build-inputs "sqlite")) (openssl (assoc-ref %build-inputs "openssl")) (readline (assoc-ref %build-inputs "readline")) (zlib (assoc-ref %build-inputs "zlib"))) @@ -117,6 +132,7 @@ (string-append "CPPFLAGS=" "-I" bz2 "/include " "-I" gdbm "/include " + "-I" sqlite "/include " "-I" openssl "/include " "-I" readline "/include " "-I" zlib "/include") @@ -124,6 +140,7 @@ "-L" bz2 "/lib " "-L" gdbm "/lib " "-L" libffi "/lib " + "-L" sqlite "/lib " "-L" openssl "/lib " "-L" readline "/lib " "-L" zlib "/lib"))) @@ -167,6 +184,7 @@ `(("bzip2" ,bzip2) ("gdbm" ,gdbm) ("libffi" ,libffi) ; for ctypes + ("sqlite" ,sqlite) ; for sqlite extension ("openssl" ,openssl) ("readline" ,readline) ("zlib" ,zlib) @@ -198,6 +216,7 @@ data types.") (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) (patches (list (search-patch "python-fix-tests.patch") + (search-patch "python-sqlite-3.8.4-test-fix.patch") (search-patch "python-libffi-mips-n32-fix.patch"))) (patch-flags '("-p0")) (sha256 @@ -1873,3 +1892,653 @@ writing C extensions for Python as easy as Python itself.") (name "python2-cython") (inputs `(("python-2" ,python-2))))) ; this is not automatically changed + +;; This version of numpy is missing the documentation and is only used to +;; build matplotlib which is required to build numpy's documentation. +(define python-numpy-bootstrap + (package + (name "python-numpy-bootstrap") + (version "1.9.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/numpy" + "/numpy-" version ".tar.gz")) + (sha256 + (base32 + "070ybfvpgfmiz2hs94x445hvkh9dh52nyi0m8jp5kdihgvhbnx80")))) + (build-system python-build-system) + (inputs + `(("python-nose" ,python-nose) + ("atlas" ,atlas))) + (native-inputs + `(("gfortran" ,gfortran-4.8))) + (arguments + `(#:phases + (alist-cons-before + 'build 'set-environment-variables + (lambda* (#:key inputs #:allow-other-keys) + (let* ((atlas-threaded + (string-append (assoc-ref inputs "atlas") + "/lib/libtatlas.so")) + ;; On single core CPUs only the serial library is created. + (atlas-lib + (if (file-exists? atlas-threaded) + atlas-threaded + (string-append (assoc-ref inputs "atlas") + "/lib/libsatlas.so")))) + (setenv "ATLAS" atlas-lib))) + ;; Tests can only be run after the library has been installed and not + ;; within the source directory. + (alist-cons-after + 'install 'check + (lambda _ + (with-directory-excursion "/tmp" + (zero? (system* "python" "-c" + "import numpy; numpy.test(verbose=2)")))) + (alist-delete + 'check + %standard-phases))))) + (home-page "http://www.numpy.org/") + (synopsis "Fundamental package for scientific computing with Python") + (description "NumPy is the fundamental package for scientific computing +with Python. It contains among other things: a powerful N-dimensional array +object, sophisticated (broadcasting) functions, tools for integrating C/C++ +and Fortran code, useful linear algebra, Fourier transform, and random number +capabilities.") + (license bsd-3))) + +(define python2-numpy-bootstrap + (package-with-python2 python-numpy-bootstrap)) + +(define-public python-numpy + (package (inherit python-numpy-bootstrap) + (name "python-numpy") + (outputs '("out" "doc")) + (inputs + `(("which" ,which) + ("python-setuptools" ,python-setuptools) + ("python-matplotlib" ,python-matplotlib) + ("python-sphinx" ,python-sphinx) + ("python-pyparsing" ,python-pyparsing) + ("python-numpydoc" ,python-numpydoc) + ,@(package-inputs python-numpy-bootstrap))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("texlive" ,texlive) + ("texinfo" ,texinfo) + ("perl" ,perl) + ,@(package-native-inputs python-numpy-bootstrap))) + (arguments + `(,@(substitute-keyword-arguments + (package-arguments python-numpy-bootstrap) + ((#:phases phases) + `(alist-cons-after + 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + (doc (string-append + data "/doc/" ,name "-" + ,(package-version python-numpy-bootstrap))) + (info (string-append data "/info")) + (html (string-append doc "/html")) + (pyver ,(string-append "PYVER="))) + (with-directory-excursion "doc" + (mkdir-p html) + (system* "make" "html" pyver) + (system* "make" "latex" "PAPER=a4" pyver) + (system* "make" "-C" "build/latex" + "all-pdf" "PAPER=a4" pyver) + ;; FIXME: Generation of the info file fails. + ;; (system* "make" "info" pyver) + ;; (mkdir-p info) + ;; (copy-file "build/texinfo/numpy.info" + ;; (string-append info "/numpy.info")) + (for-each (lambda (file) + (copy-file (string-append "build/latex" file) + (string-append doc file))) + '("/numpy-ref.pdf" "/numpy-user.pdf")) + (with-directory-excursion "build/html" + (for-each (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append html "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir)) + (copy-file file (string-append html "/" file)))) + (find-files "." ".*")))))) + ,phases))))))) + +(define-public python2-numpy + (let ((numpy (package-with-python2 python-numpy))) + (package (inherit numpy) + ;; Make sure we use exactly PYTHON2-NUMPYDOC, which is customized for + ;; Python 2. Since it is also an input to PYTHON2-MATPLOTLIB, we need to + ;; import the right version of 'matplotlib' as well. + (inputs `(("python2-numpydoc" ,python2-numpydoc) + ("python2-matplotlib" ,python2-matplotlib) + ,@(alist-delete "python-numpydoc" + (alist-delete "python-matplotlib" + (package-inputs numpy)))))))) + +(define-public python-pyparsing + (package + (name "python-pyparsing") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/pyparsing" + "/pyparsing-" version ".tar.gz")) + (sha256 + (base32 + "01lasib0n2fp2k99c988qhz16lm9hcwmnmrmhybdb3jq2xmkvr0p")))) + (build-system python-build-system) + (outputs '("out" "doc")) + (arguments + `(#:tests? #f ; no test target + #:modules ((guix build python-build-system) + (guix build utils)) + #:phases + (alist-cons-after + 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/" ,name "-" ,version)) + (html-doc (string-append doc "/html")) + (examples (string-append doc "/examples"))) + (mkdir-p html-doc) + (mkdir-p examples) + (for-each + (lambda (dir tgt) + (map (lambda (file) + (copy-file file (string-append tgt "/" (basename file)))) + (find-files dir ".*"))) + (list "docs" "htmldoc" "examples") + (list doc html-doc examples)))) + %standard-phases))) + (home-page "http://pyparsing.wikispaces.com") + (synopsis "Python parsing class library") + (description + "The pyparsing module is an alternative approach to creating and +executing simple grammars, vs. the traditional lex/yacc approach, or the use +of regular expressions. The pyparsing module provides a library of classes +that client code uses to construct the grammar directly in Python code.") + (license expat))) + +(define-public python2-pyparsing + (package-with-python2 python-pyparsing)) + +(define-public python-numpydoc + (package + (name "python-numpydoc") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/n/numpydoc/numpydoc-" + version ".tar.gz")) + (sha256 + (base32 + "0d4dnifaxkll50jx6czj05y8cb4ny60njd2wz299sj2jxfy51w4k")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools) + ("python-docutils" ,python-docutils) + ("python-sphinx" ,python-sphinx) + ("python-nose" ,python-nose))) + (home-page "https://pypi.python.org/pypi/numpydoc") + (synopsis + "Numpy's Sphinx extensions") + (description + "Sphinx extension to support docstrings in Numpy format.") + (license bsd-2))) + +(define-public python2-numpydoc + (package + (inherit (package-with-python2 python-numpydoc)) + ;; With python-2 1 test (out of 30) fails because it doesn't find + ;; matplotlib. With python-3 it seems to detect at run-time the absence + ;; of matplotlib. + (arguments `(#:tests? #f + #:python ,python-2)))) + +(define-public python-matplotlib + (package + (name "python-matplotlib") + (version "1.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/matplotlib" + "/matplotlib-" version ".tar.gz")) + (sha256 + (base32 + "0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp")))) + (build-system python-build-system) + (outputs '("out" "doc")) + (inputs + `(("python-setuptools" ,python-setuptools) + ("python-dateutil" ,python-dateutil-2) + ("python-pyparsing" ,python-pyparsing) + ("python-six" ,python-six) + ("python-pytz" ,python-pytz) + ("python-numpy" ,python-numpy-bootstrap) + ("python-sphinx" ,python-sphinx) + ("python-numpydoc" ,python-numpydoc) + ("python-nose" ,python-nose) + ("python-mock" ,python-mock) + ("libpng" ,libpng) + ("imagemagick" ,imagemagick) + ("freetype" ,freetype) + ;; FIXME: Add backends when available. + ;("python-pygtk" ,python-pygtk) + ;("python-pycairo" ,python-pycairo) + ;("python-pygobject" ,python-pygobject) + ;("python-wxpython" ,python-wxpython) + ;("python-pyqt" ,python-pyqt) + )) + (native-inputs + `(("pkg-config" ,pkg-config) + ("texlive" ,texlive) + ("texinfo" ,texinfo))) + (arguments + `(#:phases + (alist-cons-after + 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + (doc (string-append data "/doc/" ,name "-" ,version)) + (info (string-append data "/info")) + (html (string-append doc "/html"))) + (with-directory-excursion "doc" + ;; Without setting this variable we get an encoding error. + (setenv "LANG" "en_US.UTF-8") + ;; Produce pdf in 'A4' format. + (substitute* (find-files "." "conf\\.py") + (("latex_paper_size = 'letter'") + "latex_paper_size = 'a4'")) + (mkdir-p html) + (mkdir-p info) + ;; The doc recommends to run the 'html' target twice. + (system* "python" "make.py" "html") + (system* "python" "make.py" "html") + (system* "python" "make.py" "latex") + (system* "python" "make.py" "texinfo") + (copy-file "build/texinfo/matplotlib.info" + (string-append info "/matplotlib.info")) + (copy-file "build/latex/Matplotlib.pdf" + (string-append doc "/Matplotlib.pdf")) + (with-directory-excursion "build/html" + (map (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append html "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir)) + (copy-file file (string-append html "/" file)))) + (find-files "." ".*")))))) + %standard-phases))) + (home-page "http://matplotlib.org") + (synopsis "2D plotting library for Python") + (description + "Matplotlib is a Python 2D plotting library which produces publication +quality figures in a variety of hardcopy formats and interactive environments +across platforms. Matplotlib can be used in Python scripts, the python and +ipython shell, web application servers, and six graphical user interface +toolkits.") + (license psfl))) + +(define-public python2-matplotlib + (let ((matplotlib (package-with-python2 python-matplotlib))) + (package (inherit matplotlib) + ;; Make sure we use exactly PYTHON2-NUMPYDOC, which is + ;; customized for Python 2. + (inputs `(("python2-numpydoc" ,python2-numpydoc) + ,@(alist-delete "python-numpydoc" + (package-inputs matplotlib))))))) + +;; Scipy 0.14.0 with Numpy 0.19.X fails several tests. This is known and +;; planned to be fixed in 0.14.1. It is claimed that the failures can safely +;; be ignored: +;; http://mail.scipy.org/pipermail/scipy-dev/2014-September/020043.html +;; https://github.com/scipy/scipy/issues/3853 +;; +;; The main test suite procedure prints the summary message: +;; +;; Ran 16412 tests in 245.033s +;; FAILED (KNOWNFAIL=277, SKIP=921, errors=327, failures=42) +;; +;; However, it still does return normally. +(define-public python-scipy + (package + (name "python-scipy") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/scipy" + "/scipy-" version ".tar.gz")) + (sha256 + (base32 + "053bmz4qmnk4dmxvspfak8r10rpmy6mzwfzgy33z338ppzka6hab")))) + (build-system python-build-system) + (inputs + `(("python-numpy" ,python-numpy) + ("python-matplotlib" ,python-matplotlib) + ("python-pyparsing" ,python-pyparsing) + ("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("atlas" ,atlas))) + (native-inputs + `(("gfortran" ,gfortran-4.8) + ("texlive" ,texlive) + ("perl" ,perl))) + (outputs '("out" "doc")) + (arguments + `(#:phases + (alist-cons-before + 'build 'set-environment-variables + (lambda* (#:key inputs #:allow-other-keys) + (let* ((atlas-threaded + (string-append (assoc-ref inputs "atlas") + "/lib/libtatlas.so")) + ;; On single core CPUs only the serial library is created. + (atlas-lib + (if (file-exists? atlas-threaded) + atlas-threaded + (string-append (assoc-ref inputs "atlas") + "/lib/libsatlas.so")))) + (setenv "ATLAS" atlas-lib))) + (alist-cons-after + 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + (doc (string-append data "/doc/" ,name "-" ,version)) + (html (string-append doc "/html")) + (pyver ,(string-append "PYVER="))) + (with-directory-excursion "doc" + ;; Without setting this variable we get an encoding error. + (setenv "LANG" "en_US.UTF-8") + ;; Fix generation of images for mathematical expressions. + (substitute* (find-files "source" "conf\\.py") + (("pngmath_use_preview = True") + "pngmath_use_preview = False")) + (mkdir-p html) + (system* "make" "html" pyver) + (system* "make" "latex" "PAPER=a4" pyver) + (system* "make" "-C" "build/latex" "all-pdf" "PAPER=a4" pyver) + (copy-file "build/latex/scipy-ref.pdf" + (string-append doc "/scipy-ref.pdf")) + (with-directory-excursion "build/html" + (for-each (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append html "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir)) + (copy-file file (string-append html "/" file)))) + (find-files "." ".*")))))) + ;; Tests can only be run after the library has been installed and not + ;; within the source directory. + (alist-cons-after + 'install 'check + (lambda _ + (with-directory-excursion "/tmp" + (zero? (system* "python" "-c" "import scipy; scipy.test()")))) + (alist-delete + 'check + %standard-phases)))))) + (home-page "http://www.scipy.org/") + (synopsis "The Scipy library provides efficient numerical routines") + (description "The SciPy library is one of the core packages that make up +the SciPy stack. It provides many user-friendly and efficient numerical +routines such as routines for numerical integration and optimization.") + (license bsd-3))) + +(define-public python2-scipy + (let ((scipy (package-with-python2 python-scipy))) + (package (inherit scipy) + ;; Use packages customized for python-2. + (inputs `(("python2-matplotlib" ,python2-matplotlib) + ("python2-numpy" ,python2-numpy) + ,@(alist-delete "python-matplotlib" + (alist-delete "python-numpy" + (package-inputs scipy)))))))) + +(define-public python-sqlalchemy + (package + (name "python-sqlalchemy") + (version "0.9.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/S/" + "SQLAlchemy/SQLAlchemy-" version ".tar.gz")) + (sha256 + (base32 + "059ayifj5l08v6vv56anhyibyllscn10dlzr2fcw68gz1hfjdzsz")))) + (build-system python-build-system) + (native-inputs + `(("python-cython" ,python-cython) ;for c extensions + ("python-pytest" ,python-pytest) + ("python-mock" ,python-mock))) ;for tests + (arguments + `(#:phases (alist-replace + 'check + (lambda _ (zero? (system* "py.test"))) + %standard-phases))) + (home-page "http://www.sqlalchemy.org") + (synopsis "Database abstraction library") + (description + "SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that +gives application developers the full power and flexibility of SQL. It +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.") + (license x11))) + +(define-public python2-sqlalchemy + (package-with-python2 python-sqlalchemy)) + +(define-public python-distutils-extra + (package + (name "python-distutils-extra") + (version "2.38") + (source + (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/python-distutils-extra/trunk/" + version "/+download/python-distutils-extra-" + version ".tar.gz")) + (sha256 + (base32 + "0lx15kcbby9zisx33p2h5hgakgwh2bvh0ibag8z0px4j6ifhs41x")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://launchpad.net/python-distutils-extra/") + (synopsis "Enhancements to Python's distutils") + (description + "The python-distutils-extra module enables you to easily integrate +gettext support, themed icons, and scrollkeeper-based documentation into +Python's distutils.") + (license gpl2))) + +(define-public python2-distutils-extra + (package-with-python2 python-distutils-extra)) + +(define-public python2-elib.intl + (package + (name "python2-elib.intl") + (version "0.0.3") + (source + (origin + ;; This project doesn't tag releases or publish tarballs, so we take + ;; source from a (semi-arbitrary, i.e. latest as of now) git commit. + (method git-fetch) + (uri (git-reference + (url "https://github.com/dieterv/elib.intl.git") + (commit "d09997cfef"))) + (sha256 + (base32 + "0y7vzff9xgbnaay7m0va1arl6g68ncwrvbgwl7jqlclsahzzb09d")))) + (build-system python-build-system) + (native-inputs + `(("python2-setuptools" ,python2-setuptools))) + (arguments + ;; incompatible with Python 3 (exception syntax) + `(#:python ,python-2 + #:tests? #f + ;; With standard flags, the install phase attempts to create a zip'd + ;; egg file, and fails with an error: 'ZIP does not support timestamps + ;; before 1980' + #:configure-flags '("--single-version-externally-managed" + "--record=elib.txt"))) + (home-page "https://github.com/dieterv/elib.intl") + (synopsis "Enhanced internationalization for Python") + (description + "The elib.intl module provides enhanced internationalization (I18N) +services for your Python modules and applications.") + (license lgpl3+))) + +(define-public python-pillow + (package + (name "python-pillow") + (version "2.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/P/" + "Pillow/Pillow-" version ".tar.gz")) + (sha256 + (base32 + "0iw36c73wkhz88wa78v6l43llsb080ihw8yq7adhfqxdib7l4hzr")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools) + ("python-nose" ,python-nose))) + (inputs + `(("lcms" ,lcms) + ("zlib" ,zlib) + ("libjpeg" ,libjpeg) + ("openjpeg" ,openjpeg) + ("libtiff" ,libtiff))) + (propagated-inputs + `(;; Used at runtime for pkg_resources + ("python-setuptools" ,python-setuptools))) + (arguments + `(#:phases (alist-cons-after + 'install 'check-installed + (lambda _ + (begin + (setenv "HOME" (getcwd)) + (and (zero? (system* "python" "selftest.py" "--installed")) + (zero? (system* "python" "test-installed.py"))))) + (alist-delete 'check %standard-phases)))) + (home-page "https://pypi.python.org/pypi/Pillow") + (synopsis "Fork of the Python Imaging Library") + (description + "The Python Imaging Library adds image processing capabilities to your +Python interpreter. This library provides extensive file format support, an +efficient internal representation, and fairly powerful image processing +capabilities. The core image library is designed for fast access to data +stored in a few basic pixel formats. It should provide a solid foundation for +a general image processing tool.") + (license (x11-style + "http://www.pythonware.com/products/pil/license.htm" + "The PIL Software License")))) + +(define-public python2-pillow + (package-with-python2 python-pillow)) + +(define-public python-pycparser + (package + (name "python-pycparser") + (version "2.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/p/" + "pycparser/pycparser-" version ".tar.gz")) + (sha256 + (base32 + "0v5qfq03yvd1pi0dwlgfai0p3dh9bq94pydn19c4pdn0c6v9hzcm")))) + (outputs '("out" "doc")) + (build-system python-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-setuptools" ,python-setuptools))) + (arguments + `(#:phases + (alist-replace + 'check + (lambda _ + (with-directory-excursion "tests" + (zero? (system* "python" "all_tests.py")))) + (alist-cons-after + 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + (doc (string-append data "/doc/" ,name "-" ,version)) + (examples (string-append doc "/examples"))) + (mkdir-p examples) + (for-each (lambda (file) + (copy-file (string-append "." file) + (string-append doc file))) + '("/README.rst" "/CHANGES" "/LICENSE")) + (copy-recursively "examples" examples))) + %standard-phases)))) + (home-page "https://github.com/eliben/pycparser") + (synopsis "C parser in Python") + (description + "Pycparser is a complete parser of the C language, written in pure Python +using the PLY parsing library. It parses C code into an AST and can serve as +a front-end for C compilers or analysis tools.") + (license bsd-3))) + +(define-public python2-pycparser + (package-with-python2 python-pycparser)) + +(define-public python-cffi + (package + (name "python-cffi") + (version "0.8.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/c/" + "cffi/cffi-" version ".tar.gz")) + (sha256 + (base32 "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5")))) + (build-system python-build-system) + (outputs '("out" "doc")) + (inputs + `(("libffi" ,libffi))) + (propagated-inputs ; required at run-time + `(("python-pycparser" ,python-pycparser))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-sphinx" ,python-sphinx) + ("python-setuptools" ,python-setuptools))) + (arguments + `(#:tests? #f ; FIXME: requires pytest + #:phases + (alist-cons-after + 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + (doc (string-append data "/doc/" ,name "-" ,version)) + (html (string-append doc "/html"))) + (with-directory-excursion "doc" + (system* "make" "html") + (mkdir-p html) + (copy-recursively "build/html" html)) + (copy-file "LICENSE" (string-append doc "/LICENSE")))) + %standard-phases))) + (home-page "http://cffi.readthedocs.org") + (synopsis "Foreign function interface for Python") + (description + "Foreign Function Interface for Python calling C code.") + (license expat))) + +(define-public python2-cffi + (package-with-python2 python-cffi)) diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index 75a14b6e8f..0a37a246bd 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -33,7 +33,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages attr) #:use-module (gnu packages linux) - #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages gl) #:use-module (gnu packages sdl) #:use-module (gnu packages perl)) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 46c7c34c3c..30b772d4d9 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -26,6 +26,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) @@ -36,7 +37,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) - #:use-module (gnu packages gl) + #:use-module (gnu packages ruby) #:use-module (gnu packages xorg)) (define-public libxkbcommon @@ -52,10 +53,20 @@ "176ii5dn2wh74q48sd8ac37ljlvgvp5f506glr96z6ibfhj7igch")))) (build-system gnu-build-system) (inputs - `(("libxcb" ,libxcb))) + `(("libx11" ,libx11) + ("libxcb" ,libxcb) + ("xkeyboard-config" ,xkeyboard-config))) (native-inputs `(("bison" ,bison) ("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + (list (string-append "--with-xkb-config-root=" + (assoc-ref %build-inputs "xkeyboard-config") + "/share/X11/xkb") + (string-append "--with-x-locale-root=" + (assoc-ref %build-inputs "libx11") + "/share/X11/locale")))) (home-page "http://xkbcommon.org/") (synopsis "Library to handle keyboard descriptions") (description "Xkbcommon is a library to handle keyboard descriptions, @@ -85,7 +96,6 @@ X11 (yet).") (propagated-inputs `(("mesa" ,mesa))) (inputs - ;; FIXME: Add input ruby once available. `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) ("fontconfig" ,fontconfig) @@ -102,6 +112,7 @@ X11 (yet).") ("openssl" ,openssl) ("pulseaudio" ,pulseaudio) ("python-wrapper" ,python-wrapper) + ("ruby" ,ruby) ("xcb-util" ,xcb-util) ("xcb-util-image" ,xcb-util-image) ("xcb-util-keysyms" ,xcb-util-keysyms) diff --git a/gnu/packages/scrot.scm b/gnu/packages/scrot.scm deleted file mode 100644 index b842c2dcf0..0000000000 --- a/gnu/packages/scrot.scm +++ /dev/null @@ -1,68 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Alex Kost <alezost@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 scrot) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (gnu packages xorg) - #:use-module (gnu packages image)) - -(define-public scrot - (package - (name "scrot") - (version "0.8") - (source (origin - (method url-fetch) - (uri (string-append - "http://linuxbrit.co.uk/downloads/scrot-" - version ".tar.gz")) - (sha256 - (base32 - "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1")))) - (build-system gnu-build-system) - (arguments - ;; By default, man and doc are put in PREFIX/{man,doc} instead of - ;; PREFIX/share/{man,doc}. - '(#:configure-flags - (list (string-append "--mandir=" - (assoc-ref %outputs "out") - "/share/man")) - #:phases (alist-replace - 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/scrot"))) - (mkdir-p doc) - (zero? - (system* "make" "install" - (string-append "docsdir=" doc))))) - %standard-phases))) - (inputs - `(("libx11" ,libx11) - ("giblib" ,giblib))) - (home-page "http://linuxbrit.co.uk/software/") - (synopsis "Command-line screen capture utility for X Window System") - (description - "Scrot allows to save a screenshot of a full screen, a window or a part -of the screen selected by mouse.") - ;; This license removes a clause about X Consortium from the original - ;; X11 license. - (license (x11-style "file://COPYING" - "See 'COPYING' in the distribution.")))) diff --git a/gnu/packages/socat.scm b/gnu/packages/socat.scm new file mode 100644 index 0000000000..7c0bc3d964 --- /dev/null +++ b/gnu/packages/socat.scm @@ -0,0 +1,55 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages socat) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages openssl)) + +;; XXX: Group with other networking tools like tcpdump in a module? +(define-public socat + (package + (name "socat") + (version "1.7.2.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.dest-unreach.org/socat/download/socat-" + version ".tar.bz2")) + (sha256 + (base32 + "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) ;no 'check' phase + (inputs `(("openssl" ,openssl))) + (home-page "http://www.dest-unreach.org/socat/") + (synopsis + "Open bidirectional communication channels from the command line") + (description + "socat is a relay for bidirectional data transfer between two independent +data channels---files, pipes, devices, sockets, etc. It can create +\"listening\" sockets, named pipes, and pseudo terminals. + +socat can be used, for instance, as TCP port forwarder, as a shell interface +to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial +line, to logically connect serial lines on different computers, or to +establish a relatively secure environment (su and chroot) for running client +or server shell scripts with network connections. ") + (license license:gpl2))) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index a5a7902f9c..583c44c50b 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -56,13 +56,13 @@ reimplementation.") (define-public ucommon (package (name "ucommon") - (version "6.1.11") + (version "6.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/commoncpp/" name "-" version ".tar.gz")) (sha256 (base32 - "0hpwxiyd7c3qnzksk6vw94cdig1v8yy6khgcaa87a7hb3zbkv4zg")))) + "1apk1k877knvh2k1yqspsln5wm81a4ly4w97ang1qhi21ydwgjnn")))) (build-system gnu-build-system) (synopsis "Common C++ framework for threaded applications") (description "GNU uCommon C++ is meant as a very light-weight C++ library @@ -75,13 +75,13 @@ support.") (define-public ccrtp (package (name "ccrtp") - (version "2.0.9") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ccrtp/ccrtp-" version ".tar.gz")) (sha256 (base32 - "1prh2niwa4lzvskk12j4ckr7dv141dfh8yjmpkbhbnv4gmpifci0")))) + "1p1pk2m7v75rdrh05rizpqcd5p08g3n541rw0kssyfzd805fb90d")))) (build-system gnu-build-system) (inputs `(("ucommon" ,ucommon) ("libgcrypt" ,libgcrypt))) @@ -142,13 +142,13 @@ multiplayer games.") (define-public sipwitch (package (name "sipwitch") - (version "1.9.2") + (version "1.9.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sipwitch/sipwitch-" version ".tar.gz")) (sha256 (base32 - "0cf0zrdfi4w9qn50ags3rvwc29km2k526f6sm6i7jb0hsrvg0k8x")))) + "1iyh390rmxqrks7rypl8ql7fhd3pmy2ckqnp1p0llzrx67jh2q91")))) (build-system gnu-build-system) ;; The configure.ac uses pkg-config but in a kludgy way which breaks when ;; cross-compiling. Among other issues there the program name "pkg-config" diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index 02637befe4..f14bbb8c06 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages tcsh) #:use-module (gnu packages which) #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages zip) #:autoload (gnu packages texinfo) (texinfo)) diff --git a/gnu/packages/tre.scm b/gnu/packages/tre.scm new file mode 100644 index 0000000000..33d2cff093 --- /dev/null +++ b/gnu/packages/tre.scm @@ -0,0 +1,45 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright 2014 John Darrington +;;; +;;; 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 tre) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses)) + +(define-public tre + (package + (name "tre") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri + (string-append "http://laurikari.net/tre/" name "-" version + ".tar.bz2")) + (sha256 + (base32 "0n36cgqys59r2gmb7jzbqiwsy790v8nbxk82d2n2saz0rp145ild")))) + + (build-system gnu-build-system) + (synopsis "Approximate regex matching library and agrep utility") + (description "Superset of the POSIX regex API, enabling approximate +matching. Also ships a version of the agrep utility which behaves similar to +grep but features ineaxct matching.") + (home-page "http://laurikari.net/tre") + (license bsd-2))) diff --git a/gnu/packages/unclutter.scm b/gnu/packages/unclutter.scm deleted file mode 100644 index ca1f7ede77..0000000000 --- a/gnu/packages/unclutter.scm +++ /dev/null @@ -1,69 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Alex Kost <alezost@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 unclutter) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (gnu packages xorg)) - -(define-public unclutter - (package - (name "unclutter") - (version "8") - (source (origin - (method url-fetch) - (uri (string-append - "http://ftp.x.org/contrib/utilities/unclutter-" - version ".tar.Z")) - (sha256 - (base32 - "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq")))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ; no check target - #:phases (alist-delete - 'configure - (alist-replace - 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man1 (string-append out "/share/man/man1"))) - (mkdir-p bin) - (mkdir-p man1) - (zero? - (system* "make" "install" "install.man" - (string-append "BINDIR=" bin) - (string-append "MANDIR=" man1))))) - %standard-phases)))) - (inputs `(("libx11" ,libx11))) - (home-page "http://ftp.x.org/contrib/utilities/") - (synopsis "Hide idle mouse cursor") - (description - "Unclutter is a program which runs permanently in the background of an -X11 session. It checks on the X11 pointer (cursor) position every few -seconds, and when it finds it has not moved (and no buttons are pressed -on the mouse, and the cursor is not in the root window) it creates a -small sub-window as a child of the window the cursor is in. The new -window installs a cursor of size 1x1 but a mask of all 0, i.e. an -invisible cursor. This allows you to see all the text in an xterm or -xedit, for example. The human factors crowd would agree it should make -things less distracting.") - (license public-domain))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 0b52f0c2e5..4f9ed54d56 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,13 +23,18 @@ (define-module (gnu packages version-control) #:use-module ((guix licenses) - #:select (asl2.0 gpl1+ gpl2 gpl2+ gpl3+ x11-style)) + #:select (asl2.0 bsd-2 + gpl1+ gpl2 gpl2+ gpl3+ lgpl2.1 + x11-style)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system trivial) #:use-module (guix build utils) #:use-module (gnu packages apr) + #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages cook) #:use-module (gnu packages curl) @@ -204,6 +210,130 @@ everything from small to very large projects with speed and efficiency.") (license gpl2) (home-page "http://git-scm.com/"))) +(define-public shflags + (package + (name "shflags") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (string-append "https://shflags.googlecode.com/files/" + "shflags-" version ".tgz")) + (sha256 + (base32 + "08laxhf1hifh3w4j0hri5ppcklaqz0mnkmbaz8j0wxih29vi8slm")))) + (build-system trivial-build-system) + (native-inputs `(("tar" ,tar) + ("gzip" ,gzip))) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (tar (assoc-ref %build-inputs "tar")) + (gzip (assoc-ref %build-inputs "gzip")) + (output (assoc-ref %outputs "out")) + (srcdir (string-append output "/src"))) + (begin + (setenv "PATH" (string-append gzip "/bin")) + (system* (string-append tar "/bin/tar") "xzf" + source) + (chdir ,(string-append name "-" version)) + (mkdir-p srcdir) + (copy-file "src/shflags" + (string-append srcdir "/shflags")) + #t))))) + (home-page "https://code.google.com/p/shflags/") + (synopsis "Command-line flags library for shell scripts") + (description + "Shell Flags (shFlags) is a library written to greatly simplify the +handling of command-line flags in Bourne based Unix shell scripts (bash, dash, +ksh, sh, zsh). Most shell scripts use getopt for flags processing, but the +different versions of getopt on various OSes make writing portable shell +scripts difficult. shFlags instead provides an API that doesn't change across +shell and OS versions so the script writer can be confident that the script +will work.") + (license lgpl2.1))) + +(define-public git-flow + (package + (name "git-flow") + ;; This version has not be officially released yet, so we build it + ;; directly from the git repository. + (version "0.4.2-pre") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nvie/gitflow/") + (commit "15aab26"))) + (sha256 + (base32 + "01fs97q76fdfnvmrh2cyjhywcs3pykf1dg58sy0frflnsdzs6prx")))) + (build-system gnu-build-system) + (inputs `(("shflags" ,shflags))) + (arguments + '(#:tests? #f ; no tests + #:make-flags (list (string-append "prefix=" + (assoc-ref %outputs "out"))) + #:phases (alist-cons-after + 'unpack 'reset-shFlags-link + (lambda* (#:key inputs #:allow-other-keys) + ;; The link points to a file in the shFlags submodule. + ;; Redirect it to point to our system shFlags. + (let ((shflags (assoc-ref inputs "shflags"))) + (begin + (delete-file "gitflow-shFlags") + (symlink (string-append shflags "/src/shflags") + "gitflow-shFlags")))) + (alist-delete + 'configure + (alist-delete 'build %standard-phases))))) + (home-page "http://nvie.com/posts/a-successful-git-branching-model/") + (synopsis "Git extensions for Vincent Driessen's branching model") + (description + "Vincent Driessen's branching model is a git branching and release +management strategy that helps developers keep track of features, hotfixes, +and releases in bigger software projects. The git-flow library of git +subcommands helps automate some parts of the flow to make working with it a +lot easier.") + (license bsd-2))) + +(define-public git-test-sequence + (let ((commit "48e5a2f")) + (package + (name "git-test-sequence") + (version (string-append "20140312." commit)) + (source (origin + (method git-fetch) + (uri (git-reference + ;; There are many other scripts in this directory; we + ;; are interested in just one for this package. + (url "https://github.com/dustin/bindir") + (commit commit))) + (sha256 + (base32 + "1dcq0y16yznbv4k9h8gg90kv1gkn8r8dbvl4m2rpfd7q5nqhn617")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (output (assoc-ref %outputs "out")) + (bindir (string-append output "/bin")) + (script "git-test-sequence")) + (begin + (mkdir-p bindir) + (copy-file (string-append source "/" script) + (string-append bindir "/" script)) + #t))))) + (home-page "http://dustin.sallings.org/2010/03/28/git-test-sequence.html") + (synopsis "Run a command over a sequence of commits") + (description + "git-test-sequence is similar to an automated git bisect except it’s +linear. It will test every change between two points in the DAG. It will +also walk each side of a merge and test those changes individually.") + (license (x11-style "file://LICENSE"))))) + (define-public mercurial (package (name "mercurial") @@ -297,33 +427,45 @@ property manipulation.") (version "1.7.18") (source (origin (method url-fetch) - (uri (string-append "http://archive.apache.org/dist/subversion/subversion-" - version ".tar.bz2")) + (uri (string-append "http://archive.apache.org/dist/subversion/" + "subversion-" version ".tar.bz2")) (sha256 (base32 "06nrqnn3qq1hhskkcdbm0ilk2xv6ay2gyf2c7qvxp6xncb782wzn")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after - 'install 'instal-perl-bindings - (lambda* (#:key outputs #:allow-other-keys) - ;; Follow the instructions from - ;; 'subversion/bindings/swig/INSTALL'. - (let ((out (assoc-ref outputs "out"))) - (and (zero? (system* "make" "swig-pl-lib")) - ;; FIXME: Test failures. - ;; (zero? (system* "make" "check-swig-pl")) - (zero? (system* "make" "install-swig-pl-lib")) + 'configure 'patch-libtool-wrapper-ls + (lambda* (#:key inputs #:allow-other-keys) + ;; This substitution allows tests svnauthz_tests and + ;; svnlook_tests to pass. These tests execute svnauthz and + ;; svnlook through their libtool wrapper scripts from svn + ;; hooks, whose empty environments cause "ls: command not + ;; found" errors. It would be nice if this fix ultimately + ;; made its way into libtool. + (let ((coreutils (assoc-ref inputs "coreutils"))) + (substitute* "libtool" + (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls"))))) + (alist-cons-after + 'install 'instal-perl-bindings + (lambda* (#:key outputs #:allow-other-keys) + ;; Follow the instructions from + ;; 'subversion/bindings/swig/INSTALL'. + (let ((out (assoc-ref outputs "out"))) + (and (zero? (system* "make" "swig-pl-lib")) + ;; FIXME: Test failures. + ;; (zero? (system* "make" "check-swig-pl")) + (zero? (system* "make" "install-swig-pl-lib")) - ;; Set the right installation prefix. - (with-directory-excursion - "subversion/bindings/swig/perl/native" - (and (zero? - (system* "perl" "Makefile.PL" - (string-append "PREFIX=" out))) - (zero? - (system* "make" "install"))))))) - %standard-phases))) + ;; Set the right installation prefix. + (with-directory-excursion + "subversion/bindings/swig/perl/native" + (and (zero? + (system* "perl" "Makefile.PL" + (string-append "PREFIX=" out))) + (zero? + (system* "make" "install"))))))) + %standard-phases)))) (native-inputs `(("pkg-config" ,pkg-config) ;; For the Perl bindings. diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7ec1537678..063f1dae43 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -395,7 +395,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public youtube-dl (package (name "youtube-dl") - (version "2014.09.06") + (version "2014.11.21.1") (source (origin (method url-fetch) (uri (string-append "http://youtube-dl.org/downloads/" @@ -403,7 +403,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") version ".tar.gz")) (sha256 (base32 - "1a50vqgzp9wjh2763shald6dlmdd5qlqy83vg4yrihdrlh8sk6dd")))) + "0rxpx8j4qhhsws6czlfji1x9igsinkbbwvld10qdylll7g9q1v7j")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 0731d0b84b..1ff3dfb5a5 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de> ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages web) + #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix packages) #:use-module (guix download) @@ -77,6 +79,69 @@ and its related documentation.") (license l:asl2.0) (home-page "https://httpd.apache.org/"))) +(define-public nginx + (package + (name "nginx") + (version "1.6.2") + (source (origin + (method url-fetch) + (uri (string-append "http://nginx.org/download/nginx-" + version ".tar.gz")) + (sha256 + (base32 + "060s77qxhkn02fjkcndsr0xppj2bppjzkj0gn84svrykb4lqqq5m")))) + (build-system gnu-build-system) + (inputs `(("pcre" ,pcre) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (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)))) + (home-page "http://nginx.org") + (synopsis "HTTP and reverse proxy server") + (description + "Nginx (\"engine X\") is a high-performance web and reverse proxy server +created by Igor Sysoev. It can be used both as a standalone web server +and as a proxy to reduce the load on back-end HTTP or mail servers.") + ;; Almost all of nginx is distributed under the bsd-2 license. + ;; The exceptions are: + ;; * The 'nginx-http-push' module is covered by the expat license. + ;; * The 'nginx-development-kit' module is mostly covered by bsd-3, + ;; except for two source files which are bsd-4 licensed. + (license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4)))) + (define-public json-c (package (name "json-c") diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index f937e2ae3c..8debe4baea 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -31,7 +31,7 @@ (define-public wget (package (name "wget") - (version "1.16") + (version "1.16.1") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "1rxhr3jmgbwryzl51di4avqxw9m9j1z2aak8q1npns0p184xsqcj")))) + "0csdw41hixa4kd0m19r7p41sip1hlnkp5y62bdzq9zhmxq3wg5ib")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm new file mode 100644 index 0000000000..6820d018e3 --- /dev/null +++ b/gnu/packages/xdisorg.scm @@ -0,0 +1,341 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014 Alex Kost <alezost@gmail.com> +;;; +;;; 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 xdisorg) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages image) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) + #:use-module (gnu packages xorg)) + +;; packages outside the x.org system proper + +(define-public xclip + (package + (name "xclip") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/" name "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f)) ; There is no test suite + (inputs `(("libxmu" ,libxmu) + ("libxt" ,libxt))) + (home-page "http://xclip.sourceforge.net/") + (synopsis "Command line interface to X11 clipboard") + (description "Xclip is a command line interface to the X11 clipboard. It +can also be used for copying files, as an alternative to sftp/scp, thus +avoiding password prompts when X11 forwarding has already been setup.") + (license license:gpl2+))) + +(define-public xeyes + (package + (name "xeyes") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_" + version + ".orig.tar.gz")) + (sha256 + (base32 + "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9")))) + (build-system gnu-build-system) + (inputs + `(("libxext" ,libxext) + ("libxmu" ,libxmu) + ("libxt" ,libxt))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://xeyes.sourcearchive.com/") + (synopsis "Follow-the-mouse X demo") + (description "Xeyes is a demo program for x.org. It shows eyes +following the mouse.") + (license license:x11))) + + +(define-public pixman + (package + (name "pixman") + (version "0.32.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://cairographics.org/releases/pixman-" + version + ".tar.gz")) + (sha256 + (base32 + "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0")))) + (build-system gnu-build-system) + (inputs + `(("libpng" ,libpng) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.pixman.org/") + (synopsis "Low-level pixel manipulation library") + (description "Pixman is a low-level software library for pixel +manipulation, providing features such as image compositing and trapezoid +rasterisation.") + (license license:x11))) + + +(define-public libdrm + (package + (name "libdrm") + (version "2.4.46") + (source + (origin + (method url-fetch) + (uri (string-append + "http://dri.freedesktop.org/libdrm/libdrm-" + version + ".tar.bz2")) + (sha256 + (base32 + "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk")))) + (build-system gnu-build-system) + (inputs + `(("libpciaccess" ,libpciaccess) + ("libpthread-stubs" ,libpthread-stubs))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://dri.freedesktop.org/wiki/") + (synopsis "Direct rendering userspace library") + (description "The Direct Rendering Infrastructure, also known as the DRI, +is a framework for allowing direct access to graphics hardware under the +X Window System in a safe and efficient manner. It includes changes to the +X server, to several client libraries, and to the kernel (DRM, Direct +Rendering Manager). The most important use for the DRI is to create fast +OpenGL implementations providing hardware acceleration for Mesa. +Several 3D accelerated drivers have been written to the DRI specification, +including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel +and Matrox.") + (license license:x11))) + + +;; old version, required by old mesa, see +;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html +(define-public libdrm-2.4.33 + (package (inherit libdrm) + (version "2.4.33") + (source + (origin + (method url-fetch) + (uri (string-append + "http://dri.freedesktop.org/libdrm/libdrm-" + version + ".tar.bz2")) + (sha256 + (base32 + "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd")))) + (arguments + `(#:configure-flags + ;; create libdrm_nouveau.so, needed by mesa, see + ;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261 + `("--enable-nouveau-experimental-api"))))) + + +(define-public mtdev + (package + (name "mtdev") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://bitmath.org/code/mtdev/mtdev-" + version ".tar.bz2")) + (sha256 + (base32 + "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d")))) + (build-system gnu-build-system) + (home-page "http://bitmath.org/code/mtdev/") + (synopsis "Multitouch protocol translation library") + (description "Mtdev is a stand-alone library which transforms all +variants of kernel MT events to the slotted type B protocol. The events +put into mtdev may be from any MT device, specifically type A without +contact tracking, type A with contact tracking, or type B with contact +tracking.") + (license license:x11))) + +(define-public startup-notification + (package + (name "startup-notification") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.freedesktop.org/software/" name + "/releases/" name "-" version ".tar.gz")) + (sha256 + (base32 + "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("xcb-util" ,xcb-util))) + (home-page "http://www.freedesktop.org/wiki/Software/startup-notification/") + (synopsis "Application startup notification and feedback library") + (description + "Startup-notification contains a reference implementation of the startup +notification protocol. The reference implementation is mostly under an X Window +System style license, and has no special dependencies.") + ;; Most of the code is provided under x11 license. + (license license:lgpl2.0+))) + +(define-public wmctrl + (package + (name "wmctrl") + (version "1.07") + (source (origin + (method url-fetch) + (uri (string-append + "http://tomas.styblo.name/wmctrl/dist/wmctrl-" + version ".tar.gz")) + (sha256 + (base32 + "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np")) + (patches (list (search-patch "wmctrl-64-fix.patch"))))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("libxmu" ,libxmu) + ("glib" ,glib))) + (home-page "http://tomas.styblo.name/wmctrl/") + (synopsis "Command-line tool to control X window managers") + (description + "Wmctrl allows to interact with an X window manager that is compatible +with the EWMH/NetWM specification. It can query the window manager for +information, and request for certain window management actions (resize and +move windows, switch between desktops, etc.)") + (license license:gpl2+))) + +(define-public scrot + (package + (name "scrot") + (version "0.8") + (source (origin + (method url-fetch) + (uri (string-append + "http://linuxbrit.co.uk/downloads/scrot-" + version ".tar.gz")) + (sha256 + (base32 + "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1")))) + (build-system gnu-build-system) + (arguments + ;; By default, man and doc are put in PREFIX/{man,doc} instead of + ;; PREFIX/share/{man,doc}. + '(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man")) + #:phases (alist-replace + 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/scrot"))) + (mkdir-p doc) + (zero? + (system* "make" "install" + (string-append "docsdir=" doc))))) + %standard-phases))) + (inputs + `(("libx11" ,libx11) + ("giblib" ,giblib))) + (home-page "http://linuxbrit.co.uk/software/") + (synopsis "Command-line screen capture utility for X Window System") + (description + "Scrot allows to save a screenshot of a full screen, a window or a part +of the screen selected by mouse.") + ;; This license removes a clause about X Consortium from the original + ;; X11 license. + (license (license:x11-style "file://COPYING" + "See 'COPYING' in the distribution.")))) + +(define-public unclutter + (package + (name "unclutter") + (version "8") + (source (origin + (method url-fetch) + (uri (string-append + "http://ftp.x.org/contrib/utilities/unclutter-" + version ".tar.Z")) + (sha256 + (base32 + "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no check target + #:phases (alist-delete + 'configure + (alist-replace + 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man1 (string-append out "/share/man/man1"))) + (mkdir-p bin) + (mkdir-p man1) + (zero? + (system* "make" "install" "install.man" + (string-append "BINDIR=" bin) + (string-append "MANDIR=" man1))))) + %standard-phases)))) + (inputs `(("libx11" ,libx11))) + (home-page "http://ftp.x.org/contrib/utilities/") + (synopsis "Hide idle mouse cursor") + (description + "Unclutter is a program which runs permanently in the background of an +X11 session. It checks on the X11 pointer (cursor) position every few +seconds, and when it finds it has not moved (and no buttons are pressed +on the mouse, and the cursor is not in the root window) it creates a +small sub-window as a child of the window the cursor is in. The new +window installs a cursor of size 1x1 but a mask of all 0, i.e. an +invisible cursor. This allows you to see all the text in an xterm or +xedit, for example. The human factors crowd would agree it should make +things less distracting.") + (license license:public-domain))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm new file mode 100644 index 0000000000..69776fc582 --- /dev/null +++ b/gnu/packages/xfce.scm @@ -0,0 +1,478 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 xfce) + #:use-module ((guix licenses) #:hide (freetype)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages web) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages image) + #:use-module (gnu packages gnome) + #:use-module (gnu packages pdf) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages linux) + #:use-module (gnu packages photo) + #:use-module (gnu packages pcre)) + +(define-public gtk-xfce-engine + (package + (name "gtk-xfce-engine") + (version "3.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "13c3ajfqkdr6jlqjyhcp4nls0ddanypr83q9qib2ciffik78zq4h")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs `(("gtk+" ,gtk+-2))) + (home-page "http://www.xfce.org/") + (synopsis "GTK+ theme engine for Xfce") + (description + "Default GTK+ engine and themes for Xfce Desktop Environment.") + (license gpl2+))) + +(define-public libxfce4util + (package + (name "libxfce4util") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc + (home-page "http://www.xfce.org/") + (synopsis "Basic utility library for Xfce") + (description + "A general-purpose utility library with core application support for the +Xfce Desktop Environment.") + (license lgpl2.0+))) + +(define-public xfconf + (package + (name "xfconf") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp")))) + (build-system gnu-build-system) + (arguments '(#:parallel-tests? #f)) ; parallel tests failed + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + ;; libxfconf-0.pc refers to all these. + `(("glib" ,glib) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib))) + (inputs + `(("libxfce4util" ,libxfce4util))) + (home-page "http://www.xfce.org/") + (synopsis "Configuration storage and query system for Xfce") + (description + "Settings daemon for Xfce, implemented as a D-Bus-based configuration +storage system.") + (license lgpl2.0+))) + +(define-public libxfce4ui + (package + (name "libxfce4ui") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + ;; libxfce4kbd-private-2.pc refers to all these. + `(("gtk+" ,gtk+-2) + ("libxfce4util" ,libxfce4util) + ("xfconf" ,xfconf))) + (inputs `(("libsm" ,libsm) + ("libice" ,libice) + ("startup-notification" ,startup-notification))) + (home-page "http://www.xfce.org/") + (synopsis "Widgets library for Xfce") + (description + "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used +to share commonly used Xfce widgets amoung the Xfce applications.") + (license lgpl2.0+))) + +(define-public exo + (package + (name "exo") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1c05pbagw14djv5zmqg34qfj40jav8sd10w2zi2wpzrad4qal8bf")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + ;; exo-1.pc refers to all these. + `(("gtk+" ,gtk+-2) + ("libxfce4util" ,libxfce4util))) + (inputs + `(("libxfce4ui" ,libxfce4ui) + ("perl-uri" ,perl-uri))) + (home-page "http://www.xfce.org/") + (synopsis "Extension library for Xfce") + (description + "An extension library to Xfce. While Xfce comes with quite a few libraries +that are targeted at desktop development, libexo is targeted at application +development.") + ;; Libraries are under LGPLv2+, and programs under GPLv2+. + (license (list gpl2+ lgpl2.1+)))) + +(define-public garcon + (package + (name "garcon") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("glib:bin" ,glib "bin"))) + (propagated-inputs `(("glib" ,glib))) ; required by garcon-1.pc + (inputs `(("libxfce4util" ,libxfce4util))) + (home-page "http://www.xfce.org/") + (synopsis "Implementation of the freedesktop.org menu specification") + (description + "Garcon is a freedesktop.org compliant menu implementation based on +GLib and GIO. It was started as a complete rewrite of the former Xfce menu +library called libxfce4menu, which, in contrast to garcon, was lacking menu +merging features essential for loading menus modified with menu editors.") + (license lgpl2.0+))) + +(define-public tumbler + (package + (name "tumbler") + (version "0.1.25") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0ijm04vm75gmhyyzrlqdr6vzchr01hlajcm84lm6j64cim8dxm82")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("glib:bin" ,glib "bin") ; need glib-genmarshal + ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool + (propagated-inputs + `(("glib" ,glib))) ; required by tumbler-1.pc + (inputs + `(("dbus" ,dbus) + ("gdk-pixbuf" ,gdk-pixbuf) + ("freetype" ,freetype) + ("libjpeg" ,libjpeg) + ("libgsf" ,libgsf) + ("poppler" ,poppler) + ("gstreamer" ,gstreamer-0.10))) + (home-page "http://www.xfce.org/") + (synopsis "D-Bus service for applications to request thumbnails") + (description + "Tumbler is a D-Bus service for applications to request thumbnails for +various URI schemes and MIME types. It is an implementation of the thumbnail +management D-Bus specification.") + (license gpl2+))) + +(define-public xfce4-panel + (package + (name "xfce4-panel") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc + (inputs + `(("exo" ,exo) + ("garcon", garcon) + ("libwnck" ,libwnck-1) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce desktop panel") + (description + "Desktop panel for Xfce, which contains program launchers, window buttons, +applications menu, workspace switcher and more.") + ;; Libraries are under LGPLv2.1+, and programs under GPLv2+. + (license (list gpl2+ lgpl2.1+)))) + +(define-public xfce4-appfinder + (package + (name "xfce4-appfinder") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0falckrziw8m1a72nxd7fqq84r3xfbrb6lv35flsca346rzawah4")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("garcon" ,garcon) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce application finder") + (description + "Application finder for Xfce, it will show the applications installed on +your system in categories, so you can quickly find and launch them.") + (license gpl2+))) + +(define-public xfce4-session + (package + (name "xfce4-session") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--with-xsession-prefix=" %output)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("iceauth" ,iceauth) + ("libsm" ,libsm) + ("libwnck" ,libwnck-1) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce session manager") + (description + "Session manager for Xfce, it will restore your session on startup and +allows you to shutdown the computer from Xfce.") + (license gpl2+))) + +(define-public xfce4-settings + (package + (name "xfce4-settings") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("garcon" ,garcon) + ("libnotify" ,libnotify) + ("libxcursor", libxcursor) + ("libxi" ,libxi) + ("libxrandr" ,libxrandr) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce settings manager") + (description + "Settings manager for Xfce, it can control various aspects of the desktop +like appearance, display, keyboard and mouse settings.") + (license gpl2+))) + +(define-public thunar + (package + (name "thunar") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + "Thunar-" version ".tar.bz2")) + (sha256 + (base32 + "1fn8wjzkfvnx2giv3rrg2cyrr2c96f9mskgvcji0ixyfcjga249c")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("gudev", eudev) + ("libexif" ,libexif) + ("libnotify" ,libnotify) + ("libxfce4ui" ,libxfce4ui) + ("pcre" ,pcre) + ("xfce4-panel" ,xfce4-panel) + ("startup-notification" ,startup-notification))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce file manager") + (description + "A modern file manager for graphical desktop, aiming to be easy-to-use and +fast.") + (license gpl2+))) + +(define-public thunar-volman + (package + (name "thunar-volman") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("gudev" ,eudev) + ("libnotify" ,libnotify) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Removable media manager for Thunar") + (description + "Thunar-volman is an extension for the Thunar File Manager, which enables +automatic management of removable drives and media. For example, if +thunar-volman is installed and configured properly, and you plug in your +digitcal camera, it will automatically spawn your preferred photo application +and import the new pictures from your camera.") + (license gpl2+))) + +(define-public xfwm4 + (package + (name "xfwm4") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("libwnck", libwnck-1) + ("libxfce4ui" ,libxfce4ui) + ("libxrandr" ,libxrandr) + ("libxcomposite" ,libxcomposite))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce window manager") + (description + "Window manager for Xfce, it handles the placement of windows +on the screen.") + (license gpl2+))) + +(define-public xfdesktop + (package + (name "xfdesktop") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("garcon" ,garcon) + ("libnotify" ,libnotify) + ("libwnck" ,libwnck-1) + ("libxfce4ui" ,libxfce4ui) + ("thunar" ,thunar))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce desktop manager") + (description + "Desktop manager for Xfce, it sets the background color or image with +optional application menu or icons for minimized applications or launchers, +devices and folders.") + (license gpl2+))) diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index b15407417f..6436e52ad6 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> ;;; ;;; This file is part of GNU Guix. ;;; @@ -118,7 +119,14 @@ (close-pipe in) (close-port out))) (zero? (system* "make" "install.doc")))) - %standard-phases))))) + (alist-cons-after + 'install 'wrap-xfig + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/xfig") + `("XAPPLRESDIR" suffix + (,(string-append out "/etc/X11/app-defaults")))))) + %standard-phases)))))) (home-page "http://xfig.org/") (synopsis "Interactive drawing tool") (description diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 41c6a03932..fcefebffc5 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -41,148 +41,11 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml) - #:use-module (gnu packages ncurses)) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages xdisorg)) -;; packages outside the x.org system proper - -(define-public xeyes - (package - (name "xeyes") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (string-append - "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_" - version - ".orig.tar.gz")) - (sha256 - (base32 - "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9")))) - (build-system gnu-build-system) - (inputs - `(("libxext" ,libxext) - ("libxmu" ,libxmu) - ("libxt" ,libxt))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://xeyes.sourcearchive.com/") - (synopsis "Follow-the-mouse X demo") - (description "Xeyes is a demo program for x.org. It shows eyes -following the mouse.") - (license license:x11))) - - -(define-public pixman - (package - (name "pixman") - (version "0.32.4") - (source - (origin - (method url-fetch) - (uri (string-append - "http://cairographics.org/releases/pixman-" - version - ".tar.gz")) - (sha256 - (base32 - "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0")))) - (build-system gnu-build-system) - (inputs - `(("libpng" ,libpng) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://www.pixman.org/") - (synopsis "Low-level pixel manipulation library") - (description "Pixman is a low-level software library for pixel -manipulation, providing features such as image compositing and trapezoid -rasterisation.") - (license license:x11))) - - -(define-public libdrm - (package - (name "libdrm") - (version "2.4.46") - (source - (origin - (method url-fetch) - (uri (string-append - "http://dri.freedesktop.org/libdrm/libdrm-" - version - ".tar.bz2")) - (sha256 - (base32 - "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk")))) - (build-system gnu-build-system) - (inputs - `(("libpciaccess" ,libpciaccess) - ("libpthread-stubs" ,libpthread-stubs))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://dri.freedesktop.org/wiki/") - (synopsis "Direct rendering userspace library") - (description "The Direct Rendering Infrastructure, also known as the DRI, -is a framework for allowing direct access to graphics hardware under the -X Window System in a safe and efficient manner. It includes changes to the -X server, to several client libraries, and to the kernel (DRM, Direct -Rendering Manager). The most important use for the DRI is to create fast -OpenGL implementations providing hardware acceleration for Mesa. -Several 3D accelerated drivers have been written to the DRI specification, -including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel -and Matrox.") - (license license:x11))) - - -;; old version, required by old mesa, see -;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html -(define-public libdrm-2.4.33 - (package (inherit libdrm) - (version "2.4.33") - (source - (origin - (method url-fetch) - (uri (string-append - "http://dri.freedesktop.org/libdrm/libdrm-" - version - ".tar.bz2")) - (sha256 - (base32 - "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd")))) - (arguments - `(#:configure-flags - ;; create libdrm_nouveau.so, needed by mesa, see - ;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261 - `("--enable-nouveau-experimental-api"))))) - - -(define-public mtdev - (package - (name "mtdev") - (version "1.1.3") - (source - (origin - (method url-fetch) - (uri (string-append - "http://bitmath.org/code/mtdev/mtdev-" - version ".tar.bz2")) - (sha256 - (base32 - "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d")))) - (build-system gnu-build-system) - (home-page "http://bitmath.org/code/mtdev/") - (synopsis "Multitouch protocol translation library") - (description "Mtdev is a stand-alone library which transforms all -variants of kernel MT events to the slotted type B protocol. The events -put into mtdev may be from any MT device, specifically type A without -contact tracking, type A with contact tracking, or type B with contact -tracking.") - (license license:x11))) - - ;; packages without propagated input ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to @@ -1297,7 +1160,8 @@ autotools system.") (base32 "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j")))) (build-system gnu-build-system) - (inputs + (propagated-inputs + ;; xcomposite.pc refers to all these. `(("xproto" ,xproto) ("libxfixes" ,libxfixes) ("libx11" ,libx11) @@ -2843,7 +2707,8 @@ kernel mode setting (KMS).") ".tar.bz2")) (sha256 (base32 - "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")))) + "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")) + (patches (list (search-patch "xf86-video-openchrome-includes.patch"))))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) ("libxext" ,libxext) diff --git a/gnu/packages/yubico.scm b/gnu/packages/yubico.scm new file mode 100644 index 0000000000..f2e8ff133c --- /dev/null +++ b/gnu/packages/yubico.scm @@ -0,0 +1,76 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages yubico) + #:use-module (gnu packages) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages man) + #:use-module (gnu packages curl)) + +(define-public libyubikey + (package + (name "libyubikey") + (version "1.12") + (source (origin + (method url-fetch) + (uri (string-append + "https://developers.yubico.com/yubico-c/Releases/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1f0plzmr1gwry4rfgq9q70v6qwqny009hac289ad5m6sj7vqflxr")))) + (build-system gnu-build-system) + (synopsis "Development kit for the YubiKey authentication device") + (description + "This package contains a C library and command-line tools that make up +the low-level development kit for the Yubico YubiKey authentication device.") + (home-page "https://developers.yubico.com/yubico-c/") + (license bsd-2))) + +(define-public ykclient + (package + (name "ykclient") + (version "2.13") + (source (origin + (method url-fetch) + (uri (string-append + "https://developers.yubico.com/yubico-c-client/Releases/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1lw1j61rfjngs8vvv9m348zl4166zg24bq0dy72r44wiz79yic4j")))) + (build-system gnu-build-system) + + ;; There's just one test, and it requires network access to access + ;; yubico.com, so skip it. + (arguments '(#:tests? #f)) + + (native-inputs `(("pkg-config" ,pkg-config) + ("help2man" ,help2man))) + (inputs `(("curl" ,curl))) + (synopsis "C library to validate one-time-password YubiKeys") + (description + "YubiKey C Client Library (libykclient) is a C library used to validate a +one-time-password (OTP) YubiKey against Yubico’s servers. See the Yubico +website for more information about Yubico and the YubiKey.") + (home-page "https://developers.yubico.com/yubico-c-client/") + (license bsd-2))) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 5fc98e988c..2b52c777b7 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -91,12 +91,17 @@ When @var{initialize?} is true, automatically create the seed and host key upon service activation if they do not exist yet. This may take long and require interaction. +When @var{initialize?} is false, it is up to the user to initialize the +randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create +a key pair with the private key stored in file @var{host-key} (@pxref{lshd +basics,,, lsh, LSH Manual}). + When @var{interfaces} is empty, lshd listens for connections on all the network interfaces; otherwise, @var{interfaces} must be a list of host names or addresses. -@var{allow-empty-passwords?} specifies whether to accepts log-ins with empty -passwords, and @var{root-login?} specifies whether to accepts log-ins as +@var{allow-empty-passwords?} specifies whether to accept log-ins with empty +passwords, and @var{root-login?} specifies whether to accept log-ins as root. The other options should be self-descriptive." diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 5236573a39..fbf96c799b 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -96,6 +96,7 @@ Section \"Files\" ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\" + ModulePath \"" xf86-video-sis "/lib/xorg/modules/drivers\" ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\" ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\" ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\" @@ -142,28 +143,31 @@ EndSection #~(begin (use-modules (ice-9 match)) + (define (exec-from-login-shell command . args) + ;; Run COMMAND from a login shell so that it gets to see the same + ;; environment variables that one gets when logging in on a tty, for + ;; instance. + (let* ((pw (getpw (getuid))) + (shell (passwd:shell pw)) + (st (stat command #f))) + (when (and st (not (zero? (logand (stat:mode st) #o100)))) + ;; The '--login' option is supported at least by Bash and zsh. + (execl shell shell "--login" "-c" + (string-join (cons command args)))))) + + ;; First, try to run ~/.xsession. (let* ((home (getenv "HOME")) - (profile (string-append home "/.guix-profile/bin")) - (PATH (or (getenv "PATH") "")) (xsession (string-append home "/.xsession"))) - ;; Make sure the user's profile is visible. - (setenv "PATH" - (string-append profile - (if (string-null? PATH) "" ":") - PATH)) - - ;; First, try to run ~/.xsession. - (false-if-exception (execl xsession xsession))) + (exec-from-login-shell xsession)) ;; Then try a pre-configured session type. (let ((ratpoison (string-append #$ratpoison "/bin/ratpoison")) (wmaker (string-append #$windowmaker "/bin/wmaker"))) (match (command-line) ((_ "ratpoison") - (execl ratpoison ratpoison)) + (exec-from-login-shell ratpoison)) (_ - ;; 'wmaker' does execvp(argv[0]), so we really can't mess up. - (execl wmaker wmaker)))))) + (exec-from-login-shell wmaker)))))) (gexp->script "xinitrc" builder)) diff --git a/gnu/system.scm b/gnu/system.scm index f98aa83f62..fc8b57fe06 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages nano) #:use-module (gnu packages lsof) #:use-module (gnu packages gawk) + #:use-module (gnu packages man) #:use-module (gnu packages compression) #:use-module (gnu packages firmware) #:autoload (gnu packages cryptsetup) (cryptsetup) @@ -46,12 +47,15 @@ #:use-module (gnu services base) #:use-module (gnu system grub) #:use-module (gnu system shadow) + #:use-module (gnu system locale) #:use-module (gnu system linux) #:use-module (gnu system linux-initrd) #:use-module (gnu system file-systems) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:export (operating-system operating-system? @@ -69,6 +73,7 @@ operating-system-packages operating-system-timezone operating-system-locale + operating-system-locale-definitions operating-system-mapped-devices operating-system-file-systems operating-system-activation-script @@ -129,7 +134,9 @@ (timezone operating-system-timezone) ; string (locale operating-system-locale ; string - (default "en_US.UTF-8")) + (default "en_US.utf8")) + (locale-definitions operating-system-locale-definitions ; list of <locale-definition> + (default %default-locale-definitions)) (services operating-system-user-services ; list of monadic services (default %base-services)) @@ -204,9 +211,7 @@ file." "Return file system services for the file systems of OS that are not marked as 'needed-for-boot'." (define file-systems - (remove (lambda (fs) - (or (file-system-needed-for-boot? fs) - (string=? "/" (file-system-mount-point fs)))) + (remove file-system-needed-for-boot? (operating-system-file-systems os))) (define (device-mappings fs) @@ -329,6 +334,12 @@ explicitly appear in OS." pciutils usbutils util-linux inetutils isc-dhcp wireless-tools net-tools ; XXX: remove when Inetutils suffices + man-db + + ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also + ;; want the other commands and the man pages (notably because + ;; auto-completion in Emacs shell relies on man pages.) + sudo ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev ;; already depends on it anyway. @@ -380,11 +391,10 @@ This is the GNU system. Welcome.\n") (nsswitch (text-file "nsswitch.conf" "hosts: files dns\n")) - ;; TODO: Generate bashrc from packages' search-paths. - (bashrc (text-file* "bashrc" " -export PS1='\\u@\\h \\w\\$ ' - -export LC_ALL=\"" locale "\" + ;; Startup file for POSIX-compliant login shells, which set system-wide + ;; environment variables. + (profile (text-file* "profile" "\ +export LANG=\"" locale "\" export TZ=\"" timezone "\" export TZDIR=\"" tzdata "/share/zoneinfo\" @@ -393,11 +403,8 @@ export LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH -export CPATH=$HOME/.guix-profile/include:" profile "/include -export LIBRARY_PATH=$HOME/.guix-profile/lib:" profile "/lib +export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info -alias ls='ls -p --color' -alias ll='ls -l' ")) (skel (skeleton-directory skeletons))) (file-union "etc" @@ -410,7 +417,7 @@ alias ll='ls -l' ("nsswitch.conf" ,#~#$nsswitch) ("skel" ,#~#$skel) ("shells" ,#~#$shells) - ("profile" ,#~#$bashrc) + ("profile" ,#~#$profile) ("hosts" ,#~#$hosts-file) ("localtime" ,#~(string-append #$tzdata "/share/zoneinfo/" #$timezone)) @@ -525,8 +532,10 @@ etc." (define %modules '((gnu build activation) (gnu build linux-boot) + (gnu build linux-modules) (gnu build file-systems) - (guix build utils))) + (guix build utils) + (guix elf))) (define (service-activations services) ;; Return the activation scripts for SERVICES. @@ -638,12 +647,7 @@ we're running in the final root." (define (operating-system-initrd-file os) "Return a gexp denoting the initrd file of OS." (define boot-file-systems - (filter (match-lambda - (($ <file-system> device title "/") - #t) - (($ <file-system> device title mount-point type flags - options boot?) - boot?)) + (filter file-system-needed-for-boot? (operating-system-file-systems os))) (define mapped-devices @@ -656,6 +660,19 @@ we're running in the final root." #:mapped-devices mapped-devices))) (return #~(string-append #$initrd "/initrd")))) +(define (operating-system-locale-directory os) + "Return the directory containing the locales compiled for the definitions +listed in OS. The C library expects to find it under +/run/current-system/locale." + ;; While we're at it, check whether the locale of OS is defined. + (unless (member (operating-system-locale os) + (map locale-definition-name + (operating-system-locale-definitions os))) + (raise (condition + (&message (message "system locale lacks a definition"))))) + + (locale-directory (operating-system-locale-definitions os))) + (define (kernel->grub-label kernel) "Return a label for the GRUB menu entry that boots KERNEL." (string-append "GNU with " @@ -705,6 +722,7 @@ this file is the reconstruction of GRUB menu entries for old configurations." (boot (operating-system-boot-script os)) (kernel -> (operating-system-kernel os)) (initrd (operating-system-initrd-file os)) + (locale (operating-system-locale-directory os)) (params (operating-system-parameters-file os))) (file-union "system" `(("boot" ,#~#$boot) @@ -712,6 +730,7 @@ this file is the reconstruction of GRUB menu entries for old configurations." ("parameters" ,#~#$params) ("initrd" ,initrd) ("profile" ,#~#$profile) + ("locale" ,#~#$locale) ;used by libc ("etc" ,#~#$etc))))) ;;; system.scm ends here diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index ed9d70587f..4760821840 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -70,13 +70,19 @@ (default '())) (options file-system-options ; string or #f (default #f)) - (needed-for-boot? file-system-needed-for-boot? ; Boolean + (needed-for-boot? %file-system-needed-for-boot? ; Boolean (default #f)) (check? file-system-check? ; Boolean (default #t)) (create-mount-point? file-system-create-mount-point? ; Boolean (default #f))) +(define-inlinable (file-system-needed-for-boot? fs) + "Return true if FS has the 'needed-for-boot?' flag set, or if it's the root +file system." + (or (%file-system-needed-for-boot? fs) + (string=? "/" (file-system-mount-point fs)))) + (define %fuse-control-file-system ;; Control file system for Linux' file systems in user-space (FUSE). (file-system diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index 00e09f9736..ecffee3112 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -170,6 +170,9 @@ function load_video { insmod video_cirrus } +# Set 'root' to the partition that contains /gnu/store. +search --file --set ~a/share/grub/unicode.pf2 + if loadfont ~a/share/grub/unicode.pf2; then set gfxmode=640x480 load_video @@ -185,7 +188,7 @@ else set menu_color_normal=cyan/blue set menu_color_highlight=white/blue fi~%" - #$grub + #$grub #$grub #$image #$(theme-colors grub-theme-color-normal) #$(theme-colors grub-theme-color-highlight)))))) @@ -209,11 +212,14 @@ entries corresponding to old generations of the system." (match-lambda (($ <menu-entry> label linux arguments initrd) #~(format port "menuentry ~s { + # Set 'root' to the partition that contains the kernel. + search --file --set ~a/bzImage~% + linux ~a/bzImage ~a initrd ~a }~%" #$label - #$linux (string-join (list #$@arguments)) + #$linux #$linux (string-join (list #$@arguments)) #$initrd)))) (mlet %store-monad ((sugar (eye-candy config #~port))) @@ -223,14 +229,9 @@ entries corresponding to old generations of the system." #$sugar (format port " set default=~a -set timeout=~a -search.file ~a/bzImage~%" +set timeout=~a~%" #$(grub-configuration-default-entry config) - #$(grub-configuration-timeout config) - #$(any (match-lambda - (($ <menu-entry> _ linux) - linux)) - all-entries)) + #$(grub-configuration-timeout config)) #$@(map entry->gexp all-entries) #$@(if (pair? old-entries) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 961361b937..01e79480b1 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -21,7 +21,9 @@ #:use-module (guix gexp) #:use-module (guix monads) #:use-module ((guix store) #:select (%store-prefix)) + #:use-module (gnu packages admin) #:use-module (gnu packages linux) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages package-management) #:use-module (gnu packages disk) #:use-module (gnu packages grub) @@ -219,7 +221,7 @@ Use Alt-F2 for documentation. (operating-system (host-name "gnu") (timezone "Europe/Paris") - (locale "en_US.UTF-8") + (locale "en_US.utf8") (bootloader (grub-configuration (device "/dev/sda"))) (file-systems @@ -254,7 +256,8 @@ Use Alt-F2 for documentation. (packages (cons* texinfo-4 ;for the standalone Info reader parted ddrescue grub ;mostly so xrefs to its manual work - wireless-tools + cryptsetup + wireless-tools wpa-supplicant ;; XXX: We used to have GNU fdisk here, but as of version ;; 2.0.0a, that pulls Guile 1.8, which takes unreasonable ;; space; furthermore util-linux's fdisk is already diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 3279172da7..ee6ce48828 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -92,7 +92,9 @@ MODULES and taken from LINUX." (define build-exp #~(begin (use-modules (ice-9 match) (ice-9 regex) - (guix build utils)) + (srfi srfi-1) + (guix build utils) + (gnu build linux-modules)) (define (string->regexp str) ;; Return a regexp that matches STR exactly. @@ -101,21 +103,35 @@ MODULES and taken from LINUX." (define module-dir (string-append #$linux "/lib/modules")) + (define (lookup module) + (let ((name (ensure-dot-ko module))) + (match (find-files module-dir (string->regexp name)) + ((file) + file) + (() + (error "module not found" name module-dir)) + ((_ ...) + (error "several modules by that name" + name module-dir))))) + + (define modules + (let ((modules (map lookup '#$modules))) + (append modules + (recursive-module-dependencies modules + #:lookup-module lookup)))) + (mkdir #$output) (for-each (lambda (module) - (match (find-files module-dir (string->regexp module)) - ((file) - (format #t "copying '~a'...~%" file) - (copy-file file (string-append #$output "/" module))) - (() - (error "module not found" module module-dir)) - ((_ ...) - (error "several modules by that name" - module module-dir)))) - '#$modules))) + (format #t "copying '~a'...~%" module) + (copy-file module + (string-append #$output "/" + (basename module)))) + (delete-duplicates modules)))) (gexp->derivation "linux-modules" build-exp - #:modules '((guix build utils)))) + #:modules '((guix build utils) + (guix elf) + (gnu build linux-modules)))) (define (file-system->spec fs) "Return a list corresponding to file-system FS that can be passed to the @@ -150,16 +166,16 @@ modules can be listed in EXTRA-MODULES. They will be added to the initrd, and loaded at boot time in the order in which they appear." (define virtio-modules ;; Modules for Linux para-virtualized devices, for use in QEMU guests. - '("virtio.ko" "virtio_ring.ko" "virtio_pci.ko" - "virtio_balloon.ko" "virtio_blk.ko" "virtio_net.ko")) + '("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net" + "virtio_console")) (define cifs-modules ;; Modules needed to mount CIFS file systems. - '("md4.ko" "ecb.ko" "cifs.ko")) + '("md4" "ecb" "cifs")) (define virtio-9p-modules ;; Modules for the 9p paravirtualized file system. - '("fscache.ko" "9pnet.ko" "9p.ko" "9pnet_virtio.ko")) + '("9p" "9pnet_virtio")) (define (file-system-type-predicate type) (lambda (fs) @@ -167,8 +183,8 @@ loaded at boot time in the order in which they appear." (define linux-modules ;; Modules added to the initrd and loaded from the initrd. - `("libahci.ko" "ahci.ko" ;for SATA controllers - "pata_acpi.ko" "pata_atiixp.ko" ;for ATA controllers + `("ahci" ;for SATA controllers + "pata_acpi" "pata_atiixp" ;for ATA controllers ,@(if (or virtio? qemu-networking?) virtio-modules '()) @@ -179,7 +195,7 @@ loaded at boot time in the order in which they appear." virtio-9p-modules '()) ,@(if volatile-root? - '("fuse.ko") + '("fuse") '()) ,@extra-modules)) @@ -220,14 +236,15 @@ loaded at boot time in the order in which they appear." (boot-system #:mounts '#$(map file-system->spec file-systems) #:pre-mount (lambda () (and #$@device-mapping-commands)) - #:linux-modules (map (lambda (file) - (string-append #$kodir "/" file)) - '#$linux-modules) + #:linux-modules '#$linux-modules + #:linux-module-directory '#$kodir #:qemu-guest-networking? #$qemu-networking? #:volatile-root? '#$volatile-root?)) #:name "base-initrd" #:modules '((guix build utils) (gnu build linux-boot) - (gnu build file-systems))))) + (gnu build linux-modules) + (gnu build file-systems) + (guix elf))))) ;;; linux-initrd.scm ends here diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm new file mode 100644 index 0000000000..17b1dead58 --- /dev/null +++ b/gnu/system/locale.scm @@ -0,0 +1,126 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu system locale) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (srfi srfi-26) + #:export (locale-definition + locale-definition? + locale-definition-name + locale-definition-source + locale-definition-charset + + locale-directory + + %default-locale-definitions)) + +;;; Commentary: +;;; +;;; Locale definitions, and compilation thereof. +;;; +;;; Code: + +(define-record-type* <locale-definition> locale-definition + make-locale-definition + locale-definition? + (name locale-definition-name) ;string--e.g., "fr_FR.utf8" + (source locale-definition-source) ;string--e.g., "fr_FR" + (charset locale-definition-charset ;string--e.g., "UTF-8" + (default "UTF-8"))) + +(define* (localedef-command locale + #:key (libc (canonical-package glibc))) + "Return a gexp that runs 'localedef' from LIBC to build LOCALE." + #~(begin + (format #t "building locale '~a'...~%" + #$(locale-definition-name locale)) + (zero? (system* (string-append #$libc "/bin/localedef") + "--no-archive" "--prefix" #$output + "-i" #$(locale-definition-source locale) + "-f" #$(locale-definition-charset locale) + (string-append #$output "/" + #$(locale-definition-name locale)))))) + +(define* (locale-directory locales + #:key (libc (canonical-package glibc))) + "Return a directory containing all of LOCALES compiled." + (define build + #~(begin + (mkdir #$output) + + ;; 'localedef' executes 'gzip' to access compressed locale sources. + (setenv "PATH" (string-append #$gzip "/bin")) + + (exit + (and #$@(map (cut localedef-command <> #:libc libc) + locales))))) + + (gexp->derivation "locale" build + #:local-build? #t)) + +(define %default-locale-definitions + ;; Arbitrary set of locales that are built by default. They are here mostly + ;; to facilitate first-time use to some people, while others may have to add + ;; a specific <locale-definition>. + (letrec-syntax ((utf8-locale (syntax-rules () + ((_ name*) + (locale-definition + (name (string-append name* ".utf8")) + (source name*) + (charset "UTF-8"))))) + (utf8-locales (syntax-rules () + ((_ name ...) + (list (utf8-locale name) ...))))) + (utf8-locales "ca_ES" + "cs_CZ" + "da_DK" + "de_DE" + "el_GR" + "en_AU" + "en_CA" + "en_GB" + "en_US" + "es_AR" + "es_CL" + "es_ES" + "es_MX" + "fi_FI" + "fr_BE" + "fr_CA" + "fr_CH" + "fr_FR" + "ga_IE" + "it_IT" + "ja_JP" + "ko_KR" + "nb_NO" + "nl_NL" + "pl_PL" + "pt_PT" + "ro_RO" + "ru_RU" + "sv_SE" + "tr_TR" + "uk_UA" + "vi_VN" + "zh_CN"))) + +;;; locale.scm ends here diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 6970021e1f..b4ba0060bd 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -115,9 +115,16 @@ (copy-file (car (find-files #$guile-wm "wm-init-sample.scm")) #$output))) - (mlet %store-monad ((bashrc (text-file "bashrc" "\ -# Allow non-login shells such as an xterm to get things right. -test -f /etc/profile && source /etc/profile\n")) + (mlet %store-monad ((profile (text-file "bash_profile" "\ +# Honor per-interactive-shell startup file +if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n")) + (bashrc (text-file "bashrc" "\ +PS1='\\u@\\h \\w\\$ ' +alias ls='ls -p --color' +alias ll='ls -l'\n")) + (zlogin (text-file "zlogin" "\ +# Honor system-wide environment variables +source /etc/profile\n")) (guile-wm (gexp->derivation "guile-wm" copy-guile-wm #:modules '((guix build utils)))) @@ -127,7 +134,9 @@ XTerm*metaSendsEscape: true\n")) (gdbinit (text-file "gdbinit" "\ # Tell GDB where to look for separate debugging files. set debug-file-directory ~/.guix-profile/lib/debug\n"))) - (return `((".bashrc" ,bashrc) + (return `((".bash_profile" ,profile) + (".bashrc" ,bashrc) + (".zlogin" ,zlogin) (".Xdefaults" ,xdefaults) (".guile-wm" ,guile-wm) (".gdbinit" ,gdbinit))))) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 07b13deeca..4374256530 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -104,7 +104,9 @@ '((gnu build vm) (gnu build install) (gnu build linux-boot) + (gnu build linux-modules) (gnu build file-systems) + (guix elf) (guix build utils) (guix build store-copy))) (guile-for-build @@ -470,7 +472,7 @@ with '-virtfs' options for the host file systems listed in SHARED-FS." " -enable-kvm -no-reboot -net nic,model=virtio \ " #$@(map virtfs-option shared-fs) " \ -net user \ - -serial stdio \ + -serial stdio -vga std \ -drive file=" #$image ",if=virtio,cache=writeback,werror=report,readonly \ -m 256")) |