aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/activation.scm5
-rw-r--r--gnu/packages/algebra.scm6
-rw-r--r--gnu/packages/audio.scm313
-rw-r--r--gnu/packages/bioinformatics.scm116
-rw-r--r--gnu/packages/bittorrent.scm4
-rw-r--r--gnu/packages/commencement.scm4
-rw-r--r--gnu/packages/databases.scm46
-rw-r--r--gnu/packages/disk.scm37
-rw-r--r--gnu/packages/emacs.scm59
-rw-r--r--gnu/packages/fonts.scm22
-rw-r--r--gnu/packages/fontutils.scm60
-rw-r--r--gnu/packages/freedesktop.scm5
-rw-r--r--gnu/packages/gcc.scm2
-rw-r--r--gnu/packages/gnome.scm45
-rw-r--r--gnu/packages/gtk.scm29
-rw-r--r--gnu/packages/guile.scm7
-rw-r--r--gnu/packages/image.scm105
-rw-r--r--gnu/packages/kodi.scm2
-rw-r--r--gnu/packages/libusb.scm5
-rw-r--r--gnu/packages/linux.scm36
-rw-r--r--gnu/packages/mail.scm6
-rw-r--r--gnu/packages/maths.scm10
-rw-r--r--gnu/packages/messaging.scm4
-rw-r--r--gnu/packages/mpd.scm33
-rw-r--r--gnu/packages/music.scm167
-rw-r--r--gnu/packages/package-management.scm4
-rw-r--r--gnu/packages/patches/libotr-test-auth-fix.patch15
-rw-r--r--gnu/packages/patches/python-rarfile-fix-tests.patch14
-rw-r--r--gnu/packages/perl.scm26
-rw-r--r--gnu/packages/python.scm237
-rw-r--r--gnu/packages/ruby.scm4
-rw-r--r--gnu/packages/scheme.scm34
-rw-r--r--gnu/packages/statistics.scm89
-rw-r--r--gnu/packages/textutils.scm43
-rw-r--r--gnu/packages/version-control.scm20
-rw-r--r--gnu/services/desktop.scm66
-rw-r--r--gnu/services/xorg.scm9
-rw-r--r--gnu/system/shadow.scm33
38 files changed, 1532 insertions, 190 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 352e736050..ae614994d6 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -91,7 +91,8 @@
(mkdir-p home)
(for-each (lambda (file)
(let ((target (string-append home "/" file)))
- (copy-file (string-append directory "/" file) target)
+ (copy-recursively (string-append directory "/" file)
+ target)
(make-file-writable target)))
files)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 85ec61c1b1..11fb460df5 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -67,7 +67,7 @@ multiplication routines such as Toom–Cook and the FFT.")
(define-public cm
(package
(name "cm")
- (version "0.2.1")
+ (version "0.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -75,7 +75,7 @@ multiplication routines such as Toom–Cook and the FFT.")
version ".tar.gz"))
(sha256
(base32
- "1r5dx5qy0ka2sq26n9jll9iy4sjqg0jp5r3jnbjhpgxvmj8jbhq8"))))
+ "1nf5kr0nqmhbzrsrinky18z0ighjpsmb5cr8zyg8jf04bfbyrfmc"))))
(build-system gnu-build-system)
(propagated-inputs
`(("mpfrcx" ,mpfrcx)
@@ -89,7 +89,7 @@ imaginary quadratic number fields and of elliptic curves with complex
multiplication via floating point approximations. It consists of libraries
that can be called from within a C program and of executable command
line applications.")
- (license license:gpl2+)
+ (license license:gpl3+)
(home-page "http://cm.multiprecision.org/")))
(define-public fplll
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 7040e7958c..ca438f8077 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -406,6 +406,319 @@ language and software synthesizer.")
ALSA PCM devices.")
(license license:gpl2+)))
+(define-public amb-plugins
+ (package
+ (name "amb-plugins")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/AMB-plugins-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0x4blm4visjqj0ndqr0cg776v3b7lvplpc8cgi9n51llhavn0jpl"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory-and-tool-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr/lib/ladspa")
+ (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ (("/usr/bin/install") (which "install"))
+ (("/bin/rm") "#"))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "LADSPA ambisonics plugins")
+ (description
+ "The AMB plugins are a set of LADSPA ambisonics plugins, mainly to be
+used within Ardour. Features include: mono and stereo to B-format panning,
+horizontal rotator, square, hexagon and cube decoders.")
+ (license license:gpl2+)))
+
+(define-public mcp-plugins
+ (package
+ (name "mcp-plugins")
+ (version "0.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/MCP-plugins-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "06a9r1l85jmg7l1cvc3788mk8ra0xagjfy1rmhw3b80y4n0vlnvc"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "Chorus, phaser, and vintage high-pass and low-pass filters")
+ (description
+ "This package provides various LADSPA plugins. @code{cs_chorus} and
+@code{cs_phaser} provide chorus and phaser effects, respectively;
+@code{mvclpf24} provides four implementations of the low-pass filter used in
+vintage Moog synthesizers; @code{mvchpf24} is based on the voltage-controlled
+high-pass filter by Robert Moog. The filters attempt to accurately emulate
+the non-linear circuit elements of their original analog counterparts.")
+ (license license:gpl2+)))
+
+(define-public rev-plugins
+ (package
+ (name "rev-plugins")
+ (version "0.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/REV-plugins-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1ikpinxm00pkfi259bnkzhsy3miagrjgdihaaf5x4v7zac29j3g7"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "LADSPA reverb plugin")
+ (description
+ "This package provides a stereo reverb LADSPA plugin based on the
+well-known greverb.")
+ (license license:gpl2+)))
+
+(define-public fil-plugins
+ (package
+ (name "fil-plugins")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/FIL-plugins-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1scfv9j7jrp50r565haa4rvxn1vk2ss86xssl5qgcr8r45qz42qw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "LADSPA four-band parametric equalizer plugin")
+ (description
+ "This package provides a LADSPA plugin for a four-band parametric
+equalizer. Each section has an active/bypass switch, frequency, bandwidth and
+gain controls. There is also a global bypass switch and gain control.
+
+The 2nd order resonant filters are implemented using a Mitra-Regalia style
+lattice filter, which is stable even while parameters are being changed.
+
+All switches and controls are internally smoothed, so they can be used 'live'
+without any clicks or zipper noises. This makes this plugin suitable for use
+in systems that allow automation of plugin control ports, such as Ardour, or
+for stage use.")
+ (license license:gpl2+)))
+
+(define-public ste-plugins
+ (package
+ (name "ste-plugins")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/STE-plugins-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0s3c9w5xihs87cnd1lh9xgj3maabjdyh6bl766qp5lhkg3ax8zy6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "LADSPA stereo width plugin")
+ (description
+ "This package provides a LADSPA plugin to manipulate the stereo width of
+audio signals.")
+ (license license:gpl2+)))
+
+(define-public vco-plugins
+ (package
+ (name "vco-plugins")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/VCO-plugins-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1xzqdg3b07r7zww05y9bb737l9dxvfkv28m3fyak1aazaci3rsgl"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") (assoc-ref outputs "out"))
+ (("/bin/cp") (which "cp")))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "LADSPA plugin for synthesizer oscillators")
+ (description
+ "The @code{blvco} LADSPA plugin provides three anti-aliased oscillators:
+
+@enumerate
+@item Pulse-VCO, a dirac pulse oscillator with flat amplitude spectrum
+@item Saw-VCO, a sawtooth oscillator with 1/F amplitude spectrum
+@item Rec-VCO, a square / rectange oscillator
+@end enumerate\n
+
+All oscillators are low-pass filtered to provide waveforms similar to the
+output of analog synthesizers such as the Moog Voyager.")
+ (license license:gpl2+)))
+
+(define-public wah-plugins
+ (package
+ (name "wah-plugins")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/WAH-plugins-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1wkbjarxdhjixkh7d5abralj11dj2xxg644fz3ycd7qyfgfvjfgd"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "LADSPA Autowah effect plugin")
+ (description
+ "This package provides a LADSPA plugin for a Wah effect with envelope
+follower.")
+ (license license:gpl2+)))
+
+(define-public g2reverb
+ (package
+ (name "g2reverb")
+ (version "0.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/g2reverb-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "18wb8vj1kky5glr76s34awbi8qzplsmf3wjbd7a12hfv4j0bkwrj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (add-before 'install 'prepare-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
+ #t))
+ (add-after 'unpack 'override-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "LADSPA stereo reverb plugin")
+ (description
+ "This package provides a LADSPA plugin for a stereo reverb effect.")
+ (license license:gpl2+)))
+
(define-public fluidsynth
(package
(name "fluidsynth")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4dd2ee6f92..281bd1f427 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -579,10 +579,11 @@ confidence to have in an alignment.")
(snippet
`(begin
;; Remove bundled boost, pigz, zlib, and .git directory
- ;; FIXME: also remove bundled sources for google-sparsehash,
- ;; murmurhash3, kmc once packaged.
+ ;; FIXME: also remove bundled sources for murmurhash3 and
+ ;; kmc once packaged.
(delete-file-recursively "boost")
(delete-file-recursively "pigz")
+ (delete-file-recursively "google-sparsehash")
(delete-file-recursively "zlib")
(delete-file-recursively ".git")
#t))))
@@ -632,6 +633,7 @@ confidence to have in an alignment.")
(inputs
`(("openmpi" ,openmpi)
("boost" ,boost)
+ ("sparsehash" ,sparsehash)
("pigz" ,pigz)
("zlib" ,zlib)))
(supported-systems '("x86_64-linux"))
@@ -919,6 +921,54 @@ also includes an interface for tabix.")
(define-public python2-pysam
(package-with-python2 python-pysam))
+(define-public cd-hit
+ (package
+ (name "cd-hit")
+ (version "4.6.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/weizhongli/cdhit"
+ "/releases/download/V" version
+ "/cd-hit-v" version "-2016-0304.tar.gz"))
+ (sha256
+ (base32
+ "15db0hq38yyifwqx9b6l34z14jcq576dmjavhj8a426c18lvnhp3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:make-flags
+ ;; Executables are copied directly to the PREFIX.
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out") "/bin"))
+ #:phases
+ (modify-phases %standard-phases
+ ;; No "configure" script
+ (delete 'configure)
+ ;; Remove sources of non-determinism
+ (add-after 'unpack 'be-timeless
+ (lambda _
+ (substitute* "cdhit-utility.c++"
+ ((" \\(built on \" __DATE__ \"\\)") ""))
+ (substitute* "cdhit-common.c++"
+ (("__DATE__") "\"0\"")
+ (("\", %s, \" __TIME__ \"\\\\n\", date") ""))
+ #t))
+ ;; The "install" target does not create the target directory
+ (add-before 'install 'create-target-dir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/bin"))
+ #t)))))
+ (inputs
+ `(("perl" ,perl)))
+ (home-page "http://weizhongli-lab.org/cd-hit/")
+ (synopsis "Cluster and compare protein or nucleotide sequences")
+ (description
+ "CD-HIT is a program for clustering and comparing protein or nucleotide
+sequences. CD-HIT is designed to be fast and handle extremely large
+databases.")
+ ;; The manual says: "It can be copied under the GNU General Public License
+ ;; version 2 (GPLv2)."
+ (license license:gpl2)))
+
(define-public clipper
(package
(name "clipper")
@@ -958,6 +1008,46 @@ also includes an interface for tabix.")
"CLIPper is a tool to define peaks in CLIP-seq datasets.")
(license license:gpl2)))
+(define-public codingquarry
+ (package
+ (name "codingquarry")
+ (version "2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/codingquarry/CodingQuarry_v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0115hkjflsnfzn36xppwf9h9avfxlavr43djqmshkkzbgjzsz60i"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/codingquarry")))
+ (install-file "INSTRUCTIONS.pdf" doc)
+ (copy-recursively "QuarryFiles"
+ (string-append out "/QuarryFiles"))
+ (install-file "CodingQuarry" bin)
+ (install-file "CufflinksGTF_to_CodingQuarryGFF3.py" bin)))))))
+ (inputs `(("openmpi" ,openmpi)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "QUARRY_PATH")
+ (files '("QuarryFiles")))))
+ (native-inputs `(("python" ,python-2))) ; Only Python 2 is supported
+ (synopsis "Fungal gene predictor")
+ (description "CodingQuarry is a highly accurate, self-training GHMM fungal
+gene predictor designed to work with assembled, aligned RNA-seq transcripts.")
+ (home-page "https://sourceforge.net/projects/codingquarry/")
+ (license license:gpl3+)))
+
(define-public couger
(package
(name "couger")
@@ -3847,6 +3937,28 @@ barplots or heatmaps.")
packages.")
(license license:artistic2.0)))
+(define-public r-dnacopy
+ (package
+ (name "r-dnacopy")
+ (version "1.44.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "DNAcopy" version))
+ (sha256
+ (base32
+ "1c1px4rbr36xx929hp59k7ca9k5ab66qmn8k63fk13278ncm6h66"))))
+ (properties
+ `((upstream-name . "DNAcopy")))
+ (build-system r-build-system)
+ (inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "https://bioconductor.org/packages/DNAcopy")
+ (synopsis "Implementation of a circular binary segmentation algorithm")
+ (description "This package implements the circular binary segmentation (CBS)
+algorithm to segment DNA copy number data and identify genomic regions with
+abnormal copy number.")
+ (license license:gpl2+)))
+
(define-public r-s4vectors
(package
(name "r-s4vectors")
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index ae67988d71..a930eabaf6 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -202,7 +202,7 @@ interface, for the Transmission BitTorrent daemon.")
(define-public aria2
(package
(name "aria2")
- (version "1.20.0")
+ (version "1.21.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/tatsuhiro-t/aria2/"
@@ -210,7 +210,7 @@ interface, for the Transmission BitTorrent daemon.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1l4gzz3yr0cl6a9xdy7843c5sb7afyq0i80wi2hasfpfdx5k95mz"))))
+ "1035rzx9y7qv4p7cv04f461343dxha7ikprch059x2fci8n5yp12"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-libaria2")
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 80a83aa73b..6dfe5c9cb7 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -871,10 +871,10 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
("libc-debug" ,glibc-final "debug")))))
(define-public gcc-toolchain-4.8
- (gcc-toolchain gcc-final))
+ (gcc-toolchain gcc-4.8))
(define-public gcc-toolchain-4.9
- (gcc-toolchain gcc-4.9))
+ (gcc-toolchain gcc-final))
(define-public gcc-toolchain-5
(gcc-toolchain gcc-5))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 25c1e6a7df..6612e37aa0 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -28,6 +28,7 @@
(define-module (gnu packages databases)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages perl)
#:use-module (gnu packages language)
#:use-module (gnu packages linux)
@@ -132,16 +133,19 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(define-public mysql
(package
(name "mysql")
- (version "5.6.25")
+ (version "5.7.11")
(source (origin
(method url-fetch)
- (uri (string-append
- "http://dev.mysql.com/get/Downloads/MySQL-"
- (version-major+minor version) "/"
- name "-" version ".tar.gz"))
+ (uri (list (string-append
+ "http://dev.mysql.com/get/Downloads/MySQL-"
+ (version-major+minor version) "/"
+ name "-" version ".tar.gz")
+ (string-append
+ "http://downloads.mysql.com/archives/get/file/"
+ name "-" version ".tar.gz")))
(sha256
(base32
- "1gbz5i1z3nswpq3q8f477vrx7g15j8n41pyb94k0jfnkhc5rq1qm"))))
+ "03hzd2ikabxhh5ch2yvml2nks2wpv3qbkqmx3520in6khypwgy2l"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
@@ -167,16 +171,11 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
"-DINSTALL_SQLBENCHDIR=")
#:phases (modify-phases %standard-phases
(add-after
- 'install 'strip-extra-references
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Strip references to GCC and other build-time
- ;; dependencies.
- (let ((out (assoc-ref outputs "out")))
- (for-each remove-store-references
- (list (string-append out "/bin/mysqlbug")
- (string-append
- out "/share/mysql/docs/INFO_BIN")))
- #t)))
+ 'unpack 'patch-boost-version
+ (lambda _
+ ;; Mysql wants boost-1.59.0 specifically
+ (substitute* "cmake/boost.cmake"
+ (("59") "60"))))
(add-after
'install 'remove-extra-binaries
(lambda* (#:key outputs #:allow-other-keys)
@@ -191,10 +190,11 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
`(("bison" ,bison)
("perl" ,perl)))
(inputs
- `(("libaio" ,libaio)
+ `(("boost" ,boost)
+ ("libaio" ,libaio)
+ ("ncurses" ,ncurses)
("openssl" ,openssl)
- ("zlib" ,zlib)
- ("ncurses" ,ncurses)))
+ ("zlib" ,zlib)))
(home-page "http://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database")
(description
@@ -206,7 +206,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.0.23")
+ (version "10.1.12")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@@ -214,7 +214,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0x52gfxk7zr84al83x62s4gh7mbngahy1svafdkbwd18i5lysvhm"))))
+ "1rzlc2ns84x540asbkgdp9562haxhlszfpdqh64i9pz4q1m4cpvr"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
@@ -274,14 +274,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql
(package
(name "postgresql")
- (version "9.3.11")
+ (version "9.5.1")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "08ba951nfiy516flaw352shj1zslxg4ryx3w5k0adls1r682l8ix"))))
+ "1ljvijaja5zy4i5b1450drbj8m3fcm3ly1zzaakp75x30s2rsc3b"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b9240a392a..c7aa0dc556 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -99,7 +100,7 @@ tables, and it understands a variety of different formats.")
(define-public ddrescue
(package
(name "ddrescue")
- (version "1.20")
+ (version "1.21")
(source
(origin
(method url-fetch)
@@ -107,7 +108,7 @@ tables, and it understands a variety of different formats.")
version ".tar.lz"))
(sha256
(base32
- "1gb0ak2c47nass7qdf9pnfrshcb38c318z1fx5v5v1k7l6qr7yc3"))))
+ "1b71hb42lh33y9843nd1mxlwkk9qh9ajvnz6ivzd1jq9lav4x7ph"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")
@@ -171,3 +172,35 @@ transport), SCSI and ATAPI tape drives, and SCSI enclosures. This utility can
also send commands associated with starting and stopping the media, loading
and unloading removable media and some other housekeeping functions.")
(license bsd-3)))
+
+(define-public idle3-tools
+ (package
+ (name "idle3-tools")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/idle3-tools/idle3-tools-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "00ia7xq9yldxyl9gz0mr4xa568nav14p0fnv82f2rbbkg060cy4p"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))
+ #:make-flags (list "CC=gcc"
+ (string-append "manprefix=")
+ (string-append "DESTDIR="
+ (assoc-ref %outputs "out")))))
+ (home-page "http://idle3-tools.sourceforge.net")
+ (synopsis "Change or disable Western Digital hard drives' Idle3 timer")
+ (description
+ "Idle3-tools provides a utility to get, set, or disable the Idle3 timer
+present in many Western Digital hard drives. This timer is part of the
+\"IntelliPark\" feature that stops the disk when not in use. Unfortunately,
+the default timer setting is not well suited to Linux or other *nix systems,
+and can dramatically shorten the lifespan of the drive if left unchecked.")
+ (license gpl3+)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index c9fbfcf1f1..f53f73bb8a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1018,44 +1018,47 @@ single buffer.")
(arguments
`(#:tests? #f ; there are no tests
#:modules ((guix build gnu-build-system)
+ ((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
+ (guix build emacs-build-system)
(guix build emacs-utils))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'enter-dir (lambda _ (chdir "server") #t))
- (add-before
- 'configure 'autogen
- (lambda _
- (zero? (system* "bash" "autogen.sh"))))
- (add-before
- 'build 'patch-variables
- (lambda* (#:key outputs #:allow-other-keys)
- (with-directory-excursion "../lisp"
- ;; Set path to epdfinfo program.
- (emacs-substitute-variables "pdf-info.el"
- ("pdf-info-epdfinfo-program"
- (string-append (assoc-ref outputs "out")
- "/bin/epdfinfo")))
- ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
- ;; upgrading" that pdf-tools tries to perform.
- (emacs-substitute-variables "pdf-tools.el"
- ("pdf-tools-handle-upgrades" '())))))
- (add-after
- 'install 'install-lisp
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((target (string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp/")))
- (for-each (lambda (file)
- (install-file file target))
- (find-files "../lisp" "^(pdf|tab).*\\.elc?"))
- (emacs-byte-compile-directory target)
- (emacs-generate-autoloads "pdf-tools" target)))))))
+ ;; Build server side using 'gnu-build-system'.
+ (add-after 'unpack 'enter-server-dir
+ (lambda _ (chdir "server") #t))
+ (add-before 'configure 'autogen
+ (lambda _
+ (zero? (system* "bash" "autogen.sh"))))
+
+ ;; Build emacs side using 'emacs-build-system'.
+ (add-after 'compress-documentation 'enter-lisp-dir
+ (lambda _ (chdir "../lisp") #t))
+ (add-after 'enter-lisp-dir 'emacs-patch-variables
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Set path to epdfinfo program.
+ (emacs-substitute-variables "pdf-info.el"
+ ("pdf-info-epdfinfo-program"
+ (string-append (assoc-ref outputs "out")
+ "/bin/epdfinfo")))
+ ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
+ ;; upgrading" that pdf-tools tries to perform.
+ (emacs-substitute-variables "pdf-tools.el"
+ ("pdf-tools-handle-upgrades" '()))))
+ (add-after 'emacs-patch-variables 'emacs-install
+ (assoc-ref emacs:%standard-phases 'install))
+ (add-after 'emacs-install 'emacs-build
+ (assoc-ref emacs:%standard-phases 'build))
+ (add-after 'emacs-install 'emacs-make-autoloads
+ (assoc-ref emacs:%standard-phases 'make-autoloads)))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("emacs" ,emacs-no-x)))
+ (propagated-inputs
+ `(("let-alist" ,let-alist)))
(inputs `(("poppler" ,poppler)
("cairo" ,cairo)
("glib" ,glib)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 01c5eef7ff..f07e052936 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, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 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,6 +25,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages fonts)
+ #:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -237,6 +238,25 @@ package provides the TrueType (TTF) files.")
(license:x11-style
"http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
+(define-public font-cantarell
+ (package
+ (name "font-abattis-cantarell")
+ (version "0.0.24")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
+ (version-major+minor version)
+ "/cantarell-fonts-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0r4jnc2x9yncf40lixjb1pqgpq8rzbi2fz33pshlqzjgx2d69bcw"))))
+ (build-system gnu-build-system)
+ (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
+ (synopsis "Cantarell sans-serif typeface")
+ (description "The Cantarell font family is a contemporary Humanist
+sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
+ (license license:silofl1.1)))
+
(define-public font-gnu-freefont-ttf
(package
(name "font-gnu-freefont-ttf")
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 8d546339bf..34f391e5fa 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -94,8 +94,12 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
(string-append "--with-default-fonts="
(assoc-ref %build-inputs "gs-fonts")
"/share/fonts")
+
;; register fonts from user profile
+ ;; TODO: Add /run/current-system/profile/share/fonts and remove
+ ;; the skeleton that works around it from 'default-skeletons'.
"--with-add-fonts=~/.guix-profile/share/fonts"
+
;; python is not actually needed
"PYTHON=false")
#:phases
@@ -337,37 +341,51 @@ definitions.")
(define-public fontforge
(package
(name "fontforge")
- (version "20120731-b") ;aka 1.0
+ (version "20150824")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/fontforge/fontforge_full-"
- version ".tar.bz2"))
+ (uri (string-append
+ "https://github.com/fontforge/fontforge/releases/download/"
+ version "/fontforge-" version ".tar.gz"))
(sha256 (base32
- "1dhg0i2pf76j40cb9g1wzpag21fgarpjaad0hdbk27i1zz588q8v"))))
+ "0gfcm8yn1d30giqhdwbchnfnspcqypqdzrxlhqhwy1i18wgl0v2v"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Make builds bit-reproducible by using fixed date strings.
+ '(substitute* "configure"
+ (("^FONTFORGE_MODTIME=.*$")
+ "FONTFORGE_MODTIME=\"1458399002\"\n")
+ (("^FONTFORGE_MODTIME_STR=.*$")
+ "FONTFORGE_MODTIME_STR=\"15:50 CET 19-Mar-2016\"\n")
+ (("^FONTFORGE_VERSIONDATE=.*$")
+ "FONTFORGE_VERSIONDATE=\"20160319\"\n")))))
(build-system gnu-build-system)
- ;; TODO: Add python for scripting support.
- (inputs `(("gettext" ,gnu-gettext)
- ("libtiff" ,libtiff)
- ("libjpeg" ,libjpeg)
- ("libpng" ,libpng)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs `(("cairo" ,cairo)
+ ("fontconfig" ,fontconfig) ;dlopen'd
+ ("freetype" ,freetype)
+ ("gettext" ,gnu-gettext)
("giflib" ,giflib) ;needs giflib 4.*
- ("libxml2" ,libxml2)
- ("libX11" ,libx11)
- ("libXi" ,libxi)
+ ("glib" ,glib) ;needed for pango detection
("libICE" ,libice)
("libSM" ,libsm)
- ("freetype" ,freetype)
- ("potrace" ,potrace)
+ ("libX11" ,libx11)
+ ("libXi" ,libxi)
+ ("libjpeg" ,libjpeg)
+ ("libltdl" ,libltdl)
+ ("libpng" ,libpng)
("libspiro" ,libspiro)
- ("zlib" ,zlib)
- ("cairo" ,cairo)
- ("fontconfig" ,fontconfig) ;dlopen'd
+ ("libtiff" ,libtiff)
("libuninameslist" ,libuninameslist)
+ ("libxft" ,libxft)
+ ("libxml2" ,libxml2)
("pango" ,pango)
- ("glib" ,glib))) ;needed for pango detection
+ ("potrace" ,potrace)
+ ("python" ,python)
+ ("zlib" ,zlib)))
(arguments
- '(#:configure-flags `("--enable-double")
- #:tests? #f
+ '(#:tests? #f
#:phases
(alist-cons-before
'configure 'patch-configure
@@ -407,5 +425,5 @@ definitions.")
"FontForge allows you to create and modify postscript, truetype and
opentype fonts. You can save fonts in many different outline formats, and
generate bitmaps.")
- (license license:bsd-3)
+ (license license:gpl3+)
(home-page "http://fontforge.org/")))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index f5d88e5c0c..972eafc669 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -142,14 +142,14 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
- (version "219.13")
+ (version "219.14")
(source (origin
(method url-fetch)
(uri (string-append "https://wingolog.org/pub/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0swwsgm28radjxf0s05a907wf0n524lckdya0rm3kqw6gy1hiax2"))
+ "1jckc4wx199n1q4r4fv43ibjs6nlq91s39w9r78ilk1z383m1hcx"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -365,6 +365,7 @@ Analysis and Reporting Technology) functionality.")
"doc")) ;5 MiB of gtk-doc HTML
(arguments
`(#:tests? #f ; requiring system message dbus
+ #:disallowed-references ("doc") ;enforce separation of "doc"
#:configure-flags
(list "--disable-man"
"--localstatedir=/var"
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 73c6d488fb..1df5150ab3 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -354,6 +354,8 @@ Go. It also includes runtime support libraries for these languages.")
"1ny4smkp5bzs3cp8ss7pl6lk8yss0d9m4av1mvdp72r1x695akxq"))
(patches (list (search-patch "gcc-5.0-libvtv-runpath.patch")))))))
+;; Note: When changing the default gcc version, update
+;; the gcc-toolchain-* definitions accordingly.
(define-public gcc gcc-4.9)
(define-public (make-libstdc++ gcc)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a26b609c19..eebb547de3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -108,6 +108,7 @@
#:use-module (gnu packages cdrom)
#:use-module (gnu packages samba)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages fonts)
#:use-module (srfi srfi-1))
(define-public brasero
@@ -3794,6 +3795,46 @@ such as gzip tarballs.")
(sha256
(base32
"0icajbzqf5llvp5s8nafwkhwz6a6jmwn4hhs81bk0bpzawyq4zdk"))))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Use elogind instead of systemd.
+ (substitute* "configure"
+ (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
+ "libelogind")
+ (("systemd") "elogind"))
+ (substitute* "gnome-session/gsm-systemd.c"
+ (("#include <systemd/sd-login.h>")
+ "#include <elogind/sd-login.h>"))
+ ;; Remove uses of the systemd journal.
+ (substitute* "gnome-session/main.c"
+ (("#ifdef HAVE_SYSTEMD") "#if 0"))
+ (substitute* "gnome-session/gsm-manager.c"
+ (("#ifdef HAVE_SYSTEMD") "#if 0"))
+ #t))
+ (add-after 'install 'wrap-gnome-session
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'gnome-session' finds the 'gsettings' program.
+ (let ((glib (assoc-ref inputs "glib:bin"))
+ (out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/gnome-session")
+ `("PATH" ":" prefix (,(string-append glib "/bin"))))
+ #t)))
+ (add-after 'install 'disable-hardware-acceleration-check
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Do not abort if hardware acceleration is missing. This allows
+ ;; GNOME to run in QEMU and on low-end devices.
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* (string-append out
+ "/share/xsessions/gnome.desktop")
+ (("gnome-session")
+ "gnome-session --disable-acceleration-check"))
+ #t))))
+
+ #:configure-flags
+ '("--enable-elogind")))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
@@ -3801,7 +3842,8 @@ such as gzip tarballs.")
("intltool" ,intltool)
("xsltproc" ,libxslt)))
(inputs
- `(("gnome-desktop" ,gnome-desktop)
+ `(("elogind" ,elogind)
+ ("gnome-desktop" ,gnome-desktop)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
("json-glib" ,json-glib)
@@ -4803,6 +4845,7 @@ software that do not provide their own configuration interface.")
;; TODO: Add more packages according to:
;; <https://packages.debian.org/jessie/gnome-core>.
`(("adwaita-icon-theme" ,adwaita-icon-theme)
+ ("font-cantarell" ,font-cantarell)
("at-spi2-core" ,at-spi2-core)
("dbus" ,dbus)
("dconf" ,dconf)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1a10e9b551..3bc4b8dc07 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -433,6 +433,35 @@ in the GNOME project.")
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/gdk-pixbuf/")))
+;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
+;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the
+;; closure size.
+(define-public gdk-pixbuf+svg
+ (package (inherit gdk-pixbuf)
+ (name "gdk-pixbuf+svg")
+ (inputs
+ `(("librsvg" ,librsvg)
+ ,@(package-inputs gdk-pixbuf)))
+ (arguments
+ '(#:configure-flags '("--with-x11")
+ #:tests? #f ; tested by the gdk-pixbuf package already
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'register-svg-loader
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (librsvg (assoc-ref inputs "librsvg"))
+ (loaders
+ (append
+ (find-files out "^libpixbufloader-.*\\.so$")
+ (find-files librsvg "^libpixbufloader-.*\\.so$")))
+ (gdk-pixbuf-query-loaders
+ (string-append out "/bin/gdk-pixbuf-query-loaders")))
+ (zero? (apply system* `(,gdk-pixbuf-query-loaders
+ "--update-cache" ,@loaders)))))))))
+ (synopsis
+ "GNOME image loading and manipulation library, with SVG support")))
+
(define-public at-spi2-core
(package
(name "at-spi2-core")
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 882a62d09f..fe043cba0b 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -275,14 +275,14 @@ without requiring the source code to be rewritten.")
(define-public artanis
(package
(name "artanis")
- (version "0.1.0")
+ (version "0.1.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
- "1mc2zy6n9wnn4hzi3zp3jd6b5rlr0lv7fvh800xf4fyrxg0zia4g"))))
+ "19m3ak12cqk8js9d2mdg11kh4fjsq8frfpd10qw75h0zpr5cywpp"))))
(build-system gnu-build-system)
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(inputs `(("guile" ,guile-2.0)))
@@ -296,7 +296,8 @@ without requiring the source code to be rewritten.")
(dir (string-append out "/share/guile/site/2.0")))
;; Don't use (%site-dir) for site paths.
(list (string-append "MOD_PATH=" dir)
- (string-append "MOD_COMPILED_PATH=" dir)))
+ (string-append "MOD_COMPILED_PATH=" dir)
+ (string-append "DESTDIR=" out)))
#:test-target "test"
#:phases
(modify-phases %standard-phases
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 4b99fb6767..0343e45d6f 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -45,7 +45,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (srfi srfi-1))
@@ -547,62 +546,60 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.")
(home-page "http://freeimage.sourceforge.net")))
(define-public vigra
- (let ((commit "a378732"))
- (package
- (name "vigra")
- (version (string-append "1.10.0-1-" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ukoethe/vigra.git")
- (commit commit)))
- (file-name (string-append name "-" version))
- (sha256
- (base32
- "0gvbfrnss1vnkmajsv716yy317j4mx5kn1rxrblxqqyghws47jm5"))))
- (build-system cmake-build-system)
- (inputs
- `(("boost" ,boost)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
- ("hdf5" ,hdf5)
- ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly
- ; to create a configure-flag
- ("libjpeg" ,libjpeg)
- ("libpng" ,libpng)
- ("libtiff" ,libtiff)
- ("openexr" ,openexr)
- ("python" ,python-2) ; print syntax
- ("python2-numpy" ,python2-numpy)
- ("zlib" ,zlib)))
- (native-inputs
- `(("doxygen" ,doxygen)
- ("python2-nose" ,python2-nose)
- ("python2-sphinx" ,python2-sphinx)))
- (arguments
- `(#:test-target "check"
- #:configure-flags
- (list "-Wno-dev" ; suppress developer mode with lots of warnings
- (string-append "-DVIGRANUMPY_INSTALL_DIR="
- (assoc-ref %outputs "out")
- "/lib/python2.7/site-packages")
- ;; OpenEXR is not enabled by default.
- "-DWITH_OPENEXR=1"
- ;; The header files of ilmbase are not found when included
- ;; by the header files of openexr, and an explicit flag
- ;; needs to be set.
- (string-append "-DCMAKE_CXX_FLAGS=-I"
- (assoc-ref %build-inputs "ilmbase")
- "/include/OpenEXR"))))
- (synopsis "Computer vision library")
- (description
- "VIGRA stands for Vision with Generic Algorithms. It is an image
+ (package
+ (name "vigra")
+ (version "1.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ukoethe/vigra/releases/download/"
+ "Version-1-11-0/vigra-"
+ version "-src.tar.gz"))
+ (sha256 (base32
+ "1jzm79kqiiilvys3b8mlzy9cvmiirrcwsrlg19qd9rza8zipsqb8"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("boost" ,boost)
+ ("fftw" ,fftw)
+ ("fftwf" ,fftwf)
+ ("hdf5" ,hdf5)
+ ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly
+ ; to create a configure-flag
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("openexr" ,openexr)
+ ("python" ,python-2) ; print syntax
+ ("python2-numpy" ,python2-numpy)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("python2-nose" ,python2-nose)
+ ("python2-sphinx" ,python2-sphinx)))
+ (arguments
+ `(#:test-target "check"
+ #:parallel-build? #f ; parallel builds trigger an ICE
+ #:configure-flags
+ (list "-Wno-dev" ; suppress developer mode with lots of warnings
+ (string-append "-DVIGRANUMPY_INSTALL_DIR="
+ (assoc-ref %outputs "out")
+ "/lib/python2.7/site-packages")
+ ;; OpenEXR is not enabled by default.
+ "-DWITH_OPENEXR=1"
+ ;; The header files of ilmbase are not found when included
+ ;; by the header files of openexr, and an explicit flag
+ ;; needs to be set.
+ (string-append "-DCMAKE_CXX_FLAGS=-I"
+ (assoc-ref %build-inputs "ilmbase")
+ "/include/OpenEXR"))))
+ (synopsis "Computer vision library")
+ (description
+ "VIGRA stands for Vision with Generic Algorithms. It is an image
processing and analysis library that puts its main emphasis on customizable
algorithms and data structures. It is particularly strong for
multi-dimensional image processing.")
- (license license:expat)
- (home-page "https://hci.iwr.uni-heidelberg.de/vigra"))))
+ (license license:expat)
+ (home-page "https://hci.iwr.uni-heidelberg.de/vigra")))
(define-public libwebp
(package
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index 5710e1fd48..6975443646 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -113,7 +113,7 @@
(inputs
`(("util-linux" ,util-linux)))
(synopsis "Lightweight universal identifier library")
- (description "CrossGuid is a minimal @acronym{GUID}/@acronym{UUID}
+ (description "CrossGuid is a minimal GUID/UUID
generator library for C++.")
(home-page "https://github.com/graeme-hill/crossguid")
(license license:expat))))
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 266669061e..c3427e7f6f 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -126,14 +127,14 @@ proposed for standardization.")
(define-public gmtp
(package
(name "gmtp")
- (version "1.3.9")
+ (version "1.3.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gmtp/" version
"/gmtp-" version ".tar.gz"))
(sha256
(base32
- "0bdxvi0jf3q870a39xzsaj4qrjwc9b5bgvc95plc7xb6vf2m7zsv"))))
+ "0fyi3pdl2g57vr0p46ip2wwzyap3l0by7iqaqygv0yxfcs79l6xj"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ba0453e71f..d3865fbe66 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -331,13 +331,13 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-4.4
(package
(inherit linux-libre)
- (version "4.4.5")
+ (version "4.4.6")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "19yyw6yssyxr9k5y3whgz2p731mb1pnq3xajpv8g01m13cxs32dd"))))
+ "0sf623knc4j23p96r0w1ng725kj45ra50bwix01z5nvl5aqpnsrp"))))
(native-inputs
(let ((conf (kernel-config (or (%current-target-system)
(%current-system))
@@ -2515,3 +2515,35 @@ easy administration.")
;; GPL2+: crc32.c, radix-tree.c, raid6.c, rbtree.c.
;; GPL2: Everything else.
(license (list license:gpl2 license:gpl2+))))
+
+(define-public freefall
+ (package
+ (name "freefall")
+ (version (package-version linux-libre))
+ (source (package-source linux-libre))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _
+ (chdir "tools/laptop/freefall")))
+ (delete 'configure)
+ (add-before 'build 'increase-timeout
+ (lambda _
+ ;; The default of 2 seconds is too low: it assumes an
+ ;; open lid and AC power without actually checking.
+ (substitute* "freefall.c"
+ (("alarm\\(2\\)") "alarm(5)")))))
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out")))
+ #:tests? #f)) ;no tests
+ (home-page (package-home-page linux-libre))
+ (synopsis "Free-fall protection for spinning laptop hard drives")
+ (description
+ "Prevents shock damage to the internal spinning hard drive(s) of some
+HP and Dell laptops. When sudden movement is detected, all input/output
+operations on the drive are suspended and its heads are parked on the ramp,
+where they are less likely to cause damage to the spinning disc. Requires a
+drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload
+feature, and a laptop with an accelerometer. It has no effect on SSDs.")
+ (license license:gpl2)))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 5bc6434424..1022ac7015 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -189,6 +189,7 @@ aliasing facilities to work just as they would on normal mail.")
(build-system gnu-build-system)
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
+ ("gdbm" ,gdbm)
("gpgme" ,gpgme)
("ncurses" ,ncurses)
("openssl" ,openssl)
@@ -198,6 +199,7 @@ aliasing facilities to work just as they would on normal mail.")
"--enable-imap"
"--enable-pop"
"--enable-gpgme"
+ "--enable-hcache" ; for header caching
"--with-ssl"
"--with-sasl"
;; so that mutt does not check whether the path
@@ -289,7 +291,7 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap
(package
(name "offlineimap")
- (version "6.6.1")
+ (version "6.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@@ -297,7 +299,7 @@ and corrections. It is based on a Bayesian filter.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1c2b03856a78ripkpl9jjzj6yzyfb3rlrdnjx300s647l1xx8gxg"))))
+ "0462mal2fxvavxhwjk1a6vsnspx07yniifa687dwg46aplqznin4"))))
(build-system python-build-system)
(native-inputs `(("python" ,python-2)))
(arguments
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b9ce7fe5b7..6d3d134c20 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
@@ -565,16 +565,15 @@ ASCII text files using Gmsh's own scripting language.")
'install 'clean-install
;; Try to keep installed files from leaking build directory names.
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (fortran (assoc-ref inputs "gfortran")))
+ (let ((out (assoc-ref outputs "out")))
(substitute* (map (lambda (file)
(string-append out "/lib/petsc/conf/" file))
'("petscvariables" "PETScConfig.cmake"))
(((getcwd)) out))
;; Make compiler references point to the store
(substitute* (string-append out "/lib/petsc/conf/petscvariables")
- (("= g(cc|\\+\\+|fortran)" _ suffix)
- (string-append "= " fortran "/bin/g" suffix)))
+ (("= (gcc|g\\+\\+|gfortran)" _ compiler)
+ (string-append "= " (which compiler))))
;; PETSc installs some build logs, which aren't necessary.
(for-each (lambda (file)
(let ((f (string-append out "/lib/petsc/conf/" file)))
@@ -641,6 +640,7 @@ scientific applications modeled by partial differential equations.")
(method url-fetch)
(uri (string-append "http://slepc.upv.es/download/download.php?"
"filename=slepc-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1pv5iqz2kc8sj49zsabyz4arnfpana8mjrhq31vzgk16xldk3d1a"))))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index dccb6dbc34..5dc4639bb4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -70,7 +70,9 @@
version ".tar.gz"))
(sha256
(base32
- "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))))
+ "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
+ (patches
+ (list (search-patch "libotr-test-auth-fix.patch")))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgcrypt" ,libgcrypt))) ; libotr headers include gcrypt.h
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 5a6377224d..55c09bc897 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -28,6 +28,7 @@
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages icu4c)
@@ -40,6 +41,7 @@
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages databases)
@@ -240,3 +242,34 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
;; instead.
(home-page "http://mpd.wikia.com/wiki/Client:Mpdscribble")
(license license:gpl2+)))
+
+(define-public python-mpd2
+ (package
+ (name "python-mpd2")
+ (version "0.5.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-mpd2" version))
+ (sha256
+ (base32
+ "0laypd7h1j14b4vrmiayqlzdsh2j5hc3zv4l0fqvbrbw9y6763ii"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (zero? (system* "python" "mpd_test.py")))))))
+ (native-inputs `(("python-mock" ,python-mock)))
+ (home-page "https://github.com/Mic92/python-mpd2")
+ (synopsis "Python MPD client library")
+ (description "Python-mpd2 is a Python library which provides a client
+interface for the Music Player Daemon.")
+ (license license:lgpl3+)
+ (properties `((python2-variant . ,(delay python2-mpd2))))))
+
+(define-public python2-mpd2
+ (let ((mpd2 (package-with-python2
+ (strip-python2-variant python-mpd2))))
+ (package (inherit mpd2)
+ (native-inputs `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs mpd2))))))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index fd16537b74..ffee9d6245 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,6 +50,7 @@
#:use-module (gnu packages fltk)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gettext)
@@ -64,6 +66,7 @@
#:use-module (gnu packages linux) ; for alsa-utils
#:use-module (gnu packages man)
#:use-module (gnu packages mp3)
+ #:use-module (gnu packages mpd)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages pdf)
@@ -1134,3 +1137,167 @@ personalized online radio pandora.com. It has configurable keys for playing
and managing stations, can be controlled remotely via fifo, and can run
event-based scripts for scrobbling, notifications, etc.")
(license license:expat)))
+
+(define-public python-mutagen
+ (package
+ (name "python-mutagen")
+ (version "1.31")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "mutagen" version))
+ (sha256
+ (base32
+ "16fnnhspniac2i7qswxafawsh2x2a803hmc6bn9k1zl5fxq1380a"))))
+ (build-system python-build-system)
+ (home-page "https://bitbucket.org/lazka/mutagen")
+ (synopsis "Read and write audio tags")
+ (description "Mutagen is a Python module to handle audio metadata. It
+supports ASF, FLAC, M4A, Monkey’s Audio, MP3, Musepack, Ogg FLAC, Ogg Speex, Ogg
+Theora, Ogg Vorbis, True Audio, WavPack and OptimFROG audio files. All versions
+of ID3v2 are supported, and all standard ID3v2.4 frames are parsed. It can read
+Xing headers to accurately calculate the bitrate and length of MP3s. ID3 and
+APEv2 tags can be edited regardless of audio format. It can also manipulate Ogg
+streams on an individual packet/page level.")
+ (license license:gpl2))) ; "later version" never mentioned
+
+(define-public python2-mutagen
+ (package-with-python2 python-mutagen))
+
+(define-public python-musicbrainzngs
+ (package
+ (name "python-musicbrainzngs")
+ (version "0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "musicbrainzngs" version))
+ (sha256
+ (base32
+ "12f48llmdf5rkiqxcb70k2k1dmhm8byq0ifazvlrca8dfnmqh4r8"))))
+ (build-system python-build-system)
+ (home-page "https://python-musicbrainzngs.readthedocs.org/")
+ (synopsis "Python bindings for MusicBrainz NGS webservice")
+ (description "Musicbrainzngs implements Python bindings of the MusicBrainz
+web service. This library can be used to retrieve music metadata from the
+MusicBrainz database.")
+ ;; 'musicbrainzngs/compat.py' is ISC licensed.
+ (license (list license:bsd-2 license:isc))))
+
+(define-public python2-musicbrainzngs
+ (package-with-python2 python-musicbrainzngs))
+
+(define-public python-pyechonest
+ (package
+ (name "python-pyechonest")
+ (version "9.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyechonest" version))
+ (sha256
+ (base32
+ "1584nira3rkiman9dm81kdshihmkj21s8navndz2l8spnjwb790x"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/echonest/pyechonest")
+ (synopsis "Python interface to The Echo Nest APIs")
+ (description "Pyechonest is an open source Python library for the Echo Nest
+API. With Pyechonest you have Python access to the entire set of API methods
+including:
+
+@enumerate
+@item artist - search for artists by name, description, or attribute, and get
+back detailed information about any artist including audio, similar artists,
+blogs, familiarity, hotttnesss, news, reviews, urls and video.
+@item song - search songs by artist, title, description, or attribute (tempo,
+duration, etc) and get detailed information back about each song, such as
+hotttnesss, audio_summary, or tracks.
+@item track - upload a track to the Echo Nest and receive summary information
+about the track including key, duration, mode, tempo, time signature along with
+detailed track info including timbre, pitch, rhythm and loudness information.
+@end enumerate\n")
+ (license license:bsd-3)
+ (properties `((python2-variant . ,(delay python2-pyechonest))))))
+
+(define-public python2-pyechonest
+ (package (inherit (package-with-python2
+ (strip-python2-variant python-pyechonest)))
+ (native-inputs `(("python2-setuptools" ,python2-setuptools)))))
+
+(define-public python-pylast
+ (package
+ (name "python-pylast")
+ (version "1.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pylast" version))
+ (sha256
+ (base32
+ "10znd9xr1vs2ix519jkz3ccm90zciaddcdr2w2wrrh2jyy3bc59a"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-mock" ,python-mock)
+ ("python-pep8" ,python-pep8)
+ ("python-pytest" ,python-pytest)
+ ("python-pyflakes" ,python-pyflakes)
+ ("python-pyyaml" ,python-pyyaml)))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (home-page "https://github.com/pylast/pylast")
+ (synopsis "Python interface to Last.fm and Libre.fm")
+ (description "A Python interface to Last.fm and other API-compatible
+websites such as Libre.fm.")
+ (license license:asl2.0)
+ (properties `((python2-variant . ,(delay python2-pylast))))))
+
+(define-public python2-pylast
+ (let ((pylast (package-with-python2
+ (strip-python2-variant python-pylast))))
+ (package (inherit pylast)
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs pylast))))))
+
+(define-public beets
+ (package
+ (name "beets")
+ (version "1.3.17")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri name version))
+ (sha256
+ (base32
+ "0yg7sp18sdpszkinhb0bi6yinbn316jy1baxrwiw0m4byrj3rr6c"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2 ; only Python 2 is supported
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-HOME
+ (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")))))))
+ (native-inputs
+ `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
+ ("python2-flask" ,python2-flask)
+ ("python2-setuptools" ,python2-setuptools)
+ ("python2-mock" ,python2-mock)
+ ("python2-mpd2" ,python2-mpd2)
+ ("python2-pathlib" ,python2-pathlib)
+ ("python2-pyxdg" ,python2-pyxdg)
+ ("python2-pyechonest" ,python2-pyechonest)
+ ("python2-pylast" ,python2-pylast)
+ ("python2-rarfile" ,python2-rarfile)
+ ("python2-responses" ,python2-responses)))
+ ;; TODO: Install optional plugins and dependencies.
+ (propagated-inputs
+ `(("python2-enum34" ,python2-enum34)
+ ("python2-jellyfish" ,python2-jellyfish)
+ ("python2-munkres" ,python2-munkres)
+ ("python2-musicbrainzngs" ,python2-musicbrainzngs)
+ ("python2-mutagen" ,python2-mutagen)
+ ("python2-pyyaml" ,python2-pyyaml)
+ ("python2-unidecode" ,python2-unidecode)))
+ (home-page "http://beets.io")
+ (synopsis "Music organizer")
+ (description "The purpose of beets is to get your music collection right
+once and for all. It catalogs your collection, automatically improving its
+metadata as it goes using the MusicBrainz database. Then it provides a variety
+of tools for manipulating and accessing your music.")
+ (license license:expat)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ac6d84813f..7a7dec3363 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -195,7 +195,7 @@ the Nix package manager.")
;;
;; Note: use a short commit id; when using the long one, the limit on socket
;; file names is exceeded while running the tests.
- (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7"))
+ (let ((commit "71e2065a38cf2641b7eb8c557b0f043f5a42a649"))
(package (inherit guix-0.9.0)
(version (string-append "0.9.0." (string-take commit 7)))
(source (origin
@@ -205,7 +205,7 @@ the Nix package manager.")
(commit commit)))
(sha256
(base32
- "1mbikn6awgx3h08bzk3nz8xrqvxdjsbvzrbn26d6m8nrz96ya53a"))
+ "0wrrywfdc27yxjns55qdz5si49c8zcb9q5557g2kx48dbm7p0dzw"))
(file-name (string-append "guix-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments guix-0.9.0)
diff --git a/gnu/packages/patches/libotr-test-auth-fix.patch b/gnu/packages/patches/libotr-test-auth-fix.patch
new file mode 100644
index 0000000000..23b8d8308d
--- /dev/null
+++ b/gnu/packages/patches/libotr-test-auth-fix.patch
@@ -0,0 +1,15 @@
+Initialize the context in 'test_auth_clear'.
+Fixes the test suite on mips64el.
+
+Patch by Mark H Weaver <mhw@netris.org>
+
+--- libotr-4.1.1/tests/unit/test_auth.c.orig 2015-12-25 12:39:45.000000000 -0500
++++ libotr-4.1.1/tests/unit/test_auth.c 2016-03-17 18:53:10.169999706 -0400
+@@ -67,6 +67,7 @@
+ OtrlAuthInfo *auth = &ctx.auth;
+
+ /* API call. */
++ otrl_auth_new(&ctx);
+ otrl_auth_clear(auth);
+
+ ok(auth->authstate == OTRL_AUTHSTATE_NONE &&
diff --git a/gnu/packages/patches/python-rarfile-fix-tests.patch b/gnu/packages/patches/python-rarfile-fix-tests.patch
new file mode 100644
index 0000000000..8ae8894009
--- /dev/null
+++ b/gnu/packages/patches/python-rarfile-fix-tests.patch
@@ -0,0 +1,14 @@
+There is no test.sh, but there are test1.sh and test2.sh.
+
+diff --git a/test/Makefile b/test/Makefile
+index 027bc5f..5383db3 100644
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -1,5 +1,6 @@
+ test:
+- ./test.sh
++ ./test1.sh
++ ./test2.sh
+
+ clean:
+ rm -rf __pycache__
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index b2d96ab398..9bbcc8ffa4 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5673,6 +5674,31 @@ used to match against text, rather than fetching names from a filesystem. If
you want to do full file globbing use the File::Glob module instead.")
(license (package-license perl))))
+(define-public perl-text-neattemplate
+ (package
+ (name "perl-text-neattemplate")
+ (version "0.1101")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://cpan.metacpan.org/authors/id/R/RU/RUBYKAT/"
+ "Text-NeatTemplate-" version ".tar.gz"))
+ (sha256
+ (base32
+ "129msa57jzxxi2x7z9hgzi48r48y65w77ycfk1w733zz2m8nr8y3"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (home-page
+ "http://search.cpan.org/dist/Text-NeatTemplate")
+ (synopsis "Fast, middleweight template engine")
+ (description
+ "Text::NeatTemplate provides a simple, middleweight but fast
+template engine, for when you need speed rather than complex features,
+yet need more features than simple variable substitution.")
+ (license (package-license perl))))
+
(define-public perl-text-simpletable
(package
(name "perl-text-simpletable")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index af3c60bac9..97a69c3a1b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -8233,3 +8233,240 @@ way.")
(inherit (package-with-python2
(strip-python2-variant python-vobject)))
(native-inputs `(("python2-setuptools" ,python2-setuptools)))))
+
+(define-public python-munkres
+ (package
+ (name "python-munkres")
+ (version "1.0.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "munkres" version))
+ (sha256
+ (base32
+ "1i6nf45i0kkzdx6k70giybsqxz4dxsjbrkrfqgjd7znfkf25sjik"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; no test suite
+ (home-page "http://software.clapper.org/munkres/")
+ (synopsis "Implementation of the Munkres algorithm")
+ (description "The Munkres module provides an implementation of the Munkres
+algorithm (also called the Hungarian algorithm or the Kuhn-Munkres algorithm),
+useful for solving the Assignment Problem.")
+ (license bsd-3)))
+
+(define-public python2-munkres
+ (package-with-python2 python-munkres))
+
+(define-public python-flask
+ (package
+ (name "python-flask")
+ (version "0.10.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Flask" version))
+ (sha256
+ (base32
+ "0wrkavjdjndknhp8ya8j850jq7a1cli4g5a93mg8nh1xz2gq50sc"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-itsdangerous" ,python-itsdangerous)
+ ("python-jinja2" ,python-jinja2)
+ ("python-werkzeug" ,python-werkzeug)))
+ (home-page "https://github.com/mitsuhiko/flask/")
+ (synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
+ (description "Flask is a micro web framework based on the Werkzeug toolkit
+and Jinja2 template engine. It is called a micro framework because it does not
+presume or force a developer to use a particular tool or library.")
+ (license bsd-3)
+ (properties `((python2-variant . ,(delay python2-flask))))))
+
+(define-public python2-flask
+ (package (inherit (package-with-python2
+ (strip-python2-variant python-flask)))
+ (native-inputs `(("python2-setuptools" ,python2-setuptools)))))
+
+(define-public python-cookies
+ (package
+ (name "python-cookies")
+ (version "2.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "cookies" version))
+ (sha256
+ (base32
+ "13pfndz8vbk4p2a44cfbjsypjarkrall71pgc97glk5fiiw9idnn"))))
+ (build-system python-build-system)
+ (arguments
+ `(;; test are broken: https://gitlab.com/sashahart/cookies/issues/3
+ #:tests? #f))
+ (native-inputs
+ `(("python-pytest" ,python2-pytest)))
+ (synopsis "HTTP cookie parser and renderer")
+ (description "A RFC 6265-compliant HTTP cookie parser and renderer in
+Python.")
+ (home-page "https://gitlab.com/sashahart/cookies")
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-cookies))))))
+
+(define-public python2-cookies
+ (let ((cookies (package-with-python2
+ (strip-python2-variant python-cookies))))
+ (package (inherit cookies)
+ (native-inputs `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs cookies))))))
+
+(define-public python-responses
+ (package
+ (name "python-responses")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "responses" version))
+ (sha256
+ (base32
+ "1spcfxixyk9k7pk82jm6zqkwk031s95lh8q0mz7539jrb7269bcc"))))
+ (build-system python-build-system)
+ (arguments
+ `(;; Test suite is not distributed:
+ ;; https://github.com/getsentry/responses/issues/38
+ #:tests? #f))
+ (native-inputs
+ `(("python-cookies" ,python-cookies)
+ ("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/getsentry/responses")
+ (synopsis "Utility for mocking out the `requests` Python library")
+ (description "A utility library for mocking out the `requests` Python
+library.")
+ (license asl2.0)
+ (properties `((python2-variant . ,(delay python2-responses))))))
+
+(define-public python2-responses
+ (let ((responses (package-with-python2
+ (strip-python2-variant python-responses))))
+ (package (inherit responses)
+ (native-inputs `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs responses))))))
+
+(define-public python-pathlib
+ (package
+ (name "python-pathlib")
+ (version "1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathlib" version))
+ (sha256
+ (base32
+ "17zajiw4mjbkkv6ahp3xf025qglkj0805m9s41c45zryzj6p2h39"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (zero? (system* "python" "./test_pathlib.py")))))))
+ (home-page "https://pathlib.readthedocs.org/")
+ (synopsis "Object-oriented filesystem paths")
+ (description "Pathlib offers a set of classes to handle filesystem paths.
+It offers the following advantages over using string objects:
+
+@enumerate
+@item No more cumbersome use of os and os.path functions. Everything can
+be done easily through operators, attribute accesses, and method calls.
+@item Embodies the semantics of different path types. For example,
+comparing Windows paths ignores casing.
+@item Well-defined semantics, eliminating any inconsistencies or
+ambiguities (forward vs. backward slashes, etc.).
+@end enumerate\n")
+ (license license:expat)))
+
+(define-public python2-pathlib
+ (package-with-python2 python-pathlib))
+
+(define-public python-jellyfish
+ (package
+ (name "python-jellyfish")
+ (version "0.5.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jellyfish" version))
+ (sha256
+ (base32
+ "12bxh8cy9xmvyrjz7aw159nd5pyvb645rkvw4r6bvm4xbvs8gd07"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/jamesturk/jellyfish")
+ (synopsis "Approximate and phonetic matching of strings")
+ (description "Jellyfish uses a variety of string comparison and phonetic
+encoding algorithms to do fuzzy string matching.")
+ (license bsd-2)
+ (properties `((python2-variant . ,(delay python2-jellyfish))))))
+
+(define-public python2-jellyfish
+ (let ((jellyfish (package-with-python2
+ (strip-python2-variant python-jellyfish))))
+ (package (inherit jellyfish)
+ (native-inputs `(("python2-setuptools" ,python2-setuptools)
+ ("python2-unicodecsv" ,python2-unicodecsv)
+ ,@(package-native-inputs jellyfish))))))
+
+(define-public python2-unicodecsv
+ (package
+ (name "python2-unicodecsv")
+ (version "0.14.1")
+ (source (origin
+ (method url-fetch)
+ ;; The test suite is not included in the PyPi release.
+ ;; https://github.com/jdunck/python-unicodecsv/issues/19
+ (uri (string-append "https://github.com/jdunck/python-unicodecsv/"
+ "archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "087nqanfcyp6mlfbbr5lva5f3w6iz1bybls9xlrb8icmc474wh4w"))))
+ (build-system python-build-system)
+ (arguments
+ `(;; It supports Python 3, but Python 3 can already do Unicode CSV.
+ #:python ,python-2))
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)
+ ("python2-unittest2" ,python2-unittest2)))
+ (home-page "https://github.com/jdunck/python-unicodecsv")
+ (synopsis "Unicode CSV module for Python 2")
+ (description "Unicodecsv is a drop-in replacement for Python 2.7's CSV
+module, adding support for Unicode strings.")
+ (license bsd-2)))
+
+(define-public python-rarfile
+ (package
+ (name "python-rarfile")
+ (version "2.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "rarfile" version))
+ (sha256
+ (base32
+ "0d8n1dlpiz7av8dmbp0vclrwl9cnxizr4f2c9xvj1h5nvn480527"))
+ ;; https://github.com/markokr/rarfile/pull/17/
+ (patches (list (search-patch "python-rarfile-fix-tests.patch")))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ ;; Many tests fail, but the installation proceeds.
+ (lambda _ (zero? (system* "make" "-C" "test" "test")))))))
+ (native-inputs
+ `(("which" ,which))) ; required for tests
+ (propagated-inputs
+ `(("libarchive" ,libarchive)))
+ (home-page "https://github.com/markokr/rarfile")
+ (synopsis "RAR archive reader for Python")
+ (description "This is Python module for RAR archive reading. The interface
+is made as zipfile like as possible.")
+ (license isc)))
+
+(define-public python2-rarfile
+ (package-with-python2 python-rarfile))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a1669d4238..2abb261a45 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -428,13 +428,13 @@ expectations and mocks frameworks.")
(define-public bundler
(package
(name "bundler")
- (version "1.10.6")
+ (version "1.11.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "bundler" version))
(sha256
(base32
- "1vlzfq0bkkj4jyq6av0y55mh5nj5n0f3mfbmmifwgkh44g8k6agv"))))
+ "0s37j1hyngc4shq0in8f9y1knjdqkisdg3dd1mfwgq7n1bz8zan7"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 00b573fc0b..f16629397f 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +36,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages avahi)
#:use-module (gnu packages libphidget)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libffi)
@@ -309,14 +311,14 @@ mashups, office (web agendas, mail clients, ...), etc.")
(define-public chicken
(package
(name "chicken")
- (version "4.9.0.1")
+ (version "4.10.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://code.call-cc.org/releases/4.9.0/chicken-"
- version ".tar.gz"))
+ (uri (string-append "http://code.call-cc.org/releases/"
+ version "/chicken-" version ".tar.gz"))
(sha256
(base32
- "0598mar1qswfd8hva9nqs88zjn02lzkqd8fzdd21dz1nki1prpq4"))))
+ "16w96jrhb6qf62fgznk53f55yhfv81damghdjn31k5hirnmza1qf"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -325,11 +327,19 @@ mashups, office (web agendas, mail clients, ...), etc.")
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
- #:phases (alist-cons-after
- 'install 'check
- (assoc-ref %standard-phases 'check)
- (fold alist-delete %standard-phases
- '(configure check)))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (add-after 'install 'check
+ (assoc-ref %standard-phases 'check))
+ (add-after 'unpack 'disable-broken-tests
+ (lambda _
+ ;; The port tests fail with this error:
+ ;; Error: (line 294) invalid escape-sequence '\x o'
+ (substitute* "tests/runtests.sh"
+ (("\\$interpret -s port-tests\\.scm") ""))
+ #t)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
@@ -338,6 +348,12 @@ mashups, office (web agendas, mail clients, ...), etc.")
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
+ ;; One of the tests ("testing direct invocation can detect calls of too
+ ;; many arguments...") times out when building with a more recent GCC.
+ ;; The problem was reported here:
+ ;; https://lists.gnu.org/archive/html/chicken-hackers/2015-04/msg00059.html
+ (native-inputs
+ `(("gcc" ,gcc-4.8)))
(home-page "http://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 3d445332b8..15c68238e2 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1679,6 +1679,95 @@ matrices. It includes Cholesky decomposition and backsolving as well as
standard R subsetting and Kronecker products.")
(license license:gpl2+)))
+(define-public r-iterators
+ (package
+ (name "r-iterators")
+ (version "1.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "iterators" version))
+ (sha256
+ (base32
+ "1f057pabs7ss9h1n244can26qsi5n2k3salrdk0b0vkphlrs4kmf"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/iterators")
+ (synopsis "Iterator construct for R")
+ (description
+ "This package provides support for iterators, which allow a programmer to
+traverse through all the elements of a vector, list, or other collection of
+data.")
+ (license license:asl2.0)))
+
+(define-public r-codetools
+ (package
+ (name "r-codetools")
+ (version "0.2-14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "codetools" version))
+ (sha256
+ (base32
+ "0y9r4m2b8xgavr89sc179knzwpz54xljbc1dinpq2q07i4xn0397"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/codetools")
+ (synopsis "Code analysis tools for R")
+ (description "This package provides code analysis tools for R to check R
+code for possible problems.")
+ (license (list license:gpl2+ license:gpl3+))))
+
+(define-public r-foreach
+ (package
+ (name "r-foreach")
+ (version "1.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "foreach" version))
+ (sha256
+ (base32
+ "10aqsd3rxz03s1qdb6gsb1cj89mj4vmh491zfpin4skj1xvkzw0y"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-codetools" ,r-codetools)
+ ("r-iterators" ,r-iterators)))
+ (home-page "http://cran.r-project.org/web/packages/foreach")
+ (synopsis "Foreach looping construct for R")
+ (description
+ "This package provides support for the @code{foreach} looping construct.
+@code{foreach} is an idiom that allows for iterating over elements in a
+collection, without the use of an explicit loop counter. This package in
+particular is intended to be used for its return value, rather than for its
+side effects. In that sense, it is similar to the standard @code{lapply}
+function, but doesn't require the evaluation of a function. Using
+@code{foreach} without side effects also facilitates executing the loop in
+parallel.")
+ (license license:asl2.0)))
+
+(define-public r-doparallel
+ (package
+ (name "r-doparallel")
+ (version "1.0.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "doParallel" version))
+ (sha256
+ (base32
+ "1mddx25l25pw9d0csnx2q203dbg5hbrhkr1f08kw0p02a1lln0kh"))))
+ (properties `((upstream-name . "doParallel")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-foreach" ,r-foreach)
+ ("r-iterators" ,r-iterators)))
+ (home-page "http://cran.r-project.org/web/packages/doParallel")
+ (synopsis "Foreach parallel adaptor for the 'parallel' package")
+ (description
+ "This package provides a parallel backend for the @code{%dopar%} function
+using the parallel package.")
+ (license license:gpl2+)))
+
(define-public r-dt
(package
(name "r-dt")
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 6f3782fa7b..73a0532478 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -185,6 +185,49 @@ the Hannon Lab.")
input bits thoroughly but are not suitable for cryptography.")
(license license:expat))))
+(define-public ustr
+ (package
+ (name "ustr")
+ (version "1.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.and.org/ustr/" version
+ "/ustr-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1i623ygdj7rkizj7985q9d6vj5amwg686aqb5j3ixpkqkyp6xbrx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list "CC=gcc"
+ "HIDE="
+ ;; Override "/sbin/ldconfig" with "echo" because we don't need
+ ;; "ldconfig".
+ "LDCONFIG=echo"
+ (string-append "prefix=" (assoc-ref %outputs "out"))
+ "all-shared")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-check-for-stdint
+ (lambda _
+ ;; Of course we have stdint.h, just not in /usr/include
+ (substitute* '("Makefile"
+ "ustr-import.in")
+ (("-f \"/usr/include/stdint.h\"") "-z \"\""))
+ #t))
+ ;; No configure script
+ (delete 'configure))))
+ (home-page "http://www.and.org/ustr/")
+ (synopsis "String library with very low memory overhead")
+ (description
+ "Ustr is a string library for C with very low memory overhead.")
+ ;; Quoted from the home page: "The License for the code is MIT, new-BSD,
+ ;; LGPL, etc. ... if you need another license to help compatibility, just
+ ;; ask for it. It's basically public domain, without all the legal
+ ;; problems for everyone that trying to make something public domain
+ ;; entails."
+ (license license:public-domain)))
+
(define-public libconfig
(package
(name "libconfig")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d0cc1459c5..7d7276abac 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -113,14 +113,14 @@ as well as the classic centralized workflow.")
;; Keep in sync with 'git-manpages'!
(package
(name "git")
- (version "2.6.3")
+ (version "2.7.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "18vxb5fmwmrps504m23a4xdl29m7ibca3hmz0mn9jc38sz9y95yn"))))
+ "1di96q86fq3pdn5d5v4fw9vf58gha5i9b3r880mxlh275n8ngi49"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -292,7 +292,7 @@ everything from small to very large projects with speed and efficiency.")
version ".tar.xz"))
(sha256
(base32
- "1d7jb4pyln0prgxpxkfiy2l6ragsjzsyqyxbssbchdvl145gj8xf"))))
+ "0va9j0q9h44jqih38h4cmhvbmjppqq7zbiq70220m7hsqqkq824z"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
@@ -545,14 +545,14 @@ control to Git repositories.")
(define-public mercurial
(package
(name "mercurial")
- (version "3.2.4")
+ (version "3.7.2")
(source (origin
(method url-fetch)
- (uri (string-append "https://mercurial.selenic.com/release/mercurial-"
- version ".tar.gz"))
+ (uri (string-append "https://www.mercurial-scm.org/"
+ "release/mercurial-" version ".tar.gz"))
(sha256
(base32
- "1g7nfvapxj5k44dyp0p08v37s0zmrj2vl0rjgfd8297x0afidm08"))))
+ "0ykdvj7k4yxiwbfk0gnrq2flmdlf2cracsvqn3vr7nxhda6l7aav"))))
(build-system python-build-system)
(arguments
`(;; Restrict to Python 2, as Python 3 would require
@@ -561,7 +561,7 @@ control to Git repositories.")
;; FIXME: Disabled tests because they require the nose unit
;; testing framework: https://nose.readthedocs.org/en/latest/ .
#:tests? #f))
- (home-page "http://mercurial.selenic.com")
+ (home-page "https://www.mercurial-scm.org/")
(synopsis "Decentralized version control system")
(description
"Mercurial is a free, distributed source control management tool.
@@ -572,14 +572,14 @@ and offers an easy and intuitive interface.")
(define-public neon
(package
(name "neon")
- (version "0.30.0")
+ (version "0.30.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.webdav.org/neon/neon-"
version ".tar.gz"))
(sha256
(base32
- "1hlhg5w505jxdvaf7bq17057f6a48dry981g7lp2gwrhbp5wyqi9"))))
+ "1pawhk02x728xn396a1kcivy9gqm94srmgad6ymr9l0qvk02dih0"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index c20569ffde..f427d35777 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -32,6 +32,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages xfce)
#:use-module (gnu packages avahi)
#:use-module (gnu packages polkit)
#:use-module (gnu packages xdisorg)
@@ -51,6 +52,8 @@
polkit-service
elogind-configuration
elogind-service
+ gnome-desktop-service
+ xfce-desktop-service
%desktop-services))
;;; Commentary:
@@ -67,6 +70,11 @@
(define (bool value)
(if value "true\n" "false\n"))
+(define (package-direct-input-selector input)
+ (lambda (package)
+ (match (assoc-ref (package-direct-inputs package) input)
+ ((package . _) package))))
+
(define (wrapped-dbus-service service program variable value)
"Return a wrapper for @var{service}, a package containing a D-Bus service,
@@ -697,6 +705,64 @@ when they log out."
;;;
+;;; GNOME desktop service.
+;;;
+
+(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
+ make-gnome-desktop-configuration
+ gnome-desktop-configuration
+ (gnome-package gnome-package (default gnome)))
+
+(define gnome-desktop-service-type
+ (service-type
+ (name 'gnome-desktop)
+ (extensions
+ (list (service-extension polkit-service-type
+ (compose list
+ (package-direct-input-selector
+ "gnome-settings-daemon")
+ gnome-package))
+ (service-extension profile-service-type
+ (compose list
+ gnome-package))))))
+
+(define* (gnome-desktop-service #:key (config (gnome-desktop-configuration)))
+ "Return a service that adds the @code{gnome} package to the system profile,
+and extends polkit with the actions from @code{gnome-settings-daemon}."
+ (service gnome-desktop-service-type config))
+
+
+;;;
+;;; XFCE desktop service.
+;;;
+
+(define-record-type* <xfce-desktop-configuration> xfce-desktop-configuration
+ make-xfce-desktop-configuration
+ xfce-desktop-configuration
+ (xfce xfce-package (default xfce)))
+
+(define xfce-desktop-service-type
+ (service-type
+ (name 'xfce-desktop)
+ (extensions
+ (list (service-extension polkit-service-type
+ (compose list
+ (package-direct-input-selector
+ "thunar")
+ xfce-package))
+ (service-extension profile-service-type
+ (compose list
+ xfce-package))))))
+
+(define* (xfce-desktop-service #:key (config (xfce-desktop-configuration)))
+ "Return a service that adds the @code{xfce} package to the system profile,
+and extends polkit with the abilit for @code{thunar} to manipulate the file
+system as root from within a user session, after the user has authenticated
+with the administrator's password."
+ (service xfce-desktop-service-type config))
+
+
+;;;
;;; The default set of desktop services.
;;;
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 980b5a6ba5..e16247b3b8 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -246,13 +246,14 @@ which should be passed to this script as the first argument. If not, the
(let* ((home (getenv "HOME"))
(xsession-file (string-append home "/.xsession"))
(session (match (command-line)
- ((_ x) x)
- (_ #$fallback-session))))
+ ((_) (list #$fallback-session))
+ ((_ x ..1) x))))
(if (file-exists? xsession-file)
;; Run ~/.xsession when it exists.
(exec-from-login-shell xsession-file session)
;; Otherwise, start the specified session.
- (exec-from-login-shell session)))))
+ (apply exec-from-login-shell session)))))
+
(program-file "xinitrc" builder))
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 7f3a1dfac2..a13ef1192c 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -131,6 +131,12 @@
(define (default-skeletons)
"Return the default skeleton files for /etc/skel. These files are copied by
'useradd' in the home directory of newly created user accounts."
+ (define fonts.conf-content
+ ;; SXML for ~/.config/fontconfig/fonts.conf. This works around the fact
+ ;; that Fontconfig currently does not such this directory by default,
+ ;; thereby ignoring fonts installed system-wide (FIXME).
+ `(fontconfig (dir "/run/current-system/profile/share/fonts")))
+
(define copy-guile-wm
#~(begin
(use-modules (guix build utils))
@@ -174,6 +180,22 @@ source /etc/profile\n"))
(xdefaults (plain-file "Xdefaults" "\
XTerm*utf8: always
XTerm*metaSendsEscape: true\n"))
+ (fonts.conf (computed-file
+ "fonts.conf"
+ #~(begin
+ (use-modules (guix build utils)
+ (sxml simple))
+
+ (define dir
+ (string-append #$output
+ "/fontconfig"))
+
+ (mkdir-p dir)
+ (call-with-output-file (string-append dir
+ "/fonts.conf")
+ (lambda (port)
+ (sxml->xml '#$fonts.conf-content port))))
+ #:modules '((guix build utils))))
(gdbinit (plain-file "gdbinit" "\
# Tell GDB where to look for separate debugging files.
set debug-file-directory ~/.guix-profile/lib/debug\n")))
@@ -182,13 +204,15 @@ set debug-file-directory ~/.guix-profile/lib/debug\n")))
(".zlogin" ,zlogin)
(".Xdefaults" ,xdefaults)
(".guile-wm" ,guile-wm)
+ (".config" ,fonts.conf)
(".gdbinit" ,gdbinit))))
(define (skeleton-directory skeletons)
"Return a directory containing SKELETONS, a list of name/derivation tuples."
(computed-file "skel"
#~(begin
- (use-modules (ice-9 match))
+ (use-modules (ice-9 match)
+ (guix build utils))
(mkdir #$output)
(chdir #$output)
@@ -198,9 +222,10 @@ set debug-file-directory ~/.guix-profile/lib/debug\n")))
;; would just copy the symlinks as is.
(for-each (match-lambda
((target source)
- (copy-file source target)))
+ (copy-recursively source target)))
'#$skeletons)
- #t)))
+ #t)
+ #:modules '((guix build utils))))
(define (assert-valid-users/groups users groups)
"Raise an error if USERS refer to groups not listed in GROUPS."