summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/base.scm28
-rw-r--r--gnu/packages/build-tools.scm4
-rw-r--r--gnu/packages/certs.scm4
-rw-r--r--gnu/packages/databases.scm4
-rw-r--r--gnu/packages/documentation.scm4
-rw-r--r--gnu/packages/freedesktop.scm8
-rw-r--r--gnu/packages/gcc.scm2
-rw-r--r--gnu/packages/gl.scm29
-rw-r--r--gnu/packages/gnuzilla.scm4
-rw-r--r--gnu/packages/gtk.scm21
-rw-r--r--gnu/packages/java.scm95
-rw-r--r--gnu/packages/linux.scm20
-rw-r--r--gnu/packages/maths.scm19
-rw-r--r--gnu/packages/patches/jamvm-arm.patch1313
-rw-r--r--gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch15
-rw-r--r--gnu/packages/patches/meson-for-build-rpath.patch7
-rw-r--r--gnu/packages/patches/openblas-fix-tests-i686.patch35
-rw-r--r--gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch55
-rw-r--r--gnu/packages/patches/zathura-plugindir-environment-variable.patch11
-rw-r--r--gnu/packages/pdf.scm145
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/xdisorg.scm5
-rw-r--r--gnu/packages/xorg.scm16
-rw-r--r--guix/build/ant-build-system.scm89
25 files changed, 1717 insertions, 224 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 66f802a078..5b915317d9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -804,6 +804,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 \
@@ -930,7 +931,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 \
@@ -975,6 +975,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 \
@@ -1217,6 +1218,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
MISC_DISTRO_FILES = \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index fef6002b3c..de0aa92adb 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -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
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index a6d9fa8cfc..e693aec4ac 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -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
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index 3f592cf17b..cb05fb83fc 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -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
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 0f1e47f485..c2005144b4 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -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")
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 2ffe541294..f533535f03 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -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
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7df44dfb0f..26312e773c 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -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)))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 5012d9a913..130c212669 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -612,7 +612,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
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 503308ac16..bde6e55607 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -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
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index df87700d6f..c52d21d8e3 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -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"))))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 83db8f6b30..3718e939d1 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -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
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index f23572a55a..f48305132a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -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,11 @@ requirement for all GNU Classpath releases after version 0.93.")
args defaults))
(apply system* ,java
(append
- (list "-Xnocompact" "-Xnoinlining")
+ (list "-Xnocompact")
+ ,,@(if (string-prefix? "armhf" (or (%current-system)
+ (%current-target-system)))
+ '()
+ `((list "-Xnoinlining")))
;; Remove "-J" prefix
(map (cut string-drop <> 2) vm-args)
'("org.eclipse.jdt.internal.compiler.batch.Main")
@@ -453,7 +500,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 +531,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 +617,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)
@@ -1649,7 +1704,9 @@ new Date();"))
(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.
@@ -1664,7 +1721,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
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 37b577ee09..7367b953f7 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3055,15 +3055,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
@@ -3071,7 +3071,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
@@ -3105,7 +3105,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
@@ -3113,7 +3113,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
version ".tar.xz"))
(sha256
(base32
- "15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k"))))
+ "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ee9d84d1c3..7d70ac1fa6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2788,7 +2788,7 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
- (version "0.2.20")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
@@ -2797,7 +2797,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"
@@ -2836,6 +2836,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.
@@ -2847,6 +2857,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/")
diff --git a/gnu/packages/patches/jamvm-arm.patch b/gnu/packages/patches/jamvm-arm.patch
new file mode 100644
index 0000000000..9e998e18db
--- /dev/null
+++ b/gnu/packages/patches/jamvm-arm.patch
@@ -0,0 +1,1313 @@
+From 67faeb7d58e0d25a50d36788ed49ed383b92e090 Mon Sep 17 00:00:00 2001
+From: Efraim Flashner <efraim@flashner.co.il>
+Date: Mon, 26 Mar 2018 11:08:17 +0300
+Subject: [PATCH] add ARMv7 support
+
+---
+ src/arch/arm.h | 75 +++++-
+ src/os/linux/arm/Makefile.am | 9 +-
+ src/os/linux/arm/Makefile.in | 166 ++++++++----
+ src/os/linux/arm/callNative.S | 12 +-
+ src/os/linux/arm/callNativeEABI.S | 8 +-
+ src/os/linux/arm/callNativeEABIHard.S | 315 +++++++++++++++++++++++
+ src/os/linux/arm/callNativeEABIHardARM.S | 266 +++++++++++++++++++
+ src/os/linux/arm/dll_md.c | 61 ++++-
+ 8 files changed, 843 insertions(+), 69 deletions(-)
+ create mode 100644 src/os/linux/arm/callNativeEABIHard.S
+ create mode 100644 src/os/linux/arm/callNativeEABIHardARM.S
+
+diff --git a/src/arch/arm.h b/src/arch/arm.h
+index ccf68c4..d2c0318 100644
+--- a/src/arch/arm.h
++++ b/src/arch/arm.h
+@@ -1,6 +1,6 @@
+ /*
+- * Copyright (C) 2003, 2004, 2005, 2006, 2007
+- * Robert Lougher <rob@lougher.org.uk>.
++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
++ * 2014 Robert Lougher <rob@jamvm.org.uk>.
+ *
+ * This file is part of JamVM.
+ *
+@@ -21,10 +21,16 @@
+
+ #define OS_ARCH "arm"
+
+-/* Override default min and max heap sizes. ARM machines are
+- usually embedded, and the standard defaults are too large. */
+-#define DEFAULT_MAX_HEAP 16*MB
++/* Override minimum min heap size. The initial heap size is a ratio
++ of the physical memory, but it must be at least the minimum min
++ size. The normal setting is too large for ARM machines as they
++ are usually embedded. */
++#define MIN_MIN_HEAP 1*MB
++
++/* Likewise, override the default min/max heap sizes used when the
++ size of physical memory is not available */
+ #define DEFAULT_MIN_HEAP 1*MB
++#define DEFAULT_MAX_HEAP 64*MB
+
+ #ifdef DIRECT
+ #define HANDLER_TABLE_T static const void
+@@ -51,6 +57,36 @@
+ /* Needed for i386 -- empty here */
+ #define FPU_HACK
+
++#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__)
++#define COMPARE_AND_SWAP_32(addr, old_val, new_val) \
++({ \
++ int result, read_val; \
++ __asm__ __volatile__ (" \
++ 1: mov %0, #0; \
++ ldrex %1, [%2]; \
++ cmp %3, %1; \
++ bne 2f; \
++ strex %0, %4, [%2]; \
++ cmp %0, #1; \
++ beq 1b; \
++ mov %0, #1; \
++ 2:" \
++ : "=&r" (result), "=&r" (read_val) \
++ : "r" (addr), "r" (old_val), "r" (new_val) \
++ : "cc", "memory"); \
++ result; \
++})
++
++#define COMPARE_AND_SWAP(addr, old_val, new_val) \
++ COMPARE_AND_SWAP_32(addr, old_val, new_val)
++
++#define LOCKWORD_READ(addr) *addr
++#define LOCKWORD_WRITE(addr, value) *addr = value
++#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \
++ COMPARE_AND_SWAP(addr, old_val, new_val)
++
++#else
++
+ #define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \
+ ({ \
+ int result, read_val; \
+@@ -94,7 +130,7 @@ do { \
+ : "r" (addr), "r" (new_val) \
+ : "cc", "memory"); \
+ } while(0)
+-
++#endif
+
+ #ifdef __ARM_EABI__
+ #define FLUSH_CACHE(addr, length) \
+@@ -124,8 +160,33 @@ do { \
+ }
+ #endif
+
++#define GEN_REL_JMP(target_addr, patch_addr, patch_size) \
++({ \
++ int patched = FALSE; \
++ \
++ if(patch_size >= 4) { \
++ /* Guard against the pointer difference being \
++ larger than the signed range */ \
++ long long offset = (uintptr_t)(target_addr) - \
++ (uintptr_t)(patch_addr) - 8; \
++ \
++ if(offset >= -1<<25 && offset < 1<<25) { \
++ *(int*)(patch_addr) = offset>>2 & 0x00ffffff \
++ | 0xea000000; \
++ patched = TRUE; \
++ } \
++ } \
++ patched; \
++})
++
++#ifdef __ARM_ARCH_7A__
++#define MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory")
++#define UNLOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory")
++#define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory")
++#define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory")
++#else
+ #define MBARRIER() __asm__ __volatile__ ("" ::: "memory")
+ #define UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory")
+ #define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory")
+ #define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory")
+-
++#endif
+diff --git a/src/os/linux/arm/Makefile.am b/src/os/linux/arm/Makefile.am
+index d18ea5a..74e7786 100644
+--- a/src/os/linux/arm/Makefile.am
++++ b/src/os/linux/arm/Makefile.am
+@@ -1,6 +1,6 @@
+ ##
+-## Copyright (C) 2003, 2004, 2005, 2006, 2007
+-## Robert Lougher <rob@lougher.org.uk>.
++## Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012
++## Robert Lougher <rob@jamvm.org.uk>.
+ ##
+ ## This file is part of JamVM.
+ ##
+@@ -19,10 +19,11 @@
+ ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ ##
+
+-EXTRA_DIST = callNativeOABI.S callNativeEABI.S
++EXTRA_DIST = callNativeOABI.S callNativeEABI.S callNativeEABIHard.S \
++ callNativeEABIHardARM.S
+
+ noinst_LTLIBRARIES = libnative.la
+ libnative_la_SOURCES = init.c dll_md.c callNative.S
+
+-AM_CPPFLAGS = -I$(top_builddir)/src
++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src
+ AM_CCASFLAGS = -I$(top_builddir)/src
+diff --git a/src/os/linux/arm/Makefile.in b/src/os/linux/arm/Makefile.in
+index 63b21ad..6d44ea9 100644
+--- a/src/os/linux/arm/Makefile.in
++++ b/src/os/linux/arm/Makefile.in
+@@ -1,8 +1,9 @@
+-# Makefile.in generated by automake 1.10 from Makefile.am.
++# Makefile.in generated by automake 1.11.6 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++# Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,9 +16,27 @@
+ @SET_MAKE@
+
+ VPATH = @srcdir@
++am__make_dryrun = \
++ { \
++ am__dry=no; \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
++ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
++ *) \
++ for am__flg in $$MAKEFLAGS; do \
++ case $$am__flg in \
++ *=*|--*) ;; \
++ *n*) am__dry=yes; break;; \
++ esac; \
++ done;; \
++ esac; \
++ test $$am__dry = yes; \
++ }
+ pkgdatadir = $(datadir)/@PACKAGE@
+-pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+@@ -42,13 +61,15 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+ CONFIG_HEADER = $(top_builddir)/src/config.h
+ CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
+ LTLIBRARIES = $(noinst_LTLIBRARIES)
+ libnative_la_LIBADD =
+ am_libnative_la_OBJECTS = init.lo dll_md.lo callNative.lo
+ libnative_la_OBJECTS = $(am_libnative_la_OBJECTS)
+-DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
++am__mv = mv -f
+ CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+ LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+@@ -65,6 +86,11 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ $(LDFLAGS) -o $@
+ SOURCES = $(libnative_la_SOURCES)
+ DIST_SOURCES = $(libnative_la_SOURCES)
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -84,21 +110,18 @@ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DLLTOOL = @DLLTOOL@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
++FGREP = @FGREP@
+ GREP = @GREP@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+@@ -106,21 +129,30 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ JAVAC = @JAVAC@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
+ OBJEXT = @OBJEXT@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+@@ -133,9 +165,9 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -149,6 +181,7 @@ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
++classlib = @classlib@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+@@ -181,15 +214,18 @@ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ use_zip_no = @use_zip_no@
+ use_zip_yes = @use_zip_yes@
+ with_classpath_install_dir = @with_classpath_install_dir@
+-EXTRA_DIST = callNativeOABI.S callNativeEABI.S
++EXTRA_DIST = callNativeOABI.S callNativeEABI.S callNativeEABIHard.S \
++ callNativeEABIHardARM.S
++
+ noinst_LTLIBRARIES = libnative.la
+ libnative_la_SOURCES = init.c dll_md.c callNative.S
+-AM_CPPFLAGS = -I$(top_builddir)/src
++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src
+ AM_CCASFLAGS = -I$(top_builddir)/src
+ all: all-am
+
+@@ -199,14 +235,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+- && exit 0; \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/os/linux/arm/Makefile'; \
+- cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu src/os/linux/arm/Makefile
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/os/linux/arm/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --gnu src/os/linux/arm/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -224,6 +260,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
+
+ clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+@@ -233,7 +270,7 @@ clean-noinstLTLIBRARIES:
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+-libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES)
++libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES) $(EXTRA_libnative_la_DEPENDENCIES)
+ $(LINK) $(libnative_la_OBJECTS) $(libnative_la_LIBADD) $(LIBS)
+
+ mostlyclean-compile:
+@@ -248,42 +285,42 @@ distclean-compile:
+
+ .S.o:
+ @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+-@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
+
+ .S.obj:
+ @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+-@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ .S.lo:
+ @am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+-@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
++@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
+
+ .c.o:
+ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@@ -299,45 +336,49 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+ tags: TAGS
+
+ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+- tags=; \
++ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in files) print i; }; }'`; \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+- $$tags $$unique; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
+ fi
+ ctags: CTAGS
+ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+- tags=; \
+- here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- test -z "$(CTAGS_ARGS)$$tags$$unique" \
++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in files) print i; }; }'`; \
++ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+- $$tags $$unique
++ $$unique
+
+ GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+- && cd $(top_srcdir) \
+- && gtags -i $(GTAGS_ARGS) $$here
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+@@ -358,13 +399,17 @@ distdir: $(DISTFILES)
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
++ if test -d "$(distdir)/$$file"; then \
++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
++ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
++ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
++ test -f "$(distdir)/$$file" \
++ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+@@ -382,16 +427,22 @@ install-am: all-am
+
+ installcheck: installcheck-am
+ install-strip:
+- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+- `test -z '$(STRIP)' || \
+- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
+ mostlyclean-generic:
+
+ clean-generic:
+
+ distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+ maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+@@ -413,6 +464,8 @@ dvi-am:
+
+ html: html-am
+
++html-am:
++
+ info: info-am
+
+ info-am:
+@@ -421,18 +474,28 @@ install-data-am:
+
+ install-dvi: install-dvi-am
+
++install-dvi-am:
++
+ install-exec-am:
+
+ install-html: install-html-am
+
++install-html-am:
++
+ install-info: install-info-am
+
++install-info-am:
++
+ install-man:
+
+ install-pdf: install-pdf-am
+
++install-pdf-am:
++
+ install-ps: install-ps-am
+
++install-ps-am:
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -470,6 +533,7 @@ uninstall-am:
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
++
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+diff --git a/src/os/linux/arm/callNative.S b/src/os/linux/arm/callNative.S
+index 39ab6d3..245afd1 100644
+--- a/src/os/linux/arm/callNative.S
++++ b/src/os/linux/arm/callNative.S
+@@ -1,6 +1,6 @@
+ /*
+- * Copyright (C) 2003, 2004, 2005, 2006, 2007
+- * Robert Lougher <rob@lougher.org.uk>.
++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011, 2012
++ * Robert Lougher <rob@jamvm.org.uk>.
+ *
+ * This file is part of JamVM.
+ *
+@@ -23,7 +23,15 @@
+
+ #ifndef USE_FFI
+ #ifdef __ARM_EABI__
++#ifdef __ARM_PCS_VFP
++#ifdef __ARM_ARCH_7A__
++#include "callNativeEABIHard.S"
++#else
++#include "callNativeEABIHardARM.S"
++#endif
++#else
+ #include "callNativeEABI.S"
++#endif
+ #else
+ #include "callNativeOABI.S"
+ #endif
+diff --git a/src/os/linux/arm/callNativeEABI.S b/src/os/linux/arm/callNativeEABI.S
+index 5effa57..3a7539e 100644
+--- a/src/os/linux/arm/callNativeEABI.S
++++ b/src/os/linux/arm/callNativeEABI.S
+@@ -1,6 +1,6 @@
+ /*
+- * Copyright (C) 2003, 2004, 2005, 2006, 2007
+- * Robert Lougher <rob@lougher.org.uk>.
++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011
++ * Robert Lougher <rob@jamvm.org.uk>.
+ *
+ * This file is part of JamVM.
+ *
+@@ -95,8 +95,12 @@ done:
+ ldmfd sp!, {r2, r3}
+
+ /* Call the function */
++#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
+ mov lr, pc
+ bx ip
++#else
++ blx ip
++#endif
+
+ subs r4, r4, #8 /* Pop argument area */
+ /* (minus 8 for r2/r3) */
+diff --git a/src/os/linux/arm/callNativeEABIHard.S b/src/os/linux/arm/callNativeEABIHard.S
+new file mode 100644
+index 0000000..5d5785b
+--- /dev/null
++++ b/src/os/linux/arm/callNativeEABIHard.S
+@@ -0,0 +1,315 @@
++/*
++ * Copyright (C) 2011, 2012 Robert Lougher <rob@jamvm.org.uk>.
++ *
++ * This file is part of JamVM.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++ .text
++ .syntax unified
++ .arch armv7-a
++ .thumb
++ .align 2
++ .global callJNIMethod
++ .type callJNIMethod,function
++
++/*
++ * Arguments passed in:
++ *
++ * r0 JNIEnv
++ * r1 class or NULL
++ * r2 sig
++ * r3 extra arg
++ * sp + 0 ostack
++ * sp + 4 function pntr
++ * sp + 8 args count
++ */
++
++/* Register usage :
++ *
++ * r11 function pntr
++ * lr ostack pntr
++ * ip args pntr
++ * r8 sig pntr
++ * r10 extra stack
++ * r6 fp backfill
++ * r4 fp reg
++ * r7 int reg
++ * r5 scratch
++ * r3, r2 outgoing int args
++ * r1 outgoing class or this pntr
++ * r0 outgoing JNIEnv (as passed in)
++ *
++ * s0 - s16 (d0 - d7) outgoing float args
++ */
++
++callJNIMethod:
++ stmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr}
++ ldr lr, [sp, #32] /* get ostack pntr */
++ ldr r11, [sp, #36] /* get function pntr */
++
++ cmp r1, #0 /* is method non-static? */
++ it eq
++ ldreq r1, [lr], #4 /* yes, load r1 with "this" */
++
++ mov r10, r3
++ subs sp, sp, r3 /* allocate room for stacked */
++ add r8, r2, #1 /* init sig pntr -- skipping '(' */
++
++ mov ip, sp /* init loop pntr */
++
++ mov r7, #2
++ mov r4, #16
++ mov r6, #0
++
++scan_sig:
++ ldrb r5, [r8], #1
++
++ cmp r5, #41 /* ')' */
++ beq done
++
++ cmp r5, #70 /* 'F' */
++ beq float
++
++ cmp r5, #68 /* 'D' */
++ beq double
++
++ cmp r5, #74 /* 'J' */
++ beq long
++
++skip_brackets:
++ cmp r5, #91 /* '[' */
++ itt eq
++ ldrbeq r5, [r8], #1
++ beq skip_brackets
++
++ cmp r5, #76 /* 'L' */
++ bne int
++
++skip_ref:
++ ldrb r5, [r8], #1
++ cmp r5, #59 /* ';' */
++ bne skip_ref
++
++int:
++ cbz r7, stack_int
++
++ subs r7, r7, #1
++ ite ne
++ ldrne r2, [lr], #4
++ ldreq r3, [lr], #4
++
++ b scan_sig
++
++float:
++ cbz r6, no_backfill
++
++ sub r5, r6, #1
++ mov r6, #0
++ b load_float
++
++no_backfill:
++ cbz r4, stack_int
++
++ sub r4, r4, #1
++ mov r5, r4
++
++load_float:
++ add lr, lr, #4
++ tbb [pc, r5]
++
++float_table:
++ .byte (s15-float_table)/2
++ .byte (s14-float_table)/2
++ .byte (s13-float_table)/2
++ .byte (s12-float_table)/2
++ .byte (s11-float_table)/2
++ .byte (s10-float_table)/2
++ .byte (s9-float_table)/2
++ .byte (s8-float_table)/2
++ .byte (s7-float_table)/2
++ .byte (s6-float_table)/2
++ .byte (s5-float_table)/2
++ .byte (s4-float_table)/2
++ .byte (s3-float_table)/2
++ .byte (s2-float_table)/2
++ .byte (s1-float_table)/2
++ .byte (s0-float_table)/2
++
++stack_int:
++ ldr r5, [lr], #4
++ str r5, [ip], #4
++ b scan_sig
++
++s0:
++ vldr s0, [lr, #-4]
++ b scan_sig
++s1:
++ vldr s1, [lr, #-4]
++ b scan_sig
++s2:
++ vldr s2, [lr, #-4]
++ b scan_sig
++s3:
++ vldr s3, [lr, #-4]
++ b scan_sig
++s4:
++ vldr s4, [lr, #-4]
++ b scan_sig
++s5:
++ vldr s5, [lr, #-4]
++ b scan_sig
++s6:
++ vldr s6, [lr, #-4]
++ b scan_sig
++s7:
++ vldr s7, [lr, #-4]
++ b scan_sig
++s8:
++ vldr s8, [lr, #-4]
++ b scan_sig
++s9:
++ vldr s9, [lr, #-4]
++ b scan_sig
++s10:
++ vldr s10, [lr, #-4]
++ b scan_sig
++s11:
++ vldr s11, [lr, #-4]
++ b scan_sig
++s12:
++ vldr s12, [lr, #-4]
++ b scan_sig
++s13:
++ vldr s13, [lr, #-4]
++ b scan_sig
++s14:
++ vldr s14, [lr, #-4]
++ b scan_sig
++s15:
++ vldr s15, [lr, #-4]
++ b scan_sig
++
++long:
++ cmp r7, #2
++ mov r7, #0
++ bne stack_long
++
++ ldmia lr!, {r2, r3}
++ b scan_sig
++
++double:
++ lsrs r5, r4, #1
++ it cs
++ movcs r6, r4
++
++ lsls r4, r5, #1
++ beq stack_double
++
++ sub r4, r4, #2
++ add lr, lr, #8
++ tbb [pc, r5]
++
++double_table:
++ .byte 0
++ .byte (d7-double_table)/2
++ .byte (d6-double_table)/2
++ .byte (d5-double_table)/2
++ .byte (d4-double_table)/2
++ .byte (d3-double_table)/2
++ .byte (d2-double_table)/2
++ .byte (d1-double_table)/2
++ .byte (d0-double_table)/2
++ .align 2
++d0:
++ vldr d0, [lr, #-8]
++ b scan_sig
++d1:
++ vldr d1, [lr, #-8]
++ b scan_sig
++d2:
++ vldr d2, [lr, #-8]
++ b scan_sig
++d3:
++ vldr d3, [lr, #-8]
++ b scan_sig
++d4:
++ vldr d4, [lr, #-8]
++ b scan_sig
++d5:
++ vldr d5, [lr, #-8]
++ b scan_sig
++d6:
++ vldr d6, [lr, #-8]
++ b scan_sig
++d7:
++ vldr d7, [lr, #-8]
++ b scan_sig
++
++stack_double:
++ mov r6, #0
++
++stack_long:
++ /* Ensure address is 8 byte aligned */
++ add ip, ip, #7
++ bic ip, ip, #7
++
++ ldr r5, [lr], #4
++ str r5, [ip], #4
++ ldr r5, [lr], #4
++ str r5, [ip], #4
++ b scan_sig
++
++done:
++ /* Call the function */
++ blx r11
++
++ add sp, sp, r10 /* Pop argument area */
++
++ ldr r4, [sp, #32] /* Reload ostack for */
++ /* address of return value */
++
++ ldrb r5, [r8] /* Return type */
++
++ cmp r5, #86 /* 'V' */
++ beq return
++
++ cmp r5, #68 /* 'D' */
++ beq return_double
++
++ cmp r5, #70 /* 'F' */
++ beq return_float
++
++ str r0, [r4], #4 /* Low word */
++
++ cmp r5, #74 /* 'J' */
++ it eq
++ streq r1, [r4], #4 /* High word */
++
++return:
++ mov r0, r4 /* return ostack */
++ ldmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr}
++ bx lr
++
++return_float:
++ vstr s0, [r4]
++ add r4, r4, #4
++ b return
++
++return_double:
++ vstr d0, [r4]
++ add r4, r4, #8
++ b return
+diff --git a/src/os/linux/arm/callNativeEABIHardARM.S b/src/os/linux/arm/callNativeEABIHardARM.S
+new file mode 100644
+index 0000000..3a31acd
+--- /dev/null
++++ b/src/os/linux/arm/callNativeEABIHardARM.S
+@@ -0,0 +1,266 @@
++/*
++ * Copyright (C) 2011, 2012 Robert Lougher <rob@jamvm.org.uk>.
++ *
++ * This file is part of JamVM.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++ .text
++ .align 2
++ .global callJNIMethod
++ .type callJNIMethod,function
++
++/*
++ * Arguments passed in:
++ *
++ * r0 JNIEnv
++ * r1 class or NULL
++ * r2 sig
++ * r3 extra arg
++ * sp + 0 ostack
++ * sp + 4 function pntr
++ * sp + 8 args count
++ */
++
++/* Register usage :
++ *
++ * lr ostack pntr
++ * ip scratch
++ * r11 function pntr
++ * r10 fp backfill
++ * r8 fp reg
++ * r7 int reg
++ * r6 args pntr
++ * r5 sig pntr
++ * r4 extra stack
++ * r3, r2 outgoing int args
++ * r1 outgoing class or this pntr
++ * r0 outgoing JNIEnv (as passed in)
++ *
++ * s0 - s16 (d0 - d7) outgoing float args
++ */
++
++callJNIMethod:
++ stmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr}
++ ldr lr, [sp, #32] /* get ostack pntr */
++ ldr r11, [sp, #36] /* get function pntr */
++
++ cmp r1, #0 /* is method non-static? */
++ ldreq r1, [lr], #4 /* yes, load r1 with "this" */
++
++ mov r4, r3
++ sub sp, sp, r4 /* allocate room for stacked */
++ add r5, r2, #1 /* init sig pntr -- skipping '(' */
++
++ mov r6, sp /* init loop pntr */
++
++ mov r7, #2
++ mov r8, #16
++ mov r10, #0
++
++scan_sig:
++ ldrb ip, [r5], #1
++
++ cmp ip, #41 /* ')' */
++ beq done
++
++ cmp ip, #70 /* 'F' */
++ beq float
++
++ cmp ip, #68 /* 'D' */
++ beq double
++
++ cmp ip, #74 /* 'J' */
++ beq long
++
++skip_brackets:
++ cmp ip, #91 /* '[' */
++ ldreqb ip, [r5], #1
++ beq skip_brackets
++
++ cmp ip, #76 /* 'L' */
++ bne int
++
++skip_ref:
++ ldrb ip, [r5], #1
++ cmp ip, #59 /* ';' */
++ bne skip_ref
++
++int:
++ cmp r7, #0
++ beq stack_int
++
++ subs r7, r7, #1
++
++ ldrne r2, [lr], #4
++ ldreq r3, [lr], #4
++
++ b scan_sig
++
++stack_int:
++ ldr ip, [lr], #4
++ str ip, [r6], #4
++ b scan_sig
++
++float:
++ cmp r10, #0
++ beq no_backfill
++
++ sub ip, r10, #1
++ mov r10, #0
++ b load_float
++
++no_backfill:
++ cmp r8, #0
++ beq stack_int
++
++ sub r8, r8, #1
++ mov ip, r8
++
++load_float:
++ add lr, lr, #4
++ add pc, pc, ip, lsl #3
++ nop
++
++ flds s15, [lr, #-4]
++ b scan_sig
++ flds s14, [lr, #-4]
++ b scan_sig
++ flds s13, [lr, #-4]
++ b scan_sig
++ flds s12, [lr, #-4]
++ b scan_sig
++ flds s11, [lr, #-4]
++ b scan_sig
++ flds s10, [lr, #-4]
++ b scan_sig
++ flds s9, [lr, #-4]
++ b scan_sig
++ flds s8, [lr, #-4]
++ b scan_sig
++ flds s7, [lr, #-4]
++ b scan_sig
++ flds s6, [lr, #-4]
++ b scan_sig
++ flds s5, [lr, #-4]
++ b scan_sig
++ flds s4, [lr, #-4]
++ b scan_sig
++ flds s3, [lr, #-4]
++ b scan_sig
++ flds s2, [lr, #-4]
++ b scan_sig
++ flds s1, [lr, #-4]
++ b scan_sig
++ flds s0, [lr, #-4]
++ b scan_sig
++
++long:
++ cmp r7, #2
++ mov r7, #0
++ bne stack_long
++
++ ldr r2, [lr], #4
++ ldr r3, [lr], #4
++ b scan_sig
++
++double:
++ lsrs ip, r8, #1
++ movcs r10, r8
++
++ lsls r8, ip, #1
++ beq stack_double
++
++ sub r8, r8, #2
++ add lr, lr, #8
++ add pc, pc, ip, lsl #3
++ nop
++ nop
++ nop
++
++ fldd d7, [lr, #-8]
++ b scan_sig
++ fldd d6, [lr, #-8]
++ b scan_sig
++ fldd d5, [lr, #-8]
++ b scan_sig
++ fldd d4, [lr, #-8]
++ b scan_sig
++ fldd d3, [lr, #-8]
++ b scan_sig
++ fldd d2, [lr, #-8]
++ b scan_sig
++ fldd d1, [lr, #-8]
++ b scan_sig
++ fldd d0, [lr, #-8]
++ b scan_sig
++
++stack_double:
++ mov r10, #0
++
++stack_long:
++ /* Ensure address is 8 byte aligned */
++ add r6, r6, #7
++ bic r6, r6, #7
++
++ ldr ip, [lr], #4
++ str ip, [r6], #4
++ ldr ip, [lr], #4
++ str ip, [r6], #4
++ b scan_sig
++
++done:
++ /* Call the function */
++#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
++ mov lr, pc
++ bx r11
++#else
++ blx r11
++#endif
++
++ add sp, sp, r4 /* Pop argument area */
++ ldr r4, [sp, #32] /* Reload ostack for */
++ /* address of return value */
++ ldrb ip, [r5] /* Return type */
++
++ cmp ip, #86 /* 'V' */
++ beq return
++
++ cmp ip, #68 /* 'D' */
++ beq return_double
++
++ cmp ip, #70 /* 'F' */
++ beq return_float
++
++ str r0, [r4], #4 /* Low word */
++
++ cmp ip, #74 /* 'J' */
++ streq r1, [r4], #4 /* High word */
++
++return:
++ mov r0, r4 /* return ostack */
++ ldmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr}
++ bx lr
++
++return_float:
++ add r4, r4, #4
++ fsts s0, [r4, #-4]
++ b return
++
++return_double:
++ add r4, r4, #8
++ fstd d0, [r4, #-8]
++ b return
+diff --git a/src/os/linux/arm/dll_md.c b/src/os/linux/arm/dll_md.c
+index f5df90e..39bdf7c 100644
+--- a/src/os/linux/arm/dll_md.c
++++ b/src/os/linux/arm/dll_md.c
+@@ -1,6 +1,6 @@
+ /*
+- * Copyright (C) 2003, 2004, 2005, 2006, 2007
+- * Robert Lougher <rob@lougher.org.uk>.
++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011
++ * Robert Lougher <rob@jamvm.org.uk>.
+ *
+ * This file is part of JamVM.
+ *
+@@ -31,6 +31,61 @@
+ * out stack requirements and then to push arguments. To
+ * save the first scan at call time, the signature is pre-
+ * scanned and stack requirement stored in the extra argument. */
++
++#ifdef __ARM_PCS_VFP
++int nativeExtraArg(MethodBlock *mb) {
++ char *sig = mb->type;
++ int fp_backfill = 0;
++ int stack_args = 0;
++ int int_args = 2;
++ int fp_args = 16;
++
++ while(*++sig != ')')
++ switch(*sig) {
++ case 'J':
++ if(int_args < 2)
++ stack_args = (stack_args + 15) & ~7;
++ int_args = 0;
++ break;
++
++ case 'D':
++ fp_backfill |= fp_args & 1;
++ fp_args &= ~1;
++
++ if(fp_args == 0) {
++ stack_args = (stack_args + 15) & ~7;
++ fp_backfill = 0;
++ } else
++ fp_args -= 2;
++ break;
++
++ case 'F':
++ if(fp_backfill)
++ fp_backfill = 0;
++ else {
++ if(fp_args == 0)
++ stack_args += 4;
++ else
++ fp_args--;
++ }
++ break;
++
++ default:
++ if(int_args == 0)
++ stack_args += 4;
++ else
++ int_args--;
++
++ if(*sig == '[')
++ while(*++sig == '[');
++ if(*sig == 'L')
++ while(*++sig != ';');
++ break;
++ }
++
++ return (stack_args + 7) & ~7;
++}
++#else
+ int nativeExtraArg(MethodBlock *mb) {
+ char *sig = mb->type;
+ int args = 0;
+@@ -57,7 +112,7 @@ int nativeExtraArg(MethodBlock *mb) {
+ native method, so minimum stack requirement is 8 bytes. */
+ return args < 8 ? 8 : args;
+ }
+-
++#endif
+ #else
+
+ /* Under OABI, arguments can be copied onto the stack "as is"
+--
+2.17.1
+
diff --git a/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch b/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch
deleted file mode 100644
index aa2278697e..0000000000
--- a/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch
+++ /dev/null
@@ -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)
diff --git a/gnu/packages/patches/meson-for-build-rpath.patch b/gnu/packages/patches/meson-for-build-rpath.patch
index 4e20c9aed3..2151d53565 100644
--- a/gnu/packages/patches/meson-for-build-rpath.patch
+++ b/gnu/packages/patches/meson-for-build-rpath.patch
@@ -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
diff --git a/gnu/packages/patches/openblas-fix-tests-i686.patch b/gnu/packages/patches/openblas-fix-tests-i686.patch
new file mode 100644
index 0000000000..3325546ea3
--- /dev/null
+++ b/gnu/packages/patches/openblas-fix-tests-i686.patch
@@ -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
diff --git a/gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch b/gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch
new file mode 100644
index 0000000000..63e058bbef
--- /dev/null
+++ b/gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch
@@ -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
+
diff --git a/gnu/packages/patches/zathura-plugindir-environment-variable.patch b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
index 2e3ea527d0..a8ffff965a 100644
--- a/gnu/packages/patches/zathura-plugindir-environment-variable.patch
+++ b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
@@ -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
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index e83b2c1960..66fbb20038 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -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)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2f7d4dac04..5d19fb40d5 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -7831,14 +7831,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)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index bbc413a130..dc38b41494 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -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.
@@ -318,7 +319,7 @@ rasterisation.")
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.91")
+ (version "2.4.92")
(source
(origin
(method url-fetch)
@@ -328,7 +329,7 @@ rasterisation.")
".tar.bz2"))
(sha256
(base32
- "0068dn47c478vm1lyyhy02gilrpsma0xmcblhvs0dzqyrk80wjk3"))
+ "1yirzx8hmlvv6r0l7lb3zxmgy5la2mri9al0k16xqfg19pdqzr79"))
(patches (search-patches "libdrm-symbol-check.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 37c1612acc..a647b7e582 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1025,7 +1025,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)
@@ -1035,7 +1035,7 @@ of new capabilities and controls for text keyboards.")
".tar.bz2"))
(sha256
(base32
- "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9"))))
+ "0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)
@@ -2960,7 +2960,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)
@@ -2970,7 +2970,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)
@@ -3722,7 +3722,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)
@@ -3732,7 +3732,7 @@ alternative implementations like XRandR or TwinView.")
".tar.bz2"))
(sha256
(base32
- "0djp7bb0ch2ddwmc1bkg4fddxdvamiiz375x0r0ni5dcb37w93bl"))))
+ "0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)
@@ -5071,7 +5071,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)
@@ -5080,7 +5080,7 @@ over Xlib, including:
name "-" version ".tar.bz2"))
(sha256
(base32
- "15y13ihgkggmly5s07vzvpn35gzx1w0hrkbnlcvcy05h3lpm0cm7"))
+ "1rnka3sp8yg2bir0bjjhwn33jikj8qd8ckqcxrs94w05bwc7v5lx"))
(patches
(list
;; See:
diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
index d081a2b313..87c782d853 100644
--- a/guix/build/ant-build-system.scm
+++ b/guix/build/ant-build-system.scm
@@ -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
@@ -194,50 +192,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