summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am3
-rw-r--r--gnu/build/activation.scm10
-rw-r--r--gnu/packages/bash.scm22
-rw-r--r--gnu/packages/bioinformatics.scm144
-rw-r--r--gnu/packages/certs.scm52
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/compression.scm6
-rw-r--r--gnu/packages/enlightenment.scm236
-rw-r--r--gnu/packages/gdb.scm5
-rw-r--r--gnu/packages/gnu-pw-mgr.scm5
-rw-r--r--gnu/packages/gtk.scm75
-rw-r--r--gnu/packages/guile.scm60
-rw-r--r--gnu/packages/libevent.scm7
-rw-r--r--gnu/packages/llvm.scm31
-rw-r--r--gnu/packages/maths.scm5
-rw-r--r--gnu/packages/messaging.scm8
-rw-r--r--gnu/packages/mpd.scm35
-rw-r--r--gnu/packages/patches/crossmap-allow-system-pysam.patch121
-rw-r--r--gnu/packages/python.scm122
-rw-r--r--gnu/packages/rdesktop.scm59
-rw-r--r--gnu/packages/ruby.scm29
-rw-r--r--gnu/packages/skribilo.scm2
-rw-r--r--gnu/packages/version-control.scm124
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/xfce.scm28
-rw-r--r--gnu/packages/xiph.scm10
-rw-r--r--gnu/packages/xorg.scm4
-rw-r--r--gnu/services/xorg.scm4
-rw-r--r--gnu/system.scm5
-rw-r--r--guix/build-system/ruby.scm32
-rw-r--r--guix/build/ruby-build-system.scm18
-rw-r--r--guix/http-client.scm81
-rw-r--r--guix/profiles.scm91
33 files changed, 1195 insertions, 251 deletions
diff --git a/gnu-system.am b/gnu-system.am
index a705204381..e78d6a54ab 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -90,6 +90,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/elf.scm \
gnu/packages/emacs.scm \
gnu/packages/enchant.scm \
+ gnu/packages/enlightenment.scm \
gnu/packages/feh.scm \
gnu/packages/file.scm \
gnu/packages/firmware.scm \
@@ -240,6 +241,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/qemu.scm \
gnu/packages/qt.scm \
gnu/packages/ratpoison.scm \
+ gnu/packages/rdesktop.scm \
gnu/packages/rdf.scm \
gnu/packages/readline.scm \
gnu/packages/rrdtool.scm \
@@ -375,6 +377,7 @@ dist_patch_DATA = \
gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/cpufrequtils-fix-aclocal.patch \
+ gnu/packages/patches/crossmap-allow-system-pysam.patch \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/clucene-contribs-lib.patch \
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index dfadde326c..909e971833 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -200,6 +201,15 @@ numeric gid or #f."
(format #t "populating /etc from ~a...~%" etc)
+ ;; Create the /etc/ssl -> /run/current-system/profile/etc/ssl symlink. This
+ ;; symlink, to a target outside of the store, probably doesn't belong in the
+ ;; static 'etc' store directory. However, if it were to be put there,
+ ;; beware that if /run/current-system/profile/etc/ssl doesn't exist at the
+ ;; time of activation (e.g. when installing a fresh system), the call to
+ ;; 'file-is-directory?' below will fail because it uses 'stat', not 'lstat'.
+ (rm-f "/etc/ssl")
+ (symlink "/run/current-system/profile/etc/ssl" "/etc/ssl")
+
(rm-f "/etc/static")
(symlink etc "/etc/static")
(for-each (lambda (file)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index f565c1a876..c669194c2e 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -206,3 +206,23 @@ without modification.")
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no")
'()))))))))
+
+(define-public bash-completion
+ (package
+ (name "bash-completion")
+ (version "2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://bash-completion.alioth.debian.org/files/"
+ "bash-completion-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b"))))
+ (build-system gnu-build-system)
+ (synopsis "Bash completions for common commands")
+ (description
+ "This package provides extensions that allow Bash to provide adapted
+completion for many common commands.")
+ (home-page "http://bash-completion.alioth.debian.org/")
+ (license gpl2+)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f6df298db5..8ed871003a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -143,6 +143,39 @@ intervals from multiple files in widely-used genomic file formats such as BAM,
BED, GFF/GTF, VCF.")
(license license:gpl2)))
+(define-public python2-pybedtools
+ (package
+ (name "python2-pybedtools")
+ (version "0.6.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/p/pybedtools/pybedtools-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ldzdxw1p4y3g2ignmggsdypvqkcwqwzhdha4rbgpih048z5p4an"))))
+ (build-system python-build-system)
+ (arguments `(#:python ,python-2)) ; no Python 3 support
+ (inputs
+ `(("python-cython" ,python2-cython)
+ ("python-matplotlib" ,python2-matplotlib)))
+ (propagated-inputs
+ `(("bedtools" ,bedtools)
+ ("samtools" ,samtools)))
+ (native-inputs
+ `(("python-pyyaml" ,python2-pyyaml)
+ ("python-nose" ,python2-nose)
+ ("python-setuptools" ,python2-setuptools)))
+ (home-page "https://pythonhosted.org/pybedtools/")
+ (synopsis "Python wrapper for BEDtools programs")
+ (description
+ "pybedtools is a Python wrapper for Aaron Quinlan's BEDtools programs,
+which are widely used for genomic interval manipulation or \"genome algebra\".
+pybedtools extends BEDTools by offering feature-level manipulations from with
+Python.")
+ (license license:gpl2+)))
+
(define-public bowtie
(package
(name "bowtie")
@@ -204,6 +237,86 @@ gapped, local, and paired-end alignment modes.")
(supported-systems '("x86_64-linux"))
(license license:gpl3+)))
+(define-public clipper
+ (package
+ (name "clipper")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/YeoLab/clipper/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1q7jpimsqln7ic44i8v2rx2haj5wvik8hc1s2syd31zcn0xk1iyq"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; remove unnecessary setup dependency
+ '(substitute* "setup.py"
+ (("setup_requires = .*") "")))))
+ (build-system python-build-system)
+ (arguments `(#:python ,python-2)) ; only Python 2 is supported
+ (inputs
+ `(("htseq" ,htseq)
+ ("python-pybedtools" ,python2-pybedtools)
+ ("python-cython" ,python2-cython)
+ ("python-scikit-learn" ,python2-scikit-learn)
+ ("python-matplotlib" ,python2-matplotlib)
+ ("python-pysam" ,python2-pysam)
+ ("python-numpy" ,python2-numpy)
+ ("python-scipy" ,python2-scipy)))
+ (native-inputs
+ `(("python-mock" ,python2-mock) ; for tests
+ ("python-pytz" ,python2-pytz) ; for tests
+ ("python-setuptools" ,python2-setuptools)))
+ (home-page "https://github.com/YeoLab/clipper")
+ (synopsis "CLIP peak enrichment recognition")
+ (description
+ "CLIPper is a tool to define peaks in CLIP-seq datasets.")
+ (license license:gpl2)))
+
+(define-public crossmap
+ (package
+ (name "crossmap")
+ (version "0.1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/crossmap/CrossMap-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "163hi5gjgij6cndxlvbkp5jjwr0k4wbm9im6d2210278q7k9kpnp"))
+ ;; patch has been sent upstream already
+ (patches (list
+ (search-patch "crossmap-allow-system-pysam.patch")))
+ (modules '((guix build utils)))
+ ;; remove bundled copy of pysam
+ (snippet
+ '(delete-file-recursively "lib/pysam"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:phases
+ (alist-cons-after
+ 'unpack 'set-env
+ (lambda _ (setenv "CROSSMAP_USE_SYSTEM_PYSAM" "1"))
+ %standard-phases)))
+ (inputs
+ `(("python-numpy" ,python2-numpy)
+ ("python-pysam" ,python2-pysam)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("python-cython" ,python2-cython)
+ ("python-nose" ,python2-nose)
+ ("python-setuptools" ,python2-setuptools)))
+ (home-page "http://crossmap.sourceforge.net/")
+ (synopsis "Convert genome coordinates between assemblies")
+ (description
+ "CrossMap is a program for conversion of genome coordinates or annotation
+files between different genome assemblies. It supports most commonly used
+file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
+ (license license:gpl2+)))
+
(define-public flexbar
(package
(name "flexbar")
@@ -333,6 +446,37 @@ particular, reads spanning multiple exons.")
from high-throughput sequencing assays.")
(license license:gpl3+)))
+(define-public macs
+ (package
+ (name "macs")
+ (version "2.1.0.20140616")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/M/MACS2/MACS2-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "11lmiw6avqhwn75sn59g4lfkrr2kk20r3rgfbx9xfqb8rg9mi2n6"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2 ; only compatible with Python 2.7
+ #:tests? #f)) ; no test target
+ (inputs
+ `(("python-numpy" ,python2-numpy)))
+ (native-inputs
+ `(("python-setuptools" ,python2-setuptools)))
+ (home-page "http://github.com/taoliu/MACS/")
+ (synopsis "Model based analysis for ChIP-Seq data")
+ (description
+ "MACS is an implementation of a ChIP-Seq analysis algorithm for
+identifying transcript factor binding sites named Model-based Analysis of
+ChIP-Seq (MACS). MACS captures the influence of genome complexity to evaluate
+the significance of enriched ChIP regions and it improves the spatial
+resolution of binding sites through combining the information of both
+sequencing tag position and orientation.")
+ (license license:bsd-3)))
+
(define-public rseqc
(package
(name "rseqc")
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index ab46143202..7818d48219 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,36 +81,47 @@
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
- (srfi srfi-26))
+ (rnrs io ports)
+ (srfi srfi-26)
+ (ice-9 regex))
#:imported-modules ((guix build gnu-build-system)
(guix build utils))
#:phases
(alist-cons-after
'unpack 'install
(lambda _
- (let ((certsdir (string-append %output "/etc/ssl/certs/")))
+ (let ((certsdir (string-append %output "/etc/ssl/certs/"))
+ (trusted-rx (make-regexp "^# openssl-trust=[a-zA-Z]"
+ regexp/newline)))
+
+ (define (maybe-install-cert file)
+ (let ((cert (call-with-input-file file get-string-all)))
+ (when (regexp-exec trusted-rx cert)
+ (call-with-output-file
+ (string-append certsdir file)
+ (cut display cert <>)))))
+
(mkdir-p certsdir)
(with-directory-excursion "nss/lib/ckfw/builtins/"
;; extract single certificates from blob
(system* "certdata2pem.py" "certdata.txt")
- ;; copy the .pem files into the output
- (for-each
- (lambda (file)
- (copy-file file (string-append certsdir file)))
- ;; FIXME: Some of the file names are UTF8 (?) and cause an
- ;; error message such as
- ;; find-files:
- ;; ./EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??:2.8.76.175.115.66.28.142.116.2.pem:
- ;; No such file or directory
- (find-files "." ".*\\.pem")))
- (with-directory-excursion certsdir
- ;; create symbolic links for and by openssl
- ;; Strangely, the call (system* "c_rehash" certsdir)
- ;; from inside the build dir fails with
- ;; "Usage error; try -help."
- ;; This looks like a bug in openssl-1.0.2, but we can also
- ;; switch into the target directory.
- (system* "c_rehash" "."))))
+ ;; copy selected .pem files into the output
+ (for-each maybe-install-cert
+ ;; FIXME: Some of the file names are UTF8 (?) and
+ ;; cause an error message such as find-files:
+ ;; ./EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??:2.8.76.175.115.66.28.142.116.2.pem:
+ ;; No such file or directory
+ (find-files "." ".*\\.pem")))
+
+ (with-directory-excursion certsdir
+ ;; create symbolic links for and by openssl
+ ;; Strangely, the call (system* "c_rehash" certsdir)
+ ;; from inside the build dir fails with
+ ;; "Usage error; try -help."
+ ;; This looks like a bug in openssl-1.0.2, but we can also
+ ;; switch into the target directory.
+ (system* "c_rehash" "."))))
+
(map (cut assq <> %standard-phases)
'(set-paths unpack)))))
(synopsis "CA certificates from Mozilla")
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 399af2c0c2..bf2a1c7020 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,7 +27,7 @@
(define-public check
(package
(name "check")
- (version "0.9.9")
+ (version "0.9.14")
(source
(origin
(method url-fetch)
@@ -34,7 +35,7 @@
version "/check-" version ".tar.gz"))
(sha256
(base32
- "1jcahzrvxcnp5chdn2x46l0y4aba8d8yd70lljfin7h5knxrlyhs"))))
+ "02l4g79d81s07hzywcv1knwj5dyrwjiq2pgxaz7kidxi8m364wn2"))))
(build-system gnu-build-system)
(home-page "http://check.sourceforge.net/")
(synopsis "Unit test framework for C")
@@ -47,7 +48,6 @@ faults or other signals. The output from unit tests can be used within
source code editors and IDEs.")
(license lgpl2.1+)))
-
(define-public cppunit
(package
(name "cppunit")
@@ -67,5 +67,3 @@ source code editors and IDEs.")
unit testing. Test output is in XML for automatic testing and GUI based for
supervised tests.")
(license lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
-
-
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 47a0361488..98994ae1e6 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -294,7 +294,7 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
(define-public sharutils
(package
(name "sharutils")
- (version "4.14")
+ (version "4.15")
(source
(origin
(method url-fetch)
@@ -302,7 +302,7 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
version ".tar.xz"))
(sha256
(base32
- "033sq1v0cp0bi1mp320xaqwd4fhakqc5747hh6qa1asjrzpqiqza"))))
+ "19gqb6qbqmpgh6xlpgpj0ayw2nshllxg9d01qb5z8bnkhfcla8ka"))))
(build-system gnu-build-system)
(inputs
`(("which" ,which)))
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
new file mode 100644
index 0000000000..499ea24634
--- /dev/null
+++ b/gnu/packages/enlightenment.scm
@@ -0,0 +1,236 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages enlightenment)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages fribidi)
+ #:use-module (gnu packages game-development)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gstreamer)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages lua)
+ #:use-module (gnu packages openssl)
+ #:use-module (gnu packages pdf)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages photo)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages valgrind)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xorg))
+
+(define-public efl
+ (package
+ (name "efl")
+ (version "1.13.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://download.enlightenment.org/rel/libs/efl/efl-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0mwkxsfi5masiy6qfmdqy1j15cfz7nz8g8jq2bf3w501rpa9gxvz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("compositeproto" ,compositeproto)
+ ("curl" ,curl)
+ ("giflib" ,giflib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("harfbuzz" ,harfbuzz)
+ ("libexif" ,libexif)
+ ("libjpeg" ,libjpeg)
+ ("librsvg" ,librsvg)
+ ("libtiff" ,libtiff)
+ ("libx11" ,libx11)
+ ("libxcomposite" ,libxcomposite)
+ ("libxcursor" ,libxcursor)
+ ("libxdmcp" ,libxdmcp)
+ ("libxext" ,libxext)
+ ("libxi" ,libxi)
+ ("libxkbfile" ,libxkbfile)
+ ("libxinerama" ,libxinerama)
+ ("libxp" ,libxp)
+ ("libxrandr" ,libxrandr)
+ ("libxscrnsaver" ,libxscrnsaver)
+ ("libxtst" ,libxtst)
+ ("mesa" ,mesa)
+ ("printproto" ,printproto)
+ ("scrnsaverproto" ,scrnsaverproto)
+ ("valgrind" ,valgrind)
+ ("xextproto" ,xextproto)
+ ("xinput" ,xinput)
+ ("xpr" ,xpr)
+ ("xproto" ,xproto)))
+ (propagated-inputs
+ ;; All these inputs are in package config files in section
+ ;; Require.private.
+ `(("bullet" ,bullet) ; ephysics.pc
+ ("dbus" ,dbus) ; eldbus.pc
+ ("eudev" ,eudev) ; eeze.pc
+ ("fontconfig" ,fontconfig) ; evas.pc
+ ("freetype" ,freetype) ; evas.pc
+ ("fribidi" ,fribidi) ; evas.pc
+ ("glib" ,glib) ; ecore.pc
+ ("libpng" ,libpng) ; evas.pc, evas-cxx.pc
+ ("libsndfile" ,libsndfile) ; ecore-audio.pc, ecore-audio-cxx.pc
+ ("luajit" ,luajit) ; evas.pc, edje.pc
+ ("openssl" ,openssl) ; eet.pc, ecore-con.pc
+ ("pulseaudio" ,pulseaudio) ; ecore-audio.pc, ecore-audio-cxx.pc
+ ("util-linux" ,util-linux) ; eeze.pc
+ ("zlib" ,zlib))) ; eet.pc
+ (arguments
+ `(#:configure-flags '("--disable-silent-rules")
+ #:phases
+ (alist-cons-before
+ 'configure 'patch-config-files
+ (lambda _
+ (substitute* "po/Makefile.in.in"
+ (("/bin/sh") (which "bash"))))
+ %standard-phases)))
+ (home-page "http://www.enlightenment.org")
+ (synopsis "Enlightenment Foundation Libraries")
+ (description
+ "Enlightenment Foundation Libraries is a set of libraries developed
+for Enlightenment. Libraries covers data serialization, wide support for
+graphics rendering, UI layout and themes, interaction with OS, access to
+removable devices or support for multimedia.")
+ (license (list license:bsd-2 license:lgpl2.1 license:zlib)))) ; different parts under different licenses
+
+(define-public elementary
+ (package
+ (name "elementary")
+ (version "1.13.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://download.enlightenment.org/rel/libs/elementary/elementary-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "133p4yaynmy37yhk2gxwlc8a2n2wy7cbh4rd7nsnl5929wqb9waj"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("efl" ,efl))) ; elementary.pc, elementary-cxx.pc
+ (home-page "http://www.enlightenment.org")
+ (synopsis "Widget library of Enlightenment world")
+ (description
+ "Elementary is a widget library/toolkit, part of the Enlightenment
+Foundation Libraries. It is build upon Edje and Evas libraries and uses
+full capabilities of EFL.")
+ (license license:lgpl2.1)))
+
+(define-public evas-generic-loaders
+ (package
+ (name "evas-generic-loaders")
+ (version "1.13.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "16yzjk58bxsd0rlnpzrr8as9fxjjiq01swzhpadsgkmq33abgg63"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("efl" ,efl)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("librsvg" ,librsvg)
+ ("libspectre" ,libspectre)
+ ("poppler" ,poppler)))
+ (home-page "http://www.enlightenment.org")
+ (synopsis "Plugins for integration of various file types into Evas")
+ (description
+ "Evas-generic-loaders is a collection of interfaces to outside libraries
+and applications allowing to natively open pictures, documents and media
+files in Evas (EFL canvas library).")
+ (license license:gpl2+)))
+
+(define-public emotion-generic-players
+ (package
+ (name "emotion-generic-players")
+ (version "1.13.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0gin3cjhfj75v0gjsvv7harbj4fs4r7r1sfi74ncxzna71nrd8r3"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("efl" ,efl)
+ ("vlc" ,vlc)))
+ (home-page "http://www.enlightenment.org")
+ (synopsis "Plugins for integrating media players in EFL based applications")
+ (description
+ "Emotion-generic-players is a collection of interfaces to outside libraries
+and applications allowing to natively play video files through Emotion.
+The only supported now is VLC.")
+ (license license:bsd-2)))
+
+(define-public terminology
+ (package
+ (name "terminology")
+ (version "0.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://download.enlightenment.org/rel/apps/terminology/terminology-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0a767ixackzmhb2awrhjy7q6vsivsd54wc434i617xiw095x843s"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("efl" ,efl)
+ ("elementary" ,elementary)))
+ (home-page "http://www.enlightenment.org")
+ (synopsis "Powerful terminal emulator based on EFL")
+ (description
+ "Terminology is fast and feature rich terminal emulator. It is solely
+based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8,
+URL and local path detection, themes, popup based content viewer for non-text
+contents and more.")
+ (license license:bsd-2)))
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 617ca17681..018f564e67 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,14 +36,14 @@
(define-public gdb
(package
(name "gdb")
- (version "7.8.2")
+ (version "7.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
- "11a4fj1vpsny71kz7xqqbqk3kgzbs5cfjj3z9gm0hpvxfkam8nb0"))))
+ "14l3hhsy7fmpn2dk7ivc67gnbjdhkxlq90kxijpzfa35l58mcccv"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; FIXME "make check" fails on single-processor systems.
diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm
index a1f849a86f..46d494bbb2 100644
--- a/gnu/packages/gnu-pw-mgr.scm
+++ b/gnu/packages/gnu-pw-mgr.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +28,7 @@
(define-public gnu-pw-mgr
(package
(name "gnu-pw-mgr")
- (version "1.2")
+ (version "1.3")
(source
(origin
(method url-fetch)
@@ -35,7 +36,7 @@
version ".tar.gz"))
(sha256
(base32
- "0rdindczxq8ysm3qq7ghc7pcvhp6bn6fadlwna8p83vc1n9nd5py"))))
+ "0rbnv5wszpr35py97vwylqkdlf06qpd2x9j9aqlmgkd4mr1n4hf0"))))
(build-system gnu-build-system)
(inputs `(("which" ,which)))
(home-page "http://www.gnu.org/software/gnu-pw-mgr/")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e33bcd5a27..fef5a814db 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,8 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system waf)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
@@ -750,20 +753,28 @@ extensive documentation, including API reference and a tutorial.")
(arguments
`(#:tests? #f
#:phases (alist-cons-after
- 'install 'install-pth
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; pygtk's modules are stored in a subdirectory of python's
- ;; site-packages directory. Add a .pth file so that python
- ;; will add that subdirectory to its module search path.
- (let* ((out (assoc-ref outputs "out"))
- (site (string-append out "/lib/python"
- ,(version-major+minor
- (package-version python-2))
- "/site-packages")))
- (call-with-output-file (string-append site "/pygtk.pth")
- (lambda (port)
- (format port "gtk-2.0~%")))))
- %standard-phases)))
+ 'configure 'fix-codegen
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "pygtk-codegen-2.0"
+ (("^prefix=.*$")
+ (string-append
+ "prefix="
+ (assoc-ref inputs "python-pygobject") "\n"))))
+ (alist-cons-after
+ 'install 'install-pth
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; pygtk's modules are stored in a subdirectory of python's
+ ;; site-packages directory. Add a .pth file so that python
+ ;; will add that subdirectory to its module search path.
+ (let* ((out (assoc-ref outputs "out"))
+ (site (string-append out "/lib/python"
+ ,(version-major+minor
+ (package-version python-2))
+ "/site-packages")))
+ (call-with-output-file (string-append site "/pygtk.pth")
+ (lambda (port)
+ (format port "gtk-2.0~%")))))
+ %standard-phases))))
(home-page "http://www.pygtk.org/")
(synopsis "Python bindings for GTK+")
(description
@@ -771,3 +782,39 @@ extensive documentation, including API reference and a tutorial.")
targetted at GTK 2.x, and can be used in conjunction with gnome-python to
write GNOME applications.")
(license license:lgpl2.1+)))
+
+(define-public girara
+ (package
+ (name "girara")
+ (version "0.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://pwmt.org/projects/girara/download/girara-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh"))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("gettext" ,gnu-gettext)))
+ (inputs `(("gtk+" ,gtk+)
+ ("check" ,check)))
+ (arguments
+ `(#:make-flags
+ `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "COLOR=0" "CC=gcc")
+ #:test-target "test"
+ #:tests? #f ; Tests fail with "Gtk cannot open display:"
+ #:phases
+ (alist-delete 'configure %standard-phases)))
+ (build-system gnu-build-system)
+ (home-page "https://pwmt.org/projects/girara/")
+ (synopsis "Library for minimalistic gtk+3 user interfaces")
+ (description "Girara is a library that implements a user interface that
+focuses on simplicity and minimalism. Currently based on GTK+, a
+cross-platform widget toolkit, it provides an interface that focuses on three
+main components: a so-called view widget that represents the actual
+application, an input bar that is used to execute commands of the
+application and the status bar which provides the user with current
+information.")
+ (license license:zlib)))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c29b1213ac..3c94567dd3 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -183,34 +183,28 @@ without requiring the source code to be rewritten.")
;;; Extensions.
;;;
-(define (guile-reader guile)
- "Build Guile-Reader against GUILE, a package of some version of Guile 1.8
-or 2.0."
+(define-public guile-reader
(package
- (name (string-append "guile-reader-for-guile_" (package-version guile)))
- (version "0.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://download-mirror.savannah.gnu.org/releases/guile-reader/guile-reader-"
- version ".tar.gz"))
- (sha256
- (base32
- "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkgconfig" ,pkg-config)
- ("gperf" ,gperf)))
- (inputs `(("guile" ,guile)))
- (arguments `(#:configure-flags
- (let ((out (assoc-ref %outputs "out")))
- ,(if (string-prefix? "2." (package-version guile))
- '(list (string-append "--with-guilemoduledir="
- out "/share/guile/site/2.0"))
- '(list (string-append "--with-guilemoduledir="
- out "/share/guile/site"))))))
- (synopsis "Framework for building readers for GNU Guile")
- (description
-"Guile-Reader is a simple framework for building readers for GNU Guile.
+ (name "guile-reader")
+ (version "0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/guile-reader/guile-reader-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("pkgconfig" ,pkg-config)
+ ("gperf" ,gperf)))
+ (inputs `(("guile" ,guile-2.0)))
+ (arguments `(#:configure-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "--with-guilemoduledir="
+ out "/share/guile/site/2.0")))))
+ (synopsis "Framework for building readers for GNU Guile")
+ (description
+ "Guile-Reader is a simple framework for building readers for GNU Guile.
The idea is to make it easy to build procedures that extend Guile’s read
procedure. Readers supporting various syntax variants can easily be written,
@@ -221,16 +215,8 @@ document syntax.
Guile-Reader’s approach is similar to Common Lisp’s “read table”, but
hopefully more powerful and flexible (for instance, one may instantiate as
many readers as needed).")
- (home-page "http://www.nongnu.org/guile-reader/")
- (license gpl3+)))
-
-(define-public guile-reader/guile-1.8
- ;; Guile-Reader built against Guile 1.8.
- (guile-reader guile-1.8))
-
-(define-public guile-reader/guile-2.0
- ;; Guile-Reader built against Guile 2.0.
- (guile-reader guile-2.0))
+ (home-page "http://www.nongnu.org/guile-reader/")
+ (license gpl3+)))
(define-public guile-ncurses
(package
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index a48c524779..e23de3a25a 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,15 +64,15 @@ loop.")
(define-public libuv
(package
(name "libuv")
- (version "0.11.25")
+ (version "1.4.2")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/joyent/libuv/archive/v"
+ (uri (string-append "https://github.com/libuv/libuv/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ys2wlypdbv59yywn91d5vl329z50mi7ivi3fj5rjm4mr9g3wnmr"))))
+ "0hdpysawz85zpmsfkcsd1b7bmx53szcir1szbh1w7ldhkpv29r5r"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 5b70124655..6cf1fdab0a 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,7 +32,7 @@
(define-public llvm
(package
(name "llvm")
- (version "3.5.0")
+ (version "3.6.0")
(source
(origin
(method url-fetch)
@@ -39,7 +40,7 @@
version "/llvm-" version ".src.tar.xz"))
(sha256
(base32
- "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"))))
+ "1kmr5vlnz1419nnvyc7lsrcfx09n65ravjbmzxrqz7ml07jnk6mk"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-wrapper)
@@ -74,7 +75,7 @@ development. The compiler infrastructure includes mirror sets of programming
tools as well as libraries with equivalent functionality.")
(license ncsa)))
-(define-public clang
+(define (clang-from-llvm llvm hash)
(package
(name "clang")
(version (package-version llvm))
@@ -83,9 +84,7 @@ tools as well as libraries with equivalent functionality.")
(method url-fetch)
(uri (string-append "http://llvm.org/releases/"
version "/cfe-" version ".src.tar.xz"))
- (sha256
- (base32
- "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))))
+ (sha256 (base32 hash))))
;; Using cmake allows us to treat llvm as an external library. There
;; doesn't seem to be any way to do this with clang's autotools-based
;; build system.
@@ -105,3 +104,23 @@ Objective-C++ programming languages. It uses LLVM as its back end. The Clang
project includes the Clang front end, the Clang static analyzer, and several
code analysis tools.")
(license ncsa)))
+
+(define-public clang
+ (clang-from-llvm llvm
+ "0b8825mvdhfk5r9gwcwp1j2dl9kw5glgyk7pybq2dzhrh4vnj3my"))
+
+(define-public llvm-3.5
+ (package (inherit llvm)
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://llvm.org/releases/"
+ version "/llvm-" version ".src.tar.xz"))
+ (sha256
+ (base32
+ "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"))))))
+
+(define-public clang-3.5
+ (clang-from-llvm llvm-3.5
+ "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e3e6e59e47..44f6153011 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -337,7 +338,7 @@ extremely large and complex data collections.")
(define-public octave
(package
(name "octave")
- (version "3.8.0")
+ (version "3.8.2")
(source
(origin
(method url-fetch)
@@ -345,7 +346,7 @@ extremely large and complex data collections.")
version ".tar.gz"))
(sha256
(base32
- "0ks9pr154syw0vb3jn6xsnrkkrbvf9y7i7gaxa28rz6ngxbxvq9l"))))
+ "05slz8yx8k91fqlnfr1f0vni95iq9qmchz41c7nf4isn3b2fjn7j"))))
(build-system gnu-build-system)
(inputs
`(("lapack" ,lapack)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0c2b4b9c01..462c500248 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
@@ -46,19 +46,17 @@
(define-public libotr
(package
(name "libotr")
- (version "4.0.0")
+ (version "4.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://otr.cypherpunks.ca/libotr-"
version ".tar.gz"))
(sha256
- (base32 "1d4k0b7v4d3scwm858cmqr9c6xgd6ppla1vk4x2yg64q82a1k49z"))))
+ (base32 "0c6rkh58s6wqzcrpccwdik5qs91qj6dgd60a340d72gc80cqknsg"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgcrypt" ,libgcrypt))) ; libotr headers include gcrypt.h
(inputs `(("libgpg-error" ,libgpg-error)))
- (arguments
- `(#:configure-flags '("--with-pic")))
(synopsis "Off-the-Record (OTR) Messaging Library and Toolkit")
(description
"OTR allows you to have private conversations over instant messaging by
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 2d7ca6ef37..2313b3049a 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
+;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
@@ -29,6 +29,7 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages readline)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -68,24 +69,26 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
- (version "0.18.8")
+ (version "0.19.9")
(source (origin
(method url-fetch)
(uri
(string-append "http://musicpd.org/download/mpd/"
(version-major+minor version)
- "/mpd-" version ".tar.gz"))
+ "/mpd-" version ".tar.xz"))
(sha256
(base32
- "1ryqh0xf76xv4mpwy1gjwy275ar4wmbzifa9ccjim9r7lk2hgp5v"))))
+ "0vzj365s4j0pw5w37lfhx3dmpkdp85driravsvx8rlrw0lii91a7"))))
(build-system gnu-build-system)
(inputs `(("ao" ,ao)
("alsa-lib" ,alsa-lib)
("avahi" ,avahi)
+ ("boost" ,boost)
("curl" ,curl)
("ffmpeg" ,ffmpeg)
("flac" ,flac)
("glib" ,glib)
+ ("icu4c" ,icu4c)
("lame" ,lame)
("libid3tag" ,libid3tag)
("libmad" ,libmad)
@@ -211,3 +214,27 @@ for library searches, extended song format, items filtering, the ability to
sort playlists, and a local filesystem browser.")
(home-page "http://ncmpcpp.rybczak.net/")
(license license:gpl2+)))
+
+(define-public mpdscribble
+ (package
+ (name "mpdscribble")
+ (version "0.22")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.musicpd.org/download/mpdscribble/"
+ version "/mpdscribble-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0f0ybx380x2z2g1qvdndpvcrhkrgsfqckhz3ryydq2w3pl12v27z"))))
+ (build-system gnu-build-system)
+ (inputs `(("libmpdclient" ,libmpdclient)
+ ("curl" ,curl)
+ ("glib" ,glib)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (synopsis "MPD client for track scrobbling")
+ (description "mpdscribble is a Music Player Daemon client which submits
+information about tracks being played to a scrobbler, such as Libre.FM.")
+ ;; musicpd.org doesn't mention mpdscribble. It points users to this wiki
+ ;; instead.
+ (home-page "http://mpd.wikia.com/wiki/Client:Mpdscribble")
+ (license license:gpl2+)))
diff --git a/gnu/packages/patches/crossmap-allow-system-pysam.patch b/gnu/packages/patches/crossmap-allow-system-pysam.patch
new file mode 100644
index 0000000000..611c4ff74d
--- /dev/null
+++ b/gnu/packages/patches/crossmap-allow-system-pysam.patch
@@ -0,0 +1,121 @@
+This patch modifies the build process such that the bundled copy of pysam does
+not need to be built if CROSSMAP_USE_SYSTEM_PYSAM is set and the pysam module
+can be imported.
+
+Upstream has agreed to apply the patch in the next maintenance release of
+crossmap. The patch has already been uploaded to
+http://sourceforge.net/projects/crossmap/files/patch/.
+
+diff --git a/setup.py b/setup.py
+--- a/setup.py 2015-02-26 15:28:49.771189185 +0100
++++ b/setup.py 2015-02-26 15:55:03.440327752 +0100
+@@ -19,6 +19,15 @@
+ except:
+ have_numpy = False
+
++try:
++ import pysam
++ if os.environ['CROSSMAP_USE_SYSTEM_PYSAM']:
++ have_pysam = True
++ else:
++ have_pysam = False
++except ImportError:
++ have_pysam = False
++
+ if platform.system()=='Windows':
+ print >> sys.stderr, "Sorry, Windows platform is not supported!"
+ sys.exit()
+@@ -165,49 +174,50 @@
+
+
+ #================= pysam samtools ====================
+- extensions.append(Extension(
+- "pysam.csamtools",
+- csamtools_sources + [ "lib/pysam/%s" % x for x in ("pysam_util.c", )] +\
+- glob.glob( os.path.join( "lib/samtools", "*.pysam.c" )) +\
+- os_c_files + \
+- glob.glob( os.path.join( "lib/samtools", "*", "*.pysam.c" ) ),
+- library_dirs=[],
+- include_dirs=[ "lib/samtools", "lib/pysam" ] + include_os,
+- libraries=[ "z", ],
+- language="c",
+- define_macros = [('_FILE_OFFSET_BITS','64'),('_USE_KNETFILE','')],
+- ))
+-
+- extensions.append(Extension(
+- "pysam.ctabix",
+- tabix_sources + [ "lib/pysam/%s" % x for x in ( "tabix_util.c", )] +\
+- os_c_files + \
+- glob.glob( os.path.join( "lib/tabix", "*.pysam.c" ) ),
+- library_dirs=[],
+- include_dirs=[ "lib/tabix", "lib/pysam" ] + include_os,
+- libraries=[ "z", ],
+- language="c",
+- define_macros = [('_FILE_OFFSET_BITS','64'),
+- ('_USE_KNETFILE','')],
+- ))
+-
+- extensions.append(Extension(
+- "pysam.TabProxies",
+- tabproxies_sources + os_c_files,
+- library_dirs=[],
+- include_dirs= include_os,
+- libraries=[ "z", ],
+- language="c",
+- ))
+-
+- extensions.append(Extension(
+- "pysam.cvcf",
+- cvcf_sources + os_c_files,
+- library_dirs=[],
+- include_dirs= ["lib/tabix",] + include_os,
+- libraries=[ "z", ],
+- language="c",
+- ))
++ if not have_pysam:
++ extensions.append(Extension(
++ "pysam.csamtools",
++ csamtools_sources + [ "lib/pysam/%s" % x for x in ("pysam_util.c", )] +\
++ glob.glob( os.path.join( "lib/samtools", "*.pysam.c" )) +\
++ os_c_files + \
++ glob.glob( os.path.join( "lib/samtools", "*", "*.pysam.c" ) ),
++ library_dirs=[],
++ include_dirs=[ "lib/samtools", "lib/pysam" ] + include_os,
++ libraries=[ "z", ],
++ language="c",
++ define_macros = [('_FILE_OFFSET_BITS','64'),('_USE_KNETFILE','')],
++ ))
++
++ extensions.append(Extension(
++ "pysam.ctabix",
++ tabix_sources + [ "lib/pysam/%s" % x for x in ( "tabix_util.c", )] +\
++ os_c_files + \
++ glob.glob( os.path.join( "lib/tabix", "*.pysam.c" ) ),
++ library_dirs=[],
++ include_dirs=[ "lib/tabix", "lib/pysam" ] + include_os,
++ libraries=[ "z", ],
++ language="c",
++ define_macros = [('_FILE_OFFSET_BITS','64'),
++ ('_USE_KNETFILE','')],
++ ))
++
++ extensions.append(Extension(
++ "pysam.TabProxies",
++ tabproxies_sources + os_c_files,
++ library_dirs=[],
++ include_dirs= include_os,
++ libraries=[ "z", ],
++ language="c",
++ ))
++
++ extensions.append(Extension(
++ "pysam.cvcf",
++ cvcf_sources + os_c_files,
++ library_dirs=[],
++ include_dirs= ["lib/tabix",] + include_os,
++ libraries=[ "z", ],
++ language="c",
++ ))
+
+
+ return extensions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3cf2c545ed..772a214eb3 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -53,6 +53,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages texlive)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages web)
#:use-module (gnu packages which)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -1722,6 +1723,37 @@ environments and back.")
(define-public python2-itsdangerous
(package-with-python2 python-itsdangerous))
+(define-public python-pyyaml
+ (package
+ (name "python-pyyaml")
+ (version "3.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/P/PyYAML/PyYAML-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1s26125vfnskng58ym37xhwv8v0mm95b2cwbjfag8prfhy596v63"))))
+ (build-system python-build-system)
+ (inputs
+ `(("libyaml" ,libyaml)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "http://pyyaml.org/wiki/PyYAML")
+ (synopsis "YAML parser and emitter for Python")
+ (description
+ "PyYAML is a YAML parser and emitter for Python. PyYAML features a
+complete YAML 1.1 parser, Unicode support, pickle support, capable extension
+API, and sensible error messages. PyYAML supports standard YAML tags and
+provides Python-specific tags that allow to represent an arbitrary Python
+object.")
+ (license license:expat)))
+
+(define-public python2-pyyaml
+ (package-with-python2 python-pyyaml))
+
(define-public python-virtualenv
(package
(name "python-virtualenv")
@@ -1920,6 +1952,74 @@ sources.")
(define-public python2-sphinx-rtd-theme
(package-with-python2 python-sphinx-rtd-theme))
+(define-public python-scikit-learn
+ (package
+ (name "python-scikit-learn")
+ (version "0.15.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/scikit-learn/scikit-learn/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1rb93h2q15f219sz60sczjb65rg70xjmnp0q4pkkaairx5s05q55"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (alist-cons-before
+ 'build 'set-environment-variables
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((atlas-threaded
+ (string-append (assoc-ref inputs "atlas")
+ "/lib/libtatlas.so"))
+ ;; On single core CPUs only the serial library is created.
+ (atlas-lib
+ (if (file-exists? atlas-threaded)
+ atlas-threaded
+ (string-append (assoc-ref inputs "atlas")
+ "/lib/libsatlas.so"))))
+ (setenv "ATLAS" atlas-lib)))
+ (alist-cons-before
+ 'check 'set-HOME
+ ;; some tests require access to "$HOME"
+ (lambda _ (setenv "HOME" "/tmp"))
+ ;; Tests can only be run after the library has been installed and not
+ ;; within the source directory.
+ (alist-cons-after
+ 'install 'check
+ (lambda _
+ (with-directory-excursion "/tmp"
+ ;; With Python 3 one test of 3334 fails
+ ;; (sklearn.tests.test_common.test_transformers); see
+ ;; https://github.com/scikit-learn/scikit-learn/issues/3693
+ (system* "nosetests" "-v" "sklearn")))
+ (alist-delete 'check %standard-phases))))))
+ (inputs
+ `(("atlas" ,atlas)
+ ("python-nose" ,python-nose)))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-scipy" ,python-scipy)))
+ (home-page "http://scikit-learn.org/")
+ (synopsis "Machine Learning in Python")
+ (description
+ "Scikit-learn provides simple and efficient tools for data
+mining and data analysis.")
+ (license bsd-3)))
+
+(define-public python2-scikit-learn
+ (let ((scikit (package-with-python2 python-scikit-learn)))
+ (package (inherit scikit)
+ (propagated-inputs
+ `(("python2-numpy" ,python2-numpy)
+ ("python2-scipy" ,python2-scipy)
+ ,@(alist-delete
+ "python-numpy"
+ (alist-delete
+ "python-scipy" (package-propagated-inputs scikit))))))))
+
(define-public python-cython
(package
(name "python-cython")
@@ -3183,3 +3283,25 @@ interfaces in an easy and portable manner.")
(define-public python2-netifaces
(package-with-python2 python-netifaces))
+
+(define-public snakemake
+ (package
+ (name "snakemake")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/s/snakemake/snakemake-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0fi4b63sj60hvi7rfydvmz2icl4wj74djw5sn2gl8hxd02qw4b91"))))
+ (build-system python-build-system)
+ (inputs `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://bitbucket.org/johanneskoester/snakemake")
+ (synopsis "Python-based execution environment for make-like workflows")
+ (description
+ "Snakemake aims to reduce the complexity of creating workflows by
+providing a clean and modern domain specific specification language (DSL) in
+Python style, together with a fast and comfortable execution environment.")
+ (license license:expat)))
diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
new file mode 100644
index 0000000000..da688e47f1
--- /dev/null
+++ b/gnu/packages/rdesktop.scm
@@ -0,0 +1,59 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages rdesktop)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages openssl))
+
+(define-public rdesktop
+ (package
+ (name "rdesktop")
+ (version "1.8.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/rdesktop/rdesktop-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1r7c1rjmw2xzq8fw0scyb453gy9z19774z1z8ldmzzsfndb03cl8"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags (list (string-append "--with-openssl="
+ (assoc-ref %build-inputs
+ "openssl"))
+
+ ;; XXX: optional dependencies missing
+ "--disable-credssp"
+ "--disable-smartcard")
+
+ #:tests? #f)) ;no 'check' target
+ (inputs
+ `(("libx11" ,libx11)
+ ("openssl" ,openssl)))
+ (home-page "http://www.rdesktop.org/")
+ (synopsis "Client for Windows Terminal Services")
+ (description
+ "rdesktop is a client for Microsoft's Windows Remote Desktop Services,
+capable of natively speaking Remote Desktop Protocol (RDP.) It allows users
+to remotely control a user's Windows desktop.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4a4ab5de3b..98d100eb60 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -30,6 +30,7 @@
#:use-module (gnu packages gdbm)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ruby))
@@ -114,6 +115,34 @@ a focus on simplicity and productivity.")
(("/bin/sh") (which "sh"))))
%standard-phases)))))
+(define-public ruby-hoe
+ (package
+ (name "ruby-hoe")
+ (version "3.13.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/seattlerb/hoe.git")
+ (commit "0c11836"))) ; no release tags :(
+ (sha256
+ (base32
+ "0i8dimf8kxcjgqj9x65bbi3l6hc9p9gbfbb1vmrz42764a4jjbz9"))) )
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases (alist-replace
+ 'build
+ (lambda _ (zero? (system* "rake" "gem")))
+ %standard-phases)))
+ (synopsis "Ruby project management helper")
+ (description
+ "Hoe is a rake/rubygems helper for project Rakefiles. It helps manage,
+maintain, and release projects and includes a dynamic plug-in system allowing
+for easy extensibility. Hoe ships with plug-ins for all the usual project
+tasks including rdoc generation, testing, packaging, deployment, and
+announcement.")
+ (home-page "http://www.zenspider.com/projects/hoe.html")
+ (license license:expat)))
+
(define-public ruby-i18n
(package
(name "ruby-i18n")
diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm
index e0a167c20d..8beb54dc3c 100644
--- a/gnu/packages/skribilo.scm
+++ b/gnu/packages/skribilo.scm
@@ -68,7 +68,7 @@
;; The 'skribilo' command needs them, and for people using Skribilo as a
;; library, these inputs are needed as well.
- (propagated-inputs `(("guile-reader" ,guile-reader/guile-2.0)
+ (propagated-inputs `(("guile-reader" ,guile-reader)
("guile-lib" ,guile-lib)))
(home-page "http://www.nongnu.org/skribilo/")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 71b3630607..7434ed97b4 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -147,63 +147,73 @@ as well as the classic centralized workflow.")
(("/usr/bin/perl") (which "perl"))
(("/usr/bin/python") (which "python"))))
(alist-cons-after
- 'install 'split
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Split the binaries to the various outputs.
- (let* ((out (assoc-ref outputs "out"))
- (svn (assoc-ref outputs "svn"))
- (gui (assoc-ref outputs "gui"))
- (gitk (string-append out "/bin/gitk"))
- (gitk* (string-append gui "/bin/gitk"))
- (git-gui (string-append out "/libexec/git-core/git-gui"))
- (git-gui* (string-append gui "/libexec/git-core/git-gui"))
- (git-cit (string-append out "/libexec/git-core/git-citool"))
- (git-cit* (string-append gui "/libexec/git-core/git-citool"))
- (git-svn (string-append out "/libexec/git-core/git-svn"))
- (git-svn* (string-append svn "/libexec/git-core/git-svn"))
- (git-sm (string-append out
- "/libexec/git-core/git-submodule")))
- (mkdir-p (string-append gui "/bin"))
- (mkdir-p (string-append gui "/libexec/git-core"))
- (mkdir-p (string-append svn "/libexec/git-core"))
-
- (for-each (lambda (old new)
- (copy-file old new)
- (delete-file old)
- (chmod new #o555))
- (list gitk git-gui git-cit git-svn)
- (list gitk* git-gui* git-cit* git-svn*))
-
- ;; Tell 'git-svn' where Subversion is.
- (wrap-program git-svn*
- `("PATH" ":" prefix
- (,(string-append (assoc-ref inputs "subversion")
- "/bin")))
- `("PERL5LIB" ":" prefix
- (,(string-append (assoc-ref inputs "subversion")
- "/lib/perl5/site_perl")))
-
- ;; XXX: The .so for SVN/Core.pm lacks a RUNPATH, so
- ;; help it find 'libsvn_client-1.so'.
- `("LD_LIBRARY_PATH" ":" prefix
- (,(string-append (assoc-ref inputs "subversion")
- "/lib"))))
-
- ;; Tell 'git-submodule' where Perl is.
- (wrap-program git-sm
- `("PATH" ":" prefix
- (,(string-append (assoc-ref inputs "perl")
- "/bin"))))
-
- ;; Tell 'git' to look for core programs in the user's profile.
- ;; This allows user to install other outputs of this package and
- ;; have them transparently taken into account. There's a
- ;; 'GIT_EXEC_PATH' environment variable, but it's supposed to
- ;; specify a single directory, not a search path.
- (wrap-program (string-append out "/bin/git")
- `("PATH" ":" prefix
- ("$HOME/.guix-profile/libexec/git-core")))))
- %standard-phases))))
+ 'install 'install-shell-completion
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (completions (string-append out "/etc/bash_completion.d")))
+ ;; TODO: Install the tcsh and zsh completions in the right place.
+ (mkdir-p completions)
+ (copy-file "contrib/completion/git-completion.bash"
+ (string-append completions "/git.sh"))
+ #t))
+ (alist-cons-after
+ 'install 'split
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Split the binaries to the various outputs.
+ (let* ((out (assoc-ref outputs "out"))
+ (svn (assoc-ref outputs "svn"))
+ (gui (assoc-ref outputs "gui"))
+ (gitk (string-append out "/bin/gitk"))
+ (gitk* (string-append gui "/bin/gitk"))
+ (git-gui (string-append out "/libexec/git-core/git-gui"))
+ (git-gui* (string-append gui "/libexec/git-core/git-gui"))
+ (git-cit (string-append out "/libexec/git-core/git-citool"))
+ (git-cit* (string-append gui "/libexec/git-core/git-citool"))
+ (git-svn (string-append out "/libexec/git-core/git-svn"))
+ (git-svn* (string-append svn "/libexec/git-core/git-svn"))
+ (git-sm (string-append out
+ "/libexec/git-core/git-submodule")))
+ (mkdir-p (string-append gui "/bin"))
+ (mkdir-p (string-append gui "/libexec/git-core"))
+ (mkdir-p (string-append svn "/libexec/git-core"))
+
+ (for-each (lambda (old new)
+ (copy-file old new)
+ (delete-file old)
+ (chmod new #o555))
+ (list gitk git-gui git-cit git-svn)
+ (list gitk* git-gui* git-cit* git-svn*))
+
+ ;; Tell 'git-svn' where Subversion is.
+ (wrap-program git-svn*
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "subversion")
+ "/bin")))
+ `("PERL5LIB" ":" prefix
+ (,(string-append (assoc-ref inputs "subversion")
+ "/lib/perl5/site_perl")))
+
+ ;; XXX: The .so for SVN/Core.pm lacks a RUNPATH, so
+ ;; help it find 'libsvn_client-1.so'.
+ `("LD_LIBRARY_PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "subversion")
+ "/lib"))))
+
+ ;; Tell 'git-submodule' where Perl is.
+ (wrap-program git-sm
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "perl")
+ "/bin"))))
+
+ ;; Tell 'git' to look for core programs in the user's profile.
+ ;; This allows user to install other outputs of this package and
+ ;; have them transparently taken into account. There's a
+ ;; 'GIT_EXEC_PATH' environment variable, but it's supposed to
+ ;; specify a single directory, not a search path.
+ (wrap-program (string-append out "/bin/git")
+ `("PATH" ":" prefix
+ ("$HOME/.guix-profile/libexec/git-core")))))
+ %standard-phases)))))
(native-search-paths
;; For HTTPS access, Git needs a single-file certificate bundle, specified
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ee86b67a44..87d98242d0 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -223,7 +223,7 @@ audio/video codec library.")
(define-public vlc
(package
(name "vlc")
- (version "2.1.5")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -231,7 +231,7 @@ audio/video codec library.")
version "/vlc-" version ".tar.xz"))
(sha256
(base32
- "0whzbn7ahn5maarcwl1yhk9lq10b0q0y9w5pjl9kh3frdjmncrbg"))))
+ "05smn9hqdp7iscc1dj4cxp1mrlad7b50lhlnlqisfzf493i2f2jy"))))
(build-system gnu-build-system)
(native-inputs
`(("git" ,git) ; needed for a test
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 3ec081133a..a08f004119 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,14 +43,15 @@
(define-public gtk-xfce-engine
(package
(name "gtk-xfce-engine")
- (version "3.0.0")
+ (version "2.10.1")
(source (origin
(method url-fetch)
- (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+ (uri (string-append "http://archive.xfce.org/src/xfce/"
+ name "/" (version-major+minor version) "/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "13c3ajfqkdr6jlqjyhcp4nls0ddanypr83q9qib2ciffik78zq4h"))))
+ "0g86ywkx0ghzhhn96k88p67bbzlm1aqckly85izp07w80l1934ja"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -89,7 +90,7 @@ Xfce Desktop Environment.")
(define-public xfconf
(package
(name "xfconf")
- (version "4.10.0")
+ (version "4.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/xfce/"
@@ -97,9 +98,20 @@ Xfce Desktop Environment.")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"))))
+ "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r"))))
(build-system gnu-build-system)
- (arguments '(#:parallel-tests? #f)) ; parallel tests failed
+ (arguments
+ '(#:phases
+ ;; Run check after install phase to test dbus activation.
+ (alist-cons-after
+ 'install 'check
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
+ ;; Run test-suite under a dbus session.
+ (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
+ (string-append %output "/share"))
+ (zero? (system* "dbus-launch" "make" "check")))
+ (alist-delete 'check %standard-phases))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index e6700c4c27..96171a050d 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -72,14 +72,14 @@ periodic timestamps for seeking.")
(define libvorbis
(package
(name "libvorbis")
- (version "1.3.4")
+ (version "1.3.5")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.xiph.org/releases/vorbis/"
"libvorbis-" version ".tar.xz"))
(sha256
(base32
- "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g"))))
+ "1lg1n3a6r41492r7in0fpvzc7909mc5ir9z0gd3qh2pz4yalmyal"))))
(build-system gnu-build-system)
(propagated-inputs `(("libogg" ,libogg)))
(arguments `(#:configure-flags '("LDFLAGS=-lm")
@@ -192,19 +192,19 @@ OpenBSD's sndio.")
(define flac
(package
(name "flac")
- (version "1.3.0")
+ (version "1.3.1")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.xiph.org/releases/flac/flac-"
version ".tar.xz"))
(sha256
(base32
- "1p0hh190kqvpkbk1bbajd81jfbmkyl4fn2i7pggk2zppq6m68bgs"))))
+ "0v65w7ph6ldwp5a8fbhp0a3w8f737ck468fr7yb7sxmskl4w0ws7"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f))
;; FIXME: configure also looks for xmms, input could be added once it exists
- (inputs `(("libogg" ,libogg)))
+ (propagated-inputs `(("libogg" ,libogg))) ; required by flac.pc
(synopsis "Free lossless audio codec")
(description
"FLAC stands for Free Lossless Audio Codec, an audio format that is lossless,
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 2f5d59a54e..64e2358fe4 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -4884,14 +4884,14 @@ user-friendly mechanism to start the X server.")
(define-public xterm
(package
(name "xterm")
- (version "304")
+ (version "315")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.invisible-island.net/xterm/"
"xterm-" version ".tgz"))
(sha256
(base32
- "19yp5phfzzgydc2yqka4p69ygvfzsd2aa98hbw086xyjlws3kbyk"))))
+ "00kxg36hzp011x98ib6x503pbhj1ldh6hb82l5x3a68s554h1rpy"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-wide-chars" "--enable-256-color"
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index bc1774840b..562f57ffa0 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -156,8 +156,8 @@ which should be passed to this script as the first argument. If not, the
(use-modules (ice-9 match))
(define (close-all-fdes)
- ;; Close all the open file descriptors.
- (let loop ((fd 0))
+ ;; Close all the open file descriptors except 0 to 2.
+ (let loop ((fd 3))
(when (< fd 4096) ;FIXME: use sysconf + _SC_OPEN_MAX
(false-if-exception (close-fdes fd))
(loop (+ 1 fd)))))
diff --git a/gnu/system.scm b/gnu/system.scm
index 3fe78339b7..5a3842fbb8 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -453,6 +453,11 @@ export EMACSLOADPATH=:/etc/emacs
# when /etc/machine-id is missing. Make sure these warnings are non-fatal.
export DBUS_FATAL_WARNINGS=0
+# These variables are honored by OpenSSL (libssl) and Git.
+export SSL_CERT_DIR=/etc/ssl/certs
+export SSL_CERT_FILE=\"$SSL_CERT_DIR/ca-certificates.crt\"
+export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"
+
# Allow Aspell to find dictionaries installed in the user profile.
export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\"
"))
diff --git a/guix/build-system/ruby.scm b/guix/build-system/ruby.scm
index d2dd6a48cc..08301ec609 100644
--- a/guix/build-system/ruby.scm
+++ b/guix/build-system/ruby.scm
@@ -43,22 +43,24 @@
(define private-keywords
'(#:source #:target #:ruby #:inputs #:native-inputs))
- (and (not target) ;XXX: no cross-compilation
- (bag
- (name name)
- (system system)
- (host-inputs `(,@(if source
- `(("source" ,source))
- '())
- ,@inputs
+ (let ((version-control (resolve-interface '(gnu packages version-control))))
+ (and (not target) ;XXX: no cross-compilation
+ (bag
+ (name name)
+ (system system)
+ (host-inputs `(,@(if source
+ `(("source" ,source))
+ '())
+ ,@inputs
- ;; Keep the standard inputs of 'gnu-build-system'.
- ,@(standard-packages)))
- (build-inputs `(("ruby" ,ruby)
- ,@native-inputs))
- (outputs outputs)
- (build ruby-build)
- (arguments (strip-keyword-arguments private-keywords arguments)))))
+ ;; Keep the standard inputs of 'gnu-build-system'.
+ ,@(standard-packages)))
+ (build-inputs `(("ruby" ,ruby)
+ ("git" ,(module-ref version-control 'git))
+ ,@native-inputs))
+ (outputs outputs)
+ (build ruby-build)
+ (arguments (strip-keyword-arguments private-keywords arguments))))))
(define* (ruby-build store name inputs
#:key
diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm
index 40aa974dee..1310c4a0b3 100644
--- a/guix/build/ruby-build-system.scm
+++ b/guix/build/ruby-build-system.scm
@@ -39,6 +39,14 @@ directory."
((file-name . _) file-name)
(() (error "No files matching pattern: " pattern))))
+;; Most gemspecs assume that builds are taking place within a git repository
+;; by include calls to 'git ls-files'. In order for these gemspecs to work
+;; as-is, every file in the source tree is added to the staging area.
+(define gitify
+ (lambda _
+ (and (zero? (system* "git" "init"))
+ (zero? (system* "git" "add" ".")))))
+
(define build
(lambda _
(zero? (system* "gem" "build" (first-matching-file "\\.gemspec$")))))
@@ -53,17 +61,19 @@ directory."
(match:substring (string-match "ruby-(.*)$"
(assoc-ref inputs "ruby"))
1))
- (gem-home (string-append (assoc-ref outputs "out")
- "/lib/ruby/gems/"
- ruby-version)))
+ (out (assoc-ref outputs "out"))
+ (gem-home (string-append out "/lib/ruby/gems/" ruby-version)))
(setenv "GEM_HOME" gem-home)
(mkdir-p gem-home)
(zero? (system* "gem" "install" "--local"
- (first-matching-file "\\.gem$")))))
+ (first-matching-file "\\.gem$")
+ ;; Executables should go into /bin, not /lib/ruby/gems.
+ "--bindir" (string-append out "/bin")))))
(define %standard-phases
(modify-phases gnu:%standard-phases
(delete configure)
+ (add-after unpack gitify gitify)
(replace build build)
(replace install install)
(replace check check)))
diff --git a/guix/http-client.scm b/guix/http-client.scm
index aad7656e19..051fceecb5 100644
--- a/guix/http-client.scm
+++ b/guix/http-client.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2012 Free Software Foundation, Inc.
+;;; Copyright © 2012, 2015 Free Software Foundation, Inc.
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,7 +55,7 @@
(reason http-get-error-reason)) ; string
-(define-syntax when-guile<=2.0.5
+(define-syntax when-guile<=2.0.5-or-otherwise-broken
(lambda (s)
(syntax-case s ()
((_ body ...)
@@ -64,12 +64,15 @@
;; when using "guix pull".
#'(begin body ...)))))
-(when-guile<=2.0.5
- ;; Backport of Guile commit 312e79f8 ("Add HTTP Chunked Encoding support to
- ;; web modules.").
+(when-guile<=2.0.5-or-otherwise-broken
+ ;; Backport of Guile commits 312e79f8 ("Add HTTP Chunked Encoding support to
+ ;; web modules.") and 00d3ecf2 ("http: Do not buffer HTTP chunks.")
(use-modules (ice-9 rdelim))
+ (define %web-http
+ (resolve-module '(web http)))
+
;; Chunked Responses
(define (read-chunk-header port)
(let* ((str (read-line port))
@@ -81,55 +84,57 @@
16)))
size))
- (define (read-chunk port)
- (let ((size (read-chunk-header port)))
- (read-chunk-body port size)))
-
- (define (read-chunk-body port size)
- (let ((bv (get-bytevector-n port size)))
- (get-u8 port) ; CR
- (get-u8 port) ; LF
- bv))
-
(define* (make-chunked-input-port port #:key (keep-alive? #f))
"Returns a new port which translates HTTP chunked transfer encoded
data from PORT into a non-encoded format. Returns eof when it has
read the final chunk from PORT. This does not necessarily mean
that there is no more data on PORT. When the returned port is
closed it will also close PORT, unless the KEEP-ALIVE? is true."
- (define (next-chunk)
- (read-chunk port))
- (define finished? #f)
(define (close)
(unless keep-alive?
(close-port port)))
- (define buffer #vu8())
- (define buffer-size 0)
- (define buffer-pointer 0)
+
+ (define chunk-size 0) ;size of the current chunk
+ (define remaining 0) ;number of bytes left from the current chunk
+ (define finished? #f) ;did we get all the chunks?
+
(define (read! bv idx to-read)
(define (loop to-read num-read)
(cond ((or finished? (zero? to-read))
num-read)
- ((<= to-read (- buffer-size buffer-pointer))
- (bytevector-copy! buffer buffer-pointer
- bv (+ idx num-read)
- to-read)
- (set! buffer-pointer (+ buffer-pointer to-read))
- (loop 0 (+ num-read to-read)))
- (else
- (let ((n (- buffer-size buffer-pointer)))
- (bytevector-copy! buffer buffer-pointer
- bv (+ idx num-read)
- n)
- (set! buffer (next-chunk))
- (set! buffer-pointer 0)
- (set! buffer-size (bytevector-length buffer))
- (set! finished? (= buffer-size 0))
- (loop (- to-read n)
- (+ num-read n))))))
+ ((zero? remaining) ;get a new chunk
+ (let ((size (read-chunk-header port)))
+ (set! chunk-size size)
+ (set! remaining size)
+ (if (zero? size)
+ (begin
+ (set! finished? #t)
+ num-read)
+ (loop to-read num-read))))
+ (else ;read from the current chunk
+ (let* ((ask-for (min to-read remaining))
+ (read (get-bytevector-n! port bv (+ idx num-read)
+ ask-for)))
+ (if (eof-object? read)
+ (begin ;premature termination
+ (set! finished? #t)
+ num-read)
+ (let ((left (- remaining read)))
+ (set! remaining left)
+ (when (zero? left)
+ ;; We're done with this chunk; read CR and LF.
+ (get-u8 port) (get-u8 port))
+ (loop (- to-read read)
+ (+ num-read read))))))))
(loop to-read 0))
+
(make-custom-binary-input-port "chunked input port" read! #f #f close))
+ ;; Chunked encoding support in Guile <= 2.0.11 would load whole chunks in
+ ;; memory---see <http://bugs.gnu.org/19939>.
+ (when (module-variable %web-http 'read-chunk-body)
+ (module-set! %web-http 'make-chunked-input-port make-chunked-input-port))
+
(define (read-response-body* r)
"Reads the response body from @var{r}, as a bytevector. Returns
@code{#f} if there was no response body."
diff --git a/guix/profiles.scm b/guix/profiles.scm
index a0a259bd4e..5ceba25def 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -413,23 +414,87 @@ MANIFEST."
(gexp->derivation "info-dir" build
#:modules '((guix build utils)))))
-(define* (profile-derivation manifest #:key (info-dir? #t))
+(define (ca-certificate-bundle manifest)
+ "Return a derivation that builds a single-file bundle containing the CA
+certificates in the /etc/ssl/certs sub-directories of the packages in
+MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
+ ;; See <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00429.html>
+ ;; for a discussion.
+
+ (define glibc-utf8-locales ;lazy reference
+ (module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
+
+ (define build
+ #~(begin
+ (use-modules (guix build utils)
+ (rnrs io ports)
+ (srfi srfi-1)
+ (srfi srfi-26)
+ (ice-9 ftw))
+
+ (define (pem-file? file)
+ (string-suffix? ".pem" file))
+
+ (define (ca-files top)
+ (let ((cert-dir (string-append top "/etc/ssl/certs")))
+ (map (cut string-append cert-dir "/" <>)
+ (or (scandir cert-dir pem-file?) '()))))
+
+ (define (concatenate-files files result)
+ "Make RESULT the concatenation of all of FILES."
+ (define (dump file port)
+ (display (call-with-input-file file get-string-all)
+ port)
+ (newline port)) ;required, see <https://bugs.debian.org/635570>
+
+ (call-with-output-file result
+ (lambda (port)
+ (for-each (cut dump <> port) files))))
+
+ ;; Some file names in the NSS certificates are UTF-8 encoded so
+ ;; install a UTF-8 locale.
+ (setenv "LOCPATH" (string-append #+glibc-utf8-locales "/lib/locale"))
+ (setlocale LC_ALL "en_US.UTF-8")
+
+ (let ((ca-files (append-map ca-files
+ '#$(manifest-inputs manifest)))
+ (result (string-append #$output "/etc/ssl/certs")))
+ (mkdir-p result)
+ (concatenate-files ca-files
+ (string-append result
+ "/ca-certificates.crt")))))
+
+ (gexp->derivation "ca-certificate-bundle" build
+ #:modules '((guix build utils))
+ #:local-build? #t))
+
+(define* (profile-derivation manifest
+ #:key
+ (info-dir? #t)
+ (ca-certificate-bundle? #t))
"Return a derivation that builds a profile (aka. 'user environment') with
-the given MANIFEST. The profile includes a top-level Info 'dir' file, unless
-INFO-DIR? is #f."
+the given MANIFEST. The profile includes a top-level Info 'dir' file unless
+INFO-DIR? is #f, and a single-file CA certificate bundle unless
+CA-CERTIFICATE-BUNDLE? is #f."
(mlet %store-monad ((info-dir (if info-dir?
(info-dir-file manifest)
- (return #f))))
+ (return #f)))
+ (ca-cert-bundle (if ca-certificate-bundle?
+ (ca-certificate-bundle manifest)
+ (return #f))))
(define inputs
- (if info-dir
- ;; XXX: Here we use the tuple (INFO-DIR "out") just so that the list
- ;; is unambiguous for the gexp code when MANIFEST has a single input
- ;; denoted as a string (the pattern (DRV STRING) is normally
- ;; interpreted in a gexp as "the STRING output of DRV".). See
- ;; <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>.
- (cons (list info-dir "out")
- (manifest-inputs manifest))
- (manifest-inputs manifest)))
+ ;; XXX: Here we use tuples of the form (DIR "out") just so that the list
+ ;; is unambiguous for the gexp code when MANIFEST has a single input
+ ;; denoted as a string (the pattern (DRV STRING) is normally
+ ;; interpreted in a gexp as "the STRING output of DRV".). See
+ ;; <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>.
+ (append (if info-dir
+ `((,info-dir "out"))
+ '())
+ (if ca-cert-bundle
+ `((,ca-cert-bundle "out"))
+ '())
+ (manifest-inputs manifest)))
(define builder
#~(begin