Merge branch 'staging'

This commit is contained in:
Marius Bakke 2018-07-13 00:25:45 +02:00
commit 49b6dc2b4e
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
32 changed files with 2031 additions and 550 deletions

View file

@ -564,7 +564,6 @@ dist_patch_DATA = \
%D%/packages/patches/aegis-test-fixup-1.patch \
%D%/packages/patches/aegis-test-fixup-2.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/alsa-lib-add-environment-variable.patch \
%D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/ansible-wrap-program-hack.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
@ -809,6 +808,7 @@ dist_patch_DATA = \
%D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/jamvm-arm.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
@ -937,7 +937,6 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
@ -982,6 +981,7 @@ dist_patch_DATA = \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/openblas-fix-tests-i686.patch \
%D%/packages/patches/openexr-missing-samples.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openldap-CVE-2017-9287.patch \
@ -1222,7 +1222,9 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
%D%/packages/patches/xf86-video-savage-xorg-compat.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xf86-video-sis-xorg-compat.patch \
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-session-fix-xflock4.patch \
@ -1230,6 +1232,7 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch \
%D%/packages/patches/zstd-fix-stdin-list-without-tty.patch \
%D%/packages/patches/zstd-fix-stdin-list-test.patch

View file

@ -10,7 +10,7 @@
;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
@ -1131,7 +1131,7 @@ (define-public glibc/hurd-headers
(define-public tzdata
(package
(name "tzdata")
(version "2018d")
(version "2018e")
(source (origin
(method url-fetch)
(uri (string-append
@ -1139,7 +1139,7 @@ (define-public tzdata
version ".tar.gz"))
(sha256
(base32
"0m6020dnk9r40z7k36jp13fa06xip3hn0fdx3nly66jzxgffs1ji"))))
"0bk97fv2i5ns42prpmlaadsswdjwv0ifi7whj2s4q6l44rcqwa3b"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@ -1189,7 +1189,7 @@ (define-public tzdata
version ".tar.gz"))
(sha256
(base32
"1nd882yhsazmcfqmcqyfig3axycryl30gmizgqhqsx5dpa2lxr3x"))))))
"1kpb02631s58i068mwq63xlamcv1ffj4p6y4wpb9kdl01vr0qd6a"))))))
(home-page "https://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)
@ -1205,7 +1205,25 @@ (define-public tzdata
;;; will typically be obsolete and should never be referred to by a built
;;; package.
(define-public tzdata-for-tests
(hidden-package tzdata))
(hidden-package
(package
(inherit tzdata)
(version "2018d")
(source (origin
(method url-fetch)
(uri (string-append "https://www.iana.org/time-zones/repository"
"/releases/tzdata" version ".tar.gz"))
(sha256
(base32
"0m6020dnk9r40z7k36jp13fa06xip3hn0fdx3nly66jzxgffs1ji"))))
(inputs `(("tzcode" ,(origin
(method url-fetch)
(uri (string-append
"http://www.iana.org/time-zones/repository/releases/tzcode"
version ".tar.gz"))
(sha256
(base32
"1nd882yhsazmcfqmcqyfig3axycryl30gmizgqhqsx5dpa2lxr3x")))))))))
(define-public libiconv
(package

View file

@ -100,7 +100,7 @@ (define-public bear
(define-public meson
(package
(name "meson")
(version "0.45.1")
(version "0.46.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@ -108,7 +108,7 @@ (define-public meson
version ".tar.gz"))
(sha256
(base32
"1yqa4337nb8w92bvr91rsxmn0xkf7pmdybq9ljvnqmdvn7dv02sd"))))
"0y7f5hhy16q99l7x06x8sid9p9dbg6d7i60zs7c07cz5ww1plj8r"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH

View file

@ -76,7 +76,7 @@ (define certdata2pem
(define-public nss-certs
(package
(name "nss-certs")
(version "3.36.1")
(version "3.38")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -87,7 +87,7 @@ (define-public nss-certs
"nss-" version ".tar.gz")))
(sha256
(base32
"1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0"))))
"0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs

View file

@ -705,14 +705,14 @@ (define-public mariadb
(define-public postgresql
(package
(name "postgresql")
(version "10.3")
(version "10.4")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf"))))
"0j000bcs9w8wrllg8m7j1lxsd3n2x0yzkack5p35cmxx20iq2q0v"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-uuid=e2fs")

View file

@ -123,14 +123,14 @@ (define-public asciidoc
(define-public doxygen
(package
(name "doxygen")
(version "1.8.13")
(version "1.8.14")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
name "-" version ".src.tar.gz"))
(sha256
(base32
"0srzawqn3apzrg8hwycwrawdylmmjrndij4spw6xr1vspn3phrmg"))
"0kcxymbam9jwiyjwyvwdjj0h74lbb6c467szsipzbxjyfl17wxfi"))
(patches (search-patches "doxygen-test.patch"))))
(build-system cmake-build-system)
(native-inputs

View file

@ -147,14 +147,14 @@ (define-public xdg-utils
(define-public libinput
(package
(name "libinput")
(version "1.10.3")
(version "1.11.1")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/"
name "-" version ".tar.xz"))
(sha256
(base32
"0002xk9cqzpqrlhgav1wp8nimsbp9d2w8rd8mgygczq2hjar0lhd"))))
"1z7i8vk0i61npkdqwsk85wp9v4yjlvylqnyydikjqnbsrjp9abk4"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=false")))
@ -474,7 +474,7 @@ (define-public wayland
(define-public wayland-protocols
(package
(name "wayland-protocols")
(version "1.13")
(version "1.14")
(source (origin
(method url-fetch)
(uri (string-append
@ -482,7 +482,7 @@ (define-public wayland-protocols
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
"0f4gqvmz53q9d8h0ilhf4z773nb4vskzx11a3d1jycym120bqn07"))))
"1xknjcfhqvdi1s4iq4kk1q61fg2rar3g8q4vlqarpd324imqjj4n"))))
(build-system gnu-build-system)
(inputs
`(("wayland" ,wayland)))

View file

@ -627,7 +627,7 @@ (define* (custom-gcc gcc name languages
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc.*)"))
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
#t))))))))
(define %generic-search-paths

View file

@ -224,7 +224,7 @@ (define libva-without-mesa
(define-public mesa
(package
(name "mesa")
(version "17.3.8")
(version "18.1.2")
(source
(origin
(method url-fetch)
@ -236,10 +236,9 @@ (define-public mesa
version "/mesa-" version ".tar.xz")))
(sha256
(base32
"1cd6a4ll5arla3kncxnw9196ak1v4rvnb098aa7lm3n4h7r9p7cg"))
"1ydivzm4c2k53b65lvm11d62z140xlmd7viw63bl5cm5idjg02q7"))
(patches
(search-patches "mesa-wayland-egl-symbols-check-mips.patch"
"mesa-skip-disk-cache-test.patch"))))
(search-patches "mesa-skip-disk-cache-test.patch"))))
(build-system gnu-build-system)
(propagated-inputs
`(;; The following are in the Requires.private field of gl.pc.
@ -260,7 +259,7 @@ (define-public mesa
("libxvmc" ,libxvmc)
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
`(("llvm" ,llvm-3.9.1))) ; exactly 3.9.0 or 3.9.1 for swrast
`(("llvm" ,llvm)))
(_
`()))
("makedepend" ,makedepend)
@ -276,15 +275,15 @@ (define-public mesa
'(,@(match (%current-system)
("armhf-linux"
;; TODO: Add etnaviv,imx when libdrm supports etnaviv.
'("--with-gallium-drivers=freedreno,nouveau,r300,r600,swrast,vc4,virgl"))
'("--with-gallium-drivers=freedreno,nouveau,r300,r600,swrast,tegra,vc4,virgl"))
("aarch64-linux"
;; TODO: Fix svga driver for aarch64 and armhf.
'("--with-gallium-drivers=freedreno,nouveau,pl111,r300,r600,swrast,vc4,virgl"))
'("--with-gallium-drivers=freedreno,nouveau,pl111,r300,r600,swrast,tegra,vc4,virgl"))
(_
'("--with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
;; omx requires libomxil-bellagio
"--with-platforms=x11,drm,wayland,surfaceless"
"--with-platforms=x11,drm,surfaceless,wayland"
"--enable-glx-tls" ;Thread Local Storage, improves performance
;; "--enable-opencl"
;; "--enable-omx"
@ -328,23 +327,15 @@ (define-public mesa
(add-after
'unpack 'patch-create_test_cases
(lambda _
(substitute* "src/compiler/glsl/tests/lower_jumps/create_test_cases.py"
(("/usr/bin/env bash") (which "bash")))
(substitute* "src/intel/genxml/gen_pack_header.py"
(("/usr/bin/env python2") (which "python")))
#t))
(add-before
'build 'fix-dlopen-libnames
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((s2tc (assoc-ref inputs "s2tc"))
(out (assoc-ref outputs "out")))
(let ((out (assoc-ref outputs "out")))
;; Remain agnostic to .so.X.Y.Z versions while doing
;; the substitutions so we're future-safe.
(substitute*
'("src/gallium/auxiliary/util/u_format_s3tc.c"
"src/mesa/main/texcompress_s3tc.c")
(("\"libtxc_dxtn\\.so")
(string-append "\"" s2tc "/lib/libtxc_dxtn.so")))
(substitute* "src/glx/dri_common.c"
(("dlopen\\(\"libGL\\.so")
(string-append "dlopen(\"" out "/lib/libGL.so")))
@ -559,7 +550,7 @@ (define (dynamic-link-substitute file lib input)
(define-public libepoxy
(package
(name "libepoxy")
(version "1.5.0")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -567,7 +558,7 @@ (define-public libepoxy
version "/libepoxy-" version ".tar.xz"))
(sha256
(base32
"1md58amxyp34yjnw4xa185hw5jm0hnb2xnhdc28zdsx6k19rk52c"))))
"1n57xj5i6giw4mp5s59w1m9bm33sd6gjg7r00dzzvcwya6326mm9"))))
(arguments
`(#:phases
(modify-phases %standard-phases

View file

@ -6322,7 +6322,16 @@ (define-public gnome-dictionary
(base32
"007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
(build-system meson-build-system)
(arguments '(#:glib-or-gtk? #t))
(arguments '(#:glib-or-gtk? #t
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-install-script
(lambda _
;; This script attempts to compile glib schemas
;; and create an empty MIME database. We do
;; that elsewhere, so prevent it from running.
(substitute* "build-aux/post-install.sh"
(("\\[ -z \"\\$DESTDIR\" \\]") "false"))
#t)))))
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)

View file

@ -291,7 +291,7 @@ (define-public nspr
(define-public nss
(package
(name "nss")
(version "3.36.1")
(version "3.38")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -302,7 +302,7 @@ (define-public nss
"nss-" version ".tar.gz")))
(sha256
(base32
"1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0"))
"0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-pkgconfig.patch"
"nss-increase-test-timeout.patch"))))

View file

@ -42,6 +42,7 @@ (define-module (gnu packages gtk)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system waf)
@ -670,7 +671,7 @@ (define-public gtk+
(name "gtk+")
;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
;; mate.scm will also need to be updated.
(version "3.22.29")
(version "3.22.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -678,7 +679,7 @@ (define-public gtk+
name "-" version ".tar.xz"))
(sha256
(base32
"1y5vzdbgww9l7xcrg13azff2rs94kggkywmpcsh39h7w76wn8zd0"))
"0rv5k8fyi2i19k4zncai6vf429s6zy3kncr8vb6f3m034z0sb951"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(outputs '("out" "bin" "doc"))
@ -1362,15 +1363,15 @@ (define-public perl-pango
(define-public girara
(package
(name "girara")
(version "0.2.8")
(version "0.2.9")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/girara/download/girara-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"18wss3sak3djip090v2vdbvq1mvkwcspfswc87zbvv3magihan98"))))
"0lkxrfna818wkkr2f6mdzf15y5z8xl1b9592ylmzjbqsqya3w7x8"))))
(native-inputs `(("pkg-config" ,pkg-config)
("check" ,check)
("gettext" ,gettext-minimal)
@ -1379,13 +1380,7 @@ (define-public girara
;; Listed in 'Requires.private' of 'girara.pc'.
(propagated-inputs `(("gtk+" ,gtk+)))
(arguments
`(#:make-flags
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
"COLOR=0" "CC=gcc")
#:test-target "test"
#:disallowed-references (,xorg-server-1.19.3)
#:phases (modify-phases %standard-phases
(delete 'configure)
`(#:phases (modify-phases %standard-phases
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)
@ -1401,7 +1396,7 @@ (define-public girara
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system (string-append xorg-server "/bin/Xvfb "
display " &")))))))))
(build-system gnu-build-system)
(build-system meson-build-system)
(home-page "https://pwmt.org/projects/girara/")
(synopsis "Library for minimalistic gtk+3 user interfaces")
(description "Girara is a library that implements a user interface that

View file

@ -9,6 +9,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -150,7 +151,7 @@ (define classpath-bootstrap
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-data
(lambda _ (zero? (system* "make" "install-data")))))))
(lambda _ (invoke "make" "install-data"))))))
(native-inputs
`(("jikes" ,jikes)
("fastjar" ,fastjar)
@ -175,6 +176,7 @@ (define jamvm-1-bootstrap
(uri (string-append "mirror://sourceforge/jamvm/jamvm/"
"JamVM%20" version "/jamvm-"
version ".tar.gz"))
(patches (search-patches "jamvm-arm.patch"))
(sha256
(base32
"06lhi03l3b0h48pc7x58bk9my2nrcf1flpmglvys3wyad6yraf36"))))
@ -212,7 +214,13 @@ (define ant-bootstrap
"1cg0lga887qz5iizh6mlkxp01lciymrhmp7wzxpl6zpnldxmzrjx"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
`(#:imported-modules ((guix build syscalls)
,@%gnu-build-system-modules)
#:modules ((srfi srfi-1)
(guix build gnu-build-system)
(guix build utils)
(guix build syscalls))
#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
@ -245,19 +253,54 @@ (define ant-bootstrap
;; Without these JamVM options the build may freeze.
(substitute* "bootstrap.sh"
(("^\"\\$\\{JAVACMD\\}\" " m)
(string-append m "-Xnocompact -Xnoinlining ")))
,@(if (string-prefix? "armhf" (or (%current-system)
(%current-target-system)))
`((string-append m "-Xnocompact "))
`((string-append m "-Xnocompact -Xnoinlining ")))))
;; Disable tests because we are bootstrapping and thus don't have
;; any of the dependencies required to build and run the tests.
(substitute* "build.xml"
(("depends=\"jars,test-jar\"") "depends=\"jars\""))
(zero? (system* "bash" "bootstrap.sh"
(string-append "-Ddist.dir="
(assoc-ref %outputs "out"))))))
(invoke "bash" "bootstrap.sh"
(string-append "-Ddist.dir="
(assoc-ref %outputs "out")))))
(add-after 'build 'strip-jar-timestamps ;based on ant-build-system
(lambda* (#:key outputs #:allow-other-keys)
(define (repack-archive jar)
(let* ((dir (mkdtemp! "jar-contents.XXXXXX"))
(manifest (string-append dir "/META-INF/MANIFESTS.MF")))
(with-directory-excursion dir
(invoke "unzip" jar))
(delete-file jar)
;; XXX: copied from (gnu build install)
(for-each (lambda (file)
(let ((s (lstat file)))
(unless (eq? (stat:type s) 'symlink)
(utime file 0 0 0 0))))
(find-files dir #:directories? #t))
;; It is important that the manifest appears first.
(with-directory-excursion dir
(let* ((files (find-files "." ".*" #:directories? #t))
;; To ensure that the reference scanner can
;; detect all store references in the jars
;; we disable compression with the "-0" option.
(command (if (file-exists? manifest)
`("zip" "-0" "-X" ,jar ,manifest
,@files)
`("zip" "-0" "-X" ,jar ,@files))))
(apply invoke command)))))
(for-each repack-archive
(find-files
(string-append (assoc-ref %outputs "out") "/lib")
"\\.jar$"))
#t))
(delete 'install))))
(native-inputs
`(("jikes" ,jikes)
("jamvm" ,jamvm-1-bootstrap)))
("jamvm" ,jamvm-1-bootstrap)
("unzip" ,unzip)
("zip", zip)))
(home-page "http://ant.apache.org")
(synopsis "Build tool for Java")
(description
@ -316,10 +359,10 @@ (define ecj-bootstrap
Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n")))
;; Compile it all!
(and (zero? (apply system* "jikes"
(find-files "." "\\.java$")))
(zero? (system* "fastjar" "cvfm"
"ecj-bootstrap.jar" "manifest" ".")))))
(and (apply invoke "jikes"
(find-files "." "\\.java$"))
(invoke "fastjar" "cvfm"
"ecj-bootstrap.jar" "manifest" "."))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((share (string-append (assoc-ref outputs "out")
@ -394,7 +437,6 @@ (define (main args)
args defaults))
(apply system* ,java
(append
(list "-Xnocompact" "-Xnoinlining")
;; Remove "-J" prefix
(map (cut string-drop <> 2) vm-args)
'("org.eclipse.jdt.internal.compiler.batch.Main")
@ -453,7 +495,7 @@ (define classpath-0.99
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-data
(lambda _ (zero? (system* "make" "install-data")))))))
(lambda _ (invoke "make" "install-data"))))))
(native-inputs
`(("ecj-bootstrap" ,ecj-bootstrap)
("ecj-javac-wrapper" ,ecj-javac-wrapper)
@ -484,12 +526,20 @@ (define classpath-jamvm-wrappers
(for-each (lambda (tool)
(with-output-to-file (string-append bin tool)
(lambda _
(format #t "#!~a/bin/sh
,@(if (string-prefix? "armhf" (or (%current-system)
(%current-target-system)))
`((format #t "#!~a/bin/sh
~a/bin/jamvm -Xnocompact -classpath ~a/share/classpath/tools.zip \
gnu.classpath.tools.~a.~a $@"
bash jamvm classpath tool
(if (string=? "native2ascii" tool)
"Native2ASCII" "Main")))
`((format #t "#!~a/bin/sh
~a/bin/jamvm -Xnocompact -Xnoinlining -classpath ~a/share/classpath/tools.zip \
gnu.classpath.tools.~a.~a $@"
bash jamvm classpath tool
(if (string=? "native2ascii" tool)
"Native2ASCII" "Main"))))
"Native2ASCII" "Main"))))))
(chmod (string-append bin tool) #o755))
(list "javah"
"rmic"
@ -562,7 +612,7 @@ (define-public classpath-devel
(("@Override") ""))
#t))
(add-after 'install 'install-data
(lambda _ (zero? (system* "make" "install-data")))))))
(lambda _ (invoke "make" "install-data"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -668,37 +718,35 @@ (define-public icedtea-6
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source inputs #:allow-other-keys)
(and (zero? (system* "tar" "xvf" source))
(begin
(chdir (string-append "icedtea6-" ,version))
(mkdir "openjdk")
(copy-recursively (assoc-ref inputs "openjdk-src") "openjdk")
;; The convenient OpenJDK source bundle is no longer
;; available for download, so we have to take the sources
;; from the Mercurial repositories and change the Makefile
;; to avoid tests for the OpenJDK zip archive.
(with-directory-excursion "openjdk"
(for-each (lambda (part)
(mkdir part)
(copy-recursively
(assoc-ref inputs
(string-append part "-src"))
part))
'("jdk" "corba"
"langtools" "jaxp" "jaxws")))
(with-directory-excursion "openjdk"
(invoke "tar" "xvf" (assoc-ref inputs "hotspot-src"))
(rename-file "hg-checkout" "hotspot"))
(substitute* "Makefile.in"
(("echo \"ERROR: No up-to-date OpenJDK zip available\"; exit -1;")
"echo \"trust me\";")
;; The contents of the bootstrap directory must be
;; writeable but when copying from the store they are
;; not.
(("mkdir -p lib/rt" line)
(string-append line "; chmod -R u+w $(BOOT_DIR)")))
(zero? (system* "chmod" "-R" "u+w" "openjdk"))
#t))))
(invoke "tar" "xvf" source)
(chdir (string-append "icedtea6-" ,version))
(mkdir "openjdk")
(copy-recursively (assoc-ref inputs "openjdk-src") "openjdk")
;; The convenient OpenJDK source bundle is no longer
;; available for download, so we have to take the sources
;; from the Mercurial repositories and change the Makefile
;; to avoid tests for the OpenJDK zip archive.
(with-directory-excursion "openjdk"
(for-each (lambda (part)
(mkdir part)
(copy-recursively
(assoc-ref inputs
(string-append part "-src"))
part))
'("jdk" "corba"
"langtools" "jaxp" "jaxws")))
(with-directory-excursion "openjdk"
(invoke "tar" "xvf" (assoc-ref inputs "hotspot-src"))
(rename-file "hg-checkout" "hotspot"))
(substitute* "Makefile.in"
(("echo \"ERROR: No up-to-date OpenJDK zip available\"; exit -1;")
"echo \"trust me\";")
;; The contents of the bootstrap directory must be
;; writeable but when copying from the store they are
;; not.
(("mkdir -p lib/rt" line)
(string-append line "; chmod -R u+w $(BOOT_DIR)")))
(invoke "chmod" "-R" "u+w" "openjdk")))
(add-after 'unpack 'use-classpath
(lambda* (#:key inputs #:allow-other-keys)
(let ((jvmlib (assoc-ref inputs "classpath"))
@ -1036,23 +1084,22 @@ (define-public icedtea-7
(let ((dir (or dir
(string-drop-right name 5))))
(mkdir dir)
(zero? (system* "tar" "xvf"
(assoc-ref inputs name)
"-C" dir
"--strip-components=1"))))))
(invoke "tar" "xvf"
(assoc-ref inputs name)
"-C" dir
"--strip-components=1")))))
(mkdir target)
(and
(zero? (system* "tar" "xvf" source
"-C" target "--strip-components=1"))
(chdir target)
(unpack "openjdk-src" "openjdk.src")
(with-directory-excursion "openjdk.src"
(for-each unpack
(filter (cut string-suffix? "-drop" <>)
(map (match-lambda
((name . _) name))
inputs))))
#t))))
(invoke "tar" "xvf" source
"-C" target "--strip-components=1")
(chdir target)
(unpack "openjdk-src" "openjdk.src")
(with-directory-excursion "openjdk.src"
(for-each unpack
(filter (cut string-suffix? "-drop" <>)
(map (match-lambda
((name . _) name))
inputs))))
#t)))
(add-after 'unpack 'fix-x11-extension-include-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
@ -1277,17 +1324,19 @@ (define-public icedtea-7
(let ((line (read-line port)))
(cond
((eof-object? line) #t)
((regexp-exec error-pattern line) #f)
((regexp-exec error-pattern line)
(error "test failed"))
(else (loop)))))))
(run-test (lambda (test)
(system* "make" test)
(invoke "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"))))))
(when #f ; skip tests
(run-test "check-hotspot")
(run-test "check-langtools")
(run-test "check-jdk"))
#t)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc")
@ -1665,11 +1714,13 @@ (define-public ant/java8
;; result in the tests to be run.
(substitute* "build.xml"
(("depends=\"jars,test-jar\"") "depends=\"jars\""))
(zero? (system* "bash" "bootstrap.sh"
(string-append "-Ddist.dir="
(assoc-ref outputs "out"))))))))))
(invoke "bash" "bootstrap.sh"
(string-append "-Ddist.dir="
(assoc-ref outputs "out")))))))))
(native-inputs
`(("jdk" ,icedtea-8 "jdk")))))
`(("jdk" ,icedtea-8 "jdk")
("zip" ,zip)
("unzip" ,unzip)))))
;; The 1.9.x series is the last that can be built with GCJ. The 1.10.x series
;; requires Java 8.
@ -1684,7 +1735,9 @@ (define-public ant
(base32
"1k28mka0m3isy9yr8gz84kz1f3f879rwaxrd44vdn9xbfwvwk86n"))))
(native-inputs
`(("jdk" ,icedtea-7 "jdk")))))
`(("jdk" ,icedtea-7 "jdk")
("zip" ,zip)
("unzip" ,unzip)))))
(define-public ant-apache-bcel
(package
@ -1793,14 +1846,13 @@ (define-public clojure
(lambda (name)
(mkdir-p name)
(with-directory-excursion name
(or (zero? (system* "tar"
;; Use xz for repacked tarball.
"--xz"
"--extract"
"--verbose"
"--file" (assoc-ref inputs name)
"--strip-components=1"))
(error "failed to unpack tarball" name)))
(invoke "tar"
;; Use xz for repacked tarball.
"--xz"
"--extract"
"--verbose"
"--file" (assoc-ref inputs name)
"--strip-components=1"))
(copy-recursively (string-append name "/src/main/clojure/")
"src/clj/"))
'("core-specs-alpha-src"
@ -1813,7 +1865,7 @@ (define-public clojure
;; The javadoc target is not built by default.
(add-after 'build 'build-doc
(lambda _
(zero? (system* "ant" "javadoc"))))
(invoke "ant" "javadoc")))
;; Needed since no install target is provided.
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@ -1975,7 +2027,8 @@ (define-public java-ecj-3
(lambda (in out)
(display "Manifest-Version: 1.0
Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n"
out)))))
out)))
#t))
(replace 'install (install-jars ".")))))
(home-page "https://eclipse.org")
(synopsis "Eclipse Java development tools core batch compiler")
@ -2008,7 +2061,8 @@ (define-public java-ecj-3.5
(lambda (in out)
(dump-port in out)
(display "Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n"
out)))))
out)))
#t))
(replace 'install (install-jars ".")))))
(native-inputs
`(("unzip" ,unzip)))))
@ -2475,7 +2529,7 @@ (define-public java-classpathx-servletapi
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* `("ant" "dist" ,@make-flags))))))))
(apply invoke `("ant" "dist" ,@make-flags)))))))
(home-page "https://www.gnu.org/software/classpathx/")
(synopsis "Java servlet API implementation")
(description "This is the GNU servlet API distribution, part of the
@ -2517,11 +2571,11 @@ (define-public java-swt
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(and (mkdir "swt")
(zero? (system* "unzip" source "-d" "swt"))
(chdir "swt")
(mkdir "src")
(zero? (system* "unzip" "src.zip" "-d" "src")))))
(mkdir "swt")
(invoke "unzip" source "-d" "swt")
(chdir "swt")
(mkdir "src")
(invoke "unzip" "src.zip" "-d" "src")))
;; The classpath contains invalid icecat jars. Since we don't need
;; anything other than the JDK on the classpath, we can simply unset
;; it.
@ -2536,7 +2590,7 @@ (define-public java-swt
(mkdir-p lib)
(setenv "OUTPUT_DIR" lib)
(with-directory-excursion "src"
(zero? (system* "bash" "build.sh"))))))
(invoke "bash" "build.sh")))))
(add-after 'install 'install-native
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
@ -2622,7 +2676,7 @@ (define-public java-qdox-1.12
(lambda* (#:key source #:allow-other-keys)
(mkdir "src")
(with-directory-excursion "src"
(zero? (system* "jar" "-xf" source)))))
(invoke "jar" "-xf" source))))
;; At this point we don't have junit, so we must remove the API
;; tests.
(add-after 'unpack 'delete-tests
@ -2764,7 +2818,8 @@ (define-public java-hamcrest-core
return _allMethods;
}
private Method[] allMethods = getSortedMethods();")))))
private Method[] allMethods = getSortedMethods();")))
#t))
(add-before 'build 'do-not-use-bundled-qdox
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.xml"
@ -3055,7 +3110,8 @@ (define-public java-plexus-archiver
(lambda _
;; Requires an older version of plexus container
(delete-file
"src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java")))
"src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java")
#t))
(add-before 'build 'copy-resources
(lambda _
(mkdir-p "build/classes/META-INF/plexus")
@ -3248,15 +3304,15 @@ (define-public java-plexus-sec-dispatcher
(add-before 'build 'generate-models
(lambda* (#:key inputs #:allow-other-keys)
(define (modello-single-mode file version mode)
(zero? (system* "java"
"org.codehaus.modello.ModelloCli"
file mode "src/main/java" version
"false" "true")))
(invoke "java"
"org.codehaus.modello.ModelloCli"
file mode "src/main/java" version
"false" "true"))
(let ((file "src/main/mdo/settings-security.mdo"))
(and
(modello-single-mode file "1.0.0" "java")
(modello-single-mode file "1.0.0" "xpp3-reader")
(modello-single-mode file "1.0.0" "xpp3-writer")))))
(modello-single-mode file "1.0.0" "xpp3-writer"))
#t))
(add-before 'build 'generate-components.xml
(lambda _
(mkdir-p "build/classes/META-INF/plexus")
@ -3285,10 +3341,12 @@ (define (modello-single-mode file version mode)
</configuration>\n
</component>\n
</components>\n
</component-set>\n")))))
</component-set>\n")))
#t))
(add-before 'check 'fix-paths
(lambda _
(copy-recursively "src/test/resources" "target"))))))
(copy-recursively "src/test/resources" "target")
#t)))))
(inputs
`(("java-plexus-cipher" ,java-plexus-cipher)))
(native-inputs
@ -3511,7 +3569,8 @@ (define-public java-modello-plugins-xml
(with-directory-excursion "modello-plugins/modello-plugin-xml/src/test"
(substitute*
"java/org/codehaus/modello/plugins/xml/XmlModelloPluginTest.java"
(("src/test") "modello-plugins/modello-plugin-xml/src/test"))))))))
(("src/test") "modello-plugins/modello-plugin-xml/src/test")))
#t)))))
(inputs
`(("java-modello-core" ,java-modello-core)
("java-modello-plugins-java" ,java-modello-plugins-java)
@ -3606,9 +3665,9 @@ (define-public java-asm
;; We cannot use the "jar" target because it depends on a couple
;; of unpackaged, complicated tools.
(mkdir "dist")
(zero? (system* "jar"
"-cf" (string-append "dist/asm-" ,version ".jar")
"-C" "output/build/tmp" "."))))
(invoke "jar"
"-cf" (string-append "dist/asm-" ,version ".jar")
"-C" "output/build/tmp" ".")))
(replace 'install
(install-jars "dist")))))
(native-inputs
@ -4105,7 +4164,8 @@ (define-public java-commons-collections
(mkdir-p "build/conf")
(call-with-output-file "build/conf/MANIFEST.MF"
(lambda (file)
(format file "Manifest-Version: 1.0\n")))))
(format file "Manifest-Version: 1.0\n")))
#t))
(replace 'install
(install-jars "build"))))))))
@ -4351,7 +4411,8 @@ (define-public java-commons-bsf
(property (@ (name "tests.dir") (value "src/org/apache/bsf/test")))
(property (@ (name "build.tests") (value "build/test-classes")))
(property (@ (name "build.dest") (value "build/classes"))))
port)))))
port)))
#t))
(replace 'install (install-jars "build")))))
(native-inputs
`(("java-junit" ,java-junit)))
@ -5798,8 +5859,8 @@ (define-public java-slf4j-api
;; pom.xml ignores these files in the jar creation process. If we don't,
;; we get the error "This code should have never made it into slf4j-api.jar"
(delete-file-recursively "build/classes/org/slf4j/impl")
(zero? (system* "jar" "-cf" "build/jar/slf4j-api.jar" "-C"
"build/classes" "."))))
(invoke "jar" "-cf" "build/jar/slf4j-api.jar" "-C"
"build/classes" ".")))
(add-before 'check 'dont-test-abstract-classes
(lambda _
;; abstract classes are not meant to be run with junit
@ -5807,7 +5868,8 @@ (define-public java-slf4j-api
(("<include name=\"\\*\\*/\\*Test.java\" />")
(string-append "<include name=\"**/*Test.java\" />"
"<exclude name=\"**/MultithreadedInitializationTest"
".java\" />"))))))))
".java\" />")))
#t)))))
(inputs
`(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core)))
@ -5848,10 +5910,9 @@ (define-public java-slf4j-simple
(setenv "CLASSPATH"
(string-append (getcwd) ":" (getenv "CLASSPATH")))
;; ... and build test helper classes here:
(zero?
(apply system*
`("javac" "-d" "."
,@(find-files "slf4j-api/src/test" ".*\\.java")))))))))
(apply invoke
`("javac" "-d" "."
,@(find-files "slf4j-api/src/test" ".*\\.java"))))))))
(inputs
`(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core)
@ -5950,11 +6011,12 @@ (define-public java-stringtemplate-3
(add-before 'build 'generate-grammar
(lambda _
(with-directory-excursion "src/org/antlr/stringtemplate/language/"
(every (lambda (file)
(format #t "~a\n" file)
(zero? (system* "antlr" file)))
'("template.g" "angle.bracket.template.g" "action.g"
"eval.g" "group.g" "interface.g"))))))))
(for-each (lambda (file)
(format #t "~a\n" file)
(invoke "antlr" file))
'("template.g" "angle.bracket.template.g" "action.g"
"eval.g" "group.g" "interface.g")))
#t)))))
(native-inputs
`(("antlr" ,antlr2)
("java-junit" ,java-junit)))
@ -6012,10 +6074,11 @@ (define-public java-stringtemplate
(add-before 'build 'generate-grammar
(lambda _
(with-directory-excursion "src/org/stringtemplate/v4/compiler/"
(every (lambda (file)
(format #t "~a\n" file)
(zero? (system* "antlr3" file)))
'("STParser.g" "Group.g" "CodeGenerator.g"))))))))
(for-each (lambda (file)
(format #t "~a\n" file)
(invoke "antlr3" file))
'("STParser.g" "Group.g" "CodeGenerator.g")))
#t)))))
(inputs
`(("antlr3" ,antlr3-bootstrap)
("antlr2" ,antlr2)
@ -6082,14 +6145,15 @@ (define-public antlr3
"/lib")
".*\\.jar"))
" org.antlr.Tool $*"))))
(chmod (string-append bin "/antlr3") #o755))))
(chmod (string-append bin "/antlr3") #o755))
#t))
(add-before 'build 'generate-grammar
(lambda _
(chdir "tool/src/main/antlr3/org/antlr/grammar/v3/")
(for-each (lambda (file)
(display file)
(newline)
(system* "antlr3" file))
(invoke "antlr3" file))
'("ANTLR.g" "ANTLRTreePrinter.g" "ActionAnalysis.g"
"AssignTokenTypesWalker.g"
"ActionTranslator.g" "TreeToNFAConverter.g"
@ -6100,14 +6164,15 @@ (define-public antlr3
(substitute* "ANTLRv3Parser.java"
(("public Object getTree") "public CommonTree getTree"))
(chdir "../../../../../java")
(system* "antlr" "-o" "org/antlr/tool"
"org/antlr/tool/serialize.g")
(invoke "antlr" "-o" "org/antlr/tool"
"org/antlr/tool/serialize.g")
(substitute* "org/antlr/tool/LeftRecursiveRuleAnalyzer.java"
(("import org.antlr.grammar.v3.\\*;") "import org.antlr.grammar.v3.*;
import org.antlr.grammar.v3.ANTLRTreePrinter;"))
(substitute* "org/antlr/tool/ErrorManager.java"
(("case NO_SUCH_ATTRIBUTE_PASS_THROUGH:") ""))
(chdir "../../../..")))
(chdir "../../../..")
#t))
(add-before 'build 'fix-build-xml
(lambda _
(substitute* "build.xml"
@ -6118,7 +6183,8 @@ (define-public antlr3
<include name=\"**/*.sti\"/>
<include name=\"**/STLexer.tokens\"/>
</fileset>
</copy><exec")))))))
</copy><exec"))
#t)))))
(native-inputs
`(("antlr" ,antlr2)
("antlr3" ,antlr3-bootstrap)))
@ -6207,19 +6273,19 @@ (define antlr3-3.3
import org.antlr.grammar.v2.TreeToNFAConverter;\n
import org.antlr.grammar.v2.DefineGrammarItemsWalker;\n
import org.antlr.grammar.v2.ANTLRTreePrinter;"))
(and
(with-directory-excursion "tool/src/main/antlr2/org/antlr/grammar/v2/"
(every (lambda (file)
(format #t "~a\n" file)
(zero? (system* "antlr" file)))
'("antlr.g" "antlr.print.g" "assign.types.g"
"buildnfa.g" "codegen.g" "define.g")))
(with-directory-excursion "tool/src/main/antlr3/org/antlr/grammar/v3/"
(every (lambda (file)
(format #t "~a\n" file)
(zero? (system* "antlr3" file)))
'("ActionAnalysis.g" "ActionTranslator.g" "ANTLRv3.g"
"ANTLRv3Tree.g"))))))
(with-directory-excursion "tool/src/main/antlr2/org/antlr/grammar/v2/"
(for-each (lambda (file)
(format #t "~a\n" file)
(invoke "antlr" file))
'("antlr.g" "antlr.print.g" "assign.types.g"
"buildnfa.g" "codegen.g" "define.g")))
(with-directory-excursion "tool/src/main/antlr3/org/antlr/grammar/v3/"
(for-each (lambda (file)
(format #t "~a\n" file)
(invoke "antlr3" file))
'("ActionAnalysis.g" "ActionTranslator.g" "ANTLRv3.g"
"ANTLRv3Tree.g")))
#t))
(add-before 'build 'fix-build-xml
(lambda _
(substitute* "build.xml"
@ -6282,7 +6348,8 @@ (define antlr3-3.1
"/lib")
".*\\.jar"))
" org.antlr.Tool $*"))))
(chmod (string-append bin "/antlr3") #o755))))
(chmod (string-append bin "/antlr3") #o755))
#t))
(add-before 'build 'generate-grammar
(lambda _
(let ((dir "src/org/antlr/tool/"))
@ -6306,7 +6373,8 @@ (define antlr3-3.1
<include name=\"**/*.sti\"/>
<include name=\"**/STLexer.tokens\"/>
</fileset>
</copy><exec")))))))
</copy><exec"))
#t)))))
(native-inputs
`(("antlr" ,antlr2)))
(inputs
@ -6931,7 +6999,8 @@ (define-public java-ops4j-base-lang
(string-append
"version=" ,version "\n"
"groupId=org.ops4j.base"
"artifactId=ops4j-base-lang\n")))))))))
"artifactId=ops4j-base-lang\n"))))
#t)))))
(home-page "https://ops4j1.jira.com/wiki/spaces/base/overview")
(synopsis "Utility classes and extensions to be used in OPS4J projects")
(description "OPS4J stands for Open Participation Software for Java. This
@ -7170,7 +7239,8 @@ (define-public java-ops4j-pax-tinybundles
;; it with our own version.
(substitute* "src/test/java/org/ops4j/pax/tinybundles/bnd/BndTest.java"
(("[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*")
,(package-version java-aqute-bndlib))))))))
,(package-version java-aqute-bndlib)))
#t)))))
(inputs
`(("lang" ,java-ops4j-base-lang)
("io" ,java-ops4j-base-io)
@ -7245,7 +7315,8 @@ (define-public java-ops4j-pax-exam-core-spi
(add-before 'configure 'chdir
(lambda _
;; Tests assume we are in this directory
(chdir "core/pax-exam-spi")))
(chdir "core/pax-exam-spi")
#t))
(add-before 'check 'fix-tests
(lambda _
;; One test checks that this file is present.
@ -7264,7 +7335,8 @@ (define-public java-ops4j-pax-exam-core-spi
(("target") "build"))
;; One test is expected to fail, but it doesn't throw the expected exception
(substitute* "src/test/java/org/ops4j/pax/exam/spi/reactors/BaseStagedReactorTest.java"
(("AssertionError") "IllegalArgumentException")))))))
(("AssertionError") "IllegalArgumentException"))
#t)))))
(inputs
`(("java-ops4j-pax-exam-core" ,java-ops4j-pax-exam-core)
("lang" ,java-ops4j-base-lang)
@ -7364,15 +7436,18 @@ (define-public java-fasterxml-jackson-core
(("@package@") "com.fasterxml.jackson.core.json")
(("@projectversion@") ,version)
(("@projectgroupid@") "com.fasterxml.jackson.core")
(("@projectartifactid@") "jackson-core")))))
(("@projectartifactid@") "jackson-core")))
#t))
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "src/main/resources"
"build/classes")))
"build/classes")
#t))
(add-before 'check 'copy-test-resources
(lambda _
(copy-recursively "src/test/resources"
"build/test-classes"))))))
"build/test-classes")
#t)))))
(native-inputs
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-core)))
@ -7409,10 +7484,12 @@ (define-public java-fasterxml-jackson-databind
(("@package@") "com.fasterxml.jackson.databind.cfg")
(("@projectversion@") ,version)
(("@projectgroupid@") "com.fasterxml.jackson.databind")
(("@projectartifactid@") "jackson-databind")))))
(("@projectartifactid@") "jackson-databind")))
#t))
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "src/main/resources" "build/classes"))))))
(copy-recursively "src/main/resources" "build/classes")
#t)))))
(inputs
`(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)))
@ -7456,10 +7533,12 @@ (define-public java-fasterxml-jackson-modules-base-jaxb
(("@package@") "com.fasterxml.jackson.module.jaxb")
(("@projectversion@") ,version)
(("@projectgroupid@") "com.fasterxml.jackson.module.jaxb")
(("@projectartifactid@") "jackson-module-jaxb")))))
(("@projectartifactid@") "jackson-module-jaxb")))
#t))
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "jaxb/src/main/resources" "build/classes"))))))
(copy-recursively "jaxb/src/main/resources" "build/classes")
#t)))))
(inputs
`(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
@ -7524,7 +7603,8 @@ (define-public java-fasterxml-jackson-dataformat-yaml
(("@package@") "com.fasterxml.jackson.dataformat.yaml")
(("@projectversion@") ,version)
(("@projectgroupid@") "com.fasterxml.jackson.dataformat.yaml")
(("@projectartifactid@") "jackson-dataformat-yaml"))))))))
(("@projectartifactid@") "jackson-dataformat-yaml")))
#t)))))
(inputs
`(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
@ -7591,10 +7671,12 @@ (define-public java-woodstox-core
;; msv's latest release is from 2011 and we don't need it
(delete-file-recursively "src/main/java/com/ctc/wstx/msv")
(delete-file-recursively "src/test/java/wstxtest/osgi")
(delete-file-recursively "src/test/java/wstxtest/msv")))
(delete-file-recursively "src/test/java/wstxtest/msv")
#t))
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "src/main/resources" "build/classes"))))))
(copy-recursively "src/main/resources" "build/classes")
#t)))))
(inputs
`(("stax2" ,java-stax2-api)))
(native-inputs
@ -7634,10 +7716,12 @@ (define-public java-fasterxml-jackson-dataformat-xml
(("@package@") "com.fasterxml.jackson.dataformat.xml")
(("@projectversion@") ,version)
(("@projectgroupid@") "com.fasterxml.jackson.dataformat.xml")
(("@projectartifactid@") "jackson-dataformat-xml")))))
(("@projectartifactid@") "jackson-dataformat-xml")))
#t))
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "src/main/resources" "build/classes"))))))
(copy-recursively "src/main/resources" "build/classes")
#t)))))
(inputs
`(("jackson-annotations" ,java-fasterxml-jackson-annotations)
("jackson-core" ,java-fasterxml-jackson-core)
@ -8112,15 +8196,15 @@ (define-public java-testng
#t))
(replace 'check
(lambda _
(system* "ant" "compile-tests")
(invoke "ant" "compile-tests")
;; we don't have groovy
(substitute* "src/test/resources/testng.xml"
(("<class name=\"test.groovy.GroovyTest\" />") ""))
(zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH")
":build/classes"
":build/test-classes")
"-Dtest.resources.dir=src/test/resources"
"org.testng.TestNG" "src/test/resources/testng.xml")))))))
(invoke "java" "-cp" (string-append (getenv "CLASSPATH")
":build/classes"
":build/test-classes")
"-Dtest.resources.dir=src/test/resources"
"org.testng.TestNG" "src/test/resources/testng.xml"))))))
(propagated-inputs
`(("junit" ,java-junit)
("java-jsr305" ,java-jsr305)
@ -8184,8 +8268,7 @@ (define-public java-jnacl
":build/classes"
":build/test-classes")
"org.testng.TestNG" "-testclass"
"build/test-classes/com/neilalexander/jnacl/NaClTest.class")
#t)))))
"build/test-classes/com/neilalexander/jnacl/NaClTest.class"))))))
(native-inputs
`(("java-testng" ,java-testng)
("java-fest-util" ,java-fest-util)
@ -8368,8 +8451,7 @@ (define-public java-bouncycastle
(replace 'build
(lambda _
(invoke "ant" "-f" "ant/jdk15+.xml" "build-provider")
(invoke "ant" "-f" "ant/jdk15+.xml" "build")
#t))
(invoke "ant" "-f" "ant/jdk15+.xml" "build")))
;; FIXME: the tests freeze.
;; (replace 'check
;; (lambda _
@ -8547,7 +8629,8 @@ (define-public java-powermock-core
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "powermock-core/src/main/resources"
"build/classes"))))))
"build/classes")
#t)))))
(inputs
`(("reflect" ,java-powermock-reflect)
("javassist" ,java-jboss-javassist)))
@ -8604,7 +8687,8 @@ (define-public java-powermock-modules-junit4
;; Our junit version is 4.12-SNAPSHOT
(substitute* (find-files "powermock-modules/powermock-module-junit4"
"PowerMockJUnit4MethodValidator.java")
(("4.12") "4.12-SNAPSHOT")))))))
(("4.12") "4.12-SNAPSHOT"))
#t)))))
(inputs
`(("core" ,java-powermock-core)
("reflect" ,java-powermock-reflect)
@ -9069,8 +9153,7 @@ (define-public java-jansi-native
(string-append "-I" (assoc-ref inputs "jdk")
"/include/linux")
"-fPIC" "-O2")
(invoke "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o")
#t)))
(invoke "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o"))))
(add-before 'build 'install-native
(lambda _
(let ((dir (string-append "build/classes/META-INF/native/"
@ -9115,7 +9198,7 @@ (define-public java-jansi
(modify-phases %standard-phases
(add-after 'check 'clear-term
(lambda _
(zero? (system* "echo" "-e" "\\e[0m")))))))
(invoke "echo" "-e" "\\e[0m"))))))
(inputs
`(("java-jansi-native" ,java-jansi-native)))
(native-inputs
@ -9579,7 +9662,8 @@ (define-public java-commons-httpclient
'("src/java/org/apache/commons/httpclient/HttpContentTooLargeException.java"
"src/examples/TrivialApp.java" "src/examples/ClientApp.java"
"src/test/org/apache/commons/httpclient/TestHttps.java"
"src/test/org/apache/commons/httpclient/TestURIUtil2.java"))))
"src/test/org/apache/commons/httpclient/TestURIUtil2.java"))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "ant" "dist"
@ -9629,7 +9713,8 @@ (define-public java-commons-vfs
(lambda _
(for-each delete-file-recursively
'("commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/webdav"
"commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs")))))))
"commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs"))
#t)))))
(inputs
`(("java-commons-collections4" ,java-commons-collections4)
("java-commons-compress" ,java-commons-compress)
@ -9940,7 +10025,8 @@ (define-public java-apache-ivy
(find-files "." ".*.properties")
(find-files "." ".*.xsd")
(find-files "." ".*.xsl")
(find-files "." ".*.xml"))))))
(find-files "." ".*.xml"))))
#t))
(add-before 'build 'fix-vfs
(lambda _
(substitute*
@ -9955,8 +10041,7 @@ (define-public java-apache-ivy
(add-before 'install 'repack
(lambda _
(invoke "jar" "-cmf" "build/classes/META-INF/MANIFEST.MF" "build/jar/ivy.jar"
"-C" "build/classes" ".")
#t))
"-C" "build/classes" ".")))
(add-after 'install 'install-bin
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
@ -10169,7 +10254,8 @@ (define-public java-janino
(modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
(chdir "janino"))))))
(chdir "janino")
#t)))))
(inputs
`(("java-commons-compiler" ,java-commons-compiler)))
(native-inputs
@ -10194,7 +10280,9 @@ (define-public java-logback-core
"1x6ga74yfgm94cfx98gybakbrlilx8i2gn6dx13l40kasmys06mi"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "logback-access/lib"))))
'(begin
(delete-file-recursively "logback-access/lib")
#t))))
(build-system ant-build-system)
(arguments
`(#:jar-name "logback.jar"

View file

@ -975,15 +975,8 @@ (define-public alsa-lib
version ".tar.bz2"))
(sha256
(base32
"096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z"))
(patches (search-patches "alsa-lib-add-environment-variable.patch"))))
"096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
(variable "ALSA_PLUGIN_DIR")
(file-type 'regular)
(separator #f) ;single entry
(files '("lib/alsa-lib")))))
(home-page "https://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries")
(description
@ -3049,15 +3042,15 @@ (define-public multipath-tools
(define-public libaio
(package
(name "libaio")
(version "0.3.110")
(version "0.3.111")
(source (origin
(method url-fetch)
(uri (list
(string-append "mirror://debian/pool/main/liba/libaio/"
name "_" version ".orig.tar.gz")))
(sha256
(base32
"0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0"))))
(uri (list
(string-append "https://releases.pagure.org/libaio/"
name "-" version ".tar.gz")))
(sha256
(base32
"0ajhzbqjwsmz51gwccfyw6w9k4j4gmxcl2ph30sfn2gxv0d8gkv2"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
@ -3065,7 +3058,7 @@ (define-public libaio
#:test-target "partcheck" ; need root for a full 'check'
#:phases
(modify-phases %standard-phases (delete 'configure)))) ; no configure script
(home-page "http://lse.sourceforge.net/io/aio.html")
(home-page "https://pagure.io/libaio")
(synopsis "Linux-native asynchronous I/O access library")
(description
"This library enables userspace to use Linux kernel asynchronous I/O
@ -3099,7 +3092,7 @@ (define-public sbc
(define-public bluez
(package
(name "bluez")
(version "5.49")
(version "5.50")
(source (origin
(method url-fetch)
(uri (string-append
@ -3107,7 +3100,7 @@ (define-public bluez
version ".tar.xz"))
(sha256
(base32
"15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k"))))
"048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View file

@ -2798,7 +2798,7 @@ (define-public muparser
(define-public openblas
(package
(name "openblas")
(version "0.2.20")
(version "0.3.0")
(source
(origin
(method url-fetch)
@ -2807,7 +2807,7 @@ (define-public openblas
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1bd03c5xni0bla0wg1wba841b36b0sg13sjja955kn5xzvy4i61a"))))
"14a9vyvp2k5zpd0axbnqk0d3khc1v3cck10nb5fj7d2sgn8490ky"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@ -2846,6 +2846,16 @@ (define-public openblas
#:phases
(modify-phases %standard-phases
(delete 'configure)
;; Conditionally apply a patch on i686 to avoid rebuilding
;; all architectures. FIXME: This should be moved to the
;; (source (patches ...)) field in the next rebuild cycle.
,@(if (string-prefix? "i686" (or (%current-target-system)
(%current-system)))
`((add-after 'unpack 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
(invoke "patch" "-p1"
"--input" (assoc-ref inputs "i686-fix-tests.patch")))))
'())
(add-before 'build 'set-extralib
(lambda* (#:key inputs #:allow-other-keys)
;; Get libgfortran found when building in utest.
@ -2857,6 +2867,11 @@ (define-public openblas
`(("fortran-lib" ,gfortran "lib")))
(native-inputs
`(("cunit" ,cunit)
,@(if (string-prefix? "i686" (or (%current-target-system)
(%current-system)))
`(("i686-fix-tests.patch"
,(search-patch "openblas-fix-tests-i686.patch")))
'())
("fortran" ,gfortran)
("perl" ,perl)))
(home-page "http://www.openblas.net/")

View file

@ -1,110 +0,0 @@
From 1822fb453128a1b5de93b4c590cd272d6488a077 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Fri, 25 May 2018 19:26:58 +0200
Subject: [PATCH] Add support for a ALSA_PLUGIN_DIR environment variable.
If it is not set, default to previous behavior.
---
src/control/control.c | 6 +++++-
src/dlmisc.c | 9 +++++++--
src/pcm/pcm.c | 9 +++++++--
src/pcm/pcm_rate.c | 13 +++++++++----
4 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/src/control/control.c b/src/control/control.c
index 11f7815..9dba7dd 100644
--- a/src/control/control.c
+++ b/src/control/control.c
@@ -1331,7 +1331,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
build_in++;
}
if (*build_in == NULL) {
- buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32);
+ char* plugdir = ALSA_PLUGIN_DIR;
+ char* envplugdir = getenv("ALSA_PLUGIN_DIR");
+ if(envplugdir != NULL)
+ plugdir = envplugdir;
+ buf1 = malloc(strlen(str) + strlen(plugdir) + 32);
if (buf1 == NULL) {
err = -ENOMEM;
goto _err;
diff --git a/src/dlmisc.c b/src/dlmisc.c
index 3757d33..92aa864 100644
--- a/src/dlmisc.c
+++ b/src/dlmisc.c
@@ -82,9 +82,14 @@ void *snd_dlopen(const char *name, int mode, char *errbuf, size_t errbuflen)
char *filename = NULL;
if (name && name[0] != '/') {
- filename = alloca(sizeof(ALSA_PLUGIN_DIR) + 1 + strlen(name) + 1);
+ char* plugdir = ALSA_PLUGIN_DIR;
+ char* envplugdir = getenv("ALSA_PLUGIN_DIR");
+ if(envplugdir != NULL)
+ plugdir = envplugdir;
+
+ filename = malloc(strlen(plugdir) + 1 + strlen(name) + 1);
if (filename) {
- strcpy(filename, ALSA_PLUGIN_DIR);
+ strcpy(filename, plugdir);
strcat(filename, "/");
strcat(filename, name);
handle = dlopen(filename, mode);
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index 11aec80..590e8b6 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -2496,13 +2496,18 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
build_in++;
}
if (*build_in == NULL) {
- buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32);
+ char* plugdir = ALSA_PLUGIN_DIR;
+ char* envplugdir = getenv("ALSA_PLUGIN_DIR");
+ if(envplugdir != NULL)
+ plugdir = envplugdir;
+ buf1 = malloc(strlen(str) + strlen(plugdir) + 32);
+
if (buf1 == NULL) {
err = -ENOMEM;
goto _err;
}
lib = buf1;
- sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
+ sprintf(buf1, "%s/libasound_module_pcm_%s.so", plugdir, str);
}
}
#ifndef PIC
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
index 4e0c7ca..8694a38 100644
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -1260,7 +1260,8 @@ static const char *const default_rate_plugins[] = {
static int rate_open_func(snd_pcm_rate_t *rate, const char *type, const snd_config_t *converter_conf, int verbose)
{
- char open_name[64], open_conf_name[64], lib_name[128], *lib = NULL;
+ char open_name[64], open_conf_name[64], *lib = NULL;
+ char *buf1;
snd_pcm_rate_open_func_t open_func;
snd_pcm_rate_open_conf_func_t open_conf_func;
int err;
@@ -1268,9 +1269,13 @@ static int rate_open_func(snd_pcm_rate_t *rate, const char *type, const snd_conf
snprintf(open_name, sizeof(open_name), "_snd_pcm_rate_%s_open", type);
snprintf(open_conf_name, sizeof(open_conf_name), "_snd_pcm_rate_%s_open_conf", type);
if (!is_builtin_plugin(type)) {
- snprintf(lib_name, sizeof(lib_name),
- "%s/libasound_module_rate_%s.so", ALSA_PLUGIN_DIR, type);
- lib = lib_name;
+ char* plugdir = ALSA_PLUGIN_DIR;
+ char* envplugdir = getenv("ALSA_PLUGIN_DIR");
+ if(envplugdir != NULL)
+ plugdir = envplugdir;
+ buf1 = malloc(strlen(type) + strlen(plugdir) + 32);
+ sprintf(buf1, "%s/libasound_module_rate_%s.so", plugdir, type);
+ lib = buf1;
}
rate->rate_min = SND_PCM_PLUGIN_RATE_MIN;
--
2.17.0

File diff suppressed because it is too large Load diff

View file

@ -1,15 +0,0 @@
Fix 'wayland-egl-symbols-check' on mips64el-linux, where an additional symbol
(_ftext) is present in libwayland-egl.so.
Patch by Mark H Weaver <mhw@netris.org>
--- mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check.orig 2016-01-18 02:39:25.000000000 -0500
+++ mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check 2016-10-24 16:25:07.110721426 -0400
@@ -7,6 +7,7 @@
wl_egl_window_destroy
wl_egl_window_get_attached_size
_fini
+_ftext
_init
EOF
done)

View file

@ -6,14 +6,13 @@ Patch by Peter Mikkelsen <petermikkelsen10@gmail.com>
--- meson-0.42.0/mesonbuild/scripts/meson_install.py.orig 2017-09-09 01:49:39.147374148 +0200
+++ meson-0.42.0/mesonbuild/scripts/meson_install.py 2017-09-09 01:51:01.209134717 +0200
@@ -345,15 +345,6 @@
@@ -391,14 +391,6 @@
print("Symlink creation does not work on this platform. "
"Skipping all symlinking.")
printed_symlink_error = True
- if is_elf_platform() and os.path.isfile(outname):
- if os.path.isfile(outname):
- try:
- e = depfixer.Elf(outname, False)
- e.fix_rpath(install_rpath)
- depfixer.fix_rpath(outname, install_rpath, False)
- except SystemExit as e:
- if isinstance(e.code, int) and e.code == 0:
- pass

View file

@ -0,0 +1,35 @@
Fix a test failure on some i686 systems:
https://github.com/xianyi/OpenBLAS/issues/1575
This patch is a squashed version of these commits:
https://github.com/xianyi/OpenBLAS/pull/1583
diff --git a/kernel/x86/KERNEL.NEHALEM b/kernel/x86/KERNEL.NEHALEM
index 835520ef..65b03ae5 100644
--- a/kernel/x86/KERNEL.NEHALEM
+++ b/kernel/x86/KERNEL.NEHALEM
@@ -1,3 +1 @@
include $(KERNELDIR)/KERNEL.PENRYN
-SSWAPKERNEL = ../arm/swap.c
-DSWAPKERNEL = ../arm/swap.c
diff --git a/kernel/x86/swap.S b/kernel/x86/swap.S
index 54b00b33..e30c2789 100644
--- a/kernel/x86/swap.S
+++ b/kernel/x86/swap.S
@@ -138,6 +138,14 @@
/* INCX != 1 or INCY != 1 */
.L14:
+ cmpl $0, %ebx
+ jne .L141
+ cmpl $0, %ecx
+ jne .L141
+/* INCX == 0 and INCY == 0 */
+ jmp .L27
+
+.L141:
movl %edx, %eax
sarl $2, %eax
jle .L28

View file

@ -0,0 +1,33 @@
Fix build against xorg-server >= 1.20.
Patch taken from upstream:
https://cgit.freedesktop.org/xorg/driver/xf86-video-savage/commit/?id=0ece556daa8a88771b669d8104396abd9166d2d0
diff --git a/src/savage_driver.c b/src/savage_driver.c
index 58a294d..3cda923 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -2034,8 +2034,6 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Detected current MCLK value of %1.3f MHz\n",
mclk / 1000.0);
- pScrn->maxHValue = 2048 << 3; /* 11 bits of h_total 8-pixel units */
- pScrn->maxVValue = 2048; /* 11 bits of v_total */
pScrn->virtualX = pScrn->display->virtualX;
pScrn->virtualY = pScrn->display->virtualY;
@@ -3637,6 +3635,14 @@ static ModeStatus SavageValidMode(SCRN_ARG_TYPE arg, DisplayModePtr pMode,
(pMode->VDisplay > psav->PanelY)))
return MODE_PANEL;
+ /* 11 bits of h_total 8-pixel units */
+ if (pMode->HTotal > (2048 << 3))
+ return MODE_BAD_HVALUE;
+
+ /* 11 bits of v_total */
+ if (pMode->VTotal > 2048)
+ return MODE_BAD_VVALUE;
+
if (psav->UseBIOS) {
refresh = SavageGetRefresh(pMode);
return (SavageMatchBiosMode(pScrn,pMode->HDisplay,

View file

@ -0,0 +1,18 @@
Remove use of interface no longer provided by xorg-server.
Patch taken from upstream:
https://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=4b1356a2b7fd06e9a05d134caa4033681c939737
diff --git a/src/sis_driver.c b/src/sis_driver.c
index 8f06164..513f68b 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -2738,7 +2738,7 @@ SiSPrintModes(ScrnInfoPtr pScrn)
float hsync, refresh = 0.0;
char *desc, *desc2, *prefix, *uprefix, *output;
- xf86DrvMsg(pScrn->scrnIndex, pScrn->virtualFrom, "Virtual size is %dx%d "
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Virtual size is %dx%d "
"(pitch %d)\n", pScrn->virtualX, pScrn->virtualY,
pScrn->displayWidth);

View file

@ -0,0 +1,55 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Mon, 18 Jun 2018 02:37:41 +0200
Subject: zathura-pdf-mupdf: Link to JPEG libraries.
As of version 0.3.3, zathura-pdf-mupdf no longer links to some required
JPEG libraries, leading to such errors as:
$ zathura foo.pdf
error: Could not load plugin '/gnu/store/...-profile/lib/zathura/libpdf-mupdf.so' (/gnu/store/...-profile/lib/zathura/libpdf-mupdf.so: undefined symbol: jpeg_resync_to_restart).
The patch below, copied verbatim from Arch[0], fixes that.
Its description happens to match our reality, too.
[0]: https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/zathura-pdf-mupdf
---
From 3fb0ff750373d45d4f5172ce1d41b74183cd07e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= <johannes@kyriasis.com>
Date: Sat, 24 Mar 2018 14:31:18 +0100
Subject: [PATCH] Explicitly link against jbig2dec, openjp2, and jpeg
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Normally these are statically linked into libmupdfthird, but we delete
those to make mupdf use the system libraries. Previously
zathura-pdf-mupdf explicitly linked against them, but this is
technically incorrect since they are supposed to be in libmupdfthird so
that was removed. This commit essentially reverts that in the new build
system.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
---
meson.build | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 3b0d7b7..ae2fc9c 100644
--- a/meson.build
+++ b/meson.build
@@ -22,7 +22,11 @@ cairo = dependency('cairo')
mupdf = cc.find_library('mupdf')
mupdfthird = cc.find_library('mupdfthird')
-build_dependencies = [zathura, girara, glib, cairo, mupdf, mupdfthird]
+jbig2dec = cc.find_library('jbig2dec')
+openjp2 = cc.find_library('openjp2')
+jpeg = cc.find_library('jpeg')
+
+build_dependencies = [zathura, girara, glib, cairo, mupdf, mupdfthird, jbig2dec, openjp2, jpeg]
# defines
defines = [
--
2.16.3

View file

@ -8,15 +8,15 @@ different file formats) called ZATHURA_PLUGIN_PATH. Command line option
-p still takes precedence.
Patch by Paul van der Walt <paul@denknerd.org>
Adjusted for Zathura 0.3.9 by Tobias Geerinckx-Rice <me@tobias.gr>
---
zathura/zathura.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/zathura/zathura.c b/zathura/zathura.c
index 589dd28..375ec54 100644
--- a/zathura/zathura.c
+++ b/zathura/zathura.c
@@ -413,6 +413,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir)
@@ -597,6 +597,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir)
g_return_if_fail(zathura != NULL);
g_return_if_fail(zathura->plugins.manager != NULL);
@ -28,8 +28,5 @@ index 589dd28..375ec54 100644
+ dir = g_getenv("ZATHURA_PLUGIN_PATH");
+
if (dir != NULL) {
girara_list_t* paths = girara_split_path_array(dir);
GIRARA_LIST_FOREACH(paths, char*, iter, path)
--
2.3.1
set_plugin_dir(zathura, dir);
#ifdef ZATHURA_PLUGINDIR

View file

@ -13,7 +13,7 @@
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,6 +37,7 @@ (define-module (gnu packages pdf)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
@ -343,26 +344,32 @@ (define-public xpdf
(define-public zathura-cb
(package
(name "zathura-cb")
(version "0.1.7")
(version "0.1.8")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-cb/download/zathura-cb-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"0r4viisycj39kaz4281cmkr7n9w5q96dmlf7nf45n8zq8qy2npw3"))))
"1i6cf0vks501cggwvfsl6qb7mdaf3sszdymphimfvnspw810faj5"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libarchive" ,libarchive)
("zathura" ,zathura)))
(build-system gnu-build-system)
(build-system meson-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "PLUGINDIR=" %output "/lib/zathura")
"CC=gcc")
#:tests? #f ; Package does not contain tests.
`(#:tests? #f ; package does not contain tests
#:phases
(modify-phases %standard-phases (delete 'configure))))
(modify-phases %standard-phases
(add-after 'unpack 'patch-plugin-directory
;; Something of a regression in 0.1.8: the new Meson build system
;; now hard-codes an incorrect plugin directory. Fix it.
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("(install_dir:).*" _ key)
(string-append key
"'" (assoc-ref outputs "out") "/lib/zathura'\n")))
#t)))))
(home-page "https://pwmt.org/projects/zathura-cb/")
(synopsis "Comic book support for zathura (libarchive backend)")
(description "The zathura-cb plugin adds comic book support to zathura
@ -372,26 +379,32 @@ (define-public zathura-cb
(define-public zathura-ps
(package
(name "zathura-ps")
(version "0.2.5")
(version "0.2.6")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-ps/download/zathura-ps-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"1x4knqja8pw2a5cb3y2209nr3iddj1z8nwasy48v5nprj61fdxqj"))))
"0wygq89nyjrjnsq7vbpidqdsirjm6iq4w2rijzwpk2f83ys8bc3y"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libspectre" ,libspectre)
("zathura" ,zathura)))
(build-system gnu-build-system)
(build-system meson-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "PLUGINDIR=" %output "/lib/zathura")
"CC=gcc")
#:tests? #f ; Package does not contain tests.
`(#:tests? #f ; package does not contain tests
#:phases
(modify-phases %standard-phases (delete 'configure))))
(modify-phases %standard-phases
(add-after 'unpack 'patch-plugin-directory
;; Something of a regression in 0.2.6: the new Meson build system
;; now hard-codes an incorrect plugin directory. Fix it.
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("(install_dir:).*" _ key)
(string-append key
"'" (assoc-ref outputs "out") "/lib/zathura'\n")))
#t)))))
(home-page "https://pwmt.org/projects/zathura-ps/")
(synopsis "PS support for zathura (libspectre backend)")
(description "The zathura-ps plugin adds PS support to zathura
@ -401,27 +414,33 @@ (define-public zathura-ps
(define-public zathura-djvu
(package
(name "zathura-djvu")
(version "0.2.7")
(version "0.2.8")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"1sbfdsyp50qc85xc4458sn4w1rv1qbygdwmcr5kjlfpsmdq98vhd"))))
"0axkv1crdxn0z44whaqp2ibkdqcykhjnxk7qzms0dp1b67an9rnh"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("djvulibre" ,djvulibre)
("zathura" ,zathura)))
(build-system gnu-build-system)
(build-system meson-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "PLUGINDIR=" %output "/lib/zathura")
"CC=gcc")
#:tests? #f ; Package does not contain tests.
`(#:tests? #f ; package does not contain tests
#:phases
(modify-phases %standard-phases (delete 'configure))))
(modify-phases %standard-phases
(add-after 'unpack 'patch-plugin-directory
;; Something of a regression in 0.2.8: the new Meson build system
;; now hard-codes an incorrect plugin directory. Fix it.
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("(install_dir:).*" _ key)
(string-append key
"'" (assoc-ref outputs "out") "/lib/zathura'\n")))
#t)))))
(home-page "https://pwmt.org/projects/zathura-djvu/")
(synopsis "DjVu support for zathura (DjVuLibre backend)")
(description "The zathura-djvu plugin adds DjVu support to zathura
@ -431,15 +450,17 @@ (define-public zathura-djvu
(define-public zathura-pdf-mupdf
(package
(name "zathura-pdf-mupdf")
(version "0.3.2")
(version "0.3.3")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-pdf-mupdf"
"/download/zathura-pdf-mupdf-" version ".tar.gz"))
"/download/zathura-pdf-mupdf-" version ".tar.xz"))
(patches
(search-patches "zathura-pdf-mupdf-link-to-jpeg-libraries.patch"))
(sha256
(base32
"0xkajc3is7ncmb2fmymbzfgrran2bz12i7zsm1vvxhxds728h7ck"))))
"1zbdqimav4wfgimpy3nfzl10qj7vyv23rdy2z5z7z93jwbp2rc2j"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("jbig2dec" ,jbig2dec)
@ -448,13 +469,20 @@ (define-public zathura-pdf-mupdf
("openjpeg" ,openjpeg)
("openssl" ,openssl)
("zathura" ,zathura)))
(build-system gnu-build-system)
(build-system meson-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "PLUGINDIR=" %output "/lib/zathura")
"CC=gcc")
#:tests? #f ;No tests.
#:phases (modify-phases %standard-phases (delete 'configure))))
`(#:tests? #f ; package does not contain tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-plugin-directory
;; Something of a regression in 0.3.3: the new Meson build system
;; now hard-codes an incorrect plugin directory. Fix it.
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("(install_dir:).*" _ key)
(string-append key
"'" (assoc-ref outputs "out") "/lib/zathura'\n")))
#t)))))
(home-page "https://pwmt.org/projects/zathura-pdf-mupdf/")
(synopsis "PDF support for zathura (mupdf backend)")
(description "The zathura-pdf-mupdf plugin adds PDF support to zathura
@ -464,27 +492,33 @@ (define-public zathura-pdf-mupdf
(define-public zathura-pdf-poppler
(package
(name "zathura-pdf-poppler")
(version "0.2.8")
(version "0.2.9")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"1m55m7s7f8ng8a7lmcw9z4n5zv7xk4vp9n6fp9j84z6rk2imf7a2"))))
"1p4jcny0jniygns78mcf0nlm298dszh49qpmjmackrm6dq8hc25y"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("poppler" ,poppler)
("zathura" ,zathura)))
(build-system gnu-build-system)
(build-system meson-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "PLUGINDIR=" %output "/lib/zathura")
"CC=gcc")
#:tests? #f ; Package does not include tests.
`(#:tests? #f ; package does not include tests
#:phases
(modify-phases %standard-phases (delete 'configure))))
(modify-phases %standard-phases
(add-after 'unpack 'patch-plugin-directory
;; Something of a regression in 0.2.9: the new Meson build system
;; now hard-codes an incorrect plugin directory. Fix it.
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("(install_dir:).*" _ key)
(string-append key
"'" (assoc-ref outputs "out") "/lib/zathura'\n")))
#t)))))
(home-page "https://pwmt.org/projects/zathura-pdf-poppler/")
(synopsis "PDF support for zathura (poppler backend)")
(description "The zathura-pdf-poppler plugin adds PDF support to zathura
@ -494,21 +528,24 @@ (define-public zathura-pdf-poppler
(define-public zathura
(package
(name "zathura")
(version "0.3.8")
(version "0.3.9")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura/download/zathura-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"0dz5pky3vmf3s2cp2rv1c099gb1s49p9xlgm3ghyy4pzyxc8bgs6"))
"0z09kz92a2n8qqv3cy8bx5j5k612g2f9mmh4szqlc7yvi39aax1g"))
(patches (search-patches
"zathura-plugindir-environment-variable.patch"))))
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
;; For building documentation.
("python-sphinx" ,python-sphinx)
;; For tests.
("check" ,check)
("xorg-server" ,xorg-server-1.19.3)))
@ -520,15 +557,9 @@ (define-public zathura
(list (search-path-specification
(variable "ZATHURA_PLUGIN_PATH")
(files '("lib/zathura")))))
(build-system gnu-build-system)
(build-system meson-build-system)
(arguments
`(#:make-flags
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc" "COLOR=0")
#:test-target "test"
#:disallowed-references (,xorg-server-1.19.3)
#:phases (modify-phases %standard-phases
(delete 'configure)
`(#:phases (modify-phases %standard-phases
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)

View file

@ -7834,14 +7834,14 @@ (define-public python2-xdo
(define-public python-mako
(package
(name "python-mako")
(version "1.0.6")
(version "1.0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Mako" version))
(sha256
(base32
"03dyxgjknp4ffsv7vwfd28l5bbpzi0ylp20543wpg3iahyyrwma8"))))
"1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf"))))
(build-system python-build-system)
(propagated-inputs
`(("python-markupsafe" ,python-markupsafe)))

View file

@ -22,6 +22,7 @@
;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -316,7 +317,7 @@ (define-public pixman
(define-public libdrm
(package
(name "libdrm")
(version "2.4.91")
(version "2.4.92")
(source
(origin
(method url-fetch)
@ -326,7 +327,7 @@ (define-public libdrm
".tar.bz2"))
(sha256
(base32
"0068dn47c478vm1lyyhy02gilrpsma0xmcblhvs0dzqyrk80wjk3"))
"1yirzx8hmlvv6r0l7lb3zxmgy5la2mri9al0k16xqfg19pdqzr79"))
(patches (search-patches "libdrm-symbol-check.patch"))))
(build-system gnu-build-system)
(arguments

View file

@ -1026,7 +1026,7 @@ (define-public kbproto
(define-public libdmx
(package
(name "libdmx")
(version "1.1.3")
(version "1.1.4")
(source
(origin
(method url-fetch)
@ -1036,7 +1036,7 @@ (define-public libdmx
".tar.bz2"))
(sha256
(base32
"00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9"))))
"0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)
@ -2961,7 +2961,7 @@ (define-public xf86-video-intel
(define-public xf86-video-mach64
(package
(name "xf86-video-mach64")
(version "6.9.5")
(version "6.9.6")
(source
(origin
(method url-fetch)
@ -2971,7 +2971,7 @@ (define-public xf86-video-mach64
".tar.bz2"))
(sha256
(base32
"07xlf5nsjm0x18ij5gyy4lf8hwpl10i8chi3skpqjh84drdri61y"))
"171wg8r6py1l138s58rlapin3rlpwsg9spmvhc7l68mm3g3hf1vs"))
(patches (search-patches "xf86-video-mach64-glibc-2.20.patch"))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)
@ -3176,33 +3176,47 @@ (define-public xf86-video-qxl
(home-page "http://www.spice-space.org")
(license license:x11)))
(define-public xf86-video-r128
(package
(name "xf86-video-r128")
(version "6.10.2")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://xorg/individual/driver/xf86-video-r128-"
version
".tar.bz2"))
(sha256
(base32
"1pkpka5m4cd6iy0f8iqnmg6xci14nb6887ilvxzn3xrsgx8j3nl4"))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)
("xorgproto" ,xorgproto)
("xorg-server" ,xorg-server)))
(native-inputs `(("pkg-config" ,pkg-config)))
(home-page "https://www.x.org/wiki/")
(synopsis "ATI Rage 128 video driver for X server")
(description
"xf86-video-r128 is a video driver for the Xorg X server.
;; We need a newer version than 6.10.2 to build against the latest xorg-server.
;; Remove this binding and the bootstrap inputs when >6.10.2 is released.
(let ((commit "c4c878d2ccb75fa75afe46e0e50ee9975c5c57fc")
(revision "0"))
(package
(name "xf86-video-r128")
(version (git-version "6.10.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url (string-append "https://anongit.freedesktop.org/git/xorg"
"/driver/" name ".git"))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"01pff30zz4zxjhw28h8bn9x2kq7c6iswgn19b72wnfgl0arxb63j"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'bootstrap 'prevent-configure
(lambda _
;; Prevent autogen from calling "./configure" as part of
;; the bootstrap step, which fails due to wrong shebang.
(setenv "NOCONFIGURE" "1")
#t)))))
(inputs `(("mesa" ,mesa)
("xorgproto" ,xorgproto)
("xorg-server" ,xorg-server)))
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://www.x.org/wiki/")
(synopsis "ATI Rage 128 video driver for X server")
(description
"xf86-video-r128 is a video driver for the Xorg X server.
This driver is intended for ATI Rage 128 based cards.")
(license license:x11)))
(license license:x11))))
(define-public xf86-video-savage
(package
@ -3215,6 +3229,7 @@ (define-public xf86-video-savage
"mirror://xorg/individual/driver/xf86-video-savage-"
version
".tar.bz2"))
(patches (search-patches "xf86-video-savage-xorg-compat.patch"))
(sha256
(base32
"11pcrsdpdrwk0mrgv83s5nsx8a9i4lhmivnal3fjbrvi3zdw94rc"))))
@ -3267,6 +3282,7 @@ (define-public xf86-video-sis
"mirror://xorg/individual/driver/xf86-video-sis-"
version
".tar.bz2"))
(patches (search-patches "xf86-video-sis-xorg-compat.patch"))
(sha256
(base32
"03f1abjjf68y8y1iz768rn95va9d33wmbwfbsqrgl6k0gi0bf9jj"))))
@ -3723,7 +3739,7 @@ (define-public xinput
(define xkbcomp-intermediate ; used as input for xkeyboard-config
(package
(name "xkbcomp-intermediate")
(version "1.4.1")
(version "1.4.2")
(source
(origin
(method url-fetch)
@ -3733,7 +3749,7 @@ (define xkbcomp-intermediate ; used as input for xkeyboard-config
".tar.bz2"))
(sha256
(base32
"0djp7bb0ch2ddwmc1bkg4fddxdvamiiz375x0r0ni5dcb37w93bl"))))
"0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)
@ -5072,7 +5088,7 @@ (define-public libxcb
(define-public xorg-server
(package
(name "xorg-server")
(version "1.19.6")
(version "1.20.0")
(source
(origin
(method url-fetch)
@ -5081,7 +5097,7 @@ (define-public xorg-server
name "-" version ".tar.bz2"))
(sha256
(base32
"15y13ihgkggmly5s07vzvpn35gzx1w0hrkbnlcvcy05h3lpm0cm7"))
"1rnka3sp8yg2bir0bjjhwn33jikj8qd8ckqcxrs94w05bwc7v5lx"))
(patches
(list
;; See:

View file

@ -148,8 +148,7 @@ (define builder
#:search-paths ',(map search-path-specification->sexp
search-paths)
#:phases
(if (string-prefix? "arm" ,(or (%current-target-system)
(%current-system)))
(if (string-prefix? "arm" ,system)
(modify-phases build-phases (delete 'fix-runpath))
build-phases)
#:configure-flags ,configure-flags

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -68,14 +68,11 @@ (define* (default-build.xml jar-name prefix #:optional
(target (@ (name "manifest"))
(mkdir (@ (dir "${manifest.dir}")))
(echo (@ (file "${manifest.file}")
(message ,(string-append
(if main-class
(string-append
"Main-Class: " main-class
"${line.separator}")
"")
"")))))
(manifest (@ (file "${manifest.file}"))
,(if main-class
`(attribute (@ (name "Main-Class")
(value ,main-class)))
"")))
(target (@ (name "compile"))
(mkdir (@ (dir "${classes.dir}")))
@ -150,7 +147,8 @@ (define* (unpack #:key source #:allow-other-keys)
(begin
(mkdir "src")
(with-directory-excursion "src"
(zero? (system* "jar" "-xf" source))))
(invoke "jar" "-xf" source))
#t)
;; Use GNU unpack strategy for things that aren't jar archives.
((assq-ref gnu:%standard-phases 'unpack) #:source source)))
@ -171,7 +169,7 @@ (define* (configure #:key inputs outputs (jar-name #f)
(define* (build #:key (make-flags '()) (build-target "jar")
#:allow-other-keys)
(zero? (apply system* `("ant" ,build-target ,@make-flags))))
(apply invoke `("ant" ,build-target ,@make-flags)))
(define* (generate-jar-indices #:key outputs #:allow-other-keys)
"Generate file \"META-INF/INDEX.LIST\". This file does not use word wraps
@ -181,10 +179,11 @@ (define* (generate-jar-indices #:key outputs #:allow-other-keys)
dependencies of this jar file."
(define (generate-index jar)
(invoke "jar" "-i" jar))
(every (match-lambda
((output . directory)
(every generate-index (find-files directory "\\.jar$"))))
outputs))
(for-each (match-lambda
((output . directory)
(for-each generate-index (find-files directory "\\.jar$"))))
outputs)
#t)
(define* (strip-jar-timestamps #:key outputs
#:allow-other-keys)
@ -194,50 +193,49 @@ (define (repack-archive jar)
(format #t "repacking ~a\n" jar)
(let* ((dir (mkdtemp! "jar-contents.XXXXXX"))
(manifest (string-append dir "/META-INF/MANIFEST.MF")))
(and (with-directory-excursion dir
(zero? (system* "jar" "xf" jar)))
(delete-file jar)
;; XXX: copied from (gnu build install)
(for-each (lambda (file)
(let ((s (lstat file)))
(unless (eq? (stat:type s) 'symlink)
(utime file 0 0 0 0))))
(find-files dir #:directories? #t))
(with-directory-excursion dir
(invoke "jar" "xf" jar))
(delete-file jar)
;; XXX: copied from (gnu build install)
(for-each (lambda (file)
(let ((s (lstat file)))
(unless (eq? (stat:type s) 'symlink)
(utime file 0 0 0 0))))
(find-files dir #:directories? #t))
;; The jar tool will always set the timestamp on the manifest file
;; and the containing directory to the current time, even when we
;; reuse an existing manifest file. To avoid this we use "zip"
;; instead of "jar". It is important that the manifest appears
;; first.
(with-directory-excursion dir
(let* ((files (find-files "." ".*" #:directories? #t))
;; To ensure that the reference scanner can detect all
;; store references in the jars we disable compression
;; with the "-0" option.
(command (if (file-exists? manifest)
`("zip" "-0" "-X" ,jar ,manifest ,@files)
`("zip" "-0" "-X" ,jar ,@files))))
(unless (zero? (apply system* command))
(error "'zip' failed"))))
(utime jar 0 0)
#t)))
;; The jar tool will always set the timestamp on the manifest file
;; and the containing directory to the current time, even when we
;; reuse an existing manifest file. To avoid this we use "zip"
;; instead of "jar". It is important that the manifest appears
;; first.
(with-directory-excursion dir
(let* ((files (find-files "." ".*" #:directories? #t))
;; To ensure that the reference scanner can detect all
;; store references in the jars we disable compression
;; with the "-0" option.
(command (if (file-exists? manifest)
`("zip" "-0" "-X" ,jar ,manifest ,@files)
`("zip" "-0" "-X" ,jar ,@files))))
(apply invoke command)))
(utime jar 0 0)
#t))
(every (match-lambda
((output . directory)
(every repack-archive (find-files directory "\\.jar$"))))
outputs))
(for-each (match-lambda
((output . directory)
(for-each repack-archive (find-files directory "\\.jar$"))))
outputs)
#t)
(define* (check #:key target (make-flags '()) (tests? (not target))
(test-target "check")
#:allow-other-keys)
(if tests?
(zero? (apply system* `("ant" ,test-target ,@make-flags)))
(begin
(format #t "test suite not run~%")
#t)))
(apply invoke `("ant" ,test-target ,@make-flags))
(format #t "test suite not run~%"))
#t)
(define* (install #:key (make-flags '()) #:allow-other-keys)
(zero? (apply system* `("ant" "install" ,@make-flags))))
(apply invoke `("ant" "install" ,@make-flags)))
(define %standard-phases
(modify-phases gnu:%standard-phases

View file

@ -31,7 +31,7 @@ (define (package-name-version store-dir)
(define* (ant-build-javadoc #:key (target "javadoc") (make-flags '())
#:allow-other-keys)
(zero? (apply system* `("ant" ,target ,@make-flags))))
(apply invoke `("ant" ,target ,@make-flags)))
(define* (install-jars jar-directory)
"Install jar files from JAR-DIRECTORY to the default target directory. This

View file

@ -58,15 +58,14 @@ (define* (configure #:key outputs configure-flags build-type
(mkdir build-dir)
(chdir build-dir)
(zero? (apply system* "meson" args))))
(apply invoke "meson" args)))
(define* (build #:key parallel-build?
#:allow-other-keys)
"Build a given meson package."
(zero? (apply system* "ninja"
(if parallel-build?
`("-j" ,(number->string (parallel-job-count)))
'("-j" "1")))))
(invoke "ninja" "-j" (if parallel-build?
(number->string (parallel-job-count))
"1")))
(define* (check #:key test-target parallel-tests? tests?
#:allow-other-keys)
@ -75,13 +74,13 @@ (define* (check #:key test-target parallel-tests? tests?
(number->string (parallel-job-count))
"1"))
(if tests?
(zero? (system* "ninja" test-target))
(invoke "ninja" test-target)
(begin
(format #t "test suite not run~%")
#t)))
(define* (install #:rest args)
(zero? (system* "ninja" "install")))
(invoke "ninja" "install"))
(define* (fix-runpath #:key (elf-directories '("lib" "lib64" "libexec"
"bin" "sbin"))
@ -135,7 +134,7 @@ (define handle-output
(find-files dir elf-pred))
existing-elf-dirs))))
(for-each (lambda (elf-file)
(system* "patchelf" "--shrink-rpath" elf-file)
(invoke "patchelf" "--shrink-rpath" elf-file)
(handle-file elf-file elf-list))
elf-list)))))
(for-each handle-output outputs)