aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/audio.scm51
-rw-r--r--gnu/packages/autotools.scm1
-rw-r--r--gnu/packages/bioinformatics.scm110
-rw-r--r--gnu/packages/check.scm9
-rw-r--r--gnu/packages/ci.scm182
-rw-r--r--gnu/packages/code.scm64
-rw-r--r--gnu/packages/commencement.scm3
-rw-r--r--gnu/packages/cross-base.scm1
-rw-r--r--gnu/packages/emacs.scm2
-rw-r--r--gnu/packages/gnome.scm34
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/haskell.scm6
-rw-r--r--gnu/packages/java.scm71
-rw-r--r--gnu/packages/machine-learning.scm146
-rw-r--r--gnu/packages/make-bootstrap.scm1
-rw-r--r--gnu/packages/maths.scm1
-rw-r--r--gnu/packages/music.scm98
-rw-r--r--gnu/packages/openssl.scm9
-rw-r--r--gnu/packages/package-management.scm68
-rw-r--r--gnu/packages/patches/hydra-automake-1.15.patch63
-rw-r--r--gnu/packages/patches/hydra-disable-darcs-test.patch25
-rw-r--r--gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch23
-rw-r--r--gnu/packages/patches/python-disable-ssl-test.patch12
-rw-r--r--gnu/packages/perl.scm22
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/web.scm85
-rw-r--r--gnu/packages/xml.scm37
-rw-r--r--gnu/system/install.scm3
29 files changed, 1038 insertions, 101 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a96ce9cdfb..960264bc2d 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -152,14 +152,14 @@ re-executing them as necessary.")
(define-public inetutils
(package
(name "inetutils")
- (version "1.9.3")
+ (version "1.9.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/inetutils/inetutils-"
version ".tar.gz"))
(sha256
(base32
- "06dshajjpyi9sxi7qfki9gnp5r3nxvyvf81r81gx0x2qkqzqcxlj"))))
+ "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
(build-system gnu-build-system)
(arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
;; which is currently missing.
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index fdc783a455..3b2d4e1022 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1031,6 +1031,57 @@ and ALSA.")
tempo and pitch of an audio recording independently of one another.")
(license license:gpl2+)))
+(define-public rtmidi
+ (package
+ (name "rtmidi")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/powertab/rtmidi/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no "check" target
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'autoconf
+ (lambda _ (zero? (system* "autoreconf" "-vfi"))))
+ (add-before
+ 'build 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("/bin/ln") "ln")
+ (("RtMidi.h RtError.h") "RtMidi.h"))
+ #t))
+ (add-before
+ 'install 'make-target-dirs
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ (mkdir (string-append out "/lib"))
+ (mkdir (string-append out "/include")))
+ #t)))))
+ (inputs
+ `(("jack" ,jack-1)
+ ("alsa-lib" ,alsa-lib)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/powertab/rtmidi")
+ (synopsis "Cross-platform MIDI library for C++")
+ (description
+ "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
+classes) that provide a common cross-platform API for realtime MIDI
+input/output.")
+ (license license:expat)))
+
(define-public sratom
(package
(name "sratom")
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 24ff90cc5c..f2b4d95b95 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -95,7 +95,6 @@ use our own Bash instead of /bin/sh in shebangs. For that reason, it should
only be used internally---users should not end up distributing `configure'
files with a system-specific shebang."
(package (inherit autoconf)
- (location (source-properties->location (current-source-location)))
(name (string-append (package-name autoconf) "-wrapper"))
(build-system trivial-build-system)
(inputs `(("guile"
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c7836f173e..7175ecf41d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -34,6 +34,7 @@
#:use-module (gnu packages file)
#:use-module (gnu packages java)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
@@ -438,6 +439,76 @@ multiple sequence alignments.")
"CLIPper is a tool to define peaks in CLIP-seq datasets.")
(license license:gpl2)))
+(define-public couger
+ (package
+ (name "couger")
+ (version "1.8.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://couger.oit.duke.edu/static/assets/COUGER"
+ version ".zip"))
+ (sha256
+ (base32
+ "04p2b14nmhzxw5h72mpzdhalv21bx4w9b87z0wpw0xzxpysyncmq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (copy-recursively "src" (string-append out "/src"))
+ (mkdir (string-append out "/bin"))
+ ;; Add "src" directory to module lookup path.
+ (substitute* "couger"
+ (("from argparse")
+ (string-append "import sys\nsys.path.append(\""
+ out "\")\nfrom argparse")))
+ (copy-file "couger" (string-append out "/bin/couger")))
+ #t))
+ (add-after
+ 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'couger' runs with the correct PYTHONPATH.
+ (let* ((out (assoc-ref outputs "out"))
+ (path (getenv "PYTHONPATH")))
+ (wrap-program (string-append out "/bin/couger")
+ `("PYTHONPATH" ":" prefix (,path))))
+ #t)))))
+ (inputs
+ `(("python" ,python-2)
+ ("python2-pillow" ,python2-pillow)
+ ("python2-numpy" ,python2-numpy)
+ ("python2-scipy" ,python2-scipy)
+ ("python2-matplotlib" ,python2-matplotlib)))
+ (propagated-inputs
+ `(("r" ,r)
+ ("libsvm" ,libsvm)
+ ("randomjungle" ,randomjungle)))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "http://couger.oit.duke.edu")
+ (synopsis "Identify co-factors in sets of genomic regions")
+ (description
+ "COUGER can be applied to any two sets of genomic regions bound by
+paralogous TFs (e.g., regions derived from ChIP-seq experiments) to identify
+putative co-factors that provide specificity to each TF. The framework
+determines the genomic targets uniquely-bound by each TF, and identifies a
+small set of co-factors that best explain the in vivo binding differences
+between the two TFs.
+
+COUGER uses classification algorithms (support vector machines and random
+forests) with features that reflect the DNA binding specificities of putative
+co-factors. The features are generated either from high-throughput TF-DNA
+binding data (from protein binding microarray experiments), or from large
+collections of DNA motifs.")
+ (license license:gpl3+)))
+
(define-public clustal-omega
(package
(name "clustal-omega")
@@ -1030,6 +1101,27 @@ RNA-Seq, the MISO model uses Bayesian inference to compute the probability
that a read originated from a particular isoform.")
(license license:gpl2)))
+(define-public orfm
+ (package
+ (name "orfm")
+ (version "0.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/wwood/OrfM/releases/download/v"
+ version "/orfm-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00jqvlspj9662ni9r4n1snxfnwkzc02i46g5nk1kwjshi6v3vgg3"))))
+ (build-system gnu-build-system)
+ (inputs `(("zlib" ,zlib)))
+ (synopsis "Simple and not slow open reading frame (ORF) caller")
+ (description
+ "An ORF caller finds stretches of DNA that when translated are not
+interrupted by stop codons. OrfM finds and prints these ORFs.")
+ (home-page "https://github.com/wwood/OrfM")
+ (license license:lgpl3+)))
+
(define-public python2-pbcore
(package
(name "python2-pbcore")
@@ -1331,7 +1423,7 @@ viewer.")
(define-public ngs-sdk
(package
(name "ngs-sdk")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
@@ -1341,7 +1433,7 @@ viewer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "09fakv9w87lfg9g70kwzmnryqdjj1sz2c7kw01i6drjf787gkjhw"))))
+ "1x58gpm574n0xmk2a98gmikbgycq78ia0bvnb42k5ck34fmd5v8y"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
@@ -1351,20 +1443,6 @@ viewer.")
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- ;; Only replace the version suffix, not the version number in the
- ;; directory name; fixed in commit 46d4509fa8 (no release yet).
- (substitute* "setup/konfigure.perl"
- (((string-append "\\$\\(subst "
- "(\\$\\(VERSION[^\\)]*\\)),"
- "(\\$\\([^\\)]+\\)),"
- "(\\$\\([^\\)]+\\)|\\$\\@)"
- "\\)")
- _ pattern replacement target)
- (string-append "$(patsubst "
- "%" pattern ","
- "%" replacement ","
- target ")")))
-
;; The 'configure' script doesn't recognize things like
;; '--enable-fast-install'.
(zero? (system* "./configure"
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 5349ede0fa..e0ee7c4d4f 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -113,18 +113,17 @@ supervised tests.")
(define-public catch-framework
(package
(name "catch")
- (version "1.0.53") ;Sub-minor is the build number
+ (version "1.1.3") ;Sub-minor is the build number
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/philsquared/Catch")
- ;; Semi-arbitrary. Contains mostly documentation fixes
- ;; since build 53.
- (commit "b9ec8a1")))
+ ;; Semi-arbitrary.
+ (commit "c51e86819d")))
(file-name (string-append name "-" version))
(sha256
(base32
- "05iijiwjwcjbza7qamwd32d0jypi0lpywmilmmj2xh280mcl4dbd"))))
+ "0kgi7wxxysgjbpisqfj4dj0k19cyyai92f001zi8gzkybd4fkgv5"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
new file mode 100644
index 0000000000..b68e0dce3b
--- /dev/null
+++ b/gnu/packages/ci.scm
@@ -0,0 +1,182 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.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 ci)
+ #:use-module ((guix licenses) #:prefix l:)
+ #:use-module (gnu packages)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages docbook)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages mail)
+ #:use-module (gnu packages openssl)
+ #:use-module (gnu packages package-management)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages zip)
+ #:use-module (guix build-system gnu))
+
+(define-public hydra
+ (let ((commit "4c0e3e4"))
+ (package
+ (name "hydra")
+ (version (string-append "20150407." commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/NixOS/hydra")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "08vc76xb7f42hh65j7qvjf58hw36aki5ml343170pq94vk75b1nh"))
+ (patches (map search-patch
+ '("hydra-automake-1.15.patch"
+ ;; TODO: Remove once we have a darcs input
+ "hydra-disable-darcs-test.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("pkg-config" ,pkg-config)
+ ;; For documentation
+ ("dblatex" ,dblatex)
+ ("xsltproc" ,libxslt)
+ ("docbook-xsl" ,docbook-xsl)
+ ;; For bootstrap
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ;; For tests
+ ("git" ,git)
+ ("subversion" ,subversion)
+ ("mercurial" ,mercurial)
+ ("bazaar" ,bazaar)))
+ (inputs
+ `(("perl" ,perl)
+ ("guile" ,guile-2.0)
+ ("openssl" ,openssl)
+ ("bzip2" ,bzip2)
+ ("gzip" ,gzip)
+ ("sed" ,sed)
+ ("starman" ,starman)
+ ("git" ,git)
+ ("subversion" ,subversion)
+ ("mercurial" ,mercurial)
+ ("bazaar" ,bazaar)
+ ("nix" ,nix)
+ ;; Lots o' perl modules...
+ ("perl-catalyst-action-rest" ,perl-catalyst-action-rest)
+ ("perl-catalyst-authentication-store-dbix-class"
+ ,perl-catalyst-authentication-store-dbix-class)
+ ("perl-catalyst-devel" ,perl-catalyst-devel)
+ ("perl-catalyst-dispatchtype-regex" ,perl-catalyst-dispatchtype-regex)
+ ("perl-catalyst-plugin-accesslog" ,perl-catalyst-plugin-accesslog)
+ ("perl-catalyst-plugin-authorization-roles"
+ ,perl-catalyst-plugin-authorization-roles)
+ ("perl-catalyst-plugin-captcha" ,perl-catalyst-plugin-captcha)
+ ("perl-catalyst-plugin-session-state-cookie"
+ ,perl-catalyst-plugin-session-state-cookie)
+ ("perl-catalyst-plugin-session-store-fastmmap"
+ ,perl-catalyst-plugin-session-store-fastmmap)
+ ("perl-catalyst-plugin-stacktrace" ,perl-catalyst-plugin-stacktrace)
+ ("perl-catalyst-traitfor-request-proxybase"
+ ,perl-catalyst-traitfor-request-proxybase)
+ ("perl-catalyst-view-download" ,perl-catalyst-view-download)
+ ("perl-catalyst-view-json" ,perl-catalyst-view-json)
+ ("perl-catalyst-view-tt" ,perl-catalyst-view-tt)
+ ("perl-catalystx-roleapplicator" ,perl-catalystx-roleapplicator)
+ ("perl-catalystx-script-server-starman"
+ ,perl-catalystx-script-server-starman)
+ ("perl-crypt-randpasswd" ,perl-crypt-randpasswd)
+ ("perl-data-dump" ,perl-data-dump)
+ ("perl-datetime" ,perl-datetime)
+ ("perl-dbd-pg" ,perl-dbd-pg)
+ ("perl-dbd-sqlite" ,perl-dbd-sqlite)
+ ("perl-digest-sha1" ,perl-digest-sha1)
+ ("perl-email-mime" ,perl-email-mime)
+ ("perl-email-sender" ,perl-email-sender)
+ ("perl-file-slurp" ,perl-file-slurp)
+ ("perl-io-compress" ,perl-io-compress)
+ ("perl-ipc-run" ,perl-ipc-run)
+ ("perl-json-any" ,perl-json-any)
+ ("perl-json-xs" ,perl-json-xs)
+ ("perl-libwww" ,perl-libwww)
+ ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
+ ("perl-net-amazon-s3" ,perl-net-amazon-s3)
+ ("perl-padwalker" ,perl-padwalker)
+ ("perl-readonly" ,perl-readonly)
+ ("perl-set-scalar" ,perl-set-scalar)
+ ("perl-sql-splitstatement" ,perl-sql-splitstatement)
+ ("perl-sys-hostname-long" ,perl-sys-hostname-long)
+ ("perl-text-diff" ,perl-text-diff)
+ ("perl-text-table" ,perl-text-table)
+ ("perl-xml-simple" ,perl-xml-simple)))
+ (arguments
+ `(#:configure-flags
+ (let ((docbook (assoc-ref %build-inputs "docbook-xsl")))
+ (list (string-append "--with-docbook-xsl="
+ docbook "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl))
+ (string-append "--docdir=" %output
+ "/doc/hydra-" ,version)))
+ #:phases (modify-phases %standard-phases
+ (add-after
+ 'unpack 'bootstrap
+ (lambda _ (zero? (system* "autoreconf" "-vfi"))))
+ (add-before
+ 'check 'check-setup
+ (lambda _ (setenv "LOGNAME" "test.log")))
+ (add-after
+ 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (file)
+ (wrap-program file
+ `("PATH" ":" prefix
+ (,(string-append out "/bin")
+ ,@(map (lambda (i)
+ (string-append (assoc-ref inputs i)
+ "/bin"))
+ '("subversion" "git" "bazaar"
+ "mercurial" "coreutils" "gzip"
+ "sed" "unzip" "nix"))))
+ `("PERL5LIB" ":" prefix
+ (,(string-append out "/libexec/hydra/lib")
+ ,@(search-path-as-string->list
+ (getenv "PERL5LIB"))))
+ `("HYDRA_RELEASE" = (,,version))
+ `("HYDRA_HOME" =
+ (,(string-append out "/libexec/hydra")))
+ `("NIX_RELEASE" = (,,(package-version nix)))))
+ (find-files (string-append out "/bin")
+ ".*"))))))))
+ (home-page "https://nixos.org/hydra")
+ (synopsis "Continuous build system")
+ (description
+ "Hydra is a tool for continuous integration testing and software
+release that uses a purely functional language to describe build jobs and
+their dependencies.")
+ (license l:gpl3+))))
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 9d2bde829d..97261d6c79 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,9 +23,12 @@
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
+ #:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages emacs)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
@@ -225,3 +229,63 @@ COCOMO model or user-provided parameters.")
files, but compared to grep is much faster and respects files like .gitignore,
.hgignore, etc.")
(license license:asl2.0)))
+
+(define-public withershins
+ (package
+ (name "withershins")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/cameronwhite/withershins/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08z3lyvswx7sad10637vfpwglbcbgzzcpfihw0x8lzr74f3b70bh"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:out-of-source? #f
+ #:modules ((guix build utils)
+ (guix build cmake-build-system)
+ (ice-9 popen)
+ (ice-9 rdelim))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'find-libiberty
+ (lambda _
+ (let ((plugin (let* ((port (open-input-pipe
+ "gcc -print-file-name=plugin"))
+ (str (read-line port)))
+ (close-pipe port)
+ str)))
+ (substitute* "cmake/FindIberty.cmake"
+ (("/usr/include") (string-append plugin "/include"))
+ (("libiberty.a iberty") (string-append "NAMES libiberty.a iberty\nPATHS \""
+ (assoc-ref %build-inputs "gcc")
+ "/lib" "\"")))
+ #t)))
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/lib"))
+ (mkdir (string-append out "/include"))
+ (copy-file "src/withershins.hpp"
+ (string-append out "/include/withershins.hpp"))
+ (copy-file "src/libwithershins.a"
+ (string-append out "/lib/libwithershins.a")))
+ #t)))))
+ (home-page "https://github.com/cameronwhite/withershins")
+ (inputs
+ `(("gcc" ,gcc-4.8 "lib") ;for libiberty.a
+ ("binutils" ,binutils) ;for libbfd
+ ("zlib" ,zlib)))
+ (synopsis "C++11 library for generating stack traces")
+ (description
+ "Withershins is a simple cross-platform C++11 library for generating
+stack traces.")
+ ;; Sources are released under Expat license, but since BFD is licensed
+ ;; under the GPLv3+ the combined work is GPLv3+ as well.
+ (license license:gpl3+)))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 14af09395a..db91bec5da 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -65,7 +65,6 @@
(package-with-bootstrap-guile
(package (inherit gnu-make)
(name "make-boot0")
- (location (source-properties->location (current-source-location)))
(arguments
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
@@ -93,7 +92,6 @@
,@%bootstrap-inputs)
#:guile %bootstrap-guile)))
(package (inherit p)
- (location (source-properties->location (current-source-location)))
(arguments `(#:tests? #f ; the test suite needs diffutils
,@(package-arguments p)))))))
@@ -552,7 +550,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; The final GCC.
(package (inherit gcc-boot0)
(name "gcc")
- (location (source-properties->location (current-source-location)))
;; XXX: Currently #:allowed-references applies to all the outputs but the
;; "debug" output contains disallowed references, notably
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index e5e21045e0..9c27483466 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -38,7 +38,6 @@
(define (cross p target)
(package (inherit p)
- (location (source-properties->location (current-source-location)))
(name (string-append (package-name p) "-cross-" target))
(arguments
(substitute-keyword-arguments (package-arguments p)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index fbddff1cf6..0f71c77bf2 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -123,7 +123,6 @@ languages.")
;; This is the version that you should use as an input to packages that just
;; need to byte-compile .el files.
(package (inherit emacs)
- (location (source-properties->location (current-source-location)))
(name "emacs-no-x")
(synopsis "The extensible, customizable, self-documenting text
editor (console only)")
@@ -138,7 +137,6 @@ editor (console only)")
(define-public emacs-no-x-toolkit
(package (inherit emacs)
- (location (source-properties->location (current-source-location)))
(name "emacs-no-x-toolkit")
(synopsis "The extensible, customizable, self-documenting text
editor (without an X toolkit)" )
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4af1d13495..4599f4d234 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1854,6 +1854,40 @@ library.")
library.")
(license license:lgpl2.0+)))
+(define-public librest
+ (package
+ (name "librest")
+ (version "0.7.93")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/rest/"
+ (version-major+minor version) "/"
+ "rest-" version ".tar.xz"))
+ (sha256
+ (base32
+ "05mj10hhiik23ai8w4wkk5vhsp7hcv24bih5q3fl82ilam268467"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; tests require internet connection
+ #:configure-flags
+ '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
+ (native-inputs
+ `(("glib-mkenums" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ ;; rest-0.7.pc refers to all these.
+ `(("glib" ,glib)
+ ("libsoup" ,libsoup)
+ ("libxml2" ,libxml2)))
+ (home-page "http://www.gtk.org/")
+ (synopsis "RESTful web api query library")
+ (description
+ "This library was designed to make it easier to access web services that
+claim to be \"RESTful\". It includes convenience wrappers for libsoup and
+libxml to ease remote use of the RESTful API.")
+ (license license:lgpl2.1+)))
+
(define-public libsoup
(package
(name "libsoup")
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 5724bc8348..2044ef0501 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -190,14 +190,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
- (version "2.1.4")
+ (version "2.1.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "1c3c89b7ziknz6h1dnwmfjhgyy28g982rcncrhmhylb8v3npw4k4"))))
+ "0k5818r847zplbrwjp6i48s6xb5zy44rny2kmbisd6y3c1qml45m"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ac87de540e..75bbb24479 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -144,7 +144,7 @@
(ghc-bootstrap-prefix
(string-append ghc-bootstrap-path "/usr" )))
(alist-cons-after
- 'unpack-bin 'unpack-and-fix-testsuite
+ 'unpack-bin 'unpack-testsuite-and-fix-bins
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion ".."
(copy-file (assoc-ref inputs "ghc-testsuite")
@@ -155,7 +155,9 @@
"testsuite/timeout/timeout.py"
"testsuite/timeout/timeout.hs"
"testsuite/tests/rename/prog006/Setup.lhs"
- "testsuite/tests/programs/life_space_leak/life.test")
+ "testsuite/tests/programs/life_space_leak/life.test"
+ "libraries/process/System/Process/Internals.hs"
+ "libraries/unix/cbits/execvpe.c")
(("/bin/sh") (which "sh"))
(("/bin/rm") "rm"))
#t)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ea8de9e2cf..aa8cd2cf51 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -610,6 +610,9 @@ build process and its dependencies, whereas Make uses Makefile format.")
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
+ ;; link against libgcj to avoid linker error
+ (("-o native-ecj")
+ "-lgcj -o native-ecj")
;; do not leak information about the build host
(("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
"DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
@@ -627,15 +630,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
#:locale "C"
,@(substitute-keyword-arguments (package-arguments icedtea6)
((#:configure-flags flags)
- `(let ((jdk (assoc-ref %build-inputs "icedtea6"))
- (ant (assoc-ref %build-inputs "ant")))
- `("--disable-bootstrap"
- "--without-rhino"
- "--enable-nss"
- "--enable-system-lcms"
- "--disable-downloading"
- ,(string-append "--with-ant-home=" ant)
- ,(string-append "--with-jdk-home=" jdk))))
+ `(delete "--with-openjdk-src-dir=./openjdk" ,flags))
((#:phases phases)
`(modify-phases ,phases
(replace
@@ -677,30 +672,37 @@ build process and its dependencies, whereas Make uses Makefile format.")
(replace
'set-additional-paths
(lambda* (#:key inputs #:allow-other-keys)
- (substitute* "openjdk/jdk/make/common/shared/Sanity.gmk"
- (("ALSA_INCLUDE=/usr/include/alsa/version.h")
- (string-append "ALSA_INCLUDE="
- (assoc-ref inputs "alsa-lib")
- "/include/alsa/version.h")))
- (setenv "CC" "gcc")
- (setenv "CPATH"
- (string-append (assoc-ref inputs "libxrender")
- "/include/X11/extensions" ":"
- (assoc-ref inputs "libxtst")
- "/include/X11/extensions" ":"
- (assoc-ref inputs "libxinerama")
- "/include/X11/extensions" ":"
- (or (getenv "CPATH") "")))
- (setenv "ALT_OBJCOPY" (which "objcopy"))
- (setenv "ALT_CUPS_HEADERS_PATH"
- (string-append (assoc-ref inputs "cups")
- "/include"))
- (setenv "ALT_FREETYPE_HEADERS_PATH"
- (string-append (assoc-ref inputs "freetype")
- "/include"))
- (setenv "ALT_FREETYPE_LIB_PATH"
- (string-append (assoc-ref inputs "freetype")
- "/lib"))))
+ (let (;; Get target-specific include directory so that
+ ;; libgcj-config.h is found when compiling hotspot.
+ (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
+ (str (read-line port)))
+ (close-pipe port)
+ str)))
+ (substitute* "openjdk/jdk/make/common/shared/Sanity.gmk"
+ (("ALSA_INCLUDE=/usr/include/alsa/version.h")
+ (string-append "ALSA_INCLUDE="
+ (assoc-ref inputs "alsa-lib")
+ "/include/alsa/version.h")))
+ (setenv "CC" "gcc")
+ (setenv "CPATH"
+ (string-append gcjinclude ":"
+ (assoc-ref inputs "libxrender")
+ "/include/X11/extensions" ":"
+ (assoc-ref inputs "libxtst")
+ "/include/X11/extensions" ":"
+ (assoc-ref inputs "libxinerama")
+ "/include/X11/extensions" ":"
+ (or (getenv "CPATH") "")))
+ (setenv "ALT_OBJCOPY" (which "objcopy"))
+ (setenv "ALT_CUPS_HEADERS_PATH"
+ (string-append (assoc-ref inputs "cups")
+ "/include"))
+ (setenv "ALT_FREETYPE_HEADERS_PATH"
+ (string-append (assoc-ref inputs "freetype")
+ "/include"))
+ (setenv "ALT_FREETYPE_LIB_PATH"
+ (string-append (assoc-ref inputs "freetype")
+ "/lib")))))
(add-after
'unpack 'fix-x11-extension-include-path
(lambda* (#:key inputs #:allow-other-keys)
@@ -733,7 +735,6 @@ build process and its dependencies, whereas Make uses Makefile format.")
(delete 'patch-patches))))))
(native-inputs
`(("ant" ,ant)
- ("icedtea6" ,icedtea6 "jdk")
("openjdk-drop"
,(drop "openjdk"
"03gxqn17cxwl1nspnwigacaqd28p02d45f396j5f4kkbzfnbl0ak"))
@@ -756,4 +757,4 @@ build process and its dependencies, whereas Make uses Makefile format.")
,(drop "hotspot"
"1yqxfd2jwbm5y41wscyfx8h0fr3h8ny2g2mda5iwd8sikxsaj96p"))
,@(fold alist-delete (package-native-inputs icedtea6)
- '("openjdk6-src" "ant-bootstrap" "gcj")))))))
+ '("openjdk6-src" "ant-bootstrap")))))))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
new file mode 100644
index 0000000000..cfeb1daf63
--- /dev/null
+++ b/gnu/packages/machine-learning.scm
@@ -0,0 +1,146 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages machine-learning)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages xml))
+
+(define-public libsvm
+ (package
+ (name "libsvm")
+ (version "3.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/cjlin1/libsvm/archive/v"
+ (string-delete #\. version) ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jpjlql3frjza7zxzrqqr2firh44fjb8fqsdmvz6bjz7sb47zgp4"))))
+ (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/")))
+ (mkdir-p bin)
+ (for-each (lambda (file)
+ (copy-file file (string-append bin file)))
+ '("svm-train"
+ "svm-predict"
+ "svm-scale")))
+ #t)))))
+ (home-page "http://www.csie.ntu.edu.tw/~cjlin/libsvm/")
+ (synopsis "Library for Support Vector Machines")
+ (description
+ "LIBSVM is a machine learning library for support vector
+classification, (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and
+distribution estimation (one-class SVM). It supports multi-class
+classification.")
+ (license license:bsd-3)))
+
+(define-public python-libsvm
+ (package (inherit libsvm)
+ (name "python-libsvm")
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no "check" target
+ #:make-flags '("-C" "python")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace
+ 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((site (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ (string-take
+ (string-take-right
+ (assoc-ref inputs "python") 5) 3)
+ "/site-packages/")))
+ (substitute* "python/svm.py"
+ (("../libsvm.so.2") "libsvm.so.2"))
+ (mkdir-p site)
+ (for-each (lambda (file)
+ (copy-file file (string-append site (basename file))))
+ (find-files "python" "\\.py"))
+ (copy-file "libsvm.so.2"
+ (string-append site "libsvm.so.2")))
+ #t)))))
+ (inputs
+ `(("python" ,python)))
+ (synopsis "Python bindings of libSVM")))
+
+(define-public randomjungle
+ (package
+ (name "randomjungle")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.imbs-luebeck.de/imbs/sites/default/files/u59/"
+ "randomjungle-" version ".tar_.gz"))
+ (sha256
+ (base32
+ "12c8rf30cla71swx2mf4ww9mfd8jbdw5lnxd7dxhyw1ygrvg6y4w"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-boost="
+ (assoc-ref %build-inputs "boost")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'set-CXXFLAGS
+ (lambda _
+ (setenv "CXXFLAGS" "-fpermissive ")
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("gsl" ,gsl)
+ ("libxml2" ,libxml2)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("gfortran" ,gfortran-4.8)))
+ (home-page "http://www.imbs-luebeck.de/imbs/de/node/227/")
+ (synopsis "Implementation of the Random Forests machine learning method")
+ (description
+ "Random Jungle is an implementation of Random Forests. It is supposed to
+analyse high dimensional data. In genetics, it can be used for analysing big
+Genome Wide Association (GWA) data. Random Forests is a powerful machine
+learning method. Most interesting features are variable selection, missing
+value imputation, classifier creation, generalization error estimation and
+sample proximities between pairs of cases.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 9eb868a118..62398dfde3 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -601,7 +601,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(define (tarball-package pkg)
"Return a package containing a tarball of PKG."
(package (inherit pkg)
- (location (source-properties->location (current-source-location)))
(name (string-append (package-name pkg) "-tarball"))
(build-system trivial-build-system)
(native-inputs `(("tar" ,tar)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4d837c85e2..6fbe6fd27d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -560,7 +560,6 @@ scientific applications modeled by partial differential equations.")
(define-public petsc-complex
(package (inherit petsc)
- (location (source-properties->location (current-source-location)))
(name "petsc-complex")
(arguments
(substitute-keyword-arguments (package-arguments petsc)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5795ecbb0d..a42d5c35c5 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -22,9 +22,15 @@
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
+ #:use-module (gnu packages base) ;libbdf
+ #:use-module (gnu packages boost)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages code)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
@@ -45,9 +51,11 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages rsync)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xiph)
#:use-module (gnu packages zip))
@@ -224,6 +232,96 @@ sessions. Solfege is also designed to be extensible so you can easily write
your own lessons.")
(license license:gpl3+)))
+(define-public powertabeditor
+ (package
+ (name "powertabeditor")
+ (version "2.0.0-alpha7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/powertab/powertabeditor/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yp6ck2r72c2pfq31z1kpw1j639rndrifj85l3cbj2kdf8rdzhkk"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled sources for external libraries
+ (delete-file-recursively "external")
+ (substitute* "CMakeLists.txt"
+ (("include_directories\\(\\$\\{PROJECT_SOURCE_DIR\\}/external/.*") "")
+ ;; TODO: tests cannot be built:
+ ;; test/test_main.cpp:28:12: error: ‘Session’ is not a member of ‘Catch’
+ (("add_subdirectory\\(test\\)") "")
+ (("add_subdirectory\\(external\\)") ""))
+ (substitute* "test/CMakeLists.txt"
+ (("include_directories\\(\\$\\{PROJECT_SOURCE_DIR\\}/external/.*") ""))
+
+ ;; Add install target
+ (substitute* "source/CMakeLists.txt"
+ (("qt5_use_modules")
+ (string-append
+ "install(TARGETS powertabeditor "
+ "RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)\n"
+ "install(FILES data/tunings.json DESTINATION "
+ "${CMAKE_INSTALL_PREFIX}/share/powertabeditor/)\n"
+ "qt5_use_modules")))
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:modules ((guix build cmake-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:configure-flags
+ ;; CMake appears to lose the RUNPATH for some reason, so it has to be
+ ;; explicitly set with CMAKE_INSTALL_RPATH.
+ (list (string-append "-DCMAKE_INSTALL_RPATH="
+ (string-join (map (match-lambda
+ ((name . directory)
+ (string-append directory "/lib")))
+ %build-inputs) ";")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'remove-third-party-libs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Link with required static libraries, because we're not
+ ;; using the bundled version of withershins.
+ (substitute* '("source/CMakeLists.txt"
+ "test/CMakeLists.txt")
+ (("target_link_libraries\\((powertabeditor)" _ target)
+ (string-append "target_link_libraries(" target " "
+ (assoc-ref inputs "binutils")
+ "/lib/libbfd.a "
+ (assoc-ref inputs "gcc")
+ "/lib/libiberty.a "
+ "dl")))
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("alsa-lib" ,alsa-lib)
+ ("qt" ,qt)
+ ("withershins" ,withershins)
+ ("gcc" ,gcc-4.8 "lib") ;for libiberty.a (for withershins)
+ ("binutils" ,binutils) ;for -lbfd and -liberty (for withershins)
+ ("timidity" ,timidity++)
+ ("pugixml" ,pugixml)
+ ("rtmidi" ,rtmidi)
+ ("rapidjson" ,rapidjson)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("catch" ,catch-framework)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://powertabs.net")
+ (synopsis "Guitar tablature editor")
+ (description
+ "Power Tab Editor 2.0 is the successor to the famous original Power Tab
+Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
+ (license license:gpl3+)))
+
(define-public tuxguitar
(package
(name "tuxguitar")
diff --git a/gnu/packages/openssl.scm b/gnu/packages/openssl.scm
index 1ed7a7a1f2..dec51a1e04 100644
--- a/gnu/packages/openssl.scm
+++ b/gnu/packages/openssl.scm
@@ -29,14 +29,14 @@
(define-public openssl
(package
(name "openssl")
- (version "1.0.2a")
+ (version "1.0.2b")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.openssl.org/source/openssl-" version
".tar.gz"))
(sha256
(base32
- "0jijgzf72659pikms2bc5w31h78xrd1h5zp2r01an2h340y3kdhm"))
+ "0gwf4fy1yqmai6wph0g9lh09iarwxaa70hm7jm0rf1qakz68im6m"))
(patches (list (search-patch "openssl-runpath.patch")))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
@@ -91,7 +91,10 @@
"Net-SSLeay-" version ".tar.gz"))
(sha256
(base32
- "1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))))
+ "1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))
+ (patches
+ ;; XXX Try removing this patch for perl-net-ssleay > 1.68
+ (list (search-patch "perl-net-ssleay-disable-ede-test.patch")))))
(build-system perl-build-system)
(inputs `(("openssl" ,openssl)))
(arguments
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index db05969139..7f6ec56151 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages curl)
#:use-module (gnu packages web)
+ #:use-module (gnu packages man)
#:use-module (gnu packages emacs)
#:use-module (gnu packages openssl)
#:use-module (gnu packages bdw-gc))
@@ -74,31 +75,46 @@
(string-append "--with-libgcrypt-prefix="
(assoc-ref %build-inputs
"libgcrypt")))
- #:phases (alist-cons-before
- 'configure 'copy-bootstrap-guile
- (lambda* (#:key system inputs #:allow-other-keys)
- (define (boot-guile-version arch)
- (if (string=? "armhf" arch)
- "2.0.11"
- "2.0.9"))
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'copy-bootstrap-guile
+ (lambda* (#:key system inputs #:allow-other-keys)
+ (define (boot-guile-version arch)
+ (if (string=? "armhf" arch)
+ "2.0.11"
+ "2.0.9"))
- (define (copy arch)
- (let ((guile (assoc-ref inputs
- (string-append "boot-guile/"
- arch)))
- (target (string-append "gnu/packages/bootstrap/"
- arch "-linux/"
- "/guile-"
- (boot-guile-version arch)
- ".tar.xz")))
- (copy-file guile target)))
+ (define (copy arch)
+ (let ((guile (assoc-ref inputs
+ (string-append "boot-guile/"
+ arch)))
+ (target (string-append "gnu/packages/bootstrap/"
+ arch "-linux/"
+ "/guile-"
+ (boot-guile-version arch)
+ ".tar.xz")))
+ (copy-file guile target)))
- (copy "i686")
- (copy "x86_64")
- (copy "mips64el")
- (copy "armhf")
- #t)
- %standard-phases)))
+ (copy "i686")
+ (copy "x86_64")
+ (copy "mips64el")
+ (copy "armhf")
+ #t))
+ (add-after
+ 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure the 'guix' command finds GnuTLS and
+ ;; Guile-JSON automatically.
+ (let* ((out (assoc-ref outputs "out"))
+ (json (assoc-ref inputs "guile-json"))
+ (gnutls (assoc-ref inputs "gnutls"))
+ (path (string-append
+ json "/share/guile/site/2.0:"
+ gnutls "/share/guile/site/2.0")))
+ (wrap-program (string-append out "/bin/guix")
+ `("GUILE_LOAD_PATH" ":" prefix (,path))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,path)))
+ #t))))))
(native-inputs `(("pkg-config" ,pkg-config)
("emacs" ,emacs-no-x))) ;for guix.el
(inputs
@@ -150,7 +166,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 "c2ee19e"))
+ (let ((commit "a43b55f"))
(package (inherit guix-0.8.2)
(version (string-append "0.8.2." commit))
(source (origin
@@ -160,7 +176,8 @@ the Nix package manager.")
(commit commit)))
(sha256
(base32
- "1gwc1gypgscxg2m3n2vd0mw4dmxr7vsisqgh3y0lr05q9z5742sj"))))
+ "1r0l8gfh5nxc1j0sqj8ywkg280k9qbj7zsk33z84rvl7l0nwnk88"))
+ (file-name (string-append "guix-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments guix-0.8.2)
((#:phases phases)
@@ -180,6 +197,7 @@ the Nix package manager.")
("gettext" ,gnu-gettext)
("texinfo" ,texinfo)
("graphviz" ,graphviz)
+ ("help2man" ,help2man)
,@(package-native-inputs guix-0.8.2))))))
(define-public guix guix-devel)
diff --git a/gnu/packages/patches/hydra-automake-1.15.patch b/gnu/packages/patches/hydra-automake-1.15.patch
new file mode 100644
index 0000000000..0d8fa98519
--- /dev/null
+++ b/gnu/packages/patches/hydra-automake-1.15.patch
@@ -0,0 +1,63 @@
+This patch takes a slightly different approach to solving the issue reported
+at https://github.com/NixOS/hydra/issues/200. This fix allows us to use
+Automake's parallel test harness.
+
+--- source/configure.ac.orig 1969-12-31 18:00:01.000000000 -0600
++++ source/configure.ac 2015-04-15 10:58:15.974679278 -0500
+@@ -33,7 +33,7 @@
+ fi
+ ])
+
+-NEED_PROG(perl, perl)
++NEED_PROG([PERL], perl)
+
+ NEED_PROG([NIX_STORE_PROGRAM], [nix-store])
+
+--- source/tests/Makefile.am.orig 1969-12-31 18:00:01.000000000 -0600
++++ source/tests/Makefile.am 2015-04-15 11:00:35.846682904 -0500
+@@ -1,19 +1,20 @@
+-TESTS_ENVIRONMENT = \
+- BZR_HOME="$(abs_builddir)/data" \
+- HYDRA_DBI="dbi:SQLite:db.sqlite" \
+- HYDRA_DATA="$(abs_builddir)/data" \
+- HYDRA_HOME="$(top_srcdir)/src" \
+- HYDRA_CONFIG= \
+- NIX_REMOTE= \
+- NIX_CONF_DIR="$(abs_builddir)/nix/etc/nix" \
+- NIX_STATE_DIR="$(abs_builddir)/nix/var/nix" \
+- NIX_MANIFESTS_DIR="$(abs_builddir)/nix/var/nix/manifests" \
+- NIX_STORE_DIR="$(abs_builddir)/nix/store" \
+- NIX_LOG_DIR="$(abs_builddir)/nix/var/log/nix" \
+- NIX_BUILD_HOOK= \
+- PERL5LIB="$(srcdir):$(top_srcdir)/src/lib:$$PERL5LIB" \
+- PATH=$(abs_top_srcdir)/src/script:$(abs_top_srcdir)/src/c:$$PATH \
+- perl -w
++AM_TESTS_ENVIRONMENT = \
++ BZR_HOME="$(abs_builddir)/data"; export BZR_HOME; \
++ HYDRA_DBI="dbi:SQLite:db.sqlite"; export HYDRA_DBI; \
++ HYDRA_DATA="$(abs_builddir)/data"; export HYDRA_DATA; \
++ HYDRA_HOME="$(top_srcdir)/src"; export HYDRA_HOME; \
++ HYDRA_CONFIG=; export HYDRA_CONFIG; \
++ NIX_REMOTE=; export NIX_REMOTE; \
++ NIX_CONF_DIR="$(abs_builddir)/nix/etc/nix"; export NIX_CONF_DIR; \
++ NIX_STATE_DIR="$(abs_builddir)/nix/var/nix"; export NIX_STATE_DIR; \
++ NIX_MANIFESTS_DIR="$(abs_builddir)/nix/var/nix/manifests"; export NIX_MANIFESTS_DIR; \
++ NIX_STORE_DIR="$(abs_builddir)/nix/store"; export NIX_STORE_DIR; \
++ NIX_LOG_DIR="$(abs_builddir)/nix/var/log/nix"; export NIX_LOG_DIR; \
++ NIX_BUILD_HOOK=; export NIX_BUILD_HOOK; \
++ PERL5LIB="$(srcdir):$(top_srcdir)/src/lib:$$PERL5LIB"; export PERL5LIB; \
++ PATH=$(abs_top_srcdir)/src/script:$(abs_top_srcdir)/src/c:$$PATH; export PATH;
++LOG_COMPILER = $(PERL)
++AM_LOG_FLAGS = -w
+
+ EXTRA_DIST = \
+ $(wildcard *.pm) \
+@@ -33,7 +34,7 @@
+ check_SCRIPTS = db.sqlite repos
+
+ db.sqlite: $(top_srcdir)/src/sql/hydra-sqlite.sql
+- $(TESTS_ENVIRONMENT) $(top_srcdir)/src/script/hydra-init
++ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) $(top_srcdir)/src/script/hydra-init
+
+ repos: dirs
+
diff --git a/gnu/packages/patches/hydra-disable-darcs-test.patch b/gnu/packages/patches/hydra-disable-darcs-test.patch
new file mode 100644
index 0000000000..5d8e015b08
--- /dev/null
+++ b/gnu/packages/patches/hydra-disable-darcs-test.patch
@@ -0,0 +1,25 @@
+--- hydra-20150407.4c0e3e4/tests/evaluation-tests.pl 2015-04-15 12:00:19.000000000 -0500
++++ hydra-20150407.4c0e3e4/tests/evaluation-tests.pl 2015-04-17 08:53:04.940301471 -0500
+@@ -7,7 +7,7 @@
+
+ my $db = Hydra::Model::DB->new;
+
+-use Test::Simple tests => 72;
++use Test::Simple tests => 68;
+
+ hydra_setup($db);
+
+@@ -103,13 +103,6 @@
+ uri => "$jobsBaseUri/hg-repo",
+ update => getcwd . "/jobs/hg-update.sh"
+ },
+- {
+- name => "darcs",
+- nixexpr => "darcs-input.nix",
+- type => "darcs",
+- uri => "$jobsBaseUri/darcs-repo",
+- update => getcwd . "/jobs/darcs-update.sh"
+- }
+ );
+
+ foreach my $scm ( @scminputs ) {
diff --git a/gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch b/gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch
new file mode 100644
index 0000000000..16f136fb54
--- /dev/null
+++ b/gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch
@@ -0,0 +1,23 @@
+Disable a test that fails with openssl-1.0.2b.
+
+--- Net-SSLeay-1.68/t/local/33_x509_create_cert.t.orig 2014-06-07 02:01:39.000000000 -0400
++++ Net-SSLeay-1.68/t/local/33_x509_create_cert.t 2015-06-12 03:38:57.620286888 -0400
+@@ -2,7 +2,7 @@
+
+ use strict;
+ use warnings;
+-use Test::More tests => 123;
++use Test::More tests => 122;
+ use Net::SSLeay qw/MBSTRING_ASC MBSTRING_UTF8 EVP_PK_RSA EVP_PKT_SIGN EVP_PKT_ENC/;
+ use File::Spec;
+ use utf8;
+@@ -101,7 +101,8 @@
+ like(my $key_pem3 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg1), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg");
+
+ ok(my $alg2 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-OFB"), "EVP_get_cipherbyname");
+- like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg");
++ # This test fails with openssl-1.0.2b
++ #like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg");
+
+ is(Net::SSLeay::X509_NAME_print_ex($name), "O=Company Name,C=UK,CN=Common name text X509", "X509_NAME_print_ex");
+
diff --git a/gnu/packages/patches/python-disable-ssl-test.patch b/gnu/packages/patches/python-disable-ssl-test.patch
new file mode 100644
index 0000000000..e351c77505
--- /dev/null
+++ b/gnu/packages/patches/python-disable-ssl-test.patch
@@ -0,0 +1,12 @@
+Disable a test that fails with openssl-1.0.2b.
+
+--- Lib/test/test_ssl.py.orig 2015-02-25 06:27:45.000000000 -0500
++++ Lib/test/test_ssl.py 2015-06-12 03:14:09.395212502 -0400
+@@ -2718,6 +2718,7 @@
+ chatty=True, connectionchatty=True)
+ self.assertIs(stats['compression'], None)
+
++ @unittest.skipIf(True, "openssl 1.0.2b complains: dh key too small")
+ def test_dh_params(self):
+ # Check we can get a connection with ephemeral Diffie-Hellman
+ context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 45ca94b279..3d28455405 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4106,6 +4106,28 @@ collector.")
(description "Set::Infinite is a set theory module for infinite sets.")
(license (package-license perl))))
+(define-public perl-set-object
+ (package
+ (name "perl-set-object")
+ (version "1.35")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
+ "Set-Object-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rqf11274s3h17jgbimmg47k4fmayifajqwaa6lgm0z5qdy4v6hq"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-moose" ,perl-moose)
+ ("perl-test-leaktrace" ,perl-test-leaktrace)))
+ (home-page "http://search.cpan.org/dist/Set-Object")
+ (synopsis "Unordered collections of Perl Objects")
+ (description "Set::Object provides efficient sets, unordered collections
+of Perl objects without duplicates for scalars and references.")
+ (license artistic2.0)))
+
(define-public perl-set-scalar
(package
(name "perl-set-scalar")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 914c2dc23c..232a785778 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -207,7 +207,9 @@ data types.")
(method url-fetch)
(uri (string-append "https://www.python.org/ftp/python/"
version "/Python-" version ".tar.xz"))
- (patches (list (search-patch "python-fix-tests.patch")))
+ (patches (list (search-patch "python-fix-tests.patch")
+ ;; XXX Try removing this patch for python > 3.4.3
+ (search-patch "python-disable-ssl-test.patch")))
(patch-flags '("-p0"))
(sha256
(base32
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index e77bad76d6..94d9970ea6 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -259,6 +259,27 @@ easily construct JSON objects in C, output them as JSON formatted strings and
parse JSON formatted strings back into the C representation of JSON objects.")
(license l:x11)))
+(define-public rapidjson
+ (package
+ (name "rapidjson")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/miloyip/rapidjson/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/miloyip/rapidjson")
+ (synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
+ (description
+ "RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM
+style API.")
+ (license l:expat)))
+
(define-public libwebsockets
(package
(name "libwebsockets")
@@ -704,6 +725,41 @@ action with the generated name, and failing that it will try to dispatch to a
regular method.")
(license (package-license perl))))
+(define-public perl-catalyst-authentication-store-dbix-class
+ (package
+ (name "perl-catalyst-authentication-store-dbix-class")
+ (version "0.1506")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
+ "Catalyst-Authentication-Store-DBIx-Class-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-catalyst-plugin-authorization-roles"
+ ,perl-catalyst-plugin-authorization-roles)
+ ("perl-catalyst-plugin-session-state-cookie"
+ ,perl-catalyst-plugin-session-state-cookie)
+ ("perl-dbd-sqlite" ,perl-dbd-sqlite)
+ ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)))
+ (propagated-inputs
+ `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
+ ("perl-catalyst-plugin-authentication"
+ ,perl-catalyst-plugin-authentication)
+ ("perl-dbix-class" ,perl-dbix-class)
+ ("perl-catalyst-model-dbic-schema" ,perl-catalyst-model-dbic-schema)))
+ (home-page
+ "http://search.cpan.org/dist/Catalyst-Authentication-Store-DBIx-Class")
+ (synopsis "Storage class for Catalyst authentication using DBIx::Class")
+ (description "The Catalyst::Authentication::Store::DBIx::Class class
+provides access to authentication information stored in a database via
+DBIx::Class.")
+ (license (package-license perl))))
+
(define-public perl-catalyst-component-instancepercontext
(package
(name "perl-catalyst-component-instancepercontext")
@@ -905,6 +961,35 @@ who they claim to be), and authorization (allowing the user to do what the
system authorises them to do).")
(license (package-license perl))))
+(define-public perl-catalyst-plugin-authorization-roles
+ (package
+ (name "perl-catalyst-plugin-authorization-roles")
+ (version "0.09")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
+ "Catalyst-Plugin-Authorization-Roles-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-test-exception" ,perl-test-exception)))
+ (propagated-inputs
+ `(("perl-catalyst-plugin-authentication"
+ ,perl-catalyst-plugin-authentication)
+ ("perl-catalyst-runtime" ,perl-catalyst-runtime)
+ ("perl-set-object" ,perl-set-object)
+ ("perl-universal-isa" ,perl-universal-isa)))
+ (home-page
+ "http://search.cpan.org/dist/Catalyst-Plugin-Authorization-Roles")
+ (synopsis "Role-based authorization for Catalyst")
+ (description "Catalyst::Plugin::Authorization::Roles provides role-based
+authorization for Catalyst based on Catalyst::Plugin::Authentication.")
+ (license (package-license perl))))
+
(define-public perl-catalyst-plugin-captcha
(package
(name "perl-catalyst-plugin-captcha")
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 59b73d2aa5..c4ec33e2d7 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
@@ -368,6 +370,41 @@ from XML::Parser. It parses XML strings or files and builds a data structure
that conforms to the API of the Document Object Model.")
(home-page "http://search.cpan.org/~tjmather/XML-DOM-1.44/lib/XML/DOM.pm")))
+(define-public pugixml
+ (package
+ (name "pugixml")
+ (version "1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/zeux/pugixml/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0czbcv9aqf2rw3s9cljz2wb1f4zbhd07wnj7ykklklccl0ipfnwi"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f
+ #:out-of-source? #f
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'chdir
+ (lambda _
+ (chdir "scripts")
+ #t)))))
+ (home-page "http://pugixml.org")
+ (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
+ (description
+ "pugixml is a C++ XML processing library, which consists of a DOM-like
+interface with rich traversal/modification capabilities, a fast XML parser
+which constructs the DOM tree from an XML file/buffer, and an XPath 1.0
+implementation for complex data-driven tree queries. Full Unicode support is
+also available, with Unicode interface variants and conversions between
+different Unicode encodings which happen automatically during
+parsing/saving.")
+ (license license:expat)))
+
(define-public xmlto
(package
(name "xmlto")
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 27d8ecdefc..e8a36b3def 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -269,7 +269,8 @@ You have been warned. Thanks for being so brave.
(guix-service #:authorize-hydra-key? #t)
;; Start udev so that useful device nodes are available.
- (udev-service)
+ ;; Use device-mapper rules for cryptsetup & co.
+ (udev-service #:rules (list lvm2))
;; Add the 'cow-store' service, which users have to start manually
;; since it takes the installation directory as an argument.