summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/audio.scm67
-rw-r--r--gnu/packages/bioinformatics.scm15
-rw-r--r--gnu/packages/game-development.scm44
-rw-r--r--gnu/packages/games.scm57
-rw-r--r--gnu/packages/gstreamer.scm46
-rw-r--r--gnu/packages/guile.scm78
-rw-r--r--gnu/packages/image.scm17
-rw-r--r--gnu/packages/java.scm386
-rw-r--r--gnu/packages/libreoffice.scm81
-rw-r--r--gnu/packages/patches/gstreamer-0.10-bison3.patch32
-rw-r--r--gnu/packages/patches/gstreamer-0.10-silly-test.patch14
-rw-r--r--gnu/packages/python.scm62
-rw-r--r--gnu/packages/tbb.scm2
-rw-r--r--gnu/packages/video.scm53
14 files changed, 716 insertions, 238 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c5c1a77b2f..6cba704b6d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1156,6 +1156,73 @@ compression modes. This package contains command-line programs and library to
encode and decode wavpack files.")
(license license:bsd-3)))
+(define-public libmodplug
+ (package
+ (name "libmodplug")
+ (version "0.8.8.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/project/modplug-xmms/"
+ name "/" version "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"))))
+ (build-system gnu-build-system)
+ (home-page "http://modplug-xmms.sourceforge.net/")
+ (synopsis "Mod file playing library")
+ (description
+ "Libmodplug renders mod music files as raw audio data, for playing or
+conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are
+supported. Optional features include high-quality resampling, bass expansion,
+surround and reverb.")
+ (license license:public-domain)))
+
+(define-public libxmp
+ (package
+ (name "libxmp")
+ (version "4.3.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/xmp/libxmp/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0h06091hlpgc6ds4pjmfq8sx4snw7av3nhny180q4pwfyasjb6ny"))))
+ (build-system gnu-build-system)
+ (home-page "http://xmp.sourceforge.net/")
+ (synopsis "Module player library")
+ (description
+ "Libxmp is a library that renders module files to PCM data. It supports
+over 90 mainstream and obscure module formats including Protracker (MOD),
+Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
+ (license license:lgpl2.1+)))
+
+(define-public xmp
+ (package
+ (name "xmp")
+ (version "4.0.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/xmp/xmp/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libxmp" ,libxmp)
+ ("pulseaudio" ,pulseaudio)))
+ (home-page "http://xmp.sourceforge.net/")
+ (synopsis "Extended module player")
+ (description
+ "Xmp is a portable module player that plays over 90 mainstream and
+obscure module formats, including Protracker MOD, Fasttracker II XM, Scream
+Tracker 3 S3M and Impulse Tracker IT files.")
+ (license license:gpl2+)))
+
(define-public soundtouch
(package
(name "soundtouch")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index ccfda627f3..bcb7eba48f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -623,15 +623,20 @@ results. The FASTX-Toolkit tools perform some of these preprocessing tasks.")
"13jaykc3y1x8y5nn9j8ljnb79s5y51kyxz46hdmvvjj6qhyympmf"))))
(build-system cmake-build-system)
(arguments
- `(;; There is no test target, although there is a directory containing
- ;; test data and scripts (launched by flexbar_validate.sh).
- #:tests? #f
- #:configure-flags (list
+ `(#:configure-flags (list
(string-append "-DFLEXBAR_BINARY_DIR="
(assoc-ref %outputs "out")
"/bin/"))
#:phases
- (alist-delete 'install %standard-phases)))
+ (alist-replace
+ 'check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "PATH" (string-append
+ (assoc-ref outputs "out") "/bin:"
+ (getenv "PATH")))
+ (chdir "../flexbar_v2.5_src/test")
+ (zero? (system* "bash" "flexbar_validate.sh")))
+ (alist-delete 'install %standard-phases))))
(inputs
`(("tbb" ,tbb)
("zlib" ,zlib)))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 0e6a1d5b89..219176722a 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -25,7 +25,15 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages qt)
- #:use-module (gnu packages compression))
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages zip)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages pulseaudio))
(define-public bullet
(package
@@ -85,3 +93,37 @@ clone.")
;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is
;; under BSD-2.
(license license:gpl2+)))
+
+(define-public sfml
+ (package
+ (name "sfml")
+ (version "2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://mirror0.sfml-dev.org/files/SFML-"
+ version "-sources.zip"))
+ (sha256
+ (base32
+ "1xhkvgyfbhqsjdmfbxvk729kdrzh7kdyagxa3bvpzi6z43mh1frd"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f)) ; no tests
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (inputs
+ `(("mesa" ,mesa)
+ ("glew" ,glew)
+ ("libx11" ,libx11)
+ ("libxrandr" ,libxrandr)
+ ("eudev" ,eudev)
+ ("freetype" ,freetype)
+ ("libjpeg" ,libjpeg)
+ ("libsndfile" ,libsndfile)
+ ("openal" ,openal)))
+ (home-page "http://www.sfml-dev.org")
+ (synopsis "Simple and Fast Multimedia Library")
+ (description
+ "SFML provides a simple interface to the various computer components,
+to ease the development of games and multimedia applications. It is composed
+of five modules: system, window, graphics, audio and network.")
+ (license license:zlib)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 192d0db397..d86e151a85 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
+;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,6 +43,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra)
+ #:use-module (gnu packages libunwind)
#:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
@@ -65,6 +67,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages video)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages tcl)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
@@ -822,3 +825,57 @@ interfaces or even in Emacs. It supports the standard game storage format
Modem Protocol).")
(home-page "http://www.gnu.org/software/gnugo/")
(license license:gpl3+)))
+
+(define-public extremetuxracer
+ (package
+ (name "extremetuxracer")
+ (version "0.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://downloads.sourceforge.net/project/extremetuxracer/releases/"
+ version "/etr-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0fl9pwkywqnsmgr6plfj9zb05xrdnl5xb2hcmbjk7ap9l4cjfca4"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("freetype" ,freetype)
+ ("mesa" ,mesa)
+ ("glu" ,glu)
+ ("libice" ,libice)
+ ("libpng" ,libpng)
+ ("sdl" ,sdl)
+ ("sdl-mixer" ,sdl-mixer)
+ ("sdl-image" ,sdl-image)
+ ("libsm" ,libsm)
+ ("libunwind" ,libunwind)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxi" ,libxi)
+ ("libxmu" ,libxmu)
+ ("libxt" ,libxt)
+ ("tcl" ,tcl)
+ ("zlib" ,zlib)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'patch-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("CXXFLAGS =") "CXXFLAGS = ${CFLAGS}")))))))
+ (synopsis "High speed arctic racing game based on Tux Racer")
+ ;; Snarfed straight from Debian
+ (description "Extreme Tux Racer, or etracer as it is called for short, is
+a simple OpenGL racing game featuring Tux, the Linux mascot. The goal of the
+game is to slide down a snow- and ice-covered mountain as quickly as possible,
+avoiding the trees and rocks that will slow you down.
+
+Collect herrings and other goodies while sliding down the hill, but avoid fish
+bones.
+
+This game is based on the GPL version of the famous game TuxRacer.")
+ (home-page "http://sourceforge.net/projects/extremetuxracer/")
+ (license license:gpl2+)))
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index b882208d76..03aecdfa53 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -124,32 +124,6 @@ simple plugin with a clean, generic interface.
This package provides the core library and elements.")
(license lgpl2.0+)))
-(define-public gstreamer-0.10
- (package (inherit gstreamer)
- (version "0.10.36")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
- version ".tar.xz"))
- (sha256
- (base32
- "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci"))
- (patches
- (list (search-patch "gstreamer-0.10-bison3.patch")
- (search-patch "gstreamer-0.10-silly-test.patch")))))
- (propagated-inputs
- `(("libxml2" ,libxml2)))
- (inputs `(("glib" ,glib)))
- (native-inputs
- `(("bison" ,bison)
- ("flex" ,flex)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")
- ("python" ,python-2)))))
-
-
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
@@ -288,23 +262,3 @@ developers consider to have good quality code and correct functionality.")
"This GStreamer plugin supports a large number of audio and video
compression formats through the use of the libav library.")
(license gpl2+)))
-
-(define-public gst-plugins-base-0.10
- (package (inherit gst-plugins-base)
- (version "0.10.36")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
- version ".tar.xz"))
- (sha256
- (base32
- "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z"))))
- (inputs
- `(("glib" ,glib)
- ("gstreamer" ,gstreamer-0.10)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")
- ("python" ,python-2)))))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c605533fd2..751002f54c 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,7 +37,9 @@
#:use-module (gnu packages base)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (ice-9 match))
@@ -358,4 +361,79 @@ http:://json.org specification. These are the main features:
- Allows JSON pretty printing.")
(license lgpl3+)))
+(define-public guile-minikanren
+ (package
+ (name "guile-minikanren")
+ (version "20150424.e844d85")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ijp/minikanren.git")
+ (commit "e844d85512f8c055d3f96143ee506007389a25e3")))
+ (sha256
+ (base32
+ "0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules
+ ((guix build utils)
+ (ice-9 match))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let* ((out (assoc-ref %outputs "out"))
+ (module-dir (string-append out "/share/guile/site/2.0"))
+ (source (assoc-ref %build-inputs "source"))
+ (doc (string-append out "/share/doc"))
+ (scm-files '("minikanren.scm"
+ "minikanren/mkextraforms.scm"
+ "minikanren/mkprelude.scm"
+ "minikanren/mk.scm"))
+ (guild (string-append (assoc-ref %build-inputs "guile")
+ "/bin/guild")))
+ ;; Make installation directories.
+ (mkdir-p (string-append module-dir "/minikanren"))
+ (mkdir-p doc)
+
+ ;; Compile .scm files and install.
+ (chdir source)
+ (setenv "GUILE_AUTO_COMPILE" "0")
+ (for-each (lambda (file)
+ (let* ((dest-file (string-append module-dir "/"
+ file ".scm"))
+ (go-file (match (string-split file #\.)
+ ((base _)
+ (string-append module-dir "/"
+ base ".go")))))
+ ;; Install source module.
+ (copy-file file dest-file)
+ ;; Install compiled module.
+ (unless (zero? (system* guild "compile"
+ "-L" source
+ "-o" go-file
+ file))
+ (error (format #f "Failed to compile ~s to ~s!"
+ file go-file)))))
+ scm-files)
+
+ ;; Also copy over the README.
+ (copy-file "README.org" (string-append doc "/README.org"))
+ #t))))
+ (inputs
+ `(("guile" ,guile-2.0)))
+ (home-page "https://github.com/ijp/minikanren")
+ (synopsis "miniKanren declarative logic system, packaged for Guile")
+ (description
+ "MiniKanren is a relational programming extension to the Scheme
+programming Language, written as a smaller version of Kanren suitable for
+pedagogical purposes. It is featured in the book, The Reasoned Schemer,
+written by Dan Friedman, William Byrd, and Oleg Kiselyov.
+
+This is Ian Price's r6rs packaged version of miniKranen, which deviates
+slightly from miniKanren mainline.
+
+See http://minikanren.org/ for more on miniKanren generally.")
+ (license expat)))
+
;;; guile.scm ends here
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index ece0e8c54a..c24ec99375 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
@@ -384,25 +384,16 @@ compose, and analyze GIF images.")
(define-public imlib2
(package
(name "imlib2")
- (version "1.4.6")
+ (version "1.4.7")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/enlightenment/imlib2-"
- version ".tar.gz"))
+ version ".tar.bz2"))
(sha256
(base32
- "0kjggg4gfn6chi8v1xddd5qwk1fbnl7rvd93qiclv5v11s615k0p"))))
+ "00a7jbwj10x3jcvxa5rplnkvhv35gv9rb400zy636zdd4g737mrm"))))
(build-system gnu-build-system)
- (arguments
- '(;; Will be fixed in the next release:
- ;; <http://git.enlightenment.org/legacy/imlib2.git/commit/?id=5dde234b2d3caf067ea827858c53adc5d4c56c13>.
- #:phases (alist-cons-before
- 'configure 'patch-config
- (lambda _
- (substitute* "imlib2-config.in"
- (("@my_libs@") "")))
- %standard-phases)))
(native-inputs
`(("pkgconfig" ,pkg-config)))
(inputs
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index a77d1716bc..26fc3eccf5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -20,6 +20,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages attr)
@@ -46,7 +47,8 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
- #:use-module (gnu packages texinfo))
+ #:use-module (gnu packages texinfo)
+ #:use-module ((srfi srfi-1) #:select (fold alist-delete)))
(define-public swt
(package
@@ -397,7 +399,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
(setenv "PATH" (string-append antpath "/bin:"
(getenv "PATH")))))
(alist-cons-before
- 'check 'fix-tests
+ 'check 'fix-test-framework
(lambda _
;; Fix PATH in test environment
(substitute* "src/jtreg/com/sun/javatest/regtest/Main.java"
@@ -405,109 +407,114 @@ build process and its dependencies, whereas Make uses Makefile format.")
(string-append "PATH=" (getenv "PATH"))))
(substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java"
(("/usr/bin/env") (which "env")))
-
- ;; Hotspot tests
- (with-directory-excursion "openjdk/hotspot/test/"
- (substitute* "jprt.config"
- (("PATH=\"\\$\\{path4sdk\\}\"")
- (string-append "PATH=" (getenv "PATH")))
- (("make=/usr/bin/make")
- (string-append "make=" (which "make"))))
- (substitute* '("runtime/6626217/Test6626217.sh"
- "runtime/7110720/Test7110720.sh")
- (("/bin/rm") (which "rm"))
- (("/bin/cp") (which "cp"))
- (("/bin/mv") (which "mv"))))
-
- ;; JDK tests
- (with-directory-excursion "openjdk/jdk/test/"
- (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
- (("/bin/pwd") (which "pwd")))
- (substitute* "com/sun/jdi/ShellScaffold.sh"
- (("/bin/kill") (which "kill")))
- (substitute* "start-Xvfb.sh"
- ;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
- (("/usr/bin/nohup") (which "nohup")))
- (substitute* "javax/security/auth/Subject/doAs/Test.sh"
- (("/bin/rm") (which "rm")))
- (substitute* "tools/launcher/MultipleJRE.sh"
- (("echo \"#!/bin/sh\"")
- (string-append "echo \"#!" (which "rm") "\""))
- (("/usr/bin/zip") (which "zip")))
- (substitute* "com/sun/jdi/OnThrowTest.java"
- (("#!/bin/sh") (string-append "#!" (which "sh"))))
- (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
- (("/usr/bin/uptime") (which "uptime")))
- (substitute* "java/lang/ProcessBuilder/Basic.java"
- (("/usr/bin/env") (which "env"))
- (("/bin/false") (which "false"))
- (("/bin/true") (which "true"))
- (("/bin/cp") (which "cp"))
- (("/bin/sh") (which "sh")))
- (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
- (("/bin/sh") (which "sh")))
- (substitute* "java/lang/ProcessBuilder/Zombies.java"
- (("/usr/bin/perl") (which "perl"))
- (("/bin/ps") (which "ps"))
- (("/bin/true") (which "true")))
- (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
- (("/usr/bin/tee") (which "tee")))
- (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
- (("/bin/true") (which "true")))
- (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
- (("/bin/cat") (which "cat")))
- (substitute* "java/lang/Runtime/exec/ExitValue.java"
- (("/bin/sh") (which "sh"))
- (("/bin/true") (which "true"))
- (("/bin/kill") (which "kill")))
- (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
- (("/usr/bin/echo") (which "echo")))
- (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
- (("/usr/bin/cat") (which "cat")))
- (substitute* "java/lang/Runtime/exec/SleepyCat.java"
- (("/bin/cat") (which "cat"))
- (("/bin/sleep") (which "sleep"))
- (("/bin/sh") (which "sh")))
- (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
- (("/bin/cat") (which "cat")))
- (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
- (("/bin/chmod") (which "chmod")))
- (substitute* "java/util/zip/ZipFile/Assortment.java"
- (("/bin/sh") (which "sh")))))
- (alist-replace
- 'check
+ #t)
+ (alist-cons-before
+ 'check 'fix-hotspot-tests
(lambda _
- ;; The "make check-*" targets always return zero, so we need to
- ;; check for errors in the associated log files to determine
- ;; whether any tests have failed.
- (use-modules (ice-9 rdelim))
- (let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
- (checker (lambda (port)
- (let loop ()
- (let ((line (read-line port)))
- (cond
- ((eof-object? line) #t)
- ((regexp-exec error-pattern line) #f)
- (else (loop)))))))
- (run-test (lambda (test)
- (system* "make" test)
- (call-with-input-file
- (string-append "test/" test ".log")
- checker))))
- (or #t ; skip tests
- (and (run-test "check-hotspot")
- (run-test "check-langtools")
- (run-test "check-jdk")))))
- (alist-replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name))
- (jre (assoc-ref outputs "out"))
- (jdk (assoc-ref outputs "jdk")))
- (copy-recursively "openjdk.build/docs" doc)
- (copy-recursively "openjdk.build/j2re-image" jre)
- (copy-recursively "openjdk.build/j2sdk-image" jdk)))
- %standard-phases)))))))))
+ (with-directory-excursion "openjdk/hotspot/test/"
+ (substitute* "jprt.config"
+ (("PATH=\"\\$\\{path4sdk\\}\"")
+ (string-append "PATH=" (getenv "PATH")))
+ (("make=/usr/bin/make")
+ (string-append "make=" (which "make"))))
+ (substitute* '("runtime/6626217/Test6626217.sh"
+ "runtime/7110720/Test7110720.sh")
+ (("/bin/rm") (which "rm"))
+ (("/bin/cp") (which "cp"))
+ (("/bin/mv") (which "mv"))))
+ #t)
+ (alist-cons-before
+ 'check 'fix-jdk-tests
+ (lambda _
+ (with-directory-excursion "openjdk/jdk/test/"
+ (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
+ (("/bin/pwd") (which "pwd")))
+ (substitute* "com/sun/jdi/ShellScaffold.sh"
+ (("/bin/kill") (which "kill")))
+ (substitute* "start-Xvfb.sh"
+ ;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
+ (("/usr/bin/nohup") (which "nohup")))
+ (substitute* "javax/security/auth/Subject/doAs/Test.sh"
+ (("/bin/rm") (which "rm")))
+ (substitute* "tools/launcher/MultipleJRE.sh"
+ (("echo \"#!/bin/sh\"")
+ (string-append "echo \"#!" (which "rm") "\""))
+ (("/usr/bin/zip") (which "zip")))
+ (substitute* "com/sun/jdi/OnThrowTest.java"
+ (("#!/bin/sh") (string-append "#!" (which "sh"))))
+ (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
+ (("/usr/bin/uptime") (which "uptime")))
+ (substitute* "java/lang/ProcessBuilder/Basic.java"
+ (("/usr/bin/env") (which "env"))
+ (("/bin/false") (which "false"))
+ (("/bin/true") (which "true"))
+ (("/bin/cp") (which "cp"))
+ (("/bin/sh") (which "sh")))
+ (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
+ (("/bin/sh") (which "sh")))
+ (substitute* "java/lang/ProcessBuilder/Zombies.java"
+ (("/usr/bin/perl") (which "perl"))
+ (("/bin/ps") (which "ps"))
+ (("/bin/true") (which "true")))
+ (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
+ (("/usr/bin/tee") (which "tee")))
+ (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
+ (("/bin/true") (which "true")))
+ (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
+ (("/bin/cat") (which "cat")))
+ (substitute* "java/lang/Runtime/exec/ExitValue.java"
+ (("/bin/sh") (which "sh"))
+ (("/bin/true") (which "true"))
+ (("/bin/kill") (which "kill")))
+ (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
+ (("/usr/bin/echo") (which "echo")))
+ (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
+ (("/usr/bin/cat") (which "cat")))
+ (substitute* "java/lang/Runtime/exec/SleepyCat.java"
+ (("/bin/cat") (which "cat"))
+ (("/bin/sleep") (which "sleep"))
+ (("/bin/sh") (which "sh")))
+ (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
+ (("/bin/cat") (which "cat")))
+ (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
+ (("/bin/chmod") (which "chmod")))
+ (substitute* "java/util/zip/ZipFile/Assortment.java"
+ (("/bin/sh") (which "sh"))))
+ #t)
+ (alist-replace
+ 'check
+ (lambda _
+ ;; The "make check-*" targets always return zero, so we need to
+ ;; check for errors in the associated log files to determine
+ ;; whether any tests have failed.
+ (use-modules (ice-9 rdelim))
+ (let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
+ (checker (lambda (port)
+ (let loop ()
+ (let ((line (read-line port)))
+ (cond
+ ((eof-object? line) #t)
+ ((regexp-exec error-pattern line) #f)
+ (else (loop)))))))
+ (run-test (lambda (test)
+ (system* "make" test)
+ (call-with-input-file
+ (string-append "test/" test ".log")
+ checker))))
+ (or #t ; skip tests
+ (and (run-test "check-hotspot")
+ (run-test "check-langtools")
+ (run-test "check-jdk")))))
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name))
+ (jre (assoc-ref outputs "out"))
+ (jdk (assoc-ref outputs "jdk")))
+ (copy-recursively "openjdk.build/docs" doc)
+ (copy-recursively "openjdk.build/j2re-image" jre)
+ (copy-recursively "openjdk.build/j2sdk-image" jdk)))
+ %standard-phases)))))))))))
(native-inputs
`(("ant-bootstrap"
,(origin
@@ -567,3 +574,174 @@ build process and its dependencies, whereas Make uses Makefile format.")
;; IcedTea is released under the GPL2 + Classpath exception, which is the
;; same license as both GNU Classpath and OpenJDK.
(license license:gpl2+)))
+
+(define-public icedtea7
+ (let* ((version "2.5.5")
+ (drop (lambda (name hash)
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://icedtea.classpath.org/download/drops/"
+ "/icedtea7/" version "/" name ".tar.bz2"))
+ (sha256 (base32 hash))))))
+ (package (inherit icedtea6)
+ (name "icedtea7")
+ (version version)
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://icedtea.wildebeest.org/download/source/icedtea-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1irxk2ndwsfk4c1zbzb5h3rpwv2bc9bhfjvz6p4dws5476vsxrq9"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "Makefile.in"
+ ;; do not leak information about the build host
+ (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
+ "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
+ (arguments
+ `(;; There are many test failures. Some are known to
+ ;; fail upstream, others relate to not having an X
+ ;; server running at test time, yet others are a
+ ;; complete mystery to me.
+
+ ;; hotspot: passed: 241; failed: 45; error: 2
+ ;; langtools: passed: 1,934; failed: 26
+ ;; jdk: unknown
+ #:tests? #f
+ ;; Apparently, the C locale is needed for some of the tests.
+ #: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))))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace
+ 'unpack
+ (lambda* (#:key source inputs #:allow-other-keys)
+ (let ((target (string-append "icedtea-" ,version))
+ (unpack (lambda (drop dir)
+ (mkdir dir)
+ (zero? (system* "tar" "xvjf"
+ (assoc-ref inputs drop)
+ "-C" dir
+ "--strip-components=1")))))
+ (and (zero? (system* "tar" "xvf" source))
+ (chdir target)
+ (unpack "openjdk-drop" "openjdk")
+ (unpack "corba-drop" "openjdk/corba")
+ (unpack "jdk-drop" "openjdk/jdk")
+ (unpack "hotspot-drop" "openjdk/hotspot")
+
+ ;; The build framework checks the tarballs, so we
+ ;; need to keep them around even though we have
+ ;; already unpacked some of them for patching.
+ (begin
+ (copy-file (assoc-ref inputs "openjdk-drop")
+ "openjdk.tar.bz2")
+ (copy-file (assoc-ref inputs "corba-drop")
+ "corba.tar.bz2")
+ (copy-file (assoc-ref inputs "hotspot-drop")
+ "hotspot.tar.bz2")
+ (copy-file (assoc-ref inputs "jaxp-drop")
+ "jaxp.tar.bz2")
+ (copy-file (assoc-ref inputs "jaxws-drop")
+ "jaxws.tar.bz2")
+ (copy-file (assoc-ref inputs "jdk-drop")
+ "jdk.tar.bz2")
+ (copy-file (assoc-ref inputs "langtools-drop")
+ "langtools.tar.bz2")
+ #t)))))
+ (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"))))
+ (add-after
+ 'unpack 'fix-x11-extension-include-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "openjdk/jdk/make/sun/awt/mawt.gmk"
+ (((string-append "\\$\\(firstword \\$\\(wildcard "
+ "\\$\\(OPENWIN_HOME\\)"
+ "/include/X11/extensions\\).*$"))
+ (string-append (assoc-ref inputs "libxrender")
+ "/include/X11/extensions"
+ " -I" (assoc-ref inputs "libxtst")
+ "/include/X11/extensions"
+ " -I" (assoc-ref inputs "libxinerama")
+ "/include/X11/extensions"))
+ (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") ""))
+ #t))
+ (replace
+ 'fix-test-framework
+ (lambda _
+ ;; Fix PATH in test environment
+ (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java"
+ (("PATH=/bin:/usr/bin")
+ (string-append "PATH=" (getenv "PATH"))))
+ (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
+ (("/usr/bin/env") (which "env")))
+ (substitute* "openjdk/hotspot/test/test_env.sh"
+ (("/bin/rm") (which "rm"))
+ (("/bin/cp") (which "cp"))
+ (("/bin/mv") (which "mv")))
+ #t))
+ (delete 'patch-patches))))))
+ (native-inputs
+ `(("ant" ,ant)
+ ("icedtea6" ,icedtea6 "jdk")
+ ("openjdk-drop"
+ ,(drop "openjdk"
+ "03gxqn17cxwl1nspnwigacaqd28p02d45f396j5f4kkbzfnbl0ak"))
+ ("corba-drop"
+ ,(drop "corba"
+ "0ldcckknn2f92jv1144cnn0z3wmvxln28wc00rc6xxblnjcnamzh"))
+ ("jaxp-drop"
+ ,(drop "jaxp"
+ "0mnjdziffcnyqlyvf8dw1hrl4kiiwmh8ia0ym417wgvnjpaihci9"))
+ ("jaxws-drop"
+ ,(drop "jaxws"
+ "1gkmypnhygx2mxhca3ngy620k993wi2cc1wysc0np06y1rkx1mkn"))
+ ("jdk-drop"
+ ,(drop "jdk"
+ "10x43mqjfn43jlckic0nyf7apyyjyr910cdmmvy41kvw8ljhvg61"))
+ ("langtools-drop"
+ ,(drop "langtools"
+ "0q5nqc14r6vmhxgikw3wgdcc0r9symp830v13isnv8qdjgm6kcki"))
+ ("hotspot-drop"
+ ,(drop "hotspot"
+ "1yqxfd2jwbm5y41wscyfx8h0fr3h8ny2g2mda5iwd8sikxsaj96p"))
+ ,@(fold alist-delete (package-native-inputs icedtea6)
+ '("openjdk6-src" "ant-bootstrap" "gcj")))))))
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
new file mode 100644
index 0000000000..cbe1c75eeb
--- /dev/null
+++ b/gnu/packages/libreoffice.scm
@@ -0,0 +1,81 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014 John Darrington <jmd@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 libreoffice)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:select (mpl2.0))
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python))
+
+(define-public ixion
+ (package
+ (name "ixion")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://kohei.us/files/ixion/src/libixion-"
+ version ".tar.xz"))
+ (sha256 (base32
+ "18g3nk29ljiqbyi0ml49j2x3f3xrqckdm9i66sw5fxnj7hb5rqvp"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("mdds" ,mdds)
+ ("python" ,python-2))) ; looks for python.pc, not python3.pc
+ (home-page "https://gitlab.com/ixion/ixion")
+ (synopsis "General purpose formula parser and interpreter")
+ (description "Ixion is a library for calculating the results of formula
+expressions stored in multiple named targets, or \"cells\". The cells can
+be referenced from each other, and the library takes care of resolving
+their dependencies automatically upon calculation.")
+ (license mpl2.0)))
+
+(define-public orcus
+ (package
+ (name "orcus")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://kohei.us/files/" name "/src/lib"
+ name "-" version ".tar.xz"))
+ (sha256 (base32
+ "0hva4qalg3dk6n1118ncr5fy8cqnj2f7fwldw7aa04124rj6p104"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("ixion" ,ixion)
+ ("mdds" ,mdds)
+ ("zlib" ,zlib)))
+ (home-page "https://gitlab.com/orcus/orcus")
+ (synopsis "File import filter library for spreadsheet documents")
+ (description "Orcus is a library that provides a collection of standalone
+file processing filters. It is currently focused on providing filters for
+spreadsheet documents. The library includes import filters for
+Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,
+Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for
+CSV, CSS and XML.")
+ (license mpl2.0)))
diff --git a/gnu/packages/patches/gstreamer-0.10-bison3.patch b/gnu/packages/patches/gstreamer-0.10-bison3.patch
deleted file mode 100644
index f6eb90cb02..0000000000
--- a/gnu/packages/patches/gstreamer-0.10-bison3.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-See https://bugzilla.gnome.org/show_bug.cgi?id=706462
-
-Subject: [PATCH] Make grammar.y work with Bison 3
-
-YYLEX_PARAM is no longer supported in Bison 3.
----
- gst/parse/grammar.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
-index 8a9019c..f533389 100644
---- a/gst/parse/grammar.y
-+++ b/gst/parse/grammar.y
-@@ -26,7 +26,6 @@
- */
-
- #define YYERROR_VERBOSE 1
--#define YYLEX_PARAM scanner
-
- #define YYENABLE_NLS 0
-
-@@ -659,6 +658,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
- %right '.'
- %left '!' '='
-
-+%lex-param { void *scanner }
- %parse-param { void *scanner }
- %parse-param { graph_t *graph }
- %pure-parser
---
-1.8.3.4
-
diff --git a/gnu/packages/patches/gstreamer-0.10-silly-test.patch b/gnu/packages/patches/gstreamer-0.10-silly-test.patch
deleted file mode 100644
index 678dd7b122..0000000000
--- a/gnu/packages/patches/gstreamer-0.10-silly-test.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-See http://lists.freedesktop.org/archives/gstreamer-bugs/2013-January/098461.html
-
-diff -ru gstreamer-0.10.36.orig/tests/check/Makefile.in gstreamer-0.10.36/tests/check/Makefile.in
---- gstreamer-0.10.36.orig/tests/check/Makefile.in 2012-02-20 23:48:29.000000000 +0100
-+++ gstreamer-0.10.36/tests/check/Makefile.in 2013-10-30 21:55:48.000000000 +0100
-@@ -42,7 +42,7 @@
- gst/gstbus$(EXEEXT) gst/gstcaps$(EXEEXT) $(am__EXEEXT_2) \
- gst/gstdatetime$(EXEEXT) gst/gstinfo$(EXEEXT) \
- gst/gstiterator$(EXEEXT) gst/gstmessage$(EXEEXT) \
-- gst/gstminiobject$(EXEEXT) gst/gstobject$(EXEEXT) \
-+ gst/gstminiobject$(EXEEXT) \
- gst/gstpad$(EXEEXT) gst/gstparamspecs$(EXEEXT) \
- gst/gstpoll$(EXEEXT) gst/gstsegment$(EXEEXT) \
- gst/gstsystemclock$(EXEEXT) gst/gstclock$(EXEEXT) \
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 050c0de402..29b47f357c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -301,6 +301,33 @@ etc. ")
(define-public python2-babel
(package-with-python2 python-babel))
+(define-public python2-backport-ssl-match-hostname
+ (package
+ (name "python2-backport-ssl-match-hostname")
+ (version "3.4.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/b/"
+ "backports.ssl_match_hostname/backports.ssl_match_hostname-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1bnn47ipvhy49n0m50v27lp4xj6sqdkdw676ypd7pawsn1zhwh87"))))
+ (build-system python-build-system)
+ (arguments `(#:python ,python-2))
+ (inputs
+ `(("python2-setuptools" ,python2-setuptools)))
+ (home-page "https://pypi.python.org/pypi/backports.ssl_match_hostname")
+ (synopsis "Backport of ssl.match_hostname() function from Python 3.4")
+ (description
+ "This backport brings the ssl.match_hostname() function to users of
+earlier versions of Python. The function checks the hostname in the
+certificate returned by the server to which a connection has been established,
+and verifies that it matches the intended target hostname.")
+ (license psfl)))
+
(define-public python-h5py
(package
(name "python-h5py")
@@ -3509,6 +3536,41 @@ It is written entirely in Python.")
(define-public python2-singledispatch
(package-with-python2 python-singledispatch))
+(define-public python-tornado
+ (package
+ (name "python-tornado")
+ (version "4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/t/tornado/"
+ "tornado-" version ".tar.gz"))
+ (sha256
+ (base32 "0a12f00h277zbifibnj46wf14801f573irvf6hwkgja5vspd7awr"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-certifi" ,python-certifi)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://pypi.python.org/pypi/tornado/4.1")
+ (synopsis "Python web framework and asynchronous networking library")
+ (description
+ "Tornado is a Python web framework and asynchronous networking library,
+originally developed at FriendFeed. By using non-blocking network I/O,
+Tornado can scale to tens of thousands of open connections, making it ideal
+for long polling, WebSockets, and other applications that require a long-lived
+connection to each user.")
+ (license asl2.0)))
+
+(define-public python2-tornado
+ (let ((tornado (package-with-python2 python-tornado)))
+ (package (inherit tornado)
+ (inputs
+ `(("python2-backport-ssl-match-hostname"
+ ,python2-backport-ssl-match-hostname)
+ ,@(package-inputs tornado))))))
+
(define-public python-waf
(package
(name "python-waf")
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 3c41141dc6..0e9db720aa 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -46,6 +46,8 @@
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
+ #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))
#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8868713ba1..c890d45d19 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -264,6 +264,27 @@ SMPTE 314M.")
("libxext" ,libxext)
("libxfixes" ,libxfixes)
("mesa" ,mesa)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'build 'fix-dlopen-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "va/drm/va_drm_auth_x11.c"
+ (("\"libva-x11\\.so\\.%d\"")
+ (string-append "\"" out "/lib/libva-x11.so.%d\"")))))))
+ ;; Most drivers are in mesa's $prefix/lib/dri, so use that. (Can be
+ ;; overridden at run-time via LIBVA_DRIVERS_PATH.)
+ #:configure-flags
+ (list (string-append "--with-drivers-path="
+ (assoc-ref %build-inputs "mesa") "/lib/dri"))
+ ;; However, we can't write to mesa's store directory, so override the
+ ;; following make variable to install the dummy driver to libva's
+ ;; $prefix/lib/dri directory.
+ #:make-flags
+ (list (string-append "dummy_drv_video_ladir="
+ (assoc-ref %outputs "out") "/lib/dri"))))
(home-page "http://www.freedesktop.org/wiki/Software/vaapi/")
(synopsis "Video acceleration library")
(description "The main motivation for VA-API (Video Acceleration API) is
@@ -275,14 +296,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "2.6")
+ (version "2.6.2")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-"
version ".tar.bz2"))
(sha256
(base32
- "14a7zp8pa1rvw6nr9l2rf57xr004n5kwkhn5lglybjnn1p68xhr3"))))
+ "1fi93zy98wmls7x3jpr2yvckk2ia6a1yyygwrfaxq95pd6h3m7l8"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
@@ -299,7 +320,6 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
("libvorbis" ,libvorbis)
("libvpx" ,libvpx)
("openal" ,openal)
- ("patchelf" ,patchelf)
("pulseaudio" ,pulseaudio)
("soxr" ,soxr)
("speex" ,speex)
@@ -316,12 +336,6 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
("yasm" ,yasm)))
(arguments
`(#:test-target "fate"
- #:modules ((guix build gnu-build-system)
- (guix build utils)
- (guix build rpath)
- (srfi srfi-26))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build rpath))
#:phases
(modify-phases %standard-phases
(replace
@@ -376,6 +390,9 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(zero? (system*
"./configure"
(string-append "--prefix=" out)
+ ;; Add $libdir to the RUNPATH of all the binaries.
+ (string-append "--extra-ldflags=-Wl,-rpath="
+ %output "/lib")
"--enable-avresample"
"--enable-gpl" ; enable optional gpl licensed parts
"--enable-shared"
@@ -417,17 +434,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(path (string-join (map dirname dso) ":")))
(format #t "setting LD_LIBRARY_PATH to ~s~%" path)
(setenv "LD_LIBRARY_PATH" path)
- #t)))
- (add-after
- 'strip 'add-lib-to-runpath
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- ;; Add LIB to the RUNPATH of all the executables and libraries.
- (with-directory-excursion out
- (for-each (cut augment-rpath <> lib)
- (append (find-files "bin" ".*")
- (find-files "lib" "\\.so\\..*\\."))))))))))
+ #t))))))
(home-page "http://www.ffmpeg.org/")
(synopsis "Audio and video framework")
(description "FFmpeg is a complete, cross-platform solution to record,
@@ -710,7 +717,7 @@ several areas.")
(define-public mpv
(package
(name "mpv")
- (version "0.8.3")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -718,14 +725,14 @@ several areas.")
".tar.gz"))
(sha256
(base32
- "1kw9hr957cxqgm2i94bgqc6sskm6bwhm0akzckilhs460b43h409"))
+ "08nx0g6ji2d90f5w62g327szhkb7id7jzwgf3x069rc5id1x3bx7"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("python-docutils" ,python-docutils)))
- ;; Missing features: libguess, LIRC, Wayland, VDPAU, V4L2
+ ;; Missing features: libguess, Wayland, VDPAU, V4L2
(inputs
`(("alsa-lib" ,alsa-lib)
("enca" ,enca)