aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages.scm22
-rw-r--r--gnu/packages/admin.scm13
-rw-r--r--gnu/packages/autotools.scm16
-rw-r--r--gnu/packages/cups.scm293
-rw-r--r--gnu/packages/emacs.scm12
-rw-r--r--gnu/packages/fonts.scm5
-rw-r--r--gnu/packages/freeipmi.scm4
-rw-r--r--gnu/packages/game-development.scm43
-rw-r--r--gnu/packages/games.scm34
-rw-r--r--gnu/packages/ghostscript.scm45
-rw-r--r--gnu/packages/glib.scm40
-rw-r--r--gnu/packages/gnome.scm42
-rw-r--r--gnu/packages/gnunet.scm4
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/gtk.scm6
-rw-r--r--gnu/packages/guile.scm32
-rw-r--r--gnu/packages/kde.scm25
-rw-r--r--gnu/packages/linux.scm81
-rw-r--r--gnu/packages/netpbm.scm31
-rw-r--r--gnu/packages/nvi.scm4
-rw-r--r--gnu/packages/package-management.scm1
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/nvi-db4.patch35
-rw-r--r--gnu/packages/patches/nvi-dbpagesize-binpower.patch35
-rw-r--r--gnu/packages/patches/pyqt-configure.patch15
-rw-r--r--gnu/packages/patches/util-linux-perl.patch15
-rw-r--r--gnu/packages/patches/util-linux-tests.patch30
-rw-r--r--gnu/packages/plotutils.scm32
-rw-r--r--gnu/packages/python.scm66
-rw-r--r--gnu/packages/qt.scm130
-rw-r--r--gnu/packages/rdf.scm36
-rw-r--r--gnu/packages/slang.scm70
-rw-r--r--gnu/packages/version-control.scm4
-rw-r--r--gnu/packages/video.scm59
-rw-r--r--gnu/packages/xnee.scm19
-rw-r--r--gnu/services/base.scm2
-rw-r--r--gnu/services/dbus.scm13
-rw-r--r--gnu/system.scm39
-rw-r--r--gnu/system/install.scm13
-rw-r--r--gnu/system/os-config.tmpl12
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)))