Merge branch 'staging'

master
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 @@ command.")
(define-public tzdata
(package
(name "tzdata")
(version "2018d")
(version "2018e")
(source (origin
(method url-fetch)
(uri (string-append
@ -1139,7 +1139,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"0m6020dnk9r40z7k36jp13fa06xip3hn0fdx3nly66jzxgffs1ji"))))
"0bk97fv2i5ns42prpmlaadsswdjwv0ifi7whj2s4q6l44rcqwa3b"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@ -1189,7 +1189,7 @@ command.")
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 @@ and daylight-saving rules.")
;;; 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 @@ generate such a compilation database.")
(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 @@ generate such a compilation database.")
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-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 @@
"nss-" version ".tar.gz")))
(sha256
(base32
"1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0"))))
"0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs

View File

@ -705,14 +705,14 @@ as a drop-in replacement of MySQL.")
(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 @@ markup) can be customized and extended by the user.")
(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 @@ freedesktop.org project.")
(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 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(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 @@ applications, X servers (rootless or fullscreen) or other display servers.")
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
"0f4gqvmz53q9d8h0ilhf4z773nb4vskzx11a3d1jycym120bqn07"))))
"1xknjcfhqvdi1s4iq4kk1q61fg2rar3g8q4vlqarpd324imqjj4n"))))
(build-system gnu-build-system)
(inputs
`(("wayland" ,wayland)))

View File

@ -627,7 +627,7 @@ as the 'native-search-paths' field."
(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 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
(version "17.3.8")
(version "18.1.2")
(source
(origin
(method url-fetch)
@ -236,10 +236,9 @@ also known as DXTn or DXTC) for 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 @@ also known as DXTn or DXTC) for 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 @@ also known as DXTn or DXTC) for 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 @@ also known as DXTn or DXTC) for 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 @@ OpenGL graphics API.")
(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 @@ OpenGL graphics API.")
version "/libepoxy-" version ".tar.xz"))
(sha256
(base32
"1md58amxyp34yjnw4xa185hw5jm0hnb2xnhdc28zdsx6k19rk52c"))))
"1n57xj5i6giw4mp5s59w1m9bm33sd6gjg7r00dzzvcwya6326mm9"))))
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -6322,7 +6322,16 @@ fit the GNOME desktop.")
(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 @@ in the Mozilla clients.")
(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 @@ in the Mozilla clients.")
"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 @@
#: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 @@ application suites.")
(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 @@ application suites.")
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 @@ and routines to assist in editing internationalized text.")
(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 @@ and routines to assist in editing internationalized text.")
;; 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 @@ and routines to assist in editing internationalized text.")
(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 @@ and binary format defined in The Java Virtual Machine Specification.")
#: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 @@ language.")
(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 @@ JNI.")
"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 @@ JNI.")
;; 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 @@ build process and its dependencies, whereas Make uses Makefile format.")
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 @@ requirement for all GNU Classpath releases after version 0.93.")
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 @@ the standard javac executable.")))
#: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 @@ the standard javac executable.")))
(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 @@ machine.")))
(("@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 @@ machine.")))
(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 @@ bootstrapping purposes.")
(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 @@ bootstrapping purposes.")
(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 @@ new Date();"))
;; 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 @@ new Date();"))
(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 @@ new Date();"))
(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 @@ new Date();"))
;; 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 @@ debugging, etc.")
(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 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n"
(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 @@ HDF5 files, building on the libraries provided by the HDF Group.")
(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 @@ API and version 2.1 of the Java ServerPages API.")
(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 @@ API and version 2.1 of the Java ServerPages API.")
(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 @@ decompression and random access decompression have been fully implemented.")
(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 @@ private Method[] getSortedMethods() {
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 @@ reusing it in maven.")
(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 @@ Compiler component.")))
(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 @@ Compiler component.")))
</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 @@ XSD and documentation.")
(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 @@ on the XPP3 API (XML Pull Parser).")))
;; 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 @@ are many features, including:
(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 @@ in the @code{java.lang} package. The following classes are included:
(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 @@ more efficient storage-wise than an uncompressed bitmap (as implemented in the
;; 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 @@ more efficient storage-wise than an uncompressed bitmap (as implemented in the
(("<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 @@ time.")
(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 @@ tree walking, and translation.")
(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 @@ StringTemplate also powers ANTLR.")
(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 @@ StringTemplate also powers ANTLR.")
"/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 @@ StringTemplate also powers ANTLR.")
(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 @@ import org.antlr.grammar.v3.ANTLRTreePrinter;"))
<include name=\"**/*.sti\"/>
<include name=\"**/STLexer.tokens\"/>
</fileset>
</copy><exec")))))))
</copy><exec"))
#t)))))
(native-inputs
`(("antlr" ,antlr2)
("antlr3" ,antlr3-bootstrap)))
@ -6207,19 +6273,19 @@ tree walking, and translation.")
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 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))
"/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 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))
<include name=\"**/*.sti\"/>
<include name=\"**/STLexer.tokens\"/>
</fileset>
</copy><exec")))))))
</copy><exec"))
#t)))))
(native-inputs
`(("antlr" ,antlr2)))
(inputs
@ -6931,7 +6999,8 @@ the packageadmin service.")
(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 @@ it manages project dependencies, gives diffs jars, and much more.")
;; 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 @@ the system under test at the same time.")
(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 @@ the system under test at the same time.")
(("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 @@ not included are ones that require dependency to the Databind package.")
(("@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 @@ not included are ones that require dependency to the Databind package.")
(("@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 @@ configuration.")
(("@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 @@ configuration.")
(("@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 @@ interface and high-performance Typed Access API.")
;; 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 @@ interface and high-performance Typed Access API.")
(("@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 @@ those in Perl and JavaScript.")
#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 @@ to use.")
":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 @@ algorithms and xxHash hashing algorithm.")
(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 @@ done to the IDE or continuous integration servers which simplifies adoption.")
(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 @@ done to the IDE or continuous integration servers which simplifies adoption.")
;; 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 @@ that is part of the SWT Tools project.")
(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 @@ console output.")
(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 @@ graphs, and pie charts.")
'("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 @@ authentication, HTTP state management, and HTTP connection management.")
(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 @@ jsch-agent-proxy with JSch.")))
(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 @@ jsch-agent-proxy with JSch.")))
(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 @@ and @code{ISimpleCompiler} interfaces.")
(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 @@ static code analysis or code manipulation.")))
"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 @@ intercept and print the system calls executed by the program.")
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 @@ Linux Device Mapper multipathing driver:
(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 @@ Linux Device Mapper multipathing driver:
#: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 @@ Bluetooth audio output devices like headphones or loudspeakers.")
(define-public bluez
(package
(name "bluez")
(version "5.49")
(version "5.50")
(source (origin
(method url-fetch)
(uri (string-append
@ -3107,7 +3100,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
version ".tar.xz"))
(sha256
(base32
"15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k"))))
"048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -2798,7 +2798,7 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
(version "0.2.20")
(version "0.3.0")
(source
(origin
(method url-fetch)
@ -2807,7 +2807,7 @@ parts of it.")
(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 @@ parts of it.")
#: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 @@ parts of it.")
`(("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 @@
#: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 @@ reading and editing of existing PDF files.")
(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 @@ using libarchive.")
(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 @@ using libspectre.")
(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 @@ using the DjVuLibre library.")
(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 @@ using the DjVuLibre library.")
("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 @@ by using the @code{mupdf} rendering library.")
(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 @@ by using the poppler rendering engine.")
(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 @@ by using the poppler rendering engine.")
(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 @@ python-xdo for newer bindings.)")
(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 @@ rasterisation.")
(define-public libdrm
(package
(name "libdrm")
(version "2.4.91")
(version "2.4.92")
(source
(origin
(method url-fetch)
@ -326,7 +327,7 @@ rasterisation.")
".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 @@ of new capabilities and controls for text keyboards.")
(define-public libdmx
(package
(name "libdmx")
(version "1.1.3")
(version "1.1.4")
(source
(origin
(method url-fetch)
@ -1036,7 +1036,7 @@ of new capabilities and controls for text keyboards.")
".tar.bz2"))
(sha256
(base32
"00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9"))))
"0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)
@ -2961,7 +2961,7 @@ It supports a variety of Intel graphics chipsets.")
(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 @@ It supports a variety of Intel graphics chipsets.")
".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 @@ This driver is intended for the spice qxl virtio device.")
(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 @@ This driver is intended for ATI Rage 128 based cards.")
"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 @@ Xorg X server.")
"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 @@ alternative implementations like XRandR or TwinView.")
(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 @@ alternative implementations like XRandR or TwinView.")
".tar.bz2"))
(sha256
(base32
"0djp7bb0ch2ddwmc1bkg4fddxdvamiiz375x0r0ni5dcb37w93bl"))))
"0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)
@ -5072,7 +5088,7 @@ over Xlib, including:
(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 @@ over Xlib, including:
name "-" version ".tar.bz2"))
(sha256
(base32
"15y13ihgkggmly5s07vzvpn35gzx1w0hrkbnlcvcy05h3lpm0cm7"))
"1rnka3sp8yg2bir0bjjhwn33jikj8qd8ckqcxrs94w05bwc7v5lx"))
(patches
(list
;; See:

View File

@ -148,8 +148,7 @@ has a 'meson.build' file."
#: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 @@
(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 @@ to the default GNU unpack strategy."
(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 @@ to the default GNU unpack strategy."
(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 @@ grafting works - and so that the garbage collector doesn't collect
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 @@ repack them. This is necessary to ensure that archives are reproducible."
(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* (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 @@
(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 @@
(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 @@ for example libraries only needed for the tests."
(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)