diff options
Diffstat (limited to 'gnu')
40 files changed, 1175 insertions, 211 deletions
diff --git a/gnu/packages.scm b/gnu/packages.scm index 7f0b58b971..57a3e21bd6 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -30,6 +30,8 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (srfi srfi-39) #:export (search-patch search-bootstrap-binary @@ -70,13 +72,23 @@ %load-path))) (define (search-patch file-name) - "Search the patch FILE-NAME." - (search-path (%patch-path) file-name)) + "Search the patch FILE-NAME. Raise an error if not found." + (or (search-path (%patch-path) file-name) + (raise (condition + (&message (message (format #f (_ "~a: patch not found") + file-name))))))) (define (search-bootstrap-binary file-name system) - "Search the bootstrap binary FILE-NAME for SYSTEM." - (search-path (%bootstrap-binaries-path) - (string-append system "/" file-name))) + "Search the bootstrap binary FILE-NAME for SYSTEM. Raise an error if not +found." + (or (search-path (%bootstrap-binaries-path) + (string-append system "/" file-name)) + (raise (condition + (&message + (message + (format #f (_ "could not find bootstrap binary '~a' \ +for system '~a'") + file-name system))))))) (define %distro-root-directory ;; Absolute file name of the module hierarchy. diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d7cd0b8092..534fd070ff 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -631,7 +631,10 @@ system administrator.") "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--with-logpath=/var/log/sudo.log") + `(#:configure-flags '("--with-logpath=/var/log/sudo.log" + "--with-rundir=/run/sudo" + "--with-vardir=/var/db/sudo" + "--with-iologdir=/var/log/sudo-io") #:phases (alist-cons-before 'configure 'pre-configure (lambda _ @@ -645,7 +648,13 @@ system administrator.") "") (("^install: (.*)install-sudoers(.*)" _ before after) ;; Don't try to create /etc/sudoers. - (string-append "install: " before after "\n")))) + (string-append "install: " before after "\n")) + (("\\$\\(DESTDIR\\)\\$\\(rundir\\)") + ;; Don't try to create /run/sudo. + "$(TMPDIR)/dummy") + (("\\$\\(DESTDIR\\)\\$\\(vardir\\)") + ;; Don't try to create /var/db/sudo. + "$(TMPDIR)/dummy"))) %standard-phases) ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 8e72562444..7f20b262f8 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -238,14 +238,14 @@ Makefile, simplifying the entire process for the developer.") (define-public libtool (package (name "libtool") - (version "2.4.4") + (version "2.4.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libtool/libtool-" version ".tar.xz")) (sha256 (base32 - "0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8")) + "0zhphv4n9bdd6sz66lqfrfqcsnv89mg2bykgi5w9401va4vc3al4")) (patches (list (search-patch "libtool-skip-tests.patch"))))) (build-system gnu-build-system) @@ -295,8 +295,16 @@ complexity of working with shared libraries across platforms.") ;; Libtool's extensive test suite isn't run. (package (name "libltdl") - (version (package-version libtool)) - (source (package-source libtool)) + (version "2.4.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/libtool/libtool-" + version ".tar.xz")) + (sha256 + (base32 + "0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8")) + (patches + (list (search-patch "libtool-skip-tests.patch"))))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-ltdl-install") ;really install it diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm new file mode 100644 index 0000000000..a74e4097eb --- /dev/null +++ b/gnu/packages/cups.scm @@ -0,0 +1,293 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages cups) + #: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 avahi) + #:use-module (gnu packages compression) + #:use-module (gnu packages image) + #:use-module (gnu packages fonts) ;font-dejavu + #:use-module (gnu packages fontutils) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnutls) + #:use-module (gnu packages pdf) + #:use-module (gnu packages pkg-config)) + +(define-public cups-filters + (package + (name "cups-filters") + (version "1.0.61") + (source (origin + (method url-fetch) + (uri + (string-append "http://openprinting.org/download/cups-filters/" + "cups-filters-" version ".tar.xz")) + (sha256 + (base32 + "1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m")) + (modules '((guix build utils))) + (snippet + ;; install backends, banners and filters to cups-filters output + ;; directory, not the cups server directory + '(substitute* "Makefile.in" + (("CUPS_DATADIR = @CUPS_DATADIR@") + "CUPS_DATADIR = $(PREFIX)/share/cups") + (("pkgcupsserverrootdir = \\$\\(CUPS_SERVERROOT\\)") + "pkgcupsserverrootdir = $(PREFIX)") + (("pkgbackenddir = \\$\\(CUPS_SERVERBIN\\)/backend") + "pkgbackenddir = $(PREFIX)/backend") + (("pkgfilterdir = \\$\\(CUPS_SERVERBIN\\)/filter") + "pkgfilterdir = $(PREFIX)/filter"))))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "PREFIX=" %output)) + #:configure-flags + `(,(string-append "--with-test-font-path=" + (assoc-ref %build-inputs "font-dejavu") + "/share/fonts/truetype/DejaVuSans.ttf") + ,(string-append "--with-rcdir=" + (assoc-ref %outputs "out") "/etc/rc.d")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("font-dejavu" ,font-dejavu) ;needed by test suite + ("ghostscript" ,ghostscript) + ("ijs" ,ijs) + ("dbus" ,dbus) + ("lcms" ,lcms) + ("libjpeg-8" ,libjpeg-8) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("glib" ,glib) + ("qpdf" ,qpdf) + ("poppler" ,poppler) + ("cups-minimal" ,cups-minimal))) + (home-page "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters") + (synopsis "OpenPrinting CUPS filters and backends") + (description + "Contains backends, filters, and other software that was once part of the +core CUPS distribution but is no longer maintained by Apple Inc. In addition +it contains additional filters developed independently of Apple, especially +filters for the PDF-centric printing workflow introduced by OpenPrinting.") + ;; Different filters and backends have different licenses; see COPYING for + ;; details + (license (list license:gpl2 + license:gpl2+ + license:gpl3 + license:gpl3+ + license:lgpl2.0+ + license:expat)))) + +;; CUPS on non-MacOS systems requires cups-filters. Since cups-filters also +;; depends on CUPS libraries and binaries, cups-minimal has been added to +;; satisfy this dependency. +(define-public cups-minimal + (package + (name "cups-minimal") + (version "2.0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.cups.org/software/" + version "/cups-" version "-source.tar.gz")) + (sha256 + (base32 + "1kbc85kwhm1vyzahblrg3qih9yypggs91d13gdrbnaac8q7jd9jr")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + '("--disable-launchd" + "--disable-systemd" + "--disable-avahi" + "--disable-dnssd") + ;; Seven tests fail, mostly because of files that are provided by the + ;; cups-filters package. + #:tests? #f + #:phases + (alist-cons-before + 'configure + 'patch-makedefs + (lambda _ + (substitute* "Makedefs.in" + (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@") + (("/bin/sh") (which "sh")))) + (alist-cons-before + 'build + 'patch-tests + (lambda _ + (substitute* "test/ippserver.c" + (("# else /\\* HAVE_AVAHI \\*/") "#elif defined(HAVE_AVAHI)"))) + %standard-phases)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("zlib" ,zlib) + ("gnutls" ,gnutls))) + (home-page "http://www.cups.org") + (synopsis "The Common Unix Printing System") + (description + "CUPS is a printing system that uses the Internet Printing +Protocol (IPP). It provides System V and BSD command-line interfaces, as well +as a Web interface and a C programming interface to manage printers and print +jobs. It supports printing to both local (parallel, serial, USB) and +networked printers, and printers can be shared from one computer to another. +Internally, CUPS uses PostScript Printer Description (PPD) files to describe +printer capabilities and features and a wide variety of generic and +device-specific programs to convert and print many types of files.") + (license license:gpl2))) + +(define-public cups + (package (inherit cups-minimal) + (name "cups") + (arguments + `(;; Three tests fail: + ;; * two tests in ipp-1.1.test related to "RFC 2911 section 3.2.6: + ;; Get-Jobs Operation" + ;; * test of number of error/warning messages, probably related to a + ;; missing font. + #:tests? #f + #:configure-flags + '("--disable-launchd" + "--disable-systemd") + #:phases + (alist-cons-before + 'configure + 'patch-makedefs + (lambda _ + (substitute* "Makedefs.in" + (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@") + (("/bin/sh") (which "sh")))) + (alist-cons-before + 'check + 'patch-tests + (lambda _ + (let ((filters (assoc-ref %build-inputs "cups-filters")) + (catpath (string-append + (assoc-ref %build-inputs "coreutils") "/bin/")) + (testdir (string-append (getcwd) "/tmp/"))) + (mkdir testdir) + (substitute* "test/run-stp-tests.sh" + ((" *BASE=/tmp/") (string-append "BASE=" testdir)) + + ;; allow installation of filters from output dir and from + ;; cups-filters + (("for dir in /usr/libexec/cups/filter /usr/lib/cups/filter") + (string-append + "for dir in " + (assoc-ref %outputs "out") "/lib/cups/filter " + filters "/filter")) + + ;; check for charsets in cups-filters output + (("/usr/share/cups/charsets") + (string-append filters "/share/cups/charsets")) + + ;; install additional required filters + (("instfilter texttopdf texttopdf pdf") + (string-append + "instfilter texttopdf texttopdf pdf;" + "instfilter imagetoraster imagetoraster raster;" + "instfilter gstoraster gstoraster raster;" + "instfilter urftopdf urftopdf pdf;" + "instfilter rastertopdf rastertopdf pdf;" + "instfilter pstopdf pstopdf pdf")) + + ;; specify location of lpstat binary + (("description=\"`lpstat -l") + "description=\"`../systemv/lpstat -l") + + ;; patch shebangs of embedded scripts + (("#!/bin/sh") (string-append "#!" (which "sh"))) + + ;; also link mime definitions from cups-filters + ;; to enable the additional filters for the test suite + (("ln -s \\$root/conf/mime\\.types") + (string-append + "ln -s " filters + "/share/cups/mime/cupsfilters.types $BASE/share/mime; " + "ln -s $root/conf/mime.types")) + (("ln -s \\$root/conf/mime\\.convs") + (string-append + "ln -s " filters + "/share/cups/mime/cupsfilters.convs $BASE/share/mime; " + "ln -s $root/conf/mime.convs"))) + + ;; fix search path for "cat" + (substitute* "cups/testfile.c" + (("cupsFileFind\\(\"cat\", \"/bin\"") + (string-append "cupsFileFind(\"cat\", \"" catpath "\"")) + (("cupsFileFind\\(\"cat\", \"/bin:/usr/bin\"") + (string-append "cupsFileFind(\"cat\", \"" catpath "\""))))) + (alist-cons-after + 'install + 'install-cups-filters-symlinks + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (cups-filters (assoc-ref inputs "cups-filters"))) + ;; charsets + (symlink + (string-append cups-filters "/share/cups/charsets") + (string-append out "/share/charsets")) + + ;; mime types, driver file, ppds + (for-each + (lambda (f) + (symlink (string-append cups-filters f) + (string-append out f))) + '("/share/cups/mime/cupsfilters.types" + "/share/cups/mime/cupsfilters.convs" + "/share/cups/drv/cupsfilters.drv" + "/share/ppd")) + + ;; filters + (for-each + (lambda (f) + (symlink f + (string-append out "/lib/cups/filter" (basename f)))) + (find-files (string-append cups-filters "/filter") ".*")) + + ;; backends + (for-each + (lambda (f) + (symlink (string-append cups-filters f) + (string-append out "/lib/cups" f))) + '("/backend/parallel" + "/backend/serial")) + + ;; banners + (let ((banners "/share/cups/banners")) + (delete-file-recursively (string-append out banners)) + (symlink (string-append cups-filters banners) + (string-append out banners))) + + ;; assorted data + (let ((data "/share/cups/data")) + (delete-file-recursively (string-append out data)) + (symlink (string-append cups-filters data) + (string-append out data))))) + %standard-phases))))) + (inputs + `(("avahi" ,avahi) + ("gnutls" ,gnutls) + ("cups-filters" ,cups-filters) + ("zlib" ,zlib))))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 9ccf34c362..f4d7ac9748 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> -;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; @@ -482,13 +482,12 @@ operations.") (alist-cons-before 'install 'pre-install (lambda* (#:key outputs #:allow-other-keys) - ;; The 'install' rule expects 'emms-print-metadata.1' to - ;; be already installed. + ;; The 'install' rule expects the target directory to + ;; exist. (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")))) + #t)) (alist-cons-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) @@ -505,8 +504,7 @@ operations.") #: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) + (inputs `(("alsa-utils" ,alsa-utils) ("vorbis-tools" ,vorbis-tools) ("mpg321" ,mpg321) ("taglib" ,taglib) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index c16ab93242..94993f0d08 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> @@ -25,8 +25,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) - #:use-module ((gnu packages base) - #:select (tar)) + #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages perl) #:use-module (gnu packages xorg) diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 39e541b884..a6bba757da 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -27,14 +27,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.4.7") + (version "1.4.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "1j33b2spj1vzjf1ymfrgka5h7imijmdwg9jdjfb92b2ccld9jj6l")))) + "06smdsri1v5v2smrd3jxq3n135x7cx0npcimc37lb144gzgyk9wz")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("libgcrypt" ,libgcrypt))) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 056b3681a7..fefdf67f3d 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -17,11 +17,14 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages game-development) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) - #:use-module (gnu packages)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages qt) + #:use-module (gnu packages compression)) (define-public bullet (package @@ -45,4 +48,38 @@ (description "Bullet is a physics engine library usable for collision detection. It is used in some video games and movies.") - (license zlib))) + (license license:zlib))) + +(define-public tiled + (package + (name "tiled") + (version "0.11.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/bjorn/tiled/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "03a15vbzjfwc8dpifbjvd0gnr208mzmdkgs2nlc8zq6z0a4h4jqd")))) + (build-system gnu-build-system) + (inputs `(("qt" ,qt) + ("zlib" ,zlib))) + (arguments + '(#:phases + (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (system* "qmake" + (string-append "PREFIX=" out)))) + %standard-phases))) + (home-page "http://www.mapeditor.org/") + (synopsis "Tile map editor") + (description + "Tiled is a general purpose tile map editor. It is meant to be used for +editing maps of any tile-based game, be it an RPG, a platformer or a Breakout +clone.") + + ;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is + ;; under BSD-2. + (license license:gpl2+))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f206d3caca..a9c4d6bd11 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -520,40 +520,6 @@ alternative layouts Dvorak and Colemak, as well as for the numpad. Tutorials are primarily in English, however some in other languages are provided.") (license license:gpl3+))) -(define-public tiled - (package - (name "tiled") - (version "0.10.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/bjorn/tiled/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "0p4p3lv4nw11fkfvvyjirb93r2x4w2rrc2w650gl2k57k92jpiij")))) - (build-system gnu-build-system) - (inputs `(("qt" ,qt) - ("zlib" ,zlib))) - (arguments - '(#:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (system* "qmake" - (string-append "PREFIX=" out)))) - %standard-phases))) - (home-page "http://www.mapeditor.org/") - (synopsis "Tile map editor") - (description - "Tiled is a general purpose tile map editor. It is meant to be used for -editing maps of any tile-based game, be it an RPG, a platformer or a Breakout -clone.") - - ;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is - ;; under BSD-2. - (license license:gpl2+))) - (define-public openal (package (name "openal") diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 405b4e744e..e2d4e618fa 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ (define-module (gnu packages ghostscript) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages image) @@ -164,6 +166,49 @@ output file formats and printers.") (license license:agpl3+) (home-page "http://www.gnu.org/software/ghostscript/"))) +(define-public ijs + (package + (name "ijs") + (version "9.14.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-" + version ".tar.xz")) + (sha256 (base32 + "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1")))) + (build-system gnu-build-system) + (native-inputs + `(("libtool" ,libtool) + ("automake" ,automake) + ("autoconf" ,autoconf))) + (arguments + `(#:phases + (alist-cons-after + 'unpack 'autogen + (lambda _ + ;; need to regenerate macros + (system* "autoreconf" "-if") + ;; do not run configure + (substitute* "autogen.sh" + (("^.*\\$srcdir/configure.*") "")) + (system* "bash" "autogen.sh") + + ;; create configure script in ./ijs/ + (chdir "ijs") + ;; do not run configure + (substitute* "autogen.sh" + (("^.*\\$srcdir/configure.*") "") + (("^ + && echo Now type.*$") "")) + (zero? (system* "bash" "autogen.sh"))) + %standard-phases))) + (synopsis "IJS driver framework for inkjet and other raster devices") + (description + "IJS is a protocol for transmission of raster page images. This package +provides the reference implementation of the raster printer driver +architecture.") + (license license:expat) + (home-page "http://www.gnu.org/software/ghostscript/"))) + (define-public gs-fonts (package (name "gs-fonts") diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 39fc736b02..bbb57335a5 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; @@ -52,7 +52,8 @@ intltool itstool libsigc++ - glibmm)) + glibmm + telepathy-glib)) (define dbus (package @@ -519,3 +520,38 @@ useful for C++.") (description "Python bindings for GLib, GObject, and GIO.") (license license:lgpl2.1+))) + +(define telepathy-glib + (package + (name "telepathy-glib") + (version "0.24.1") + (source + (origin + (method url-fetch) + (uri + (string-append + "http://telepathy.freedesktop.org/releases/telepathy-glib/" + "telepathy-glib-" version ".tar.gz")) + (sha256 + (base32 + "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")))) + (build-system gnu-build-system) + (native-inputs + `(("glib" ,glib "bin") ; uses glib-mkenums + ("pkg-config" ,pkg-config) + ("python" ,python-2))) + (inputs + `(("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("glib" ,glib) + ("gobject-introspection" ,gobject-introspection) + ("libxslt" ,libxslt))) + (home-page "http://telepathy.freedesktop.org/wiki/") + (synopsis "GLib Real-time communications framework over D-Bus") + (description "Telepathy is a flexible, modular communications framework +that enables real-time communication over D-Bus via pluggable protocol +backends. Telepathy is a communications service that can be accessed by +many applications simultaneously. + +This package provides the library for GLib applications.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0f33880a21..535913bcf1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> @@ -1022,6 +1022,8 @@ widgets built in the loading process.") (license license:gpl2+))) ; This is correct. GPL not LGPL (define-public libgnomeprint + ;; This library has been deprecated since 2006; see + ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>. (package (name "libgnomeprint") (version "2.8.2") @@ -1045,11 +1047,14 @@ widgets built in the loading process.") ("pkg-config" ,pkg-config))) (home-page "https://projects.gnome.org/gnome-print/home/faq.html") (synopsis "Printing framework for GNOME") - (description "Gnome-print is a high-quality printing framework for GNOME.") + (description + "GNOME-print was a printing framework for GNOME. It has been deprecated +since ca. 2006, when GTK+ itself incorporated printing support.") (license license:lgpl2.0+))) (define-public libgnomeprintui + ;; Deprecated; see libgnomeprint. (package (name "libgnomeprintui") (version "2.8.2") @@ -1074,10 +1079,9 @@ widgets built in the loading process.") ("pkg-config" ,pkg-config))) (home-page "https://projects.gnome.org/gnome-print/home/faq.html") (synopsis "Printing framework for GNOME") - (description "Gnome-print is a high-quality printing framework for GNOME.") + (description (package-description libgnomeprint)) (license license:lgpl2.0+))) - (define-public libbonoboui (package (name "libbonoboui") @@ -1442,3 +1446,31 @@ editors, IDEs, etc.") is to provide a backend to GSettings on platforms that don't already have configuration storage systems.") (license license:lgpl2.1))) + +(define-public json-glib + (package + (name "json-glib") + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8")))) + (build-system gnu-build-system) + (native-inputs + `(("glib" ,glib "bin") ; for glib-mkenums and glib-genmarshal + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib))) ; according to json-glib-1.0.pc + (home-page "https://wiki.gnome.org/Projects/JsonGlib") + (synopsis "Compiler for the GObject type system") + (description "JSON-GLib is a C library based on GLib providing +serialization and deserialization support for the JavaScript Object Notation +(JSON) format described by RFC 4627. It provides parser and generator +GObject classes and various wrappers for the complex data types employed by +JSON, such as arrays and objects.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index f7063ead11..96b517b9a9 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.38") + (version "0.9.39") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "08g7p4l0p2fsjj8ayl68zq1bqgrn0pck19bm8yd7k61whvfv9wld")))) + "0wz3sw62z3wsqivrssh0xb3yn064ix5x5cc6prvdfrn3cmh7p4sg")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 1ef8fe7e3a..9bc75b2329 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -107,7 +107,7 @@ generation.") (define-public libassuan (package (name "libassuan") - (version "2.1.3") + (version "2.2.0") (source (origin (method url-fetch) @@ -115,7 +115,7 @@ generation.") version ".tar.bz2")) (sha256 (base32 - "06hxyns8i73c6vrbrxyx6h38kwa7971h01qfc5cyna69afrp08gs")))) + "1ikf9whfi7rg71qa610ynyv12qrw20zkn7zxgvvr9dp41gbqxxbx")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error) ("pth" ,pth))) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f48815ae4d..6bd4e3665a 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> @@ -39,6 +39,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages guile) + #:use-module (gnu packages cups) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg)) @@ -413,7 +414,8 @@ application suites.") ("libxdamage" ,libxdamage) ("pango" ,pango))) (inputs - `(("libxml2" ,libxml2))) + `(("libxml2" ,libxml2) + ("cups" ,cups))) ;for printing support (native-inputs `(("perl" ,perl) ("glib" ,glib "bin") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index c0c5ced0f3..f71201b553 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -34,7 +34,6 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages ed) #:use-module (gnu packages which) - #:use-module (gnu packages gtk) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -368,33 +367,4 @@ http:://json.org specification. These are the main features: - Allows JSON pretty printing.") (license lgpl3+))) -(define-public guile-charting - (package - (name "guile-charting") - (version "0.2.0") - (source (origin - (method url-fetch) - (uri (string-append "http://wingolog.org/pub/guile-charting/" - "guile-charting-" version ".tar.gz")) - (sha256 - (base32 - "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Use the standard location for modules. - (substitute* "Makefile.in" - (("godir = .*$") - "godir = $(moddir)\n")))))) - (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.0))) - (propagated-inputs `(("guile-cairo" ,guile-cairo))) - (home-page "http://wingolog.org/software/guile-charting/") - (synopsis "Create charts and graphs in Guile") - (description - "Guile-Charting is a Guile Scheme library to create bar charts and graphs -using the Cairo drawing library.") - (license lgpl2.1+))) - ;;; guile.scm ends here diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 52ed93e6a7..96acf0a573 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +31,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages rdf) + #:use-module (gnu packages ruby) #:use-module (gnu packages video) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -60,26 +61,26 @@ (define-public phonon (package (name "phonon") - (version "4.8.2") + (version "4.8.3") (source (origin (method url-fetch) (uri (string-append "http://download.kde.org/stable/" name - "/" version "/" + "/" version "/src/" name "-" version ".tar.xz")) (sha256 (base32 - "0xnjz7bbw393q77n4s6y9frd7l2s90635w03w9a2jr85zr89fnfg")))) + "05nshngk03ln90vsjz44dx8al576f4vd5fvhs1l0jmx13jb9q551")))) (build-system cmake-build-system) - ;; FIXME: Add interpreter ruby once available. - ;; Add optional input libqtzeitgeist. - (inputs + ;; FIXME: Add optional input libqzeitgeist once available. + (native-inputs `(("automoc4" ,automoc4) - ("glib" ,glib) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) ("libx11" ,libx11) - ("pulseaudio" ,pulseaudio) - ("qt" ,qt-4))) - (native-inputs - `(("pkg-config" ,pkg-config))) + ("pulseaudio" ,pulseaudio))) + (propagated-inputs + `(("qt" ,qt-4))) ; according to phonon.pc (arguments `(#:tests? #f)) ; no test target (home-page "http://phonon.kde.org/") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d48a8e9633..50e90f0da3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -28,6 +28,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages flex) #:use-module (gnu packages bison) + #:use-module (gnu packages admin) #:use-module (gnu packages gperf) #:use-module (gnu packages libusb) #:use-module (gnu packages ncurses) @@ -36,6 +37,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages slang) #:use-module (gnu packages algebra) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -50,6 +52,8 @@ #:use-module (gnu packages rrdtool) #:use-module (gnu packages elf) #:use-module (gnu packages gtk) + #:use-module (gnu packages docbook) + #:use-module (gnu packages asciidoc) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -378,41 +382,43 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.21") + (version "2.25.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" - name "/v" version "/" - name "-" version ".2" ".tar.xz")) + name "/v" (version-major+minor version) "/" + name "-" version ".tar.xz")) (sha256 (base32 - "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir")) - (patches (list (search-patch "util-linux-perl.patch"))) + "1miwwdq1zwvhf0smrxx3fjddq3mz22s8rc5cw54s7x3kbdqpyig0")) + (patches (list (search-patch "util-linux-tests.patch"))) (modules '((guix build utils))) (snippet - ;; We take the 'logger' program from GNU Inetutils, so remove - ;; it from here. - '(substitute* "misc-utils/Makefile.in" - (("PROGRAMS =(.*) logger(.*)" _ before after) - (string-append "PROGRAMS =" before " " after)) - (("MANS =(.*) logger\\.1(.*)" _ before after) - (string-append "MANS =" before " " after)))))) + ;; We take the 'logger' program from GNU Inetutils and 'kill' + ;; from GNU Coreutils. + '(substitute* "configure" + (("build_logger=yes") "build_logger=no") + (("build_kill=yes") "build_kill=no"))))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-use-tty-group" "--enable-ddate") - #:phases (alist-cons-after - 'install 'patch-chkdupexe - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* (string-append out "/bin/chkdupexe") - ;; Allow 'patch-shebang' to do its work. - (("@PERL@") "/bin/perl")))) + #:phases (alist-cons-before + 'check 'pre-check + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (net (assoc-ref inputs "net-base"))) + ;; Change the test to refer to the right file. + (substitute* "tests/ts/misc/mcookie" + (("/etc/services") + (string-append net "/etc/services"))) + #t)) %standard-phases))) (inputs `(("zlib" ,guix:zlib) ("ncurses" ,ncurses))) (native-inputs - `(("perl" ,perl))) + `(("perl" ,perl) + ("net-base" ,net-base))) ;for tests (home-page "https://www.kernel.org/pub/linux/utils/util-linux/") (synopsis "Collection of utilities for the Linux kernel") (description @@ -505,14 +511,14 @@ slabtop, and skill.") (define-public e2fsprogs (package (name "e2fsprogs") - (version "1.42.7") + (version "1.42.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/e2fsprogs/e2fsprogs-" version ".tar.gz")) (sha256 (base32 - "0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw")) + "0xhbj7494g3y2w2miyrzdz6nciaffxajrs6wqm73yp4jnrqagn2b")) (modules '((guix build utils))) (snippet '(substitute* "MCONFIG.in" @@ -523,10 +529,12 @@ slabtop, and skill.") (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) ;for the libext2fs Info manual (arguments - '(;; The 'blkid' command and library are already provided by util-linux, - ;; which is the preferred source for them (see, e.g., + '(;; util-linux is not the preferred source for some of the libraries and + ;; commands, so disable them (see, e.g., ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b336339909c90559b7db40b455f172>.) - #:configure-flags '("--disable-blkid" + #:configure-flags '("--disable-libblkid" + "--disable-libuuid" "--disable-uuidd" + "--disable-fsck" ;; Install libext2fs et al. "--enable-elf-shlibs") @@ -1718,7 +1726,11 @@ in a digital read-out.") %standard-phases) #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) - "WERROR=0") + "WERROR=0" + + ;; By default, 'config/Makefile' uses lib64 on + ;; x86_64. Work around that. + "lib=lib") #:tests? #f)) ;no tests (native-inputs `(("pkg-config" ,pkg-config) @@ -1729,17 +1741,18 @@ in a digital read-out.") ("perl" ,perl) ("python" ,python-2))) (inputs - `(;; ("slang" ,slang) + `(("slang" ,slang) ;for the interactive TUI ;; ("newt" ,newt) + ("python" ,python-2) ;'perf' links against libpython ("elfutils" ,elfutils) - ;; FIXME: Documentation. - ;; ("libxslt" ,libxslt) - ;; ("docbook-xml" ,docbook-xml) - ;; ("docbook-xsl" ,docbook-xsl) - ;; ("xmlto" ,xmlto) - ;; ("asciidoc" ,asciidoc) - )) + ;; Documentation. + ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES + ("libxslt" ,libxslt) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("xmlto" ,xmlto) + ("asciidoc" ,asciidoc))) (home-page "https://perf.wiki.kernel.org/") (synopsis "Linux profiling with performance counters") (description diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm index 0fdcf4ceae..e72cf32e3f 100644 --- a/gnu/packages/netpbm.scm +++ b/gnu/packages/netpbm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,26 +26,30 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml) + #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:select (gpl2)) #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix svn-download)) (define-public netpbm (package (name "netpbm") (version "10.61.01") (source (origin - (method url-fetch) - ;; The "super-stable" and "stable" versions do not compile - ;; with newer libpng; we need the "advanced" version. The tarball - ;; on the server is generated by sourceforge from the "advanced" - ;; branch of the subversion repository: - ;; svn checkout http://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced netpbm-version - (uri (string-append "http://www.multiprecision.org/guix/netpbm-" - version ".tar.xz")) - (sha256 (base32 - "10nwvxc85kr6vhlhhahagy7s9848bbixl54b0p4ppim4g0dl10jz")))) + (method svn-fetch) + ;; At the time of first packaging, the "super-stable" and + ;; "stable" versions did not compile with newer libpng; + ;; we needed the "advanced" version. + ;; The currently highest stable version is 10.47.53, + ;; the currently highest advanced version is 10.69.4, + ;; svn release 2397. + ;; To determine the correct release: "svn log version.mk". + (uri (svn-reference + (url "http://svn.code.sf.net/p/netpbm/code/advanced") + (revision 1832))) + (sha256 + (base32 + "1mj1pqq18yj0yb6l24zfjls7axhqmiv0pvcaabl5xvc4a0dm543j")))) (build-system gnu-build-system) (inputs `(("ghostscript" ,ghostscript) ("libjpeg" ,libjpeg) @@ -64,6 +68,7 @@ 'configure (lambda _ (copy-file "config.mk.in" "config.mk") + (chmod "config.mk" #o664) (let ((f (open-file "config.mk" "a"))) (display "CC=gcc\n" f) (display "CFLAGS_SHLIB += -fPIC\n" f) diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm index 8fd736d180..128715f6ac 100644 --- a/gnu/packages/nvi.scm +++ b/gnu/packages/nvi.scm @@ -37,7 +37,9 @@ ".tar.bz2")) (sha256 (base32 "0nbbs1inyrqds0ywn3ln5slv54v5zraq7lszkg8nsavv4kivhh9l")) - (patches (list (search-patch "nvi-assume-preserve-path.patch"))) + (patches (list (search-patch "nvi-assume-preserve-path.patch") + (search-patch "nvi-dbpagesize-binpower.patch") + (search-patch "nvi-db4.patch"))) (snippet ;; Create a wrapper for the configure script, make it executable. '(let ((conf-wrap (open-output-file "configure"))) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 62c6b488a6..c0df5be1a9 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -151,6 +151,7 @@ the Nix package manager.") ,@(package-native-inputs guix-0.8))) (propagated-inputs `(("guile-json" ,guile-json) + ("geiser" ,geiser) ;for guix.el ,@(package-propagated-inputs guix-0.8)))))) (define-public guix guix-devel) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 6524110f2a..9072adae3c 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -27,7 +27,7 @@ (define-public parallel (package (name "parallel") - (version "20141122") + (version "20150122") (source (origin (method url-fetch) @@ -35,7 +35,7 @@ version ".tar.bz2")) (sha256 (base32 - "1kpd4ayd4lb867nfnpkam4b3mh86jl6cdy386x1rich938gbrg38")))) + "14g9pka59vln19rg6y8lyvrsc4nb3jk8y26hv3hdrf44rgwpds7d")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (home-page "http://www.gnu.org/software/parallel/") diff --git a/gnu/packages/patches/nvi-db4.patch b/gnu/packages/patches/nvi-db4.patch new file mode 100644 index 0000000000..03b736cd08 --- /dev/null +++ b/gnu/packages/patches/nvi-db4.patch @@ -0,0 +1,35 @@ +This patch originates from the Debian project, see https://www.debian.org/ + +03db4.dpatch by <hesso@pool.math.tu-berlin.de> + + +libdb4 compatibility adjustments. + +In particular, this patch adds extra file permission checking and passes the +DB_CREATE flag to the first invocation of db_open on the file's database +structure, which rids us of the following message: + + BDB0635 DB_CREATE must be specified to create databases. + +--- nvi-1.81.6.orig/common/msg.c 2009-02-26 14:26:58.350336128 +0100 ++++ nvi-1.81.6/common/msg.c 2009-02-26 14:29:05.235335829 +0100 +@@ -724,9 +724,18 @@ + p = buf; + } else + p = file; ++ if (access(p, F_OK) != 0) { ++ if (first) { ++ first = 0; ++ return (1); ++ } ++ sp->db_error = ENOENT; ++ msgq_str(sp, M_DBERR, p, "%s"); ++ return (1); ++ } + if ((sp->db_error = db_create(&db, 0, 0)) != 0 || + (sp->db_error = db->set_re_source(db, p)) != 0 || +- (sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) { ++ (sp->db_error = db_open(db, NULL, DB_RECNO, DB_CREATE, 0)) != 0) { + if (first) { + first = 0; + return (1); diff --git a/gnu/packages/patches/nvi-dbpagesize-binpower.patch b/gnu/packages/patches/nvi-dbpagesize-binpower.patch new file mode 100644 index 0000000000..7dde693351 --- /dev/null +++ b/gnu/packages/patches/nvi-dbpagesize-binpower.patch @@ -0,0 +1,35 @@ +This patch originates from the Debian project, see https://www.debian.org/ + +18dbpagesize_binpower.dpatch by <hesso@pool.math.tu-berlin.de> + + +Make sure that the pagesize passed to db__set_pagesize() is a power of two. + +nvi stores the content of files in BDB database structures. When initiating a +file, it picks a page size for the database to fit the file within 15 pages, +with a minimal page size of 1K and maximal of 10K. + +In vanilla nvi, this size is calculated as a multiple of 1024. Modern versions +of BDB, however, require the page size of a database to be a power of two, which +this patch addresses, ridding us of the following message: + + BDB0511 page sizes must be a power-of-2 + +--- nvi-1.81.6.orig/common/exf.c 2009-03-09 01:48:01.695862889 +0100 ++++ nvi-1.81.6/common/exf.c 2009-03-09 10:42:41.147866272 +0100 +@@ -249,11 +249,10 @@ + * (vi should have good locality) or smaller than 1K. + */ + psize = ((sb.st_size / 15) + 1023) / 1024; +- if (psize > 10) +- psize = 10; +- if (psize == 0) +- psize = 1; +- psize *= 1024; ++ if (psize >= 8) psize=8<<10; ++ else if (psize >= 4) psize=4<<10; ++ else if (psize >= 2) psize=2<<10; ++ else psize=1<<10; + + F_SET(ep, F_DEVSET); + ep->mdev = sb.st_dev; diff --git a/gnu/packages/patches/pyqt-configure.patch b/gnu/packages/patches/pyqt-configure.patch new file mode 100644 index 0000000000..b922f108d8 --- /dev/null +++ b/gnu/packages/patches/pyqt-configure.patch @@ -0,0 +1,15 @@ +Have configure.py modify internal variables depending on the --qml-plugindir +configure option. +diff -u PyQt-gpl-5.4.alt/configure.py PyQt-gpl-5.4/configure.py +--- PyQt-gpl-5.4.alt/configure.py 2015-01-25 17:27:50.000000000 +0100 ++++ PyQt-gpl-5.4/configure.py 2015-01-25 17:56:41.000000000 +0100 +@@ -904,6 +904,9 @@ + if opts.pyuicinterpreter is not None: + self.pyuic_interpreter = opts.pyuicinterpreter + ++ if opts.qmlplugindir is not None: ++ self.qml_plugin_dir = opts.qmlplugindir ++ + if opts.qsciapidir is not None: + self.qsci_api_dir = opts.qsciapidir + diff --git a/gnu/packages/patches/util-linux-perl.patch b/gnu/packages/patches/util-linux-perl.patch deleted file mode 100644 index c657a1b5ae..0000000000 --- a/gnu/packages/patches/util-linux-perl.patch +++ /dev/null @@ -1,15 +0,0 @@ -Use this common trick that exploits similarities between sh and Perl syntax -to avoid a hard dependency on Perl. Instead, this script will work only -when 'perl' is available in $PATH. - ---- util-linux-2.21.2/misc-utils/chkdupexe.pl 2012-05-15 13:51:45.000000000 +0200 -+++ util-linux-2.21.2/misc-utils/chkdupexe.pl 2014-06-01 22:46:06.000000000 +0200 -@@ -1,5 +1,6 @@ --#!@PERL@ -w --# -+eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' -+ & eval 'exec perl -wS "$0" $argv:q' -+ if 0; - # chkdupexe version 2.1.1 - # - # Simple script to look for and list duplicate executables and dangling diff --git a/gnu/packages/patches/util-linux-tests.patch b/gnu/packages/patches/util-linux-tests.patch new file mode 100644 index 0000000000..2ad025f66a --- /dev/null +++ b/gnu/packages/patches/util-linux-tests.patch @@ -0,0 +1,30 @@ +This test checks whether 'root' is successfully translated to UID/GID 0, +using 'getpwnam' in libmount. This doesn't work in the chroot because +/etc/passwd doesn't contain an entry for 'root' so skip it. + + +--- util-linux-2.25.2/tests/ts/libmount/optstr 2015-01-23 13:58:41.181151194 +0100 ++++ util-linux-2.25.2/tests/ts/libmount/optstr 2015-01-23 13:58:42.829161716 +0100 +@@ -84,10 +84,6 @@ ts_init_subtest "apply-user" # add user, + ts_valgrind $TESTPROG --apply --user "noexec,nosuid,loop=/dev/looop0" 0x408 &> $TS_OUTPUT + ts_finalize_subtest + +-ts_init_subtest "fix" +-ts_valgrind $TESTPROG --fix "uid=root,gid=root" &> $TS_OUTPUT +-ts_finalize_subtest +- + ts_init_subtest "deduplicate" + ts_valgrind $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=ccc,fff=eee AAA &> $TS_OUTPUT + ts_finalize_subtest + + +The expected output for this test seems to lack a carriage return. + +--- util-linux-2.25.2/tests/expected/more/regexp 2015-01-23 14:02:21.098557632 +0100 ++++ util-linux-2.25.2/tests/expected/more/regexp 2015-01-23 14:02:23.598573648 +0100 +@@ -1,4 +1,4 @@ + + ...skipping +-foo ++
foo + xyzzy diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 41df88088e..da40e28334 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -23,6 +23,9 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages xorg) #:use-module (gnu packages image) + #:use-module (gnu packages guile) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages)) (define-public plotutils @@ -62,3 +65,32 @@ graphics in many file formats. It also has support for 2D vector graphics animations. The package also contains command-line programs for plotting scientific data.") (license gpl2+))) + +(define-public guile-charting + (package + (name "guile-charting") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (string-append "http://wingolog.org/pub/guile-charting/" + "guile-charting-" version ".tar.gz")) + (sha256 + (base32 + "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Use the standard location for modules. + (substitute* "Makefile.in" + (("godir = .*$") + "godir = $(moddir)\n")))))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("guile" ,guile-2.0))) + (propagated-inputs `(("guile-cairo" ,guile-cairo))) + (home-page "http://wingolog.org/software/guile-charting/") + (synopsis "Create charts and graphs in Guile") + (description + "Guile-Charting is a Guile Scheme library to create bar charts and graphs +using the Cairo drawing library.") + (license lgpl2.1+))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2f518d940d..4b306952c1 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> @@ -2064,7 +2064,7 @@ capabilities.") (define-public python-pyparsing (package (name "python-pyparsing") - (version "2.0.2") + (version "2.0.3") (source (origin (method url-fetch) @@ -2072,7 +2072,7 @@ capabilities.") "/pyparsing-" version ".tar.gz")) (sha256 (base32 - "01lasib0n2fp2k99c988qhz16lm9hcwmnmrmhybdb3jq2xmkvr0p")))) + "0kw4py7gn45j93q8r7bzajfrjdc3xlsn2yzln41lf9zmrghjkrq6")))) (build-system python-build-system) (outputs '("out" "doc")) (arguments @@ -2788,3 +2788,63 @@ computing.") ,@(alist-delete "python-numpydoc" (alist-delete "python-matplotlib" (package-inputs ipython)))))))) + +(define-public python-isodate + (package + (name "python-isodate") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/i/isodate/isodate-" + version + ".tar.gz")) + (sha256 + (base32 + "1yqjn0is0p64cmk9xhq4hc6q06jk86d60kg2jws58d78q0qysami")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (home-page + "http://cheeseshop.python.org/pypi/isodate") + (synopsis + "Python date parser and formatter") + (description + "Python-isodate is a python module for parsing and formatting +ISO 8601 dates, time and duration.") + (license bsd-3))) + +(define-public python2-isodate + (package-with-python2 python-isodate)) + +(define-public python-html5lib + (package + (name "python-html5lib") + (version "1.0b3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/h/html5lib/html5lib-" + version + ".tar.gz")) + (sha256 + (base32 + "1l5i6xzckzx4hnh9qzv9q3kyhkgjx2hsi2k9srgci3qizjmvp6ln")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (arguments + `(#:test-target "check")) + (home-page + "https://github.com/html5lib/html5lib-python") + (synopsis + "Python HTML parser based on the WHATWG HTML specifcation") + (description + "Html5lib is an HTML parser based on the WHATWG HTML specifcation +and written in Python.") + (license expat))) + +(define-public python2-html5lib + (package-with-python2 python-html5lib)) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 0d6bbc8fc6..cb7e367c5a 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -18,11 +18,13 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages qt) - #:use-module ((guix licenses) #:select (lgpl2.1 x11-style)) + #:use-module ((guix licenses) #:select (gpl3 lgpl2.1 x11-style)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build utils) #:use-module (guix build-system gnu) + #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages compression) @@ -272,3 +274,127 @@ developers using C++ or QML, a CSS & JavaScript like language.") "-no-avx" "-no-neon")))) %standard-phases))))) + +(define-public python-sip + (package + (name "python-sip") + (version "4.16.5") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/pyqt/sip/" + "sip-" version "/sip-" + version ".tar.gz")) + (sha256 + (base32 + "11qy1z88py2q7rz68rm7214pbd37538hpcbfj5hhzp5y616a62x0")))) + (build-system gnu-build-system) + (native-inputs + `(("python" ,python-wrapper))) + (arguments + `(#:tests? #f ; no check target + #:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (include (string-append out "/include")) + (python-version + (string-take + (string-take-right (assoc-ref inputs "python") 5) + 3)) + (lib (string-append out "/lib/python" + python-version + "/site-packages"))) + (zero? + (system* "python" "configure.py" + "--bindir" bin + "--destdir" lib + "--incdir" include)))) + %standard-phases))) + (home-page "http://www.riverbankcomputing.com/software/sip/intro") + (synopsis "Python binding creator for C and C++ libraries") + (description + "SIP is a tool to create Python bindings for C and C++ libraries. It +was originally developed to create PyQt, the Python bindings for the Qt +toolkit, but can be used to create bindings for any C or C++ library. + +SIP comprises a code generator and a Python module. The code generator +processes a set of specification files and generates C or C++ code, which +is then compiled to create the bindings extension module. The SIP Python +module provides support functions to the automatically generated code.") + ;; There is a choice between a python like license, gpl2 and gpl3. + ;; For compatibility with pyqt, we need gpl3. + (license gpl3))) + +(define-public python2-sip + (package (inherit python-sip) + (name "python2-sip") + (native-inputs + `(("python" ,python-2))))) + +(define-public python-pyqt + (package + (name "python-pyqt") + (version "5.4") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/pyqt/PyQt5/" + "PyQt-" version "/PyQt-gpl-" + version ".tar.gz")) + (sha256 + (base32 + "0cbpa63whi8a5akff4pcnfwzpzx7ycac2ynj00ly52m6zbsn80kn")) + (patches (list (search-patch "pyqt-configure.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("python-sip" ,python-sip) + ("qt" ,qt))) ; for qmake + (inputs + `(("python" ,python-wrapper))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (sip (string-append out "/share/sip")) + (plugins (string-append out "/plugins")) + (designer (string-append plugins "/designer")) + (qml (string-append plugins "/PyQt5")) + (python-version + (string-take + (string-take-right (assoc-ref inputs "python") 5) + 3)) + (lib (string-append out "/lib/python" + python-version + "/site-packages"))) + (zero? (system* "python" "configure.py" + "--confirm-license" + "--bindir" bin + "--destdir" lib + "--designer-plugindir" designer + "--qml-plugindir" qml + "--sipdir" sip)))) + %standard-phases))) + (home-page "http://www.riverbankcomputing.com/software/pyqt/intro") + (synopsis "Python bindings for Qt") + (description + "PyQt is a set of Python v2 and v3 bindings for the Qt application +framework. The bindings are implemented as a set of Python modules and +contain over 620 classes.") + (license gpl3))) + +(define-public python2-pyqt + (package (inherit python-pyqt) + (name "python2-pyqt") + (native-inputs + `(("python-sip" ,python2-sip) + ("qt" ,qt))) + (inputs + `(("python" ,python-2))))) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 10e67428c7..1acbd38ded 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,11 +17,13 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages rdf) - #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1 lgpl2.1+)) + #:use-module ((guix licenses) + #:select (bsd-style lgpl2.0+ lgpl2.1 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages databases) #:use-module (gnu packages boost) @@ -34,6 +36,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages xml)) @@ -198,3 +201,32 @@ provides a highly usable object-oriented C++/Qt4 framework for RDF data. It uses different RDF storage solutions as backends through a simple plugin system.") (license lgpl2.0+))) + +(define-public python-rdflib + (package + (name "python-rdflib") + (version "4.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/r/rdflib/rdflib-" + version + ".tar.gz")) + (sha256 + (base32 + "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w")))) + (build-system python-build-system) + (inputs + `(("python-htm5lib" ,python-html5lib) + ("python-isodate" ,python-isodate) + ("python-pyparsing" ,python-pyparsing) + ("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/RDFLib/rdflib") + (synopsis + "Python RDF library") + (description + "RDFLib is a Python library for working with RDF, a simple yet +powerful language for representing information.") + (license (bsd-style "file://LICENSE" + "See LICENSE in the distribution.")))) diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm new file mode 100644 index 0000000000..8c35c8b43e --- /dev/null +++ b/gnu/packages/slang.scm @@ -0,0 +1,70 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 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 slang) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages readline) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages compression) + #:use-module (gnu packages image) + #:use-module (gnu packages pcre)) + +(define-public slang + (package + (name "slang") + (version "2.3.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.jedsoft.org/releases/slang/slang-" + version + ".tar.gz")) + (sha256 + (base32 + "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "src/Makefile.in" + (("/bin/ln") "ln")) + (substitute* "configure" + (("-ltermcap") "")))))) + (build-system gnu-build-system) + (arguments + '(#:parallel-tests? #f)) + (inputs + `(("readline" ,readline) + ("zlib" ,zlib) + ("libpng" ,libpng) + ("pcre" ,pcre) + ("ncurses" ,ncurses))) + (home-page "http://www.jedsoft.org/slang/") + (synopsis "Library for interactive applications and extensibility") + (description + "S-Lang is a multi-platform programmer's library designed to allow a +developer to create robust multi-platform software. It provides facilities +required by interactive applications such as display/screen management, +keyboard input, keymaps, and so on. The most exciting feature of the library +is the slang interpreter that may be easily embedded into a program to make it +extensible. While the emphasis has always been on the embedded nature of the +interpreter, it may also be used in a stand-alone fashion through the use of +slsh, which is part of the S-Lang distribution.") + (license license:gpl2+))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 59ca166416..9fc310d55d 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -538,14 +538,14 @@ projects, from individuals to large-scale enterprise operations.") (define-public rcs (package (name "rcs") - (version "5.9.3") + (version "5.9.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/rcs/rcs-" version ".tar.xz")) (sha256 (base32 - "0isvzwfvqkg7zcsznra6wqh650z49ib113n7gp6ncxv5p30x3c38")))) + "1zsx7bb0rgvvvisiy4zlixf56ay8wbd9qqqcp1a1g0m1gl6mlg86")))) (build-system gnu-build-system) (native-inputs `(("ed" ,ed))) (home-page "http://www.gnu.org/software/rcs/") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 110d0995bb..9cdfbf11da 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -396,7 +396,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public youtube-dl (package (name "youtube-dl") - (version "2014.12.15") + (version "2015.01.23.4") (source (origin (method url-fetch) (uri (string-append "http://youtube-dl.org/downloads/" @@ -404,7 +404,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") version ".tar.gz")) (sha256 (base32 - "09z7v6jxs4a36kyy681mcypcqsxipplnbdy9s3rva1rpp5f74h2z")))) + "0pvvab9dk1righ3fa79000iz8fzdlcxakscx5sd31730c37j3kj2")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") @@ -413,3 +413,58 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") "youtube-dl is a small command-line program to download videos from YouTube.com and a few more sites.") (license public-domain))) + +(define-public libdvdread + (package + (name "libdvdread") + (version "5.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://download.videolan.org/videolan/" + name "/" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "052z62l3x8ka5jpf5bi1mzp5p323n1z9rxj74nq5c35a88x1myv6")))) + (build-system gnu-build-system) + (home-page "http://dvdnav.mplayerhq.hu/") + (synopsis "Library for reading video DVDs") + (description + "Libdvdread provides a simple foundation for reading DVD video +disks. It provides the functionality that is required to access many +DVDs. It parses IFO files, reads NAV-blocks, and performs CSS +authentication and descrambling (if an external libdvdcss library is +installed).") + (license gpl2+))) + +(define-public libdvdnav + (package + (name "libdvdnav") + (version "5.0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://download.videolan.org/videolan/" + name "/" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1ad2lkkiydgwiyqfysra9lkwjv9yqnvcg4hv92hx8qzics1cpcbj")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libdvdread" ,libdvdread))) + (home-page "http://dvdnav.mplayerhq.hu/") + (synopsis "Library for video DVD navigation features") + (description + "Libdvdnav is a library for developers of multimedia +applications. It allows easy use of sophisticated DVD navigation features +such as DVD menus, multiangle playback and even interactive DVD games. All +this functionality is provided through a simple API which provides the DVD +playback as a single logical stream of blocks, intermitted by special +dvdnav events to report certain conditions. The main usage of libdvdnav is +a loop regularly calling a function to get the next block, surrounded by +additional calls to tell the library of user interaction. The whole +DVD virtual machine and internal playback states are completely +encapsulated.") + (license gpl2+))) diff --git a/gnu/packages/xnee.scm b/gnu/packages/xnee.scm index 795f355d09..4e9135dd5b 100644 --- a/gnu/packages/xnee.scm +++ b/gnu/packages/xnee.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,30 +22,32 @@ #:use-module (guix licenses) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (gnu packages xorg) - #:use-module (gnu packages pkg-config)) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xorg)) (define-public xnee (package (name "xnee") - (version "3.18") + (version "3.19") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/xnee/xnee-" version ".tar.gz")) (sha256 (base32 - "0j6b27ry0w765040089ppwwdl313xfgn31yh3fpqy4gk0jv23m94")))) + "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j")))) (build-system gnu-build-system) (inputs - `(("recordproto" ,recordproto) + `(("gtk+", gtk+-2) ("inputproto" ,inputproto) + ("libx11" ,libx11) + ("libxext" ,libxext) ("libxi" ,libxi) ("libxtst" ,libxtst) + ("recordproto" ,recordproto) ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("xproto" ,xproto) - ("libx11" ,libx11))) + ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.gnu.org/software/xnee/") diff --git a/gnu/services/base.scm b/gnu/services/base.scm index d55eb3a5f9..17dd0fb599 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -598,7 +598,7 @@ GUIX." failed to register hydra.gnu.org public key: ~a~%" status)))))))) (define* (guix-service #:key (guix guix) (builder-group "guixbuild") - (build-accounts 10) authorize-hydra-key? + (build-accounts 10) (authorize-hydra-key? #t) (use-substitutes? #t) (extra-options '())) "Return a service that runs the build daemon from @var{guix}, and has diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index d97c54cc5d..671dafa194 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -40,15 +40,18 @@ @var{services}." (define build #~(begin - (use-modules (sxml simple)) + (use-modules (sxml simple) + (srfi srfi-1)) (define (services->sxml services) ;; Return the SXML 'includedir' clauses for DIRS. `(busconfig - ,@(map (lambda (dir) - `(includedir ,(string-append dir - "/etc/dbus-1/system.d"))) - services))) + ,@(append-map (lambda (dir) + `((includedir + ,(string-append dir "/etc/dbus-1/system.d")) + (servicedir ;for '.service' files + ,(string-append dir "/share/dbus-1/services")))) + services))) (mkdir #$output) (copy-file (string-append #$dbus "/etc/dbus-1/system.conf") diff --git a/gnu/system.scm b/gnu/system.scm index 78c63bb477..52698c9e22 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -372,6 +372,36 @@ This is the GNU system. Welcome.\n") "Return the default /etc/hosts file." (text-file "hosts" (local-host-aliases host-name))) +(define (emacs-site-file) + "Return the Emacs 'site-start.el' file. That file contains the necessary +settings for 'guix.el' to work out-of-the-box." + (gexp->file "site-start.el" + #~(progn + ;; Add the "normal" elisp directory to the search path; + ;; guix.el may be there. + (add-to-list + 'load-path + "/run/current-system/profile/share/emacs/site-lisp") + + ;; Attempt to load guix.el. + (require 'guix-init nil t) + + (when (require 'geiser-guile nil t) + ;; Make sure Geiser's Scheme modules are in Guile's search + ;; path. + (add-to-list + 'geiser-guile-load-path + "/run/current-system/profile/share/geiser/guile"))))) + +(define (emacs-site-directory) + "Return the Emacs site directory, aka. /etc/emacs." + (mlet %store-monad ((file (emacs-site-file))) + (gexp->derivation "emacs" + #~(begin + (mkdir #$output) + (chdir #$output) + (symlink #$file "site-start.el"))))) + (define* (etc-directory #:key (locale "C") (timezone "Europe/Paris") (issue "Hello!\n") @@ -390,6 +420,7 @@ This is the GNU system. Welcome.\n") /bin/sh /run/current-system/profile/bin/sh /run/current-system/profile/bin/bash\n")) + (emacs (emacs-site-directory)) (issue (text-file "issue" issue)) ;; For now, generate a basic config so that /etc/hosts is honored. @@ -410,12 +441,20 @@ export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH 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 + +# Append the directory of 'site-start.el' to the search path. +export EMACSLOADPATH=:/etc/emacs + +# By default, applications that use D-Bus, such as Emacs, abort at startup +# when /etc/machine-id is missing. Make sure these warnings are non-fatal. +export DBUS_FATAL_WARNINGS=0 ")) (skel (skeleton-directory skeletons))) (file-union "etc" `(("services" ,#~(string-append #$net-base "/etc/services")) ("protocols" ,#~(string-append #$net-base "/etc/protocols")) ("rpc" ,#~(string-append #$net-base "/etc/rpc")) + ("emacs" ,#~#$emacs) ("pam.d" ,#~#$pam.d) ("login.defs" ,#~#$login.defs) ("issue" ,#~#$issue) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 35462fff75..98b9d9de2b 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages disk) #:use-module (gnu packages grub) #:use-module (gnu packages texinfo) + #:use-module (gnu packages compression) #:export (installation-os)) ;;; Commentary: @@ -42,10 +43,14 @@ "Return a script that spawns the Info reader on the right section of the manual." (gexp->script "log-to-info" - #~(execl (string-append #$texinfo-4 "/bin/info") "info" - "-d" "/run/current-system/profile/share/info" - "-f" (string-append #$guix "/share/info/guix.info") - "-n" "System Installation"))) + #~(begin + ;; 'gunzip' is needed to decompress the doc. + (setenv "PATH" (string-append #$gzip "/bin")) + + (execl (string-append #$texinfo-4 "/bin/info") "info" + "-d" "/run/current-system/profile/share/info" + "-f" (string-append #$guix "/share/info/guix.info") + "-n" "System Installation")))) (define %backing-directory ;; Sub-directory used as the backing store for copy-on-write. diff --git a/gnu/system/os-config.tmpl b/gnu/system/os-config.tmpl index 662f085bfd..07b099531e 100644 --- a/gnu/system/os-config.tmpl +++ b/gnu/system/os-config.tmpl @@ -1,6 +1,8 @@ ;; This is an operating system configuration template. (use-modules (gnu)) +(use-service-modules xorg networking dbus avahi) +(use-package-modules avahi) (operating-system (host-name "antelope") @@ -31,4 +33,12 @@ ;; and access the webcam. (supplementary-groups '("wheel" "audio" "video")) - (home-directory "/home/alice"))))) + (home-directory "/home/alice")))) + + ;; Add services to the baseline: the SLiM log-in manager + ;; for Xorg sessions, a DHCP client, Avahi, and D-Bus. + (services (cons* (slim-service) + (dhcp-client-service) + (avahi-service) + (dbus-service (list avahi)) + %base-services))) |