aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/audio.scm172
-rw-r--r--gnu/packages/fonts.scm56
-rw-r--r--gnu/packages/glib.scm6
-rw-r--r--gnu/packages/gnupg.scm10
-rw-r--r--gnu/packages/gtk.scm8
-rw-r--r--gnu/packages/linux.scm4
-rw-r--r--gnu/packages/lisp.scm49
-rw-r--r--gnu/packages/mail.scm31
-rw-r--r--gnu/packages/man.scm27
-rw-r--r--gnu/packages/mpd.scm62
-rw-r--r--gnu/packages/python.scm51
-rw-r--r--gnu/packages/web.scm7
-rw-r--r--gnu/packages/wget.scm10
-rw-r--r--gnu/packages/xdisorg.scm33
-rw-r--r--gnu/packages/xfce.scm72
-rw-r--r--gnu/services/xorg.scm12
16 files changed, 483 insertions, 127 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 42449e89c9..91d78b81a5 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -53,6 +53,40 @@
#:use-module (gnu packages xml)
#:use-module (srfi srfi-1))
+(define-public alsa-modular-synth
+ (package
+ (name "alsa-modular-synth")
+ (version "2.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/alsamodular/ams-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to
+ ;; license incompatibility.
+ ("clalsadrv" ,clalsadrv)
+ ("fftw" ,fftw)
+ ("jack" ,jack-1)
+ ("ladspa" ,ladspa)
+ ("liblo" ,liblo)
+ ("qt" ,qt-4)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://alsamodular.sourceforge.net/")
+ (synopsis "Realtime modular synthesizer and effect processor")
+ (description
+ "AlsaModularSynth is a digital implementation of a classical analog
+modular synthesizer system. It uses virtual control voltages to control the
+parameters of the modules. The control voltages which control the frequency
+e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
+Filter) modules follow the convention of 1V / Octave.")
+ (license license:gpl2)))
+
(define-public aubio
(package
(name "aubio")
@@ -199,6 +233,51 @@ bass section with five drawbars. A standalone JACK application and LV2
plugins are provided.")
(license license:gpl2)))
+(define-public clalsadrv
+ (package
+ (name "clalsadrv")
+ (version "2.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/clalsadrv-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "libs/Makefile"
+ (("/sbin/ldconfig") "true")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (alist-cons-after
+ 'unpack
+ 'enter-directory
+ (lambda _ (chdir "libs"))
+ (alist-cons-after
+ 'install
+ 'install-symlink
+ (lambda _
+ (symlink "libclalsadrv.so"
+ (string-append (assoc-ref %outputs "out")
+ "/lib/libclalsadrv.so.2")))
+ ;; no configure script
+ (alist-delete 'configure %standard-phases)))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("fftw" ,fftw)))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "C++ wrapper around the ALSA API")
+ (description
+ "clalsadrv is a C++ wrapper around the ALSA API simplifying access to
+ALSA PCM devices.")
+ (license license:gpl2+)))
+
(define-public freepats
(package
(name "freepats")
@@ -499,6 +578,52 @@ add functionality to support the needs of increasingly powerful audio
software.")
(license license:isc)))
+(define-public lv2-mda-piano
+ (package
+ (name "lv2-mda-piano")
+ (version "0.0.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitorious.org/lv2-synths/lv2-mdametapiano.git")
+ (commit version)))
+ (sha256
+ (base32
+ "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list
+ "TYPE=mdaPiano"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:tests? #f ; no check target
+ #:phases (alist-delete 'configure %standard-phases)))
+ (inputs
+ `(("lv2" ,lv2)
+ ("lvtk" ,lvtk)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (home-page "http://elephly.net/lv2/mdapiano.html")
+ (synopsis "LV2 port of the mda Piano plugin")
+ (description "An LV2 port of the mda Piano VSTi.")
+ (license license:gpl3+)))
+
+(define-public lv2-mda-epiano
+ (package (inherit lv2-mda-piano)
+ (name "lv2-mda-epiano")
+ (arguments
+ `(#:make-flags (list
+ "TYPE=mdaEPiano"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:tests? #f ; no check target
+ #:phases (alist-delete 'configure %standard-phases)))
+ (home-page "http://elephly.net/lv2/mdaepiano.html")
+ (synopsis "LV2 port of the mda EPiano plugin")
+ (description "An LV2 port of the mda EPiano VSTi.")))
+
(define-public lvtk
(package
(name "lvtk")
@@ -895,3 +1020,50 @@ portions of LAME.")
to record and/or play sound using a callback function or a blocking read/write
interface.")
(license license:expat)))
+
+(define-public zita-alsa-pcmi
+ (package
+ (name "zita-alsa-pcmi")
+ (version "0.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/zita-alsa-pcmi-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "libs/Makefile"
+ (("ldconfig") "true")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (alist-cons-after
+ 'unpack
+ 'enter-directory
+ (lambda _ (chdir "libs"))
+ (alist-cons-after
+ 'install
+ 'install-symlink
+ (lambda _
+ (symlink "libzita-alsa-pcmi.so"
+ (string-append (assoc-ref %outputs "out")
+ "/lib/libzita-alsa-pcmi.so.0")))
+ ;; no configure script
+ (alist-delete 'configure %standard-phases)))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("fftw" ,fftw)))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "C++ wrapper around the ALSA API")
+ (description
+ "Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy
+access to ALSA PCM devices, taking care of the many functions required to
+open, initialise and use a hw: device in mmap mode, and providing floating
+point audio data.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 94993f0d08..77abc2b700 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -303,3 +304,58 @@ The Liberation Fonts are sponsored by Red Hat.")
(description "Terminus Font is a clean, fixed width bitmap font, designed
for long (8 and more hours per day) work with computers.")
(license license:silofl1.1)))
+
+(define-public font-adobe-source-han-sans
+ (package
+ (name "font-adobe-source-han-sans")
+ (version "1.001R")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/adobe-fonts/source-han-sans/archive/"
+ version ".tar.gz"))
+ (file-name (string-append "source-han-sans-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0cwz3d8jancl0a7vbjxhnh1vgwsjba62lahfjya9yrjkp1ndxlap"))))
+ (outputs '("out" ; OpenType/CFF Collection (OTC), 119 MiB.
+ "cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF.
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((tar (string-append (assoc-ref %build-inputs
+ "tar")
+ "/bin/tar"))
+ (PATH (string-append (assoc-ref %build-inputs
+ "gzip")
+ "/bin"))
+ (install-opentype-fonts
+ (lambda (fonts-dir out)
+ (copy-recursively fonts-dir
+ (string-append (assoc-ref %outputs out)
+ "/share/fonts/opentype")))))
+ (setenv "PATH" PATH)
+ (system* tar "xvf" (assoc-ref %build-inputs "source"))
+ (chdir (string-append "source-han-sans-" ,version))
+ (install-opentype-fonts "OTC" "out")
+ (install-opentype-fonts "SubsetOTF/CN" "cn")
+ (install-opentype-fonts "SubsetOTF/JP" "jp")
+ (install-opentype-fonts "SubsetOTF/KR" "kr")
+ (install-opentype-fonts "SubsetOTF/TW" "tw")))))
+ (native-inputs
+ `(("gzip" ,gzip)
+ ("tar" ,tar)))
+ (home-page "https://github.com/adobe-fonts/source-han-sans")
+ (synopsis "Pan-CJK fonts")
+ (description
+ "Source Han Sans is a sans serif Pan-CJK font family that is offered in
+seven weights: ExtraLight, Light, Normal, Regular, Medium, Bold, and Heavy.
+And in several OpenType/CFF-based deployment configurations to accommodate
+various system requirements or limitations. As the name suggests, Pan-CJK
+fonts are intended to support the characters necessary to render or display
+text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.
+")
+ (license license:asl2.0)))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 66ee4fae97..a2c01e6440 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -212,11 +212,11 @@ dynamic loading, and an object system.")
"/gobject-introspection-" version ".tar.xz"))
(sha256
(base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv"))
- (patches (list
+ (patches (list
(search-patch "gobject-introspection-cc.patch")
(search-patch
"gobject-introspection-girepository.patch")
- (search-patch
+ (search-patch
"gobject-introspection-absolute-shlib-path.patch")))))
(build-system gnu-build-system)
(inputs
@@ -466,7 +466,7 @@ useful for C++.")
(inputs
`(("python" ,python-2)
("glib" ,glib)
- ("python2-py2cairo" ,python2-py2cairo)
+ ("python2-pycairo" ,python2-pycairo)
("gobject-introspection" ,gobject-introspection)))
(propagated-inputs
`(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 63756a7925..b920f83c93 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.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 © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
@@ -231,14 +231,14 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gnupg-2.0
(package (inherit gnupg)
- (version "2.0.26")
+ (version "2.0.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "1q5qcl5panrvcvpwvz6nl9gayl5a6vwvfhgdcxqpmbl2qc6y6n3p"))))
+ "1wihx7dphacg9fy5wfj93h236lr1w5gwzh7ir3js37wi9cz6sr2p"))))
(inputs
`(("bzip2" ,guix:bzip2)
("curl" ,curl)
@@ -261,14 +261,14 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gnupg-1
(package (inherit gnupg)
- (version "1.4.18")
+ (version "1.4.19")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "1233bppjvdpbbl425ii6l7xvgy0879ghhnmwrph5b6c4g3dgvddp"))))
+ "11pxx26sfilh0vswylh9mhiifw5yffw7nn733zknw3sb0jfk22bz"))))
(inputs
`(("zlib" ,guix:zlib)
("bzip2" ,guix:bzip2)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 424b6e0f87..e33bcd5a27 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -533,7 +533,7 @@ graphics library with all of the benefits of Scheme: memory management,
exceptions, macros, and a dynamic programming environment.")
(license license:lgpl3+)))
-
+
;;;
;;; C++ bindings.
;;;
@@ -706,9 +706,9 @@ extensive documentation, including API reference and a tutorial.")
"Pycairo is a set of Python bindings for the Cairo graphics library.")
(license license:lgpl3+)))
-(define-public python2-py2cairo
+(define-public python2-pycairo
(package (inherit python-pycairo)
- (name "python2-py2cairo")
+ (name "python2-pycairo")
(version "1.10.0")
(source
(origin
@@ -744,7 +744,7 @@ extensive documentation, including API reference and a tutorial.")
`(("python" ,python-2)
("glib" ,glib)))
(propagated-inputs
- `(("python-pycairo" ,python2-py2cairo) ;loaded at runtime
+ `(("python-pycairo" ,python2-pycairo) ;loaded at runtime
("python-pygobject" ,python2-pygobject-2) ;referenced in pc file
("gtk+" ,gtk+-2)))
(arguments
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4bd3592672..6af90426a7 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -198,7 +198,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
#f)))
(define-public linux-libre
- (let* ((version "3.18.7")
+ (let* ((version "3.18.8")
(build-phase
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Apply the neat patch.
@@ -271,7 +271,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(uri (linux-libre-urls version))
(sha256
(base32
- "113r2dzmiwlchp5b3hyjyx91jysx5j4hhxjw45gaky5nj9pax2rh"))))
+ "1ai2krm0svq52z4nm0qyw3q3ybfia83zvpv1f38q1wkllwq0gi6j"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
("bc" ,bc)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 5db3fa98f9..c592fbd83f 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -97,7 +97,7 @@ interface to the Tk widget system.")
(define-public ecl
(package
(name "ecl")
- (version "13.5.1")
+ (version "15.2.21")
(source
(origin
(method url-fetch)
@@ -105,33 +105,40 @@ interface to the Tk widget system.")
(version-major+minor version)
"/ecl-" version ".tgz"))
(sha256
- (base32 "18ic8w9sdl0dh3kmyc9lsrafikrd9cg1jkhhr25p9saz0v75f77r"))))
+ (base32 "05di23v977byf67rq5bdshw8lqbby1ycbscdcl1vca0z6r1s204j"))))
(build-system gnu-build-system)
+ ;; src/configure uses 'which' to confirm the existence of 'gzip'.
(native-inputs `(("which" ,which)))
(inputs `(("gmp" ,gmp)
("libatomic-ops" ,libatomic-ops)
("libgc" ,libgc)
("libffi" ,libffi)))
(arguments
- '(#:phases
- ;; The test-suite seems to assume that ECL is installed. So re-order
- ;; the phases, then reference the installed executable.
- (let* ((check-phase (assq-ref %standard-phases 'check))
- (rearranged-phases
- (alist-cons-after 'install 'check check-phase
- (alist-delete 'check %standard-phases))))
- (alist-cons-before
- 'check 'pre-check
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* '("build/tests/Makefile")
- (("ECL=ecl")
- (string-append
- "ECL=" (assoc-ref outputs "out") "/bin/ecl"))))
- rearranged-phases))
- ;; Parallel builds explicitly not supported:
- ;; http://sourceforge.net/p/ecls/bugs/98/
- #:parallel-build? #f
- #:parallel-tests? #f))
+ '(#:tests? #f
+ ;; During 'make check', ECL fails to initialize with "protocol not
+ ;; supported", presumably because /etc/protocols is missing in the
+ ;; build environment. See <http://sourceforge.net/p/ecls/bugs/300/>.
+ ;;
+ ;; Should the test suite be re-enabled, it might be necessary to add
+ ;; '#:parallel-tests #f'. See the same bug report as above.
+ ;;
+ ;; The following might also be necessary, due to 'make check' assuming
+ ;; ECL is installed. See <http://sourceforge.net/p/ecls/bugs/299/>.
+ ;;
+ ;; #:phases
+ ;; (let* ((check-phase (assq-ref %standard-phases 'check))
+ ;; (rearranged-phases
+ ;; (alist-cons-after 'install 'check check-phase
+ ;; (alist-delete 'check %standard-phases))))
+ ;; (alist-cons-before
+ ;; 'check 'pre-check
+ ;; (lambda* (#:key outputs #:allow-other-keys)
+ ;; (substitute* '("build/tests/Makefile")
+ ;; (("ECL=ecl")
+ ;; (string-append
+ ;; "ECL=" (assoc-ref outputs "out") "/bin/ecl"))))
+ ;; rearranged-phases))
+ ))
(home-page "http://ecls.sourceforge.net/")
(synopsis "Embeddable Common Lisp")
(description "ECL is an implementation of the Common Lisp language as
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 0dfc282ea8..33076c1a60 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -305,18 +306,22 @@ repository and Maildir/IMAP as LOCAL repository.")
(define-public mu
(package
(name "mu")
- (version "0.9.9.5")
+ (version "0.9.11")
(source (origin
(method url-fetch)
- (uri (string-append "https://mu0.googlecode.com/files/mu-"
+ (uri (string-append "https://github.com/djcb/mu/archive/v"
version ".tar.gz"))
+ (file-name (string-append "mu-" version ".tar.gz"))
(sha256
(base32
- "1hwkliyb8fjrz5sw9fcisssig0jkdxzhccw0ld0l9a10q1l9mqhp"))))
+ "01n1lzq4pfsm5pn932p948d1z55yqc7kkm1ifjxjchb3k8lr66fh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; for gtester
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
("texinfo" ,texinfo)))
;; TODO: Add webkit and gtk to build the mug GUI.
(inputs
@@ -327,14 +332,18 @@ repository and Maildir/IMAP as LOCAL repository.")
("gmime" ,gmime)
("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c
(arguments
- '(#:phases (alist-cons-before
- 'check 'check-tz-setup
- (lambda* (#:key inputs #:allow-other-keys)
- ;; For mu/test/test-mu-query.c
- (setenv "TZDIR"
- (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo")))
- %standard-phases)))
+ '(#:phases (alist-cons-after
+ 'unpack 'autoreconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vi")))
+ (alist-cons-before
+ 'check 'check-tz-setup
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; For mu/test/test-mu-query.c
+ (setenv "TZDIR"
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo")))
+ %standard-phases))))
(home-page "http://www.djcbsoftware.nl/code/mu/")
(synopsis "Quickly find emails")
(description
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 712622aee8..3507c0c1fb 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages groff)
#:use-module (gnu packages less)
@@ -176,3 +178,28 @@ Linux kernel and C library interfaces employed by user-space programs.")
\"--help\" and \"--version\" command-line arguments into a manual page
automatically.")
(license gpl3+)))
+
+(define-public txt2man
+ (package
+ (name "txt2man")
+ (version "1.5.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mvertes/txt2man/archive/txt2man-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0sjq687jknq65wbnjh2siq8hc09ydpnlmrkrnwl66mrhd4n9g7fz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:phases (alist-delete 'configure %standard-phases)))
+ (inputs
+ `(("gawk" ,gawk)))
+ (home-page "https://github.com/mvertes/txt2man")
+ (synopsis "Convert text to man page")
+ (description "Txt2man converts flat ASCII text to man page format.")
+ (license gpl2+)))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index a1b427271d..2d7ca6ef37 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +28,8 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages avahi)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages doxygen)
@@ -35,16 +38,13 @@
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages databases)
#:use-module (gnu packages video)
- #:use-module (gnu packages xiph)
- #:export (libmpdclient
- mpd
- ncmpc
- ncmpcpp))
+ #:use-module (gnu packages xiph))
-(define libmpdclient
+(define-public libmpdclient
(package
(name "libmpdclient")
(version "2.9")
@@ -65,7 +65,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(home-page "http://www.musicpd.org/libs/libmpdclient/")
(license license:bsd-3)))
-(define mpd
+(define-public mpd
(package
(name "mpd")
(version "0.18.8")
@@ -126,7 +126,29 @@ protocol.")
(home-page "http://www.musicpd.org/")
(license license:gpl2)))
-(define ncmpc
+(define-public mpd-mpc
+ (package
+ (name "mpd-mpc")
+ (version "0.26")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://www.musicpd.org/download/mpc/"
+ (car (string-split version #\.))
+ "/mpc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0hp2qv6w2v902dhrmck5hg32s1ai6xiv9n61a3n6prfcfdqmywr0"))))
+ (build-system gnu-build-system)
+ (inputs `(("libmpdclient" ,libmpdclient)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (synopsis "Music Player Daemon client")
+ (description "MPC is a minimalist command line interface to MPD, the music
+player daemon.")
+ (home-page "http://www.musicpd.org/clients/mpc/")
+ (license license:gpl2)))
+
+(define-public ncmpc
(package
(name "ncmpc")
(version "0.21")
@@ -150,10 +172,10 @@ terminal using ncurses.")
(home-page "http://www.musicpd.org/clients/ncmpc/")
(license license:gpl2)))
-(define ncmpcpp
+(define-public ncmpcpp
(package
(name "ncmpcpp")
- (version "0.5.10")
+ (version "0.6.2")
(source (origin
(method url-fetch)
(uri
@@ -161,11 +183,27 @@ terminal using ncurses.")
version ".tar.bz2"))
(sha256
(base32
- "1a54g6dary1rirrny9fd0hpxpyyffypni3mpbdpvmjnrl9v56vgz"))))
+ "1mrd6m6ph0fscxp9x96ipxh6ai7w0n1miapcfqrqfy058qx5zbck"))))
(build-system gnu-build-system)
(inputs `(("libmpdclient" ,libmpdclient)
+ ("boost" ,boost)
+ ("readline" ,readline)
("ncurses" ,ncurses)))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("libtool" ,libtool)))
+ (arguments
+ '(#:configure-flags
+ '("BOOST_LIB_SUFFIX=")
+ #:phases
+ (alist-cons-after
+ 'unpack 'autogen
+ (lambda _
+ (setenv "NOCONFIGURE" "true")
+ (zero? (system* "sh" "autogen.sh")))
+ %standard-phases)))
(synopsis "Featureful ncurses based MPD client inspired by ncmpc")
(description "Ncmpcpp is an mpd client with a UI very similar to ncmpc,
but it provides new useful features such as support for regular expressions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e044e1955b..3cf2c545ed 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2078,14 +2078,11 @@ capabilities.")
(define-public python2-numpy
(let ((numpy (package-with-python2 python-numpy)))
(package (inherit numpy)
- ;; Make sure we use exactly PYTHON2-NUMPYDOC, which is customized for
- ;; Python 2. Since it is also an input to PYTHON2-MATPLOTLIB, we need to
- ;; import the right version of 'matplotlib' as well.
- (inputs `(("python2-numpydoc" ,python2-numpydoc)
- ("python2-matplotlib" ,python2-matplotlib)
- ,@(alist-delete "python-numpydoc"
- (alist-delete "python-matplotlib"
- (package-inputs numpy))))))))
+ ;; Make sure we use exactly PYTHON2-MATPLOTLIB, which is customized for
+ ;; Python 2.
+ (inputs `(("python2-matplotlib" ,python2-matplotlib)
+ ,@(alist-delete "python-matplotlib"
+ (package-inputs numpy)))))))
(define-public python-pyparsing
(package
@@ -2147,7 +2144,15 @@ that client code uses to construct the grammar directly in Python code.")
version ".tar.gz"))
(sha256
(base32
- "0d4dnifaxkll50jx6czj05y8cb4ny60njd2wz299sj2jxfy51w4k"))))
+ "0d4dnifaxkll50jx6czj05y8cb4ny60njd2wz299sj2jxfy51w4k"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Drop a test requiring matplotlib, which we cannot add as an
+ ;; input since it would create a circular dependency: Extend the
+ ;; test for Python 3, where it is already dropped, to Python 2.
+ (substitute* "numpydoc/tests/test_plot_directive.py"
+ (("3") "2"))))))
(build-system python-build-system)
(inputs
`(("python-setuptools" ,python-setuptools)
@@ -2162,13 +2167,7 @@ that client code uses to construct the grammar directly in Python code.")
(license bsd-2)))
(define-public python2-numpydoc
- (package
- (inherit (package-with-python2 python-numpydoc))
- ;; With python-2 1 test (out of 30) fails because it doesn't find
- ;; matplotlib. With python-3 it seems to detect at run-time the absence
- ;; of matplotlib.
- (arguments `(#:tests? #f
- #:python ,python-2))))
+ (package-with-python2 python-numpydoc))
(define-public python-matplotlib
(package
@@ -2281,19 +2280,15 @@ toolkits.")
(define-public python2-matplotlib
(let ((matplotlib (package-with-python2 python-matplotlib)))
(package (inherit matplotlib)
- ;; Make sure we use exactly PYTHON2-NUMPYDOC, which is
- ;; customized for Python 2.
+ ;; Make sure to use special packages for Python 2 instead
+ ;; of those automatically rewritten by package-with-python2.
(propagated-inputs
- `(("python2-py2cairo" ,python2-py2cairo)
+ `(("python2-pycairo" ,python2-pycairo)
("python2-pygobject-2" ,python2-pygobject-2)
,@(alist-delete "python-pycairo"
(alist-delete "python-pygobject"
(package-propagated-inputs
- matplotlib)))))
- (inputs
- `(("python2-numpydoc" ,python2-numpydoc)
- ,@(alist-delete "python-numpydoc"
- (package-inputs matplotlib)))))))
+ matplotlib))))))))
(define-public python-scipy
(package
@@ -2806,11 +2801,9 @@ computing.")
(package (inherit ipython)
;; Make sure we use custom python2-NAME packages.
(inputs
- `(("python2-numpydoc" ,python2-numpydoc)
- ("python2-matplotlib" ,python2-matplotlib)
- ,@(alist-delete "python-numpydoc"
- (alist-delete "python-matplotlib"
- (package-inputs ipython))))))))
+ `(("python2-matplotlib" ,python2-matplotlib)
+ ,@(alist-delete "python-matplotlib"
+ (package-inputs ipython)))))))
(define-public python-isodate
(package
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f0f974661b..5f917511f9 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -248,7 +248,12 @@ for efficient socket-like bidirectional reliable communication channels.")
(sha256
(base32
"10s7xxxx6pp4ydp3san69sa6q379ih3pv92fyi565ggmlw8igv7a"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Believe it or not, the .pc is invalid. Fix it.
+ '(substitute* "libpsl.pc.in"
+ (("-llibpsl") "-lpsl")))))
(build-system gnu-build-system)
(inputs `(("icu4c" ,icu4c)))
;; The release tarball lacks the generated files.
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index 8debe4baea..3ca297d90c 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,6 +24,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages perl)
#:use-module (gnu packages web)
+ #:use-module (gnu packages pkg-config)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -31,7 +32,7 @@
(define-public wget
(package
(name "wget")
- (version "1.16.1")
+ (version "1.16.2")
(source
(origin
(method url-fetch)
@@ -39,14 +40,15 @@
version ".tar.xz"))
(sha256
(base32
- "0csdw41hixa4kd0m19r7p41sip1hlnkp5y62bdzq9zhmxq3wg5ib"))))
+ "1mfpvhgzvpvw36wmkwyyds3ilz74s2gn8yjqvynkbc8frcdxxpx7"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
("libidn" ,libidn)
("libpsl" ,libpsl)))
(native-inputs
- `(("perl" ,perl)
+ `(("pkg-config" ,pkg-config)
+ ("perl" ,perl)
("python" ,python) ;for testenv suite
("perl-http-daemon" ,perl-http-daemon)
("perl-io-socket-ssl" ,perl-io-socket-ssl)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index d0c983dc78..67aa34a84b 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +33,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages perl)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages xorg))
;; packages outside the x.org system proper
@@ -420,3 +422,34 @@ X Window System.")
"XOSD provides a C library and a simple utility (osd_cat) for displaying
transparent text on your screen.")
(license license:gpl2+)))
+
+(define-public xbindkeys
+ (package
+ (name "xbindkeys")
+ (version "1.8.6")
+ (source (origin
+ (method url-fetch)
+ ;; Download from the savannah mirror list fails
+ (uri (string-append
+ "http://www.nongnu.org/xbindkeys/xbindkeys-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "060df6d8y727jp1inp7blp44cs8a7jig7vcm8ndsn6gw36z1h3bc"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libx11" ,libx11)
+ ("guile" ,guile-2.0)))
+ (home-page "http://www.nongnu.org/xbindkeys/")
+ (synopsis "Associate a combination of keys with a shell command")
+ (description
+ "XBindKeys is a program that allows you to launch shell commands with
+your keyboard or your mouse under the X Window System. It links commands to
+keys or mouse buttons, using a configuration file. It's independent of the
+window manager and can capture all keyboard keys (ex: Power, Wake...). It
+optionally supports a Guile-based configuration file layout, which enables you
+to access all XBindKeys internals, so you can have key combinations, double
+clicks or timed double clicks take actions. Also all functions that work in
+Guile will work for XBindKeys.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index fb5427c94d..3ec081133a 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -65,7 +65,7 @@
(define-public libxfce4util
(package
(name "libxfce4util")
- (version "4.10.0")
+ (version "4.12.1")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -73,7 +73,7 @@
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"))))
+ "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -120,7 +120,7 @@ storage system.")
(define-public libxfce4ui
(package
(name "libxfce4ui")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -128,7 +128,7 @@ storage system.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"))))
+ "11rrhqxnfwx5jls3nlg9s2x8saag9f2zqk9cdm6hr3bs6cr9a781"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -151,14 +151,14 @@ to share commonly used Xfce widgets amoung the Xfce applications.")
(define-public exo
(package
(name "exo")
- (version "0.8.0")
+ (version "0.10.3")
(source (origin
(method url-fetch)
- (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+ (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "1c05pbagw14djv5zmqg34qfj40jav8sd10w2zi2wpzrad4qal8bf"))))
+ "1g9651ra395v2fmzb943l68b9pg0rfxc19x97a62crchxwa4nw4m"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -182,21 +182,21 @@ development.")
(define-public garcon
(package
(name "garcon")
- (version "0.2.0")
+ (version "0.4.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+ (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"))))
+ "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("glib:bin" ,glib "bin")))
- (propagated-inputs `(("glib" ,glib))) ; required by garcon-1.pc
- (inputs `(("libxfce4util" ,libxfce4util)))
+ (propagated-inputs
+ `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc
(home-page "http://www.xfce.org/")
(synopsis "Implementation of the freedesktop.org menu specification")
(description
@@ -209,14 +209,14 @@ merging features essential for loading menus modified with menu editors.")
(define-public tumbler
(package
(name "tumbler")
- (version "0.1.30")
+ (version "0.1.31")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/src/xfce/tumbler/0.1/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "013kacqyy1vya7kp6jgc1almp3cbbvq96a3r7f5myiihr1whvhp7"))))
+ "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -244,7 +244,7 @@ management D-Bus specification.")
(define-public xfce4-panel
(package
(name "xfce4-panel")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -252,7 +252,7 @@ management D-Bus specification.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"))
+ "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"))
(patches (list (search-patch "xfce4-panel-plugins.patch")))))
(build-system gnu-build-system)
(native-inputs
@@ -309,7 +309,7 @@ applications menu, workspace switcher and more.")
(define-public xfce4-appfinder
(package
(name "xfce4-appfinder")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -317,7 +317,7 @@ applications menu, workspace switcher and more.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "0falckrziw8m1a72nxd7fqq84r3xfbrb6lv35flsca346rzawah4"))))
+ "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -335,7 +335,7 @@ your system in categories, so you can quickly find and launch them.")
(define-public xfce4-session
(package
(name "xfce4-session")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -343,7 +343,7 @@ your system in categories, so you can quickly find and launch them.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"))))
+ "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -366,7 +366,7 @@ allows you to shutdown the computer from Xfce.")
(define-public xfce4-settings
(package
(name "xfce4-settings")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -374,7 +374,7 @@ allows you to shutdown the computer from Xfce.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"))))
+ "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -397,14 +397,14 @@ like appearance, display, keyboard and mouse settings.")
(define-public thunar
(package
(name "thunar")
- (version "1.4.0")
+ (version "1.6.6")
(source (origin
(method url-fetch)
- (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+ (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
"Thunar-" version ".tar.bz2"))
(sha256
(base32
- "1fn8wjzkfvnx2giv3rrg2cyrr2c96f9mskgvcji0ixyfcjga249c"))))
+ "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -428,14 +428,14 @@ fast.")
(define-public thunar-volman
(package
(name "thunar-volman")
- (version "0.8.0")
+ (version "0.8.1")
(source (origin
(method url-fetch)
- (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+ (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z"))))
+ "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -458,7 +458,7 @@ and import the new pictures from your camera.")
(define-public xfwm4
(package
(name "xfwm4")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -466,16 +466,18 @@ and import the new pictures from your camera.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"))))
+ "0fnc2ps4k733n9qfpxrz047h1myyqjzxczl7fmkjmqwshvicpx19"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
- `(("libwnck", libwnck-1)
+ `(("libdrm" ,libdrm)
+ ("libwnck" ,libwnck-1)
+ ("libxcomposite" ,libxcomposite)
+ ("libxdamage" ,libxdamage)
("libxfce4ui" ,libxfce4ui)
- ("libxrandr" ,libxrandr)
- ("libxcomposite" ,libxcomposite)))
+ ("libxrandr" ,libxrandr)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce window manager")
(description
@@ -486,7 +488,7 @@ on the screen.")
(define-public xfdesktop
(package
(name "xfdesktop")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -494,7 +496,7 @@ on the screen.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"))))
+ "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 69a89584e0..bc1774840b 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -155,6 +155,13 @@ which should be passed to this script as the first argument. If not, the
#~(begin
(use-modules (ice-9 match))
+ (define (close-all-fdes)
+ ;; Close all the open file descriptors.
+ (let loop ((fd 0))
+ (when (< fd 4096) ;FIXME: use sysconf + _SC_OPEN_MAX
+ (false-if-exception (close-fdes fd))
+ (loop (+ 1 fd)))))
+
(define (exec-from-login-shell command . args)
;; Run COMMAND from a login shell so that it gets to see the same
;; environment variables that one gets when logging in on a tty, for
@@ -163,6 +170,11 @@ which should be passed to this script as the first argument. If not, the
(shell (passwd:shell pw))
(st (stat command #f)))
(when (and st (not (zero? (logand (stat:mode st) #o100))))
+ ;; Close any open file descriptors. This is all the more
+ ;; important that SLiM itself exec's us directly without closing
+ ;; its own file descriptors!
+ (close-all-fdes)
+
;; The '--login' option is supported at least by Bash and zsh.
(execl shell shell "--login" "-c"
(string-join (cons command args))))))